This article is copied from my personal blog.

Today Michael gave me the first music track he composed for the game and I am impressed. I am excited to have professional sounding music for a change.

That being said, the first thing I did after inserting the music into the game was program a mute button so that I could keep listening to techno while I coded.

Michael also delivered an electric explosion sound effect that works perfectly.

I mentioned yesterday that I could not find a meteor graphic to use on I actually did end up finding art that works really well by searching for “rock”.

You can see the three rock types in the current spritesheet for the game which is autogenerated by chem:

The first thing I did today was create a electrical disintegration animation, and I’m pretty pleased with the result:

I wonder if this is considered good enough to submit to

After I finished that animation, I worked hard and had a productive day:

  • 3pm – Finished electrical disintegration animation and added sound effect to game.
  • 3pm – Added in Michael’s background music and made it so you can toggle it with M key.
  • 5pm – Added meteors with collision detection.
  • 5pm – Fixed “ships rotating for no reason” bug.
  • 6pm – Inserted a new Level 1 – meteor field that you have to navigate through.
  • 7pm – Created a spastic portal graphic and added it to the level.
  • 7pm – Fixed navigation bug for ships equipped with backwards thrusters.
  • 9pm – Fixed scrolling when manual overriding.
  • 11pm – Added a UI pane when ships are selected.
  • 12am – Added a mini-map.
  • 1am – Made it so you can send ships into a portal.
  • 3am – Made it so selected portal shows what’s inside it.
  • 4am – Added ability to send ships out of a portal.
  • 5am – Added announcement support.
  • 6am – Made your convoy show up on the level complete screen.
  • 6am – Added stats to the level complete screen.
  • 8am – Finished level complete screen so that you can get to the next level.

The source tree has grown quite a bit since last time I checked, up to 2,704 lines:

   49 src/bullet.js
   77 src/credits_screen.js
   43 src/flag_ship.js
   30 src/fx.js
   73 src/game.js
   34 src/game_over_screen.js
  178 src/level_complete_screen.js
   20 src/main.js
   81 src/meteor.js
   58 src/militia_ship.js
   91 src/physics_object.js
   82 src/portal.js
   60 src/ranger_ship.js
   37 src/sfx.js
  449 src/ship_ai.js
  177 src/ship.js
    7 src/ship_types.js
   57 src/squad.js
  933 src/state.js
   23 src/team.js
  105 src/title_screen.js
   35 src/turret_ship.js
    5 src/uuid.js
 2704 total

I actually feel pretty good about the code organization right now. I have only had to pause progress and refactor 2-3 times and each time it was mostly painless.

Enough of the technical stuff. Let’s see some screenshots.

Here’s one of the meteor field level you start out in:

Here’s what it looks like when you finish the level:

And here’s me giving a walkthrough of the progress made today:

My TODO list is getting a bit unruly. I’ve divided it into “next steps” and “nice-to-have”s:

Next steps:

  • Add text instructions in Level 1 to explain the controls and how to beat the level.
  • Make it so that you start out the next level with the same fleet that you exited with.
  • Show your cash in the UI
  • Allow you to create ships that you unlock by spending cash.
  • Insert a level between 1 and 2 with some attackers. You’ll have to build some Ranger ships to defend your Flagship.


  • Figure out why the game slows to a crawl when many ships are added and then deleted.
  • Experiment with speed cap on ships. (I’m reluctant to do this one – I like the idea of high-velocity dogfighting.)
  • If Ranger is in range, don’t accelerate toward target.
  • Fix the thruster sound glitchiness
  • Each command should draw something on the screen to indicate that something is commanded. (Some commands do this already.)
  • When forming a squad, don’t assume all ships have the same radius.

And now I must rest. I am exhausted.


One Response to “Pillagers! 7dRTS Game Development Journal – Day 3”

  1. Nsmurf says:

    Submit to opengameart!
    As a programmer who sucks at art, I’d love to have those sprites :)

    Good luck with your game!

Leave a Reply

You must be logged in to post a comment.

[cache: storing page]