4 Hugues Ross - Blog: 03/01/2014 - 04/01/2014
Hugues Ross


AMAZE - 24 - Get a Life!


  • Finished Zone 4.
  • Finished the Zone 3 tileset.
  • Started the Final Zone tileset.
  • Finished the first level of the Final Zone.
  • Finished the music for Zone 4.

Here's the total completion of the remaining parts of AMAZE:
  • Levels: 26/30: 86%
  • Tilesets: 5.5/6: 91%
  • Music: 1/8: 12.5%
  • Total: 73.8%

I'm going to start putting in this little completion bit until the project's done. I find that it does a good job of showing what I have left, even if it isn't perfectly accurate. I've decided that since the Final Zone doesn't introduce any new puzzle mechanics, I need to add in something to up the challenge a bit. To this end, I've added a timer to the levels. If you don't escape in time, you have to try again. I'm also considering making a change to how lives work. Currently, lives are temporary things. Grabbing an extra life is nice, but once you die it's gone. Instead of this, I'm going to make extra lives increase your maximum life count. This makes an extra life worth that much more, and allows players to make the game more difficult by ignoring them. I'm going to put one in each area, and make them only available on the first run through that area. Be on the lookout for them!


AMAZE - 23 - Not Much Coding Here...


  • Finished all but one level in Zone 4 (The last is ~50% done).
  • Fixed some issues with bombs.
  • Remade the sprites for: Fireballs, Drills, Bombs, and Explosions.
  • Made the tileset for Zone 4.
  • Started the tileset for Zone 3.
  • Made bombs beep before exploding.

Now that 7drl is over, it's time to get back to work. 
I spent the entire week worried that I was getting nothing done, only to realize today that I'd actually done a fair bit. That makes me rather happy. Seems I haven't lost my touch after all!

Unfortunately, since the game is so close to completion, I've been hardly touching the code at all. I haven't yet decided what to do with the second half of these update posts in the meantime, but hopefully I'll figure something out by next week.


7DRL 2014 - Finished!

I'm done!
It's all done!

Head over to the games page for a download link.


7DRL 2014 - Day 6

Why would you even suggest that nefarious deeds are happening in our secret underground laboratories?

Tomorrow is the last day! I actually managed to get quite a bit done today:

  • Use items are in. Drink coffee and eat donuts to restore health!
  • Multi-message viewing is now super simple. I also added kill and lifetime counters to the death screen.
  • Fixed scoring a bit
  • The speed stat is now quite useful, affecting both hit and dodge rates. Luck also improves these, albeit less that speed.
  • I added a bunch of new messages, now that I can show more than one per turn.

Tomorrow will hopefully feature:
  • The rest of the game's content, and an ending of some sort!
  • (Probably) a few balance tweaks.
  • A Windows version.
  • Some extra polish.

7DRL 2014 - Day 5

I've had quite a bit of work on my plate recently, but I got equipment in. There are a bunch of new items that can now be found, and you can also view your inventory and equip/toss things from there. Also, I've set things up to add usable items to the game, although I haven't put any in yet. Enemies will also occasionally spawn on their own now, and I made leveling up give you slightly fewer bonuses as things were getting a tad ridiculous. Today, I'll try and put in usable items, as well as letting the player view multiple messages per turn. Tomorrow I'll try to get the final bits of the game done.


7DRL 2014 - Day 3

I really didn't do much today. I added death, then I added a bunch of new enemies to the game. In theory, the first ~20 levels of the game should have their enemies in now. Tomorrow, I think I'll work some more on items and equipment.


7DRL 2014 - Day 2

I did a bunch. I'm too tired to write much, so I'll sum it up: Basic combat, Better FOV, Blood splatter, items, stats, and levelling up. Bye now, sleepy time. Also, 3 hours of A* hell.


7DRL 2014 - Day 1

Man, I got more done than I thought I would. Let's start off with a screenshot:

As you can see, I've got quite a bit of basic stuff done. you can walk around, there's some basic field of vision work, and levels generation is pretty much done. The game has ~30 levels at the moment, although I may change that later. Tomorrow will probably be inventory work, along with the possibility of colors and enemies. We'll see.

7DRL Begins!

As I mentioned in my last post, I'm going to try 7DRL. It'll probably be a trainwreck, but it'll be fun! I'll try and make a post every day with progress updates.


AMAZE - 22 - Boom!


  • Finished the first two levels of Zone 4.
  • Fixed a bug where pushing moving objects caused them to be flung in some direction forever.
  • Added Bombs and Explosions.
  • Added a reset button in the corner of the screen. It works the same as hitting 'R' in game, but some people were requesting it.
  • Fixed how multiple lines of text are displayed to make a bit more sense. Before text was wrapping in strange, incoherent ways.

Normally, I'd spend some time here adding technical stuff, but there isn't much to talk about today and I'm rather tired. The bombs were surprisingly simple to add, and consist almost entirely of out-of-engine scripting. I guess I could talk about the pushing bug. As you can tell, I've noticed lately that pushing is quite buggy. Most of the issues with it come from the fact that before Zone 4, it was impossible to ever push a moving object. This is because the only pushable objects are stationary by default, and even when on ice you can't reach them from a different angle before they stop. Of course, conveyor belts changed all that. Another source of issues is that objects that stop on the game's grid do so based on reaching new grid spaces, but the game's collisions don't take grids into account. This meant that you could theoretically push a moving block that's halfway between grid squares, and it would start moving in your direction along with its' current one. However, that change in direction would offset it from the grid, and so it would never reach another space and stop. Since walls and holes are based on that too, that means the blocks will ignore them, and fly offscreen forever. I've now forced pushable objects to be aligned to a grid to move, so the problem should now be gone.

Finally, the 7 Day Roguelike challenge has rolled around again. Last year I wimped out, but this year I'd like to give it a shot. We'll see how well that works...


AMAZE - 21 - Pushing Things Around


  • Added Conveyor Belts, which move anything on them in one direction.
  • Revised how object velocity is handled with respect to object collisions.
  • Added an animation for disappearing locked doors.
  • Fixed a bug where loading a saved game, exiting to the menu, then starting a new game could start you with the wrong tileset.
  • Fixed a bug where loading a saved game, exiting to the menu, then starting a new game could cause the camera to start oddly zoomed out.
  • Smoothed out the camera zoom animation.
Today, I'd like to talk about the second item on this list, the nebulous 'Revised how object velocity is handled with respect to object collisions.' You might be wondering what exactly that means. Basically, prior to this week, any object that collided with a solid object stopped on the spot. While this worked really well up until this point, I started running into issues once I added conveyor belts. Before now, you could hardly ever run into situations where two solid moving objects could run into each other. Now, it's easy:
Let's say there's an L-shaped section of conveyor belts. If two blocks are moving through this and they're close enough, one will run into the other at the turn. Previously, both blocks would get stuck and stop moving. With this new change, objects only stop moving when they collide and are moving towards the other object. Thus, in our L-shaped conveyor belt, the second block will stop until the first one moves, then it will continue. The first block was never moving towards the second, so it shouldn't suddenly stop.