Words of Power devlog #4: Free and Open Core

After finishing prototype MK1, the time has come for me to decide which game engine to use for Words of Power. The choice of proper tools is critical to any project so I've spent much time searching.

Finally, I can reveal the exciting future of Words of Power ⊂(✰‿✰)つ

Free and Open Source Software in Games

First, let me talk about Free and Open Source Software (FOSS) as someone who's been writing and using FOSS for nearly two decades. I've even been paid to work exclusively on FOSS for over 10 years and all that work is available for anyone and everyone to reuse and improve for free under open licenses.

I proudly live the free and open way and I consider the movement to be the much-needed counter-weight for the ever-escalating horrors of late capitalism. I fight for a world where the basic human need to share is a basic right, not something to be monetized, repressed, and labeled "piracy". Sharing is caring.

The experience of developing FOSS with the community is so great and fulfilling that writing closed software (usually to generate profit for some greedy incompetent managers) seems like utter waste of time in comparison.

FOSS has penetrated most areas of technolgical world but videogames are proving particularly resilient. There are quite a few open source games but they're usually rather simple, unpolished, low-performing, and/or overall underwhelming compared to commercial titles. There are few exceptions to this such as Zero-K which I consider the best of Total Annihilation/Supreme Commander style of RTS games with 94 % Very Positive steam review score.

Exceptions aside, there are little to no top-tier FOSS games. There are many open source ports of older games which behave much better than the originals but game mechanics, graphics, sounds, and other assets are usually reused from original game.

Even though the FOSS community learned to write decent software, videogames require much more than technical skill. Games are complex works of art which require... well, art! It's unlikely for one person to posses all the technical and artistic skills required to create a masterpiece. This includes graphics, animation, sound, music, writing, character design, level design, and more. Creating a successful one-person game is an epic feat and getting together a team of people with all the different skills required and ensuring their efficient cooperation for year(s) sounds even more daunting.

Taking all this into consideration I understand why non-trivial games still continue to cost money although other closed software is being replaced by open source alternatives. It indeed takes an incredible amount of focused human work incomparable to fixing a random bug in a FOSS project.

That's why I'm going to sell Words of Power on steam for a reasonable price instead of making it free. However, I still strongly prefer to use FOSS in the process.

Game Engines of the Future

After researching available engines and their features I discovered my choice basically boils down to two most popular offerings - Unreal Engine and Unity.

After a lot of staring into steam game news, changelogs, and posts I noticed there's a neverending stream of issues related to Unity, upgrades between Unity versions being especially problematic. And then I've discovered that Unity doesn't provide source code, so you're getting a binary blob and complete dependence on Unity developers - nice vendor lock-in! That might be acceptable for devs releasing games they don't really plan to maintain but it's totally unacceptable for me and my long-term projects. No Unity for me.

Although Unreal Engine isn't trully free as in freedom, at least its source code is available and monetization model is fair. I have other problems with UE but it's still probably the closest to what I need.

Or is it?

Waiting for Godot

When I first looked at FOSS Godot engine some time ago I liked it but it was missing certain features and its performance was in question. It looked like a decent choice for 2D but seemed too risky for VR where performance is critical.

Since then I've discovered that VR is still too much hassle so I don't necessarily need to use 3D yet and even if I do I don't have to worry about performance as much as in VR where anything less than 90 FPS @ 4k means inferior user experience.

Now is a good time to point out the brilliance of the Godot engine name itself. I've been waiting for a good FOSS game engine for as long as I remember and I'm certainly not alone. In a funny and extremely fitting reference to the famous 20th century play Waiting for Godot, the Godot engine claims to be "the game engine you waited for".

In fact, I had a great experience and fun with Godot so far, well worth the wait! I'll leave the details why Godot rules for a future post when I have more experience with it but let me share my limited insight on the Godot project in the mid and long term.

In my day job as FOSS packager, I often judge projects by activity from various sources in order to determine if they're alive enough to depend on. Looking at godot source repo, I was shocked to discover 34k commits, 38k stars, 7k forks, 18k closed pull requests, 22k closed issues and 5k open issues which are being actively managed and worked on.

In other words, Godot is extremely alive and rising to power at astonishing rate. It's already catching up with Unreal and Unity in terms of features and performance while being more pleasant to use. The upcoming Godot 4.0 in the works already packs massive amount of features and improvements including Vulkan support (faster 3D rendering). All that is topped with permissive MIT license, good docs, free assets library, interesting plugins, awesome community and more. I believe Godot's future will be bright and I definitely plan to be involved.

First Words of Power game is going to be written in Godot engine ᕕ( ᐛ )ᕗ

Words of Power Open Core

After much though I've decided to take hybrid approach between what I believe is right (FOSS) and what I need to do as part of my existence (obtain resources to survive). Even though the Words of Power game itself won't be free, I will provide the interesting core tech as well as related tools including powerful magic and mod editor as free and open source software available to everyone in hopes of building a thriving open community of people interested in languages, digital magic, and machine learning.

I've updated the Words of Power project description with more information including following overview diagram:

Posts about individual components will follow.


Next log: #5: Introducing Words of Power Editor

Words of Power