From 23dafb4108c4be014a1c4d44fac6e083049d90ff Mon Sep 17 00:00:00 2001
From: Parham Gholami <7075456+parhamgholami@users.noreply.github.com>
Date: Tue, 12 Mar 2024 18:38:56 -0700
Subject: [PATCH 01/13] Updated filename. Edited intro.
---
...d => 2024-03-14-open-worlds-intro-to-foss-game-engines.md} | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
rename posts/{2024-03-14-open-worlds-intro-to-foss-engines.md => 2024-03-14-open-worlds-intro-to-foss-game-engines.md} (95%)
diff --git a/posts/2024-03-14-open-worlds-intro-to-foss-engines.md b/posts/2024-03-14-open-worlds-intro-to-foss-game-engines.md
similarity index 95%
rename from posts/2024-03-14-open-worlds-intro-to-foss-engines.md
rename to posts/2024-03-14-open-worlds-intro-to-foss-game-engines.md
index 7e5d3f6..29fe611 100644
--- a/posts/2024-03-14-open-worlds-intro-to-foss-engines.md
+++ b/posts/2024-03-14-open-worlds-intro-to-foss-game-engines.md
@@ -20,7 +20,7 @@ Table of Contents:
## Introduction
-The party is over. The era of companies offering their products and services at unsustainably low prices is coming to a close. Growing pressure from shareholders to transition from maximizing growth to maximizing revenue has pushed many commercial software companies to reevaluate their business models. In other words, price increases and added fees. Those dependent on their software must now decide between accepting the increased financial burden or switching to alternatives. The video game industry is no exception to this changing tide as major game engine developers explore new ways to monetize their users. It raises a lot of questions for the community. How will we, as developers, manage these rising costs? Just as importantly, considering the immense impact licensing changes can have on developers, should Epic and Unity continue having a disproportionate influence on the game development landscape? While there is never an opportune time to wrestle with these questions, the rise of free and open-source game engines over the past decade gives independent game developers an opportunity to evaluate where free and open-source software can have a role in their next project.
+The party is over. The era of companies offering their products and services at unsustainably low prices is coming to a close. Growing pressure from shareholders to transition from maximizing growth to maximizing revenue has pushed many commercial software companies to reevaluate their business models. In other words, introduce price increases and new fees. Those dependent on their software must now decide between accepting the increased financial burden or switching to alternatives. The video game industry is no exception to this changing tide as major game engine developers explore new ways to monetize their users. It raises a lot of questions for the community. How will we, as developers, manage these rising costs? Just as importantly, considering the immense impact licensing changes can have on developers, should Epic and Unity continue having a disproportionate influence on the game development landscape? While there is never an opportune time to wrestle with these questions, the rise of free and open-source game engines over the past decade gives independent game developers an opportunity to evaluate where free and open-source software can have a role in their next project.
## Before we dive in
@@ -28,7 +28,7 @@ I want to make this clear from the start: I will not be doing a head-to-head com
If I tried to cover every feature of every modern open-source engine, this wouldn't be an single article, but an entire book series. For that reason, I identified notable features and characteristics of some handpicked open-source engines I thought would be worth sharing. While reading this, keep in mind that no engine is one-size-fits-all, and, as I’ll explain later, picking an engine is about choosing the right tool for _you_. With that out of the way, let’s start!
-## What is FOSS, and why should I use a FOSS game engine?
+## What is FOSS and why should I use a FOSS game engine?
As the name suggests, free and open-source software (FOSS) includes two notable characteristics: it is free (libre) and its source code is available. You can use free (or libre) software for any purpose at your sole discretion. You will most commonly hear something like: “free as in speech, not free as in beer.” It may be available at no cost, but even more importantly, the user has complete control over the software. The open-source aspect of FOSS describes how everyone has access to the code that makes up the software.
From edcc8d828e82ce6fa09d4e61ee5d6c463af7d60e Mon Sep 17 00:00:00 2001
From: Parham Gholami <7075456+parhamgholami@users.noreply.github.com>
Date: Tue, 12 Mar 2024 18:40:59 -0700
Subject: [PATCH 02/13] Update
2024-03-14-open-worlds-intro-to-foss-game-engines.md
---
posts/2024-03-14-open-worlds-intro-to-foss-game-engines.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/posts/2024-03-14-open-worlds-intro-to-foss-game-engines.md b/posts/2024-03-14-open-worlds-intro-to-foss-game-engines.md
index 29fe611..6108612 100644
--- a/posts/2024-03-14-open-worlds-intro-to-foss-game-engines.md
+++ b/posts/2024-03-14-open-worlds-intro-to-foss-game-engines.md
@@ -118,7 +118,7 @@ Stride began life as Xenko (and before that, Paradox): Silicon Studio’s premiu
The engine offers a pure .NET experience that includes many of the advantages inherent to the framework, like hot reloading. At the time of writing, Stride runs on .NET 8 (the latest version of the framework) and supports C# 12. Because the engine closely follows the .NET update schedule, you often get the most modern and up-to-date implementation of C#. You can seamlessly incorporate almost any C#-based library or tool available through NuGet, GitHub, or other platforms into Stride, enhancing your workflow. Stride is modular enough that [sections of Stride are available as standalone NuGet packages](https://www.nuget.org/profiles/Stride). The engine provides the ability to tailor-make your game development experience.
-The engine does its best to ensure it does not become a technical bottleneck for your game. A lot of processing within Stride is multithreaded. This means it allows logic to run on multiple threads of execution concurrently. The engine even implements a custom thread pool to maximize engine performance. As a result, Stride takes full advantage of the hardware it is running on, providing players with faster and smoother experiences. All the tools Stride uses to support multi-threading under the hood are also accessible to developers. Nothing is out of reach. An entire library exists within the engine focused on multi-threading that anyone can leverage in their projects. Used with features like the [upcoming Bepu physics integration](https://github.com/Nicogo1705/Stride.BepuPhysics), it becomes possible to have tens of thousands of physics-based objects concurrently in a scene with little effort. Stride provides the space to explore multi-threading and have fun with it.
+The engine does its best to ensure it does not become a technical bottleneck for your game. A lot of processing within Stride is multithreaded. This means it allows logic to run on multiple threads of execution concurrently. The engine even implements a custom thread pool to maximize engine performance. As a result, Stride takes full advantage of the hardware it is running on, providing players with faster and smoother experiences. All the tools Stride uses to support multi-threading under the hood are also accessible to developers. Nothing is out of reach. An entire library exists within the engine focused on multi-threading that anyone can leverage in their projects. Used with features like the [upcoming Bepu physics integration](https://github.com/stride3d/stride/pull/2131), it becomes possible to have tens of thousands of physics-based objects concurrently in a scene with little effort. Stride provides the space to explore multi-threading and have fun with it.
## What engine should you pick? And other closing thoughts
From 4c32bb671ed812306492a7e85f1d104725d6dbd4 Mon Sep 17 00:00:00 2001
From: Parham Gholami <7075456+parhamgholami@users.noreply.github.com>
Date: Tue, 12 Mar 2024 19:16:57 -0700
Subject: [PATCH 03/13] Updated link titles
---
_includes/blog-aside.html | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/_includes/blog-aside.html b/_includes/blog-aside.html
index f65f7a0..acfc120 100644
--- a/_includes/blog-aside.html
+++ b/_includes/blog-aside.html
@@ -48,8 +48,8 @@
Resources
FOSS Game Engines
Other
From 5859498965a2b520c6b7d8b0c870c960522d4735 Mon Sep 17 00:00:00 2001
From: Parham Gholami <7075456+parhamgholami@users.noreply.github.com>
Date: Wed, 13 Mar 2024 17:54:12 -0700
Subject: [PATCH 04/13] Adjustments
---
...-open-worlds-intro-to-foss-game-engines.md | 30 +++++++++----------
1 file changed, 15 insertions(+), 15 deletions(-)
diff --git a/posts/2024-03-14-open-worlds-intro-to-foss-game-engines.md b/posts/2024-03-14-open-worlds-intro-to-foss-game-engines.md
index 6108612..722349a 100644
--- a/posts/2024-03-14-open-worlds-intro-to-foss-game-engines.md
+++ b/posts/2024-03-14-open-worlds-intro-to-foss-game-engines.md
@@ -20,23 +20,23 @@ Table of Contents:
## Introduction
-The party is over. The era of companies offering their products and services at unsustainably low prices is coming to a close. Growing pressure from shareholders to transition from maximizing growth to maximizing revenue has pushed many commercial software companies to reevaluate their business models. In other words, introduce price increases and new fees. Those dependent on their software must now decide between accepting the increased financial burden or switching to alternatives. The video game industry is no exception to this changing tide as major game engine developers explore new ways to monetize their users. It raises a lot of questions for the community. How will we, as developers, manage these rising costs? Just as importantly, considering the immense impact licensing changes can have on developers, should Epic and Unity continue having a disproportionate influence on the game development landscape? While there is never an opportune time to wrestle with these questions, the rise of free and open-source game engines over the past decade gives independent game developers an opportunity to evaluate where free and open-source software can have a role in their next project.
+The party is over. The era of companies offering their products and services at unsustainably low prices is coming to a close. Growing pressure from shareholders to transition from maximizing growth to maximizing revenue has pushed many commercial software companies to reevaluate their business models. In other words, introduce price increases and new fees. Those dependent on their software must now decide between accepting the increased financial burden or switching to alternatives. The video game industry is no exception to this changing tide as major game engine developers explore new ways to monetize their users. It raises a lot of questions for the community. How will we, as developers, manage these rising costs? Just as importantly, considering the immense impact licensing changes can have on developers, should Epic and Unity continue having a disproportionate influence on the game development landscape? While there is never an good time to wrestle with these questions, the rise of free and open-source game engines over the past decade gives independent game developers an opportunity to evaluate where free and open-source software can have a role in their next project.
## Before we dive in
-I want to make this clear from the start: I will not be doing a head-to-head comparison of open-source game engines. The summaries of each engine discussed will not be exhaustive nor specifically highlight exclusive features. This is a celebration of the hard work of the open-source game development community. I want to use this as a platform to get you excited about open-source game development and consider options beyond proprietary engines like Unity, Unreal, or GameMaker.
+I want to make this clear from the start: I will not be doing a head-to-head comparison of free and open-source game engines. The summaries of each engine discussed will not be exhaustive nor specifically highlight exclusive features. This is a celebration of the hard work of the game development community. I want to use this as a platform to get you excited about free and open-source game development and consider options beyond proprietary engines like Unity, Unreal, and GameMaker.
-If I tried to cover every feature of every modern open-source engine, this wouldn't be an single article, but an entire book series. For that reason, I identified notable features and characteristics of some handpicked open-source engines I thought would be worth sharing. While reading this, keep in mind that no engine is one-size-fits-all, and, as I’ll explain later, picking an engine is about choosing the right tool for _you_. With that out of the way, let’s start!
+If I tried to cover every feature of every modern free and open-source engine, this wouldn't be an single article, but an entire book series. For that reason, I identified notable features and characteristics of some handpicked engines I thought would be worth sharing. While reading this, keep in mind that no engine is one-size-fits-all, and, as I’ll explain later, picking an engine is about choosing the right tool for _you_. With that out of the way, let’s start!
## What is FOSS and why should I use a FOSS game engine?
As the name suggests, free and open-source software (FOSS) includes two notable characteristics: it is free (libre) and its source code is available. You can use free (or libre) software for any purpose at your sole discretion. You will most commonly hear something like: “free as in speech, not free as in beer.” It may be available at no cost, but even more importantly, the user has complete control over the software. The open-source aspect of FOSS describes how everyone has access to the code that makes up the software.
-Using a FOSS game engine provides several advantages. First, no licensing fees. While contributors always appreciate donations, none of the notable FOSS game engines expect or require upfront payment, subscriptions, or ongoing royalties. FOSS engines also provide independence from a single organization. If changes to a FOSS engine’s terms upset the community, the engine’s licensing terms allow developers to stick to the version with the most favorable terms and even [fork off the project](https://en.wikipedia.org/wiki/Fork_(software_development)) if they choose.
+Using a FOSS game engine provides several advantages. First, no licensing fees. While contributors always appreciate donations, none of the notable FOSS game engines expect or require upfront payment, subscriptions, or ongoing royalties. FOSS engines also provide independence from a single organization. If changes to a FOSS engine’s terms upset the community, the engine’s license allow developers to stick to the version with the most favorable terms and even [fork off the project](https://en.wikipedia.org/wiki/Fork_(software_development)) if they choose.
-The community guides the development and growth of their FOSS engine of choice. Many FOSS game engines have active and passionate communities that share their knowledge, advocate for their engine, and help newcomers. These vibrant and dedicated communities serve as a potent learning resource when working solo or as a small team. Some community members even contribute to their engine, improving it for everyone.
+The community guides the development and growth of their FOSS game engine of choice. Many FOSS game engines have active and passionate communities that share their knowledge, advocate for their engine, and help newcomers. These vibrant and dedicated communities serve as a potent learning resource when working solo or as a small team. Some community members even contribute to their engine, improving it for everyone.
-Open-source game engines allow anyone to modify the engine to fit their needs. For example, if the engine lacks a specific feature, has a persistent bug, or needs quality-of-life improvements, anyone can update it as necessary. They can even take the additional step of contributing the changes to the project for everyone’s benefit. One of the greatest strengths of FOSS game engines lies in their communities and a willingness for everyone to work towards a collective good.
+FOSS game engines allow anyone to modify the engine to fit their needs. For example, if the engine lacks a specific feature, has a persistent bug, or needs quality-of-life improvements, anyone can update it as necessary. They can even take the additional step of contributing the changes to the project for everyone’s benefit. One of the greatest strengths of FOSS game engines lies in their communities and a willingness for everyone to work towards a collective good.
## What FOSS game engines are available today?
@@ -58,9 +58,9 @@ This post will focus on some of the more notable modern FOSS game engines: Bevy,
As the most popular Rust-based game engine, [Bevy](https://bevyengine.org/) offers a rich code-only development environment (an editor is coming in the future) capable of running on all major operating systems (Windows, Mac, and Linux). At the heart of Bevy’s vision for game development lies the [Entity Component System (ECS)](https://bevyengine.org/learn/quick-start/getting-started/ecs/) paradigm. While there are other resources available that can explain the benefits of ECS better, in a nutshell, ECS breaks down the code into three core pillars: entities, components, and systems. Entities are composed of components that can interact with each other using systems. For example, the player character could be an entity with a health component that tracks the player character’s health bar. An enemy character could also use that health component for the same purpose. ECS encourages modularity and reusability by enabling developers to create components applicable to distinct entities. While other game engines can approximate a similar system, Bevy makes this part of its core design ethos.
-As established with Bevy’s use of ECS, the engine’s developers care deeply about modularity. [The engine’s plugin system](https://bevyengine.org/learn/quick-start/getting-started/plugins/) accentuates their commitment to that principle in every part of Bevy. Developers can organize the game’s systems into discrete plugins. An example of this is organizing all the UI systems code into a UI plugin. From there, developers can slot the plugin into the game’s initialization step. The plugin system helps organize the code and encourages modularity by allowing developers to add or remove the plugin based on their needs. This paradigm even applies to the engine’s core features, as they are all organized into plugins. It becomes trivial to activate or deactivate any part of the engine—including rendering, audio playback, and event loops—as the developer sees fit.
+As established with Bevy’s use of ECS, the engine’s developers care deeply about modularity. [The engine’s plugin system](https://bevyengine.org/learn/quick-start/getting-started/plugins/) accentuates their commitment to that principle in every part of Bevy. Developers can organize the game’s systems into discrete plugins. An example of this is organizing all the UI code into a UI plugin. From there, developers can slot the plugin into the game’s initialization step. The plugin system helps organize the code and encourages modularity by allowing developers to add or remove the plugin based on their needs. This paradigm even applies to the engine’s core features, as they are all organized into plugins. It becomes trivial to activate or deactivate any part of the engine—including rendering, audio playback, and event loops—as the developer sees fit.
-Asset libraries provide a wealth of resources that empower developers to learn the tools quickly and get their game to a playable state. [The community assembled a library of assets available on the official website for the community to use and share](https://bevyengine.org/assets/). Bevy’s library includes tutorials, plugins, and templates that address subjects like physics, networking, and input management. Even entire games and applications are available in the asset library to either build on or use as a reference while learning the engine. Bevy’s structure encourages developers to use any of the resources from this library freely as part of the building blocks that will make up their game. In conjunction with Rust’s package manager, there is a strong emphasis on modularity at every level of the engine.
+Asset libraries provide a wealth of resources that empower developers to learn the tools quickly and get their game to a playable state. [The community assembled a library of assets available on the official website for everyone to use and share](https://bevyengine.org/assets/). Bevy’s library includes tutorials, plugins, and templates that address subjects like physics, networking, and input management. Even entire games and applications are available in the asset library to either build on or use as a reference while learning the engine. Bevy’s structure encourages developers to use any of the resources from this library freely as part of the building blocks that will make up their game. In conjunction with Rust’s package manager, there is a strong emphasis on modularity at every level of the engine.
@@ -94,13 +94,13 @@ Work in an editor long enough and you will probably want to tinker with it. For
* Development: Windows, Linux
* Target: Windows, Mac, Linux, iOS, Android
-[Open 3D Engine](https://o3de.org/)’s origins trace back to Amazon’s foray into game development. Amazon licensed Crytek’s CryEngine 3 and then used it as the foundation for their own game engine: Amazon Lumberyard. In the following years, Amazon offered Lumberyard for free to the community with specific terms requiring online features to use Amazon Web Services. By 2021, Amazon overhauled Lumberyard, rewrote 95% of the code, rebranded it as Open 3D Engine (O3DE), and placed it under the supervision of the Linux Foundation. Now, O3DE is available as a free and open-source engine under dual Apache and MIT Licenses for everyone, with no strings attached.
+[Open 3D Engine](https://o3de.org/)’s origins trace back to Amazon’s foray into game development. Amazon licensed Crytek’s CryEngine 3 and then used it as the foundation for their own game engine: Amazon Lumberyard. In the following years, Amazon offered Lumberyard for free to the community with specific terms requiring that games built with Lumberyard use Amazon Web Services for their online features. By 2021, Amazon overhauled Lumberyard, rewrote 95% of the code, rebranded it as Open 3D Engine (O3DE), and placed it under the supervision of The Linux Foundation. Now, O3DE is available as a free and open-source engine under dual Apache and MIT Licenses for everyone, with no strings attached.
Only a few game engines offer visual scripting out of the box, and O3DE is one of them. O3DE supports both C++ and Lua for scripting, but for folks less inclined to write code, there is also [Script Canvas](https://docs.o3de.org/docs/user-guide/scripting/script-canvas/), OD3E’s visual scripting environment. Visual scripting provides a way to write game logic without needing to write code in C++ or Lua. It presents programming concepts like functions, variables, and events as nodes that can be strung together in a graph. Script Canvas also allows developers to write custom nodes either in C++ or within Script Canvas itself to better fit their workflow. Fortunately, anything written using O3DE’s visual scripting system will not incur any serious performance hits, as the engine ultimately converts the graphs into Lua scripts.
-O3DE modularizes its engine by breaking down major components into plugins called [Gems](https://www.docs.o3de.org/docs/user-guide/gems/). This is the paradigm through which O3DE manages all its features and plugins. For example, it is possible to swap out features like the physics engine, allowing developers to choose between PhysX 4, PhysX 5, or another solution entirely, custom or commercial. The modularity afforded by O3DE through Gems allows developers to add and remove components of the engine with relative ease–using as many or as few of the features they want and in whatever combination best fits their needs.
+O3DE modularizes its engine by breaking down major components into plugins called [Gems](https://www.docs.o3de.org/docs/user-guide/gems/). This is the paradigm through which O3DE manages all its features and plugins. For example, it is possible to swap out features like the physics engine, allowing developers to choose between PhysX 4, PhysX 5, or another solution entirely, custom or commercial. The modularity afforded by O3DE through Gems allows developers to add and remove components of the engine with relative ease–using as many or as few of the features as they want and in whatever combination best fits their needs.
-With the [Atom Renderer](https://www.docs.o3de.org/docs/atom-guide/), the engine’s rendering system, O3DE strives to provide an advanced renderer that is also exceptionally customizable. The Render Pipeline Interface (RPI) and Rendering Hardware Interface (RHI) constitute the primary channels for working with the Atom renderer. The RPI provides the tools necessary for customizing the rendering pipeline and implementing higher-level graphical features, such as split screen or additional rendering passes. Meanwhile, the RHI abstracts access to the GPU’s functionality, allowing developers to write lower-level graphics logic without needing to target specific graphics APIs like DirectX or Vulkan. In short, the rendering stack provides incredible flexibility to developers.
+With the [Atom Renderer](https://www.docs.o3de.org/docs/atom-guide/), the engine’s rendering system, O3DE strives to provide an advanced renderer that is also exceptionally customizable. The Render Pipeline Interface (RPI) and Rendering Hardware Interface (RHI) constitute the primary channels for working with Atom. The RPI provides the tools necessary for customizing the rendering pipeline and implementing higher-level graphical features, such as split screen or additional rendering passes. Meanwhile, the RHI abstracts access to the GPU’s functionality, allowing developers to write lower-level graphics logic without needing to target specific graphics APIs like DirectX or Vulkan. In short, the rendering stack provides incredible flexibility to developers.
@@ -116,7 +116,7 @@ With the [Atom Renderer](https://www.docs.o3de.org/docs/atom-guide/), the engine
Stride began life as Xenko (and before that, Paradox): Silicon Studio’s premium game engine. After several years of providing Stride to the public through a subscription-based model, Silicon Studio released the engine’s source code and editor freely to the community under the MIT license. Among the higher profile FOSS game engines available, it is unique because Silicon Studio completely wrote it in C# from top to bottom. There is no delineation between the language used for the core engine and the language you would write with day-to-day while working on the game. It becomes much easier to override or change any inherent engine behavior when coding in the same language. No need to develop an interop system to interface with the engine’s core logic. With that said, [the code-only version of Stride](https://stride3d.github.io/stride-community-toolkit/manual/code-only/index.html) supports any language that is part of the .NET family (C#, F#, and Visual Basic), providing some flexibility in language choice.
-The engine offers a pure .NET experience that includes many of the advantages inherent to the framework, like hot reloading. At the time of writing, Stride runs on .NET 8 (the latest version of the framework) and supports C# 12. Because the engine closely follows the .NET update schedule, you often get the most modern and up-to-date implementation of C#. You can seamlessly incorporate almost any C#-based library or tool available through NuGet, GitHub, or other platforms into Stride, enhancing your workflow. Stride is modular enough that [sections of Stride are available as standalone NuGet packages](https://www.nuget.org/profiles/Stride). The engine provides the ability to tailor-make your game development experience.
+The engine offers a pure .NET experience that includes many of the advantages inherent to the framework, like hot reloading. At the time of writing, Stride runs on .NET 8 (the latest version of the framework) and supports C# 12. Because the engine closely follows the .NET update schedule, you often get the most modern and up-to-date implementation of C#. You can seamlessly incorporate almost any C#-based library or tool available through NuGet, GitHub, and other platforms into Stride, enhancing your workflow. Stride is modular enough that [sections of Stride are available as standalone NuGet packages](https://www.nuget.org/profiles/Stride). The engine provides the ability to tailor-make your game development experience.
The engine does its best to ensure it does not become a technical bottleneck for your game. A lot of processing within Stride is multithreaded. This means it allows logic to run on multiple threads of execution concurrently. The engine even implements a custom thread pool to maximize engine performance. As a result, Stride takes full advantage of the hardware it is running on, providing players with faster and smoother experiences. All the tools Stride uses to support multi-threading under the hood are also accessible to developers. Nothing is out of reach. An entire library exists within the engine focused on multi-threading that anyone can leverage in their projects. Used with features like the [upcoming Bepu physics integration](https://github.com/stride3d/stride/pull/2131), it becomes possible to have tens of thousands of physics-based objects concurrently in a scene with little effort. Stride provides the space to explore multi-threading and have fun with it.
@@ -124,9 +124,9 @@ The engine does its best to ensure it does not become a technical bottleneck for
There is no one right answer. Don’t trust anyone claiming otherwise. Here is the truth: the answer lies in whichever you enjoy using the most. Game development is a process. It requires a healthy level of commitment and discipline. Anyone can do it, but you need to put in the effort. The better your tools fit with your way of working and thinking, the more likely you’ll commit to your project and put in your full effort.
-All these engines are free and include active communities ready to help new folks. Pick whichever engines strike your fancy and try them. Maybe one of them has that one specific feature that hits just right. Maybe another has a community you just love hanging out with or the engine integrates well with a tool you’re using already. Whatever the case, it’s a matter of taste and what works best for you.
+All these engines are free and include active communities ready to help new folks. Pick whichever engines strike your fancy and try them. Maybe one of them has that one specific feature that hits just right. Maybe another has a community you love hanging out with or the engine integrates well with a tool you’re using already. Whatever the case, it’s a matter of taste and what works best for you.
-Wanting to know if an engine can make a specific type of game is asking the wrong question. [People make games in Excel](https://www.youtube.com/watch?v=kK0M74E8PS4). You can make just about any game in any engine. It’s not always a trivial task, but you can do it. Instead, ask yourself which tools you enjoy using the most.
+Wanting to know if an engine can make a specific type of game is asking the wrong question. [People make games in Excel](https://www.youtube.com/watch?v=ENoCsY9a10o). You can make just about any game in any engine. It’s not always a trivial task, but you can do it. Instead, ask yourself which tools you enjoy using the most.
When you settle on an engine, remember this: your engine is not your identity. Your tools are a means to creating something, not a core pillar of your very being. I cannot stress this enough. Your tools do not define you. This may sound obvious, but I have seen many, many folks make their engine of choice a centerpiece of who they are and become unnecessarily hostile toward other engine communities. Please don't do that.
@@ -136,4 +136,4 @@ You are not simply a Bevy developer, Godot developer, O3DE developer, Stride dev
This article was only possible with the input of contributors and users involved in these game engines. I appreciate all the folks who were kind and patient enough to fact-check me and provide their feedback, including [Vaclav Elias](https://github.com/VaclavElias), [Joreyk](https://github.com/IXLLEGACYIXL), [Doprez](https://github.com/Doprez/), [Judah Perez](https://www.inconsistent.software/), [Clay John](https://github.com/clayjohn), [Adam Scott](https://github.com/adamscott), [Fredia Huya-Kouadio](https://github.com/m4gr3d), [Pāvels Nadtočajevs](https://github.com/bruvzg), as well as [the Open 3D Foundation and Open 3D Engine contributors](https://o3d.foundation/).
-Last but not least, thank you to [Ed (Meltted)](https://twitter.com/meltt_ed) for creating the feature and thumbnail images.
\ No newline at end of file
+Last but not least, thank you to [Ed (Meltted)](https://twitter.com/meltt_ed) for creating the feature image.
\ No newline at end of file
From a059d1dbb30629ba8ecd75af58f971f5fe912e87 Mon Sep 17 00:00:00 2001
From: Parham Gholami <7075456+parhamgholami@users.noreply.github.com>
Date: Wed, 13 Mar 2024 17:55:47 -0700
Subject: [PATCH 05/13] Removed extra "that"
---
posts/2024-03-14-open-worlds-intro-to-foss-game-engines.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/posts/2024-03-14-open-worlds-intro-to-foss-game-engines.md b/posts/2024-03-14-open-worlds-intro-to-foss-game-engines.md
index 722349a..1fc84b8 100644
--- a/posts/2024-03-14-open-worlds-intro-to-foss-game-engines.md
+++ b/posts/2024-03-14-open-worlds-intro-to-foss-game-engines.md
@@ -94,7 +94,7 @@ Work in an editor long enough and you will probably want to tinker with it. For
* Development: Windows, Linux
* Target: Windows, Mac, Linux, iOS, Android
-[Open 3D Engine](https://o3de.org/)’s origins trace back to Amazon’s foray into game development. Amazon licensed Crytek’s CryEngine 3 and then used it as the foundation for their own game engine: Amazon Lumberyard. In the following years, Amazon offered Lumberyard for free to the community with specific terms requiring that games built with Lumberyard use Amazon Web Services for their online features. By 2021, Amazon overhauled Lumberyard, rewrote 95% of the code, rebranded it as Open 3D Engine (O3DE), and placed it under the supervision of The Linux Foundation. Now, O3DE is available as a free and open-source engine under dual Apache and MIT Licenses for everyone, with no strings attached.
+[Open 3D Engine](https://o3de.org/)’s origins trace back to Amazon’s foray into game development. Amazon licensed Crytek’s CryEngine 3 and then used it as the foundation for their own game engine: Amazon Lumberyard. In the following years, Amazon offered Lumberyard for free to the community with specific terms requiring games built with Lumberyard use Amazon Web Services for their online features. By 2021, Amazon overhauled Lumberyard, rewrote 95% of the code, rebranded it as Open 3D Engine (O3DE), and placed it under the supervision of The Linux Foundation. Now, O3DE is available as a free and open-source engine under dual Apache and MIT Licenses for everyone, with no strings attached.
Only a few game engines offer visual scripting out of the box, and O3DE is one of them. O3DE supports both C++ and Lua for scripting, but for folks less inclined to write code, there is also [Script Canvas](https://docs.o3de.org/docs/user-guide/scripting/script-canvas/), OD3E’s visual scripting environment. Visual scripting provides a way to write game logic without needing to write code in C++ or Lua. It presents programming concepts like functions, variables, and events as nodes that can be strung together in a graph. Script Canvas also allows developers to write custom nodes either in C++ or within Script Canvas itself to better fit their workflow. Fortunately, anything written using O3DE’s visual scripting system will not incur any serious performance hits, as the engine ultimately converts the graphs into Lua scripts.
From 542b03701baa1f1f881cd43556456b284ee5df61 Mon Sep 17 00:00:00 2001
From: Parham Gholami <7075456+parhamgholami@users.noreply.github.com>
Date: Wed, 13 Mar 2024 22:49:49 -0700
Subject: [PATCH 06/13] Final edits
---
...4-03-14-open-worlds-intro-to-foss-game-engines.md | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/posts/2024-03-14-open-worlds-intro-to-foss-game-engines.md b/posts/2024-03-14-open-worlds-intro-to-foss-game-engines.md
index 1fc84b8..7ff74c4 100644
--- a/posts/2024-03-14-open-worlds-intro-to-foss-game-engines.md
+++ b/posts/2024-03-14-open-worlds-intro-to-foss-game-engines.md
@@ -20,19 +20,19 @@ Table of Contents:
## Introduction
-The party is over. The era of companies offering their products and services at unsustainably low prices is coming to a close. Growing pressure from shareholders to transition from maximizing growth to maximizing revenue has pushed many commercial software companies to reevaluate their business models. In other words, introduce price increases and new fees. Those dependent on their software must now decide between accepting the increased financial burden or switching to alternatives. The video game industry is no exception to this changing tide as major game engine developers explore new ways to monetize their users. It raises a lot of questions for the community. How will we, as developers, manage these rising costs? Just as importantly, considering the immense impact licensing changes can have on developers, should Epic and Unity continue having a disproportionate influence on the game development landscape? While there is never an good time to wrestle with these questions, the rise of free and open-source game engines over the past decade gives independent game developers an opportunity to evaluate where free and open-source software can have a role in their next project.
+The party is over. The era of companies offering their products and services at unsustainably low prices is coming to a close. Growing pressure from shareholders to transition from maximizing growth to maximizing revenue has pushed many commercial software companies to reevaluate their business models. In other words, introduce price increases and new fees. Those dependent on their software must now decide between accepting the increased financial burden or switching to alternatives. The video game industry is no exception to this changing tide as major game engine developers explore new ways to monetize their users. It raises a lot of questions for the community. How will we, as developers, manage these rising costs? Just as importantly, considering the immense impact licensing changes can have on developers, should Epic and Unity continue having a disproportionate influence on the game development landscape? While there is never a good time to wrestle with these questions, the rise of free and open-source game engines over the past decade gives independent game developers an opportunity to evaluate where free and open-source software can have a role in their next project.
## Before we dive in
I want to make this clear from the start: I will not be doing a head-to-head comparison of free and open-source game engines. The summaries of each engine discussed will not be exhaustive nor specifically highlight exclusive features. This is a celebration of the hard work of the game development community. I want to use this as a platform to get you excited about free and open-source game development and consider options beyond proprietary engines like Unity, Unreal, and GameMaker.
-If I tried to cover every feature of every modern free and open-source engine, this wouldn't be an single article, but an entire book series. For that reason, I identified notable features and characteristics of some handpicked engines I thought would be worth sharing. While reading this, keep in mind that no engine is one-size-fits-all, and, as I’ll explain later, picking an engine is about choosing the right tool for _you_. With that out of the way, let’s start!
+If I tried to cover every feature of every modern free and open-source engine, this wouldn’t be a single article but an entire book series. For that reason, I identified notable features and characteristics of some handpicked engines I thought would be worth sharing. While reading this, keep in mind that no engine is one-size-fits-all, and, as I’ll explain later, picking an engine is about choosing the right tool for _you_. With that out of the way, let’s start!
## What is FOSS and why should I use a FOSS game engine?
As the name suggests, free and open-source software (FOSS) includes two notable characteristics: it is free (libre) and its source code is available. You can use free (or libre) software for any purpose at your sole discretion. You will most commonly hear something like: “free as in speech, not free as in beer.” It may be available at no cost, but even more importantly, the user has complete control over the software. The open-source aspect of FOSS describes how everyone has access to the code that makes up the software.
-Using a FOSS game engine provides several advantages. First, no licensing fees. While contributors always appreciate donations, none of the notable FOSS game engines expect or require upfront payment, subscriptions, or ongoing royalties. FOSS engines also provide independence from a single organization. If changes to a FOSS engine’s terms upset the community, the engine’s license allow developers to stick to the version with the most favorable terms and even [fork off the project](https://en.wikipedia.org/wiki/Fork_(software_development)) if they choose.
+Using a FOSS game engine provides several advantages. First, no licensing fees. While contributors always appreciate donations, none of the notable FOSS game engines expect or require upfront payment, subscriptions, or ongoing royalties. FOSS engines also provide independence from a single organization. If changes to a FOSS engine’s terms upset the community, the engine’s license allows developers to stick to the version with the most favorable terms and even [fork off the project](https://en.wikipedia.org/wiki/Fork_(software_development)) if they choose.
The community guides the development and growth of their FOSS game engine of choice. Many FOSS game engines have active and passionate communities that share their knowledge, advocate for their engine, and help newcomers. These vibrant and dedicated communities serve as a potent learning resource when working solo or as a small team. Some community members even contribute to their engine, improving it for everyone.
@@ -42,7 +42,7 @@ FOSS game engines allow anyone to modify the engine to fit their needs. For exam
Although FOSS game engines have existed for decades, the past several years have seen an explosion in the number of game engines available, as well as contributors, money, and resources dedicated to them. It would be impossible to cover all the FOSS game engines available now. In fact, if you have a passion for a particular language or framework, more likely than not, someone built a game engine with it.
-This post will focus on some of the more notable modern FOSS game engines: Bevy, Godot, Open 3D Engine, and (of course) Stride. However, this is not an exhaustive list. As I mentioned before, [there are more engines out there than I could ever cover in a single blog post](https://enginesdatabase.com/?software_license=1). Many skilled and dedicated folks have put serious time and effort into making game engines and shared them with the world. I want to encourage you to use this post as a starting point and look at what each community offers.
+This post will focus on some of the more notable modern FOSS game engines: Bevy, Godot, Open 3D Engine, and (of course) Stride. However, this is not an exhaustive list. As I mentioned before, [there are more engines out there than I could ever cover in a single blog post](https://enginesdatabase.com/?software_license=1). Many skilled and dedicated folks have put serious time and effort into making game engines and shared them with the world. I encourage you to use this post as a starting point and look at what each community offers.
@@ -128,9 +128,9 @@ All these engines are free and include active communities ready to help new folk
Wanting to know if an engine can make a specific type of game is asking the wrong question. [People make games in Excel](https://www.youtube.com/watch?v=ENoCsY9a10o). You can make just about any game in any engine. It’s not always a trivial task, but you can do it. Instead, ask yourself which tools you enjoy using the most.
-When you settle on an engine, remember this: your engine is not your identity. Your tools are a means to creating something, not a core pillar of your very being. I cannot stress this enough. Your tools do not define you. This may sound obvious, but I have seen many, many folks make their engine of choice a centerpiece of who they are and become unnecessarily hostile toward other engine communities. Please don't do that.
+When you settle on an engine, remember this: your engine is not your identity. Your tools are a means to creating something, not a core pillar of your very being. I cannot stress this enough. Your tools do not define you. This may sound obvious, but I have seen many, many folks make their engine of choice a centerpiece of who they are and become unnecessarily hostile toward other engine communities. Please don’t do that.
-You are not simply a Bevy developer, Godot developer, O3DE developer, Stride developer, or whatever else. You are a game developer. So don’t get hung up on which engine you should pick. Choose the engine that resonates with you the most and you’ll quickly learn skills that apply anywhere. Make creating something rewarding in and of itself. If you enjoy working in your environment, you will enjoy the act of development. Once you manage that, creating anything, game or otherwise, will feel immensely satisfying in its own right. Be curious and have fun.
+You are not simply a Bevy developer, Godot developer, O3DE developer, Stride developer, or whatever else. You are a game developer. So don’t get hung up on which engine you should pick. Choose the engine that resonates with you the most, and you’ll quickly learn skills you can apply anywhere. Make creating something rewarding in and of itself. If you enjoy working in your environment, you will enjoy the act of development. Once you manage that, creating anything, game or otherwise, will feel immensely satisfying in its own right. Be curious and have fun.
## Acknowledgments
From 3324fd1c36dc2120fa8f7315761ed0d37a60d68b Mon Sep 17 00:00:00 2001
From: Parham Gholami <7075456+parhamgholami@users.noreply.github.com>
Date: Wed, 13 Mar 2024 22:56:40 -0700
Subject: [PATCH 07/13] Typo
---
posts/2024-03-14-open-worlds-intro-to-foss-game-engines.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/posts/2024-03-14-open-worlds-intro-to-foss-game-engines.md b/posts/2024-03-14-open-worlds-intro-to-foss-game-engines.md
index 7ff74c4..8e39ceb 100644
--- a/posts/2024-03-14-open-worlds-intro-to-foss-game-engines.md
+++ b/posts/2024-03-14-open-worlds-intro-to-foss-game-engines.md
@@ -136,4 +136,4 @@ You are not simply a Bevy developer, Godot developer, O3DE developer, Stride dev
This article was only possible with the input of contributors and users involved in these game engines. I appreciate all the folks who were kind and patient enough to fact-check me and provide their feedback, including [Vaclav Elias](https://github.com/VaclavElias), [Joreyk](https://github.com/IXLLEGACYIXL), [Doprez](https://github.com/Doprez/), [Judah Perez](https://www.inconsistent.software/), [Clay John](https://github.com/clayjohn), [Adam Scott](https://github.com/adamscott), [Fredia Huya-Kouadio](https://github.com/m4gr3d), [Pāvels Nadtočajevs](https://github.com/bruvzg), as well as [the Open 3D Foundation and Open 3D Engine contributors](https://o3d.foundation/).
-Last but not least, thank you to [Ed (Meltted)](https://twitter.com/meltt_ed) for creating the feature image.
\ No newline at end of file
+Last but not least, thank you to [Ed (Meltted)](https://twitter.com/meltt_ed) for creating the featured image.
\ No newline at end of file
From 5498dd88fd3b6418118ba117004054388a9f8bd9 Mon Sep 17 00:00:00 2001
From: Parham Gholami <7075456+parhamgholami@users.noreply.github.com>
Date: Thu, 14 Mar 2024 05:55:17 -0700
Subject: [PATCH 08/13] Fixed title
---
posts/2024-03-14-open-worlds-intro-to-foss-game-engines.md | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/posts/2024-03-14-open-worlds-intro-to-foss-game-engines.md b/posts/2024-03-14-open-worlds-intro-to-foss-game-engines.md
index 8e39ceb..5a7a76d 100644
--- a/posts/2024-03-14-open-worlds-intro-to-foss-game-engines.md
+++ b/posts/2024-03-14-open-worlds-intro-to-foss-game-engines.md
@@ -1,12 +1,12 @@
---
-title: "Open Worlds: An Introduction to Free Open-Source Game Engines"
+title: "Open Worlds: An Introduction to Free and Open-Source Game Engines"
author: parham
popular: false
image: /images/blog/2024-03/foss-engine-girl.webp
tags: ['Education']
---
-With so many free open-source game engines out there, where do you even start?
+With so many free and open-source game engines out there, where do you even start?
---
From 3b4abc564ceed443ed664ba1d9f7eed6044539e5 Mon Sep 17 00:00:00 2001
From: Vaclav Elias
Date: Thu, 14 Mar 2024 15:58:48 +0000
Subject: [PATCH 09/13] Update index.html
---
index.html | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/index.html b/index.html
index fda164d..ab4f8ce 100644
--- a/index.html
+++ b/index.html
@@ -51,6 +51,7 @@ Develop once, deploy
cross-platfo
{% include bullet-point.html text:'Windows Universal' %}
{% include bullet-point.html text:'iOS and Android' %}
{% include bullet-point.html text:'Linux' %}
+ {% include bullet-point.html text:'macOS' %}
@@ -131,4 +132,4 @@
Featured Sponsors
-
\ No newline at end of file
+
From e21931d3b4427f440e7aefd1d9743f7ae0540ae1 Mon Sep 17 00:00:00 2001
From: Parham Gholami <7075456+parhamgholami@users.noreply.github.com>
Date: Thu, 14 Mar 2024 09:34:51 -0700
Subject: [PATCH 10/13] Add Mac
---
posts/2024-03-14-open-worlds-intro-to-foss-game-engines.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/posts/2024-03-14-open-worlds-intro-to-foss-game-engines.md b/posts/2024-03-14-open-worlds-intro-to-foss-game-engines.md
index 5a7a76d..cf8b3ae 100644
--- a/posts/2024-03-14-open-worlds-intro-to-foss-game-engines.md
+++ b/posts/2024-03-14-open-worlds-intro-to-foss-game-engines.md
@@ -112,7 +112,7 @@ With the [Atom Renderer](https://www.docs.o3de.org/docs/atom-guide/), the engine
* Written in C#, Supported Languages: C#, F#, Visual Basic
* Platforms:
* Development: Windows
- * Target: Windows, Linux, iOS, Android
+ * Target: Windows, Mac, Linux, iOS, Android
Stride began life as Xenko (and before that, Paradox): Silicon Studio’s premium game engine. After several years of providing Stride to the public through a subscription-based model, Silicon Studio released the engine’s source code and editor freely to the community under the MIT license. Among the higher profile FOSS game engines available, it is unique because Silicon Studio completely wrote it in C# from top to bottom. There is no delineation between the language used for the core engine and the language you would write with day-to-day while working on the game. It becomes much easier to override or change any inherent engine behavior when coding in the same language. No need to develop an interop system to interface with the engine’s core logic. With that said, [the code-only version of Stride](https://stride3d.github.io/stride-community-toolkit/manual/code-only/index.html) supports any language that is part of the .NET family (C#, F#, and Visual Basic), providing some flexibility in language choice.
From 764e82cf5e1066de97960eb276ebc0382c154cb4 Mon Sep 17 00:00:00 2001
From: Vaclav Elias
Date: Sun, 5 May 2024 23:45:53 +0100
Subject: [PATCH 11/13] chore: NPM bumped
---
package-lock.json | 38 +++++++++++++++++++-------------------
package.json | 8 ++++----
2 files changed, 23 insertions(+), 23 deletions(-)
diff --git a/package-lock.json b/package-lock.json
index 073d296..760f826 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -9,13 +9,13 @@
"version": "1.0.0",
"license": "MIT",
"dependencies": {
- "@11ty/eleventy-fetch": "^4.0.0",
- "@fortawesome/fontawesome-free": "^6.5.1",
- "bootstrap": "^5.3.2",
+ "@11ty/eleventy-fetch": "^4.0.1",
+ "@fortawesome/fontawesome-free": "^6.5.2",
+ "bootstrap": "^5.3.3",
"lunr": "^2.3.9",
"markdown-it-anchor": "^8.6.6",
"markdown-it-table-of-contents": "^0.6.0",
- "sass": "^1.69.7"
+ "sass": "^1.76.0"
},
"devDependencies": {
"@11ty/eleventy": "^2.0.1",
@@ -115,9 +115,9 @@
}
},
"node_modules/@11ty/eleventy-fetch": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@11ty/eleventy-fetch/-/eleventy-fetch-4.0.0.tgz",
- "integrity": "sha512-wGAd0r+8DUWr22fK5r07dOKuNY6ltA7hX+sJzngGZL1yJmuUVdM/xPQZ+iq0BFgf/ZeRdpVEzf2D0cpVZUuiTg==",
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/@11ty/eleventy-fetch/-/eleventy-fetch-4.0.1.tgz",
+ "integrity": "sha512-yIiLM5ziBmg86i4TlXpBdcIygJHvh/GgPJyAiFOckO9H4y9cQDM8eIcJCUQ4Mum0NEVui/OjhEut2R08xw0vlQ==",
"dependencies": {
"debug": "^4.3.4",
"flat-cache": "^3.0.4",
@@ -234,9 +234,9 @@
}
},
"node_modules/@fortawesome/fontawesome-free": {
- "version": "6.5.1",
- "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-free/-/fontawesome-free-6.5.1.tgz",
- "integrity": "sha512-CNy5vSwN3fsUStPRLX7fUYojyuzoEMSXPl7zSLJ8TgtRfjv24LOnOWKT2zYwaHZCJGkdyRnTmstR0P+Ah503Gw==",
+ "version": "6.5.2",
+ "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-free/-/fontawesome-free-6.5.2.tgz",
+ "integrity": "sha512-hRILoInAx8GNT5IMkrtIt9blOdrqHOnPBH+k70aWUAqPZPgopb9G5EQJFpaBx/S8zp2fC+mPW349Bziuk1o28Q==",
"hasInstallScript": true,
"engines": {
"node": ">=6"
@@ -541,9 +541,9 @@
}
},
"node_modules/bootstrap": {
- "version": "5.3.2",
- "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-5.3.2.tgz",
- "integrity": "sha512-D32nmNWiQHo94BKHLmOrdjlL05q1c8oxbtBphQFb9Z5to6eGRDCm0QgeaZ4zFBHzfg2++rqa2JkqCcxDy0sH0g==",
+ "version": "5.3.3",
+ "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-5.3.3.tgz",
+ "integrity": "sha512-8HLCdWgyoMguSO9o+aH+iuZ+aht+mzW0u3HIMzVu7Srrpv7EBBxTnrFlSCskwdY1+EOFQSm7uMJhNQHkdPcmjg==",
"funding": [
{
"type": "github",
@@ -812,9 +812,9 @@
"dev": true
},
"node_modules/ejs": {
- "version": "3.1.9",
- "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.9.tgz",
- "integrity": "sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ==",
+ "version": "3.1.10",
+ "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.10.tgz",
+ "integrity": "sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==",
"dev": true,
"dependencies": {
"jake": "^10.8.5"
@@ -2279,9 +2279,9 @@
}
},
"node_modules/sass": {
- "version": "1.69.7",
- "resolved": "https://registry.npmjs.org/sass/-/sass-1.69.7.tgz",
- "integrity": "sha512-rzj2soDeZ8wtE2egyLXgOOHQvaC2iosZrkF6v3EUG+tBwEvhqUCzm0VP3k9gHF9LXbSrRhT5SksoI56Iw8NPnQ==",
+ "version": "1.76.0",
+ "resolved": "https://registry.npmjs.org/sass/-/sass-1.76.0.tgz",
+ "integrity": "sha512-nc3LeqvF2FNW5xGF1zxZifdW3ffIz5aBb7I7tSvOoNu7z1RQ6pFt9MBuiPtjgaI62YWrM/txjWlOCFiGtf2xpw==",
"dependencies": {
"chokidar": ">=3.0.0 <4.0.0",
"immutable": "^4.0.0",
diff --git a/package.json b/package.json
index 15d0b42..10c27dd 100644
--- a/package.json
+++ b/package.json
@@ -16,12 +16,12 @@
"@11ty/eleventy-plugin-syntaxhighlight": "^5.0.0"
},
"dependencies": {
- "@11ty/eleventy-fetch": "^4.0.0",
- "@fortawesome/fontawesome-free": "^6.5.1",
- "bootstrap": "^5.3.2",
+ "@11ty/eleventy-fetch": "^4.0.1",
+ "@fortawesome/fontawesome-free": "^6.5.2",
+ "bootstrap": "^5.3.3",
"lunr": "^2.3.9",
"markdown-it-anchor": "^8.6.6",
"markdown-it-table-of-contents": "^0.6.0",
- "sass": "^1.69.7"
+ "sass": "^1.76.0"
}
}
From fa187188f3b4ab2e32043cf5892d0db3ac8bf32f Mon Sep 17 00:00:00 2001
From: Vaclav Elias
Date: Sun, 5 May 2024 23:50:06 +0100
Subject: [PATCH 12/13] feat: Community Resources link added
---
_data/site.json | 1 +
_includes/_top-navigation.html | 3 ++-
2 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/_data/site.json b/_data/site.json
index 0eb8615..e09cd46 100644
--- a/_data/site.json
+++ b/_data/site.json
@@ -30,6 +30,7 @@
"docs-search-url": "https://doc.stride3d.net/latest/en/index.json",
"docs-tutorial-url": "https://doc.stride3d.net/latest/en/tutorials/",
"docs-contributing-url": "https://doc.stride3d.net/latest/en/contributors/index.html",
+ "docs-community-resources-url": "https://doc.stride3d.net/latest/en/community-resources/index.html",
"dotnet-foundation-url": "https://dotnetfoundation.org/",
"facebook-url": "https://www.facebook.com/stride3d",
"github-discussions-url": "https://github.com/stride3d/stride/discussions",
diff --git a/_includes/_top-navigation.html b/_includes/_top-navigation.html
index aaeb439..8b9963a 100644
--- a/_includes/_top-navigation.html
+++ b/_includes/_top-navigation.html
@@ -23,8 +23,9 @@
📚 Manual (JP)
🎓 Tutorials
📝 Release Notes
- 🔧 API
🌟 Contributing
+ 🔧 API
+ 🏋🏽 Community Resources
From 0eae41409a74f91431a8cf6ddc6d4a551c526e04 Mon Sep 17 00:00:00 2001
From: Vaclav Elias
Date: Sun, 5 May 2024 23:54:14 +0100
Subject: [PATCH 13/13] refactor: GitHub action synced
---
.github/workflows/stride-website-staging-azure.yml | 1 +
1 file changed, 1 insertion(+)
diff --git a/.github/workflows/stride-website-staging-azure.yml b/.github/workflows/stride-website-staging-azure.yml
index 3eafdee..c866723 100644
--- a/.github/workflows/stride-website-staging-azure.yml
+++ b/.github/workflows/stride-website-staging-azure.yml
@@ -9,6 +9,7 @@ on:
- staging
paths-ignore:
- 'README.md'
+ - 'Stride.Web.sln'
- 'wiki/**'
- '_drafts/**'
- .gitignore