Summer development is in full steam!
This week, I wanted to show you something a little different: how I go from a concept to an actual implemented feature, using one of the new Friendly Bugs from the Genetic Traits as an example.
The Water Dragonfly will be an important Friendly Bug during Summer, helping your swarm deal with one of the season's biggest challenges: keeping flowers hydrated. Summer's main mechanic is all about racing against heat waves and enemies to gather as much pollen as possible before it's too late. Flowers can dry out under the summer heat, but with the new Hydrate mechanic, you can bring them back to life and keep them producing pollen. At the beginning of the season, hydration will be a fairly scarce resource. Friendly Bugs like the Water Dragonfly can make managing it much easier, giving you a good reason to bring them along as part of your team.
Before I turn an idea into a task, it usually starts on a board where I pin down all the things floating around in my head.
This is where I think about the gameplay feel, implications, and how I want a scene to play out as the player interacts with all of its elements. I already had a pretty good idea of the feeling I wanted Summer to have (I won't spoil too much!), so at this point I mainly had to ask myself:
Does this idea fit the season?
Is the bug's existence actually justified?
Most importantly... is it fun?
I can't really say how long an idea stays in this stage. Sometimes it takes a while, sometimes everything just starts clicking into place one after another as the bigger picture becomes clearer.
In the beginning, I didn't even know what kind of bug the Water Dragonfly would be. I only knew that I wanted something flying across the screen from left to right, doing something in quick successions.
After a bit of research into what kind of bug could fit this behaviour, everything started to click!
Of course, I couldn't just jump straight into making the Water Dragonfly. A bunch of other systems needed to be in place first. For example, I needed a "Screen Manager" (as I call it) that I could ask for waypoints and different points of interest around the screen. This would give my various bugs and other features places to move towards and interact with. Then came the DRY state for flowers, the sun beams that dry them out, and a bunch of other systems that Summer depends on. Once all of those pieces were in place, it was finally time to work on the Water Dragonfly itself.
Once I finally got to the feature, I started drawing it! This is probably not the best development practice. Most of the time, you should prototype the functionality first and leave the art for later... But I'm an artist, after all, and this is the part I enjoy the most! I recorded the whole process, so I'll be uploading a timelapse to my YouTube channel later!
Once I was happy with how the Dragonfly looked, its contrast with the environment, and how it fit together with the other elements on screen, it was time to start coding.
This part was actually pretty quick. At this point, most of the bugs have behaviours that are somewhat similar to each other, so I can reuse and copy-paste a good chunk of the existing code. Then I just edit the important parts that give each bug its own behaviour and personality.
A little bit of fiddling with numbers... (speed, interaction range, spawntimes, etc)
And DONE! The Water Dragonfly came to life. There's still some balancing to do, but that'll come later, once I have all the other Summer features implemented and can balance everything together as a whole.
And that's pretty much the process! Concept → Research → Foundations → Art → Code → Polish → Balance.