The Week of Awesome II - Post Mortem

posted in New Old Things
Published October 02, 2014
Advertisement
Post Mortem to "Building Blocks"

shot5.png

So I entered the Week of Awesome II competition last week. I simply love this tight deadline competitions. And I couldn't help it again.
The theme came up as "The Toys are alive". Yay.

Usually I don't jump into coding right away to think about the game to be. And as usual I always go for the nearest idea. It's very rare that I try to outwit the theme and do something really creative. And so it was decided, a simple Lemmings style game, with tin soldiers walking about building blocks.

The Good

Level design

The common start is to think of how to keep the level in memory. The base of the level is tile based. I did think of bigger blocks right away, and this worked out fine after a few tries. This led me to the next point pretty fast, the


Level editor

shot6.png

Esp. for these competitions, when I go level based, I need a way to churn out levels very fast. Since this competition lasted for a week I went out of my way to make a decent editor. It was a bit more work in the beginning, but helped me tremendously during the last two days to play with level design and add some more stages. I wouldn't have managed 10 stages without it.


Base Library

For Ludum Dare we have to provide the full source. This makes me hesitate to actually use my home grown engine and I work with a very simple cut down framework. For the GameDev compo I can use my full framework and it does help quite a lot. I've got game assets, GUI and game states from the start, and especially, I'm comfortable with it.


Generated Music

Previous to the last Ludum Dare I was on the search for music generators once more. I encountered cgMusic, which made some really nice songs. It's a bit piano centric, and I feel that some song parts to repeat, but it was good enough for me. Adding a midi to ogg converter I could generate songs in a few minutes.


Early Preview

As suggested I put up an early version. And it was a good idea. I had some very valuable feedback, as there were a few things I didn't even think of. I think I did add all suggestions.


The Bad

Collision system

The sloped tiles were made out as a first issue to tackle. For some reason I thought using polygons would work out nice. Since I have a math library with polygon collision code I wrote polygon creators for the different blocks. Collision with a unit's bounds rectangle (=polygon) worked very nicely.
However problems appeared when I actually implemented the movement system. I had my units move in pixel units. Obviously mixing pixel based movement with "exact" mathematics (think of the slope of a diagonal block) does not work out. Units fell one pixel, ended up inside the block polygon and were stuck.

I ended up adding a simple hack: return the pixel based height of a tile depending on the x position in the tile. Ugly, but worked.


Ugly bug

When I had the first preview out someone mentioned that the game crashes on exit. I despise things like that (Gamemaker games, I'm looking at you). In the end the real bug was a bug in my level block handling. I managed to access out of bounds memory and as usual this crashed at a totally unrelated position. I had the luck that some code changes led to the bug appearing right away after the wrong access. It took a few seconds to fix, but I noticed that due to that bug some stages had broken data saved.

I added a simple hack: On loading levels I auto fixed these broken parts.



The Ugly

Windows 7 auto volume adjustment

Windows 7 does some automatic volume adjusting. If there's only very low volume music, it turns it up. But if the music suddenly gets louder it gets adjusted down. I do understand the reasoning behind this feature, but it doesn't lend itself to gaming too well. I wish there was a way for my game to tell Windows to not mess with my volume.

This feature is really really annoying. I'm not entirely sure how to work around it beside starting to play a loud sound effect at the start.



TL;DR

As final thought I'm pretty happy how the game turned out. It's not my best, but also not my worst. I wish I had more stages, as the first 5 are simple tutorials. At least the last two stages are a bit of a puzzle though.


Soooo, when does the next compo start?
4 likes 5 comments

Comments

dmatter

The visual style certainly harks back to classic Lemmings and made me feel nostalgic! :-)

I enjoyed the puzzles, well done on a great game!

The parallax effect is a clever treat and I am damn impressed that not only did you make the game but you made a level editor too!

Until your early preview I actually couldn't tell whether we were making the same game or not! They are sufficiently different I think

October 02, 2014 01:13 PM
Thaumaturge

I rather enjoyed your game--although I'll confess that I did finally give up on one puzzle.

In fact, funnily enough, I think that it was the same puzzle that you show in the screenshot under "level editor" above--I just wasn't finding a way to get past all of the gaps, either directly or indirectly (by redirecting one or other stream of toys to the other lane).

October 02, 2014 03:06 PM
Endurion

Glad you like it :)

The tougher puzzles usually make use of the stairs element. Just remember, you can also rotate the blocks via mouse wheel. I wrote it in the title scroller, but rather at the end :)

Regarding the editor, it's not too difficult, the GUI system is ready for use and with the Asset Studio I can build GUI screens quite nicely.

Quite nicely in this context means it's a bug ridden hack job, and if you click somewhere unexpected hilarous crashes may appear. It does help though ;)

October 02, 2014 04:38 PM
Thaumaturge

The tougher puzzles usually make use of the stairs element. Just remember, you can also rotate the blocks via mouse wheel. I wrote it in the title scroller, but rather at the end smile.png

I did discover the scrolling, and did experiment with the stairs, but never quite managed to get something that saved both streams. :/

(I might give it another shot the next time that I boot into Windows, however.)

October 02, 2014 04:49 PM
Thaumaturge

I played your game again last night, and managed to beat it! A rather fun game, overall, I do think. ^_^

October 03, 2014 05:49 PM
You must log in to join the conversation.
Don't have a GameDev.net account? Sign up!
Profile
Author
Advertisement
Advertisement