Energy Tank is my submission for Ludum Dare 40. Its a twin stick shooter where you collect energy orbs and destroy enemies, the more energy orbs you collect, the faster enemies will spawn. During this jam I wanted to focus on making the movement and controls feel smooth for both keyboard and controller users.
For this project I used Unity with c# because Unity is great at making 2D games with a lot of components and functions meant specifically for 2D games.
What is Ludum Dare?
Ludum Dare is a Jam where you create a game within 48 hours alone, or 72 hours as a group. In the week before the jam, there are lists of themes put up so that you can vote for the ones that you like, then, when the jam starts everybody is given a theme to build their games around. Ludum Dare is great because you don't need to attend any events to take part, you simply create an account and upload before the deadline. There are 3 Ludum Dare jams every year.
Ludum Dare 40 is the first Ludum Dare since I started university, and the first Ludum Dare I took part in where I ended up with a complete game. The last time I took part was 4 years ago. This was when I had just started to make games so I had almost no experience.
What was my main goal?
When I went into the jam, I had no plans on what kind of game I wanted to make, I didn't want to start thinking of a game before the theme had been announced, this would allow me to make a game to fit the theme as much as possible. This meant that I didn't have any clear plans on what I wanted to achieve during the jam.
When they announced the theme and I started thinking of ideas I soon thought of a top down shooter where you play as a robotic tank. After I thought of the style of game I wanted, I started to think about what I wanted to focus on. I decided that movement and control were things that I needed to focus on. I wanted the movement of the tank to be fluid and realistic so that it would look and feel satisfying. I also wanted the player to be able to switch between controller, or keyboard and mouse input on the fly, without having to go into any menus and switch between them.
What went well?
I was very happy with how the movement ended up, while I was making it I was scared that it would feel slightly unresponsive because it doesn't turn immediately as you tell it to change direction, it turns gradually much like a real tank would. However, i think that because you can see that the tank is responding to you, it is just doing it slower than the other control method, it leaves you feeling like you are in control. the movement has received compliments from almost everybody that played the game. I am happy that the thing I focused on most received the most praise, I feel that shows that I succeeded in making a good movement system.
I applied the same movement techniques to the AI, this not only made the movement look good, but also but also meant that all I had to do to make the AI follow was give it a target and it all worked by itself.
One thing that when starting, I didn't plan to do, was the animation for the tracks of the tank. The movement system that I implemented meant that the tank moves at variable speeds, this means that one sprite animation would not be the right speed for the whole game. To fix this I made it so that the next sprite in the animation will only show after a certain distance rather than a fixed speed animation. This looked really good in the end and I'm glad I spent the time to learn about it as now I can refer to it in future projects.
What didn't go well?
I felt that the project went quite well, however, I would have liked to have an artist to work with so that I would have more time to program the game and didn't have to spend as much time creating art assets.
If I continued development, what would I do next?From the feedback I have received from the game, one thing most people have said is that they didn't know what the red text on the HUD was for, so I would add some sprites to the UI to make it more obvious as to what each thing meant. After that I would add some things to make the game feel better, such as explosions when the enemies die or hit you, screen shake when an explosion happens. I would also like to add some spread to the guns so that they don't have laser like accuracy. Another thing that I would like to experiment with is cool down on the weapons, this would act as something to make the player stop holding the fire button and make the game more challenging.
You can find the game here on itch.io: https://elliot-chester.itch.io/energy-tank