Creating Vortex Green – The difficulties involved in developing a biological world
We love it when an IncGamers community member has something exciting and interesting to share with the readers. GWOnline community member Frederic Poirier, AKA Alaris, started to create his own game but how exactly is he approaching its creation? This is Frederic’s first article here on IncGamers for his game project called Vortex Green.
This first article looks at the difficulties involved in developing a biological world, where foes compete for survival and dominance. I approach the problem with the fresh eyes of a new developer… my background is scientific research in psychology, combining my skills in programming, statistics, and the scientific method.
I have always been interested in game development, and the game I am making now, Vortex Green (vortexgreen.ca), is the result of a simple question: “what can I make that would be interesting, and that I can finish with my own skills”.
I am developing three storylines for it, each focuses on a different aspect of combat gameplay. One storyline in particular focuses on combat gameplay where there are many foes and many allies, and you are in the middle of that…
Allies in combat: A new dev’s perspective
Making a game from scratch has been a real eye-opener, and I hope in the following series to share some of that perspective. My first topic is on designing interesting group combat scenarios. I wanted the player to team up with a small army to fight another one. As we will see, there are many ways to implement that, each with their pros and cons.
Before I get into the thick of it, here’s some context using Vortex Green, which is the game I am developing.
Breaking it: Vortex Green, the first iterations
In Vortex Green, I have done some iterations, and I noticed that even small changes can have important impacts. And this is giving me insight as to why ecosystems are not used in many games… basically, it’s hard to do it right. The main problem is that artificial ecosystems are easy to tip over.
What did I do?
The scenario is simple. You have a portal that summon allies in the middle of the map, and there are portals that summon foes at different locations. Your task is to shut down those enemy portals.
I developed an AI where units position themselves near allies and facing foes. This creates emerging behaviour where they make natural frontlines that change shape as the battle progresses.
The main benefit of using this AI is that allies and foes were more interesting. This is especially so because tactics such as distracting foes or working with allies actually made a difference. And it was fun sometimes to just look at these groups fight each other.
A small initial advantage for one side made their army grow to an unstoppable size. When that happened, the game became either way too easy or way too hard, depending on who had the numerical advantage. Like playing a game of Risk, where one person controls 2/3 of the map and the armies.
I tried a few “solutions”, none of which was particularly satisfactory. I could kill off both armies on every new wave, but doing that was hard to justify. It did reset the system, but it felt unfair. I could make armies so weak that you can take on even a large army on your own, but that made the enemies boring to fight against especially in normal circumstances.
I am not the only one to have deal with this problem. There has been a lot of demand for ecosystems and smarter AI in MMORPGs and strategy games, and various approaches to it.
Crafting it: Guild Wars 2
In my opinion, Guild Wars 2 is a great example of a game that does an excellent job of crafting it. The NPCs both in towns and outdoors have dialogues which I take delight in listening to. Fortresses actually come under attack, and can even fall to enemies, at which point they need to be re-taken. Assault on enemies can actually fail. And when you collect some feathers for some NPC, you can then follow him to see a ridiculous attempt at using the feathers to build a helicopter, with comical and disastrous consequences.
I keep being amazed that Guild Wars 2 still manages to do that after a few months of play. I keep discovering events and NPCs and missions I had not seen before. And they keep adding new content some of which come with enduring changes to the world, e.g. Halloween, Karka invasion, and more recentlyFlame & Frost.
How did they do it?
The dynamic events in Guild Wars 2 are scripted events, carefully designed in every detail including how often they can occur, what triggers them, how many foes and allies appear, where they move, and how much they can overlap with other events.
There are many valid reasons to use scripted events. Scripted events allows for much more interesting events than are likely to happen with random foes or ecosystems. If you keep moving through the world, all this rich content does an excellent job at making you believe that this is a living world.
Scripted events are also easier to debug than an AI, and allow greater control over the experience and difficulty.
To craft a living world convincingly for a very long time requires tons of content. All this content comes at a very steep price. There is a lot of artwork, programming, testing, and scripting involved in making all this content.
If you stay too long in one spot, the NPCs start repeating themselves, and you get the sense of deja-vu. The fortresses will get invaded again, by the same foes, using the same tactics. And that NPC with the feathers? Let’s just say he’s not on his first prototype. This is of course a common problem with replaying games.
Randomizing it: Rift
One of Rift’s big innovations was to create random rifts appearing anywhere on the map, from which an invasion occurred. The spawns would then spread over the map and start occupying it, taking control of nearby resources, until players would group together to kill the foes and close the rift.
How did they do it?
Spawning new foes is not difficult. The interesting aspect of rifts is that they turned the spawning of new foes into its own gameplay element. A rift spawning would be easy to see, drawing players in from the surrounding areas.
As players kill foes, they naturally move towards the source where these foes come from. The rifts were thus an elegant way to put new foes into the map, without making them appear randomly next to you (which is annoying).
Also, because these rifts were the goal players were moving to, there was no need to use contrived methods of hiding the spawn point, such as making foes immune while they run to a further point.
Lack of variety. This is an elegant game mechanic, but after a while every new rift will feel like all the other ones. Sure they might spawn different foes, but the scenario is essentially the same.
Controlling it: Demigod (see also DotA2, LoL)
Demigod offers a similar scenario to what I was building, and theirs actually works. Portals on either side spawn new units regularly, and those never seem to build up except at the very end.
How did they do it?
Control, control, control. These units travel on pre-set paths. Along the paths, there are defensive towers that efficiently kill them off, making sure that these units don’t even get the opportunity to grow in numbers. Over time, they do enough damage to destroy a tower. When that happens, they walk to the next tower, do a bit of damage, and promptly get killed off. The population control is quite severe in those games.
The gameplay is easy to balance because those units always remain weak relative to structures and players, and are thus not likely to accumulate. This gives player the full experience of having independent allied units, without the risk of the game going out of balance.
The units never become a force to be afraid of, they never get to play a large role in combat, even if you support them well.
Embracing it: Vortex Green, the recent iterations
While playing with Vortex Green, and considering all of these approaches, I realised that I was having fun playing a game where there was a risk of things going out of control.
When the army is allowed to accumulate, you have more ways to succeed. You can grow your army in various ways: you can distract foes so they don’t kill your allies, you can destroy one of their portals, you can protect allies, or you can just kill as many foes as possible… any way you find to give your side the advantage can give you a victory. It really opens up the strategic possibilities.
As a bonus, you don’t have to do any of the tedious resource management. All of this happens naturally in combat, as a consequence of which targets you choose to engage.
And if the enemy’s army grows too big, then you’ve got a tough fight ahead of you.
This brings me to the end of my first article on development and I will be following up with more of my thoughts in the future. Thanks for reading.
An Alpha version of Vortex Green can be downloaded now.