What Happened to Age of Nomads?
For some who have been following Elega Corporation and my own personal progress over the years, you may remember that the first significant project that was announced was Age of Nomads, a paleolithic era real-time strategy (RTS) game in which one of the central design goals was to find ways of simplifying RTS game user interfaces while also adding depth to gameplay. There were a number of ways I wanted to accomplish this goal but not many of them matter at this point. The project was put on hold back in 2017 and since then I have produced a wave of Pluralsight courses, began on new projects including Kalling Kingdom, written a number of blog posts, and done all kinds of things except go back to Age of Nomads.
Growing As A Game Developer
When I began on the project, it was the summer of 2015. In some ways, that was a very different time. I was unsure of how far I could grow in my career working with Salesforce, I really knew nothing about game development, but I knew that I wanted to create a game. I chose an idea that existed on paper in my teenage years after playing the RTS games of the 1990s. The idea was called Xero Lynx (which, even then, was just kind of a codename or a working title), and the earliest sketches for it were scribbled out probably sometime around 2002. Some number of years later, of course, the indie game scene had exploded and powerful new tools had emerged to allow individual developers a fighting chance at creating their dream titles. At least, that was my perception of the eras as they pressed on in time.
From 2015 to 2017, I spent hundreds of hours working on what would become Age of Nomads before the project was put on hold. Many of those part-time hours was spent designing a tile based terrain generation system that was based on cellular automata. The game was nearing a playable alpha stage and I had even put together a pre-alpha teaser trailer that I sent to Nintendo to ask if they would be interested in having Age of Nomads on the Switch. They rejected the game and at this point I understand why. For one, sending them an underbaked teaser trailer was not anywhere near enough. I gave them no playable version, virtually no original artwork, there was no clear hook visible from the video, and many other problems. The teaser trailer they saw is, even now, unreleased to the general public, although it did contain some gameplay and an overall idea of what the game was about.
It did not take Nintendo rejecting the title for me to later reflect on the state of the project and see its problems. The loading times to generate the terrain were pretty awful. In some cases, it was taking 10 minutes to generate the maps. There were framerate and input response issues. Looking back at it now, I can see that so many parts of the project reflect that I just did not know what I was doing when it came to game development. The most value that really came out of the project during those years is that I learned a ton about working with 3D space, the Unity engine in general, and what it took to implement certain ideas that I may have had in my teens. After going from knowing nothing to knowing a lot more about Unity, creating Kalling Kingdom has been a walk in the park by comparison.
A crucial GDC talk about Homeworld: Deserts of Kharak let me know that I was definitely doing all kinds of things wrong. My design was bad for all kinds of reasons: it would never work with multiplayer, it did not operate efficiently with the machine's resources, it was all kind of taped together by my efforts of desperately trying to make things work. Even so, there were times when I felt proud of what I had achieved.
For a while, I thought that I would eventually return and correct all of these issues with the game's design. I thought that it could kind of be salvaged. The project was not put on hold because of any sort of frustration: it was just being shelved so that I could focus on business and commercial viability. But now, in 2019, with a little more wisdom and learning: I realize that there is no salvaging the game's design. It fundamentally does not work.
Age of Nomads Needs A Reset
After reflecting on the state of where the project was left off and seeing a lot of new ways in which everything in the game needs to be fundamentally re-engineered, I have made the decision that when it is time to return to the project: I will be completely starting over.
It was a remarkable learning experience and starting with an RTS as my very first game project was complete madness. As clunky as the whole game runs, I am a little shocked I got as far as I did given the fact that I started with basically zero game programming experience.
I will not be starting over on Age of Nomads right away, of course. All of the work I have going on with Elega right now is more than enough to keep me busy for the foreseeable future. That being said, it would be nice to talk a bit about the journey in more detail at some point, and perhaps show at a close viewpoint why there was so much learned from so many mistakes.
Knowing what I am now capable of doing going forward into the future, though, I cannot in good conscience try to wrap up the project and give it to the public. Age of Nomads is basically a dream game from my youth and it deserves a dream level of quality. It deserves to be done right.
What Changes Going Forward?
There are probably a number of things that I will re-examine when I eventually return to restart the project. I would say that, from a technical perspective, everything has to be redone to be better. The terrain system, for example, would still occasionally generate unusable terrain due to its complexity (which I now see is basically unnecessary). This resulted in hills that would then have jagged, torn corners pointing off into space without having other tiles smoothly and properly connected to them.
But terrain was not the only thing that had problems. The AI was not efficient. There was no clear architecture. There was no consideration for the load on the CPU resources as things grew. At the time, the Unity engine also did not offer its C# job system, Burst compiler, and Entity Component System (ECS) as they do now. And so I did not use it, or any multi-threading, or any multicore processing.
But before any discussion of parallelization I was also considering that even the first Age of Empires, released in 1997, was doing a much better job of map generation than I did during this time. Something about my approach was just rotten. It needs to be completely rethought. Why would a single core design do so much better than mine? It is because mine sucked! And I am fully admitting that now.
So, there is not much of a plan at this point other than to say that a new stage of prototyping and engineering needs to take precedence. Like before, I will not be rushing into completing the project if it is not done right.
If you read the article I wrote about The Future of Elega Corporation - you know that I have taken a strong interest over many months around getting closer to the metal of the computer. I may combine my efforts in learning this area alongside what I would like to do with Age of Nomads at some point.
But honestly, it is all up in the air. I know that for some who were looking forward to the game in its original state, this might be kind of disappointing. But I strongly believe at this point that it is the right decision. Whatever happens, I will continue to provide updates into the future.