Peep Defence v12 min read

EclecticMatt/ April 4, 2018/ new/ 0 comments

Hi again,

Another one of those posts where I had a bright idea a few days ago – then spent most waking hours wrapping my head around the scale of everything needed to make it work – then chuck the basic version online to see what everyone else thinks!

So… for this month’s basic game I decided to take on the Tower Defence genre!

Introducing…. Peep Defence (version 1)

What’s in version 1?

The game works on a grid-system, where the map and towers are stored in a grid/matrix and the pathfinding for enemies is based on this grid (credit to Qiao for developing the pathfinding.js library used in this game). The game itself is designed to work for (pretty much) and screen- or grid-size, and should rescale if the screen size changes.

The game has just a single tower type in version 1 (soon to be renamed the “gun tower”) which you can upgrade to cause more damage, as well as using them to re-route the enemies paths.

There are currently 15 waves of enemies, which I personally have yet to beat myself! Not even sure if it is possible, so don’t get downhearted if you lose the game on wave 6!

The game has a newly-designed modals system, which are customisable modal windows for tutorials and tower upgrades (although they won’t be used for tower upgrades in the future).

What’s the plan for version 2?

Now the game is out in version 1, there are several things already well-progressed for version 2 (when I just get time to properly build them in) such as multiple tower types (basic walls, and then gun, ice and bomb towers), as well as more variety in enemies, different levels (maps) which you progress through, and a slightly neater interface.

I’ve spent the past few days redeveloping tower upgrades, which now display a “tooltip” menu around the cell you clicked, allowing you to buy, upgrade and sell the new walls and towers. Enemies also visibly lose health, going from their default colour to red when they take damage.

Here’s a sneak peek at how the test version looks:


As the very basic version 1 is functionally complete, I decided to release that a little early for any comments/feedback. Please do let me know in the comments section if you have any thoughts on this version!

The code for version 1 is stored on Github at the moment, and some general functionality uses my Javascript library files.

Anyway, that’s it for now – so speak later!

Share this Post

Leave a Comment

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

This site uses Akismet to reduce spam. Learn how your comment data is processed.