Towers of Essence
Engine and Creation
-
Developed With: Unity and C#
-
Date Developed: May - October 2020
-
Status: Released
-
Platform: Windows
-
Role: Sole Developer
-
Watch Here: https://www.youtube.com/playlist?list=PLT0Hi-CInRM9Re9RXrTt1k0qyf3hcJtJe
-
Other Assets: Music was from OpenGameArt
Main Features
-
Voxel Based
-
Boss Wave
-
Tower Limit - To increase strategy element
-
Procedural Skybox
-
Procedural Enemy Generation
What is Towers of Essence?
Towers of Essence was a game I created that started from a tutorial on Udemy. After finishing the tutorial I decided to take the game further and to turn it into a short technical demo to share with people and to grow my skills as a developer. I settled on a theme of "Magic vs Unnatural Order" and I decided to enhance the strategy elements of the game by implementing a tower limit meaning the player can only place X number of towers down, meaning they'd need to think more about where to best place towers and when to remove towers.
What did I learn?
This project taught me a lot about the visual element of games development, as I learnt more about post-processing, skyboxes and using shaders, although the shaders where handled through Unitys shader graph, but I did research using script based shaders, but ultimately settled on using the shader graph.
I also experimented with procedural elements in this game. The skybox for one was procedural, and I designed it by using a tutorial from Jannik Boysen which can be found here: https://jannikboysen.de/reaching-for-the-stars/
I designed the waves to have some procedural elements to them, by this I mean I created a system in which I tell the game how many enemies to spawn on a certain wave, each enemy type is given a different percentage to spawn, and the wave spawner would work out how many of each enemy to spawn on a certain wave.
Some of the more specific things I learnt:
-
Procedural object placement (for the trees)
-
Creating and designing a boss fight
-
Currency design and balancing
-
Voxel creation in MagicaVoxel
-
Voxel character rigging and animating (Blender and Unity)