Aetherus is an early-stage game prototype that primarily focuses on level design. In this game, the player is tasked with defending a central objective from waves of enemies that enter the level from points scattered around the edge of the map. Towers strategically placed around the level help the player achieve this goal.
All code in this game is my own. Level design and structure is my own, and the shapes of buildings – towers, bridges, and other structures – is also my own. Credit for textures belongs to – []. Credit for the enemy creatures and animations goes to – [].
Aetherus was my first game project where level design was a primary focus. It was also the first that I maintained a development blog for – while the original blog was located at https://tenodrudevelopment.blogspot.com/, all of the posts have been reposted here under Tenodru’s Thoughts.
I wanted to start with a simple foundation – a single landmass with a core-style objective in the center that the player would need to defend from several waves of enemies. From the start of this project, I knew I wanted a sort of tower-defense type of experience – instead of building towers and placing towers, however, the player would use a resource gathered from defeated enemies in order to “activate” towers and other structures scattered around the map.
This design had two advantages – first, it avoided the need for me to create a tower-placement system, which would have just been more code on top of my already-growing codebase (unnecessary complexity for a project focused on level design). Second, it pushed me to think about the level layout from the very start – what would the terrain look like? What would the shape of the world be? Where would enemies spawn, and what paths could they take to reach the objective? Where should towers be placed?
The process of actually shaping the terrain and creating the general look of the island was pretty straightforward. I had the opportunity to understand how texture tiling worked in Unity, and learned how to tweak textures to fit the tiling patterns of different surfaces. One of my blog posts discusses this process in greater detail.
I actually ended up spending the most time on developing the mechanics for the game, which had never been my main goal. Near the deadline for the project, I essentially had 100% focus on getting the game’s wave system, enemy AI, and combat up and running, which took away precious time that could have possibly been better used to fine-tune the look and feel of the level environment. I fortunately was able to meet the project’s deadline, but did have to cut back on some of my more ambitious goals I originally had, like giving the non-tower structures their own unique effects.
This project gave me valuable insight into the level design process of game development, but more importantly, also taught me the importance of task prioritization and time management, a lesson that has stuck with me through the rest of the games I worked on until now.
Furthermore, my ambitious experimentation with new systems I had never attempted to create before, like AI and combat, was a great resource in some of the projects that followed this one. The AI in Experimenta, for instance, was adapted from the AI I created in Aetherus.