Last Stand

Last Stand is a vanilla Javascript tower defense game that started as a school project. The assignment requirements were fairly loose, so I decide to challenge myself a bit.

I wanted a game that played similar to Emberward, where the enemies find the shortest path to the tower and the player can spawn/remove obstacles and turrets along the way, but in desert aesthetics like Red Alert 2.  After putting together a game plan, it became obvious that it was going to be a lot of work. While some parts were unknown to me, I also had some experience with Unity3D, so I was familiar with game dev concepts like animation loop, random map generation, etc.

Having used the Canvas API in the past, I decided early on to use it to render the game. After about two weeks, I had the main pieces working: a grid on which to move enemies, obstacles, a tower, and shortest path algorithm working.

With the path finding algorithm out of the way, I felt like this big challenge was going to be possible after all and started working on turrets and projectiles. Pretty rapidly, the game took shape: enemies moving on the grid, turrets shooting at enemies, and enemies dying. At that point, I had also implemented a basic UI and game lifecycle.

Now that the base components were in place, I started focusing on the aesthetics and the gameplay. Generating artwork, adding sound effects, improving the UI and controls, etc. All these tasks were a surprisingly big amount of work - the devil is in the details, as they say.

At that point, it started to look like an actual game, but sadly it failed on a critical aspect: it wasn't very fun. The game was unbalanced and it wasn't challenging or engaging. So I spent the next few days balancing it and the result greatly improved the fun factor.

With 2 weeks left before the deadline, I focused on improving a few things that were bothering me. Firstly, the pixel art did not render properly at times since the grid size needed to be a multiplier of the sprite size. Secondly, the game needed to have a wall removal feature. The latter addition opened up the gameplay a lot.

Overall, Last Stand has been a ton of fun to develop. I knew very little of Javascript before starting this project and I ended up producing a good quality and complex product.

My kanban ended with a lot of nice-to-have's, but it was time to move on!

Published 19 hours ago
StatusIn development
PlatformsHTML5
Release date 35 days ago
Authormarcosh1515
GenreSurvival
TagsTower Defense
Asset licenseCreative Commons Attribution v4.0 International

Leave a comment

Log in with itch.io to leave a comment.