Lava Walk - devlog #1

May 22, 2015

Idea and goals

So, Lava Walk is this little random project I’m making on the side for the One Game A Month challenge.

Since this month’s #1GAM theme is “childhood”, the first thing on my mind was avoiding the cracked sidewalk tiles, as I was always having fun with this when I was young. Maybe it’s not the most original idea ever, but since the month is slowly ending and I haven’t come up with anything better, this will have to do. Naturally, the type of the game based on this idea is pretty obvious as well - the infamous endless runner. I’m definitely not a fan of this genre, as I find these games fun for a few minutes and then getting repetetive. Still, if I can introduce something different rather than just cloning the basic game, I should do so. I’ve chose to make steering a little bit more complicated - instead of having one button to jump, you click where you want the player to jump, and you can choose from 3 scrolling sidewalk rows. Again, it’s not the most innovative idea, but oh well.

Anyway, I think that even though it’s a rather simple thing, it can be pretty cool if made well. Unfortunately, that requires me to cobble together the graphics from scratch, and while I can produce something that looks decent, it takes me a lot of time to do so. Fortunately, time is one thing I have these days.

A bit of things technical

Since I don’t have much time, the game is made using the engine I know best, which is ImpactJS. It’s a nice piece of software (definitely worth what it costs) and I’m using it for many different things, which usually aren’t really what it was made for. But I like the internals of it, and from the last two years of work I’ve made quite a library of reusable code that enables me to force the engine to do what I want.

Some gameplay

So, after about a day of programming I have a working prototype. There isn’t much content in it (especially in the graphics department), but it’s completely working and fully playable. I really like this iterative style of work - make something playable, put some crappy graphics in it, see if it works and is fun.

What’s the result then? It does work.

I’ve spent much too long on getting it right though - I was having problems with spawning additional tiles as you progress on the level. I was adding too much of them and the entity count was increasing slowly but steadily. Finding what was causing it took a good portion of the day. It was a mix of two things really - first I was spawning new tiles too far to the right, and second, I was spawning them too fast based on what the camera’s position is. I’ve fixed the first problem and then just added a check to the tiles in the middle row to die and spawn new tiles if they go offscreen. The other tiles just die.

This is exactly why I don’t like working on my own - if I had another programmer around I could probably show it to them and find both the problem and the answer right away instead of wasting time on fiddling with it.

I haven’t been very successful on the “fun” front though. The prototype I’ve made is pretty boring, and I don’t really like what I’ve made. I’ll try to add some coins spawning on the empty tiles, which should make the choice of “which tile do I jump on” a little more interesting.

What’s next?

Now it’s time to set some goals for the next few days with this project. So, in no particular order:

Mechanics/systems:

  • Add coins to collect and calculate score based on them and the distance.
  • Find a backup with code for gamejolt leaderboard integration, as it’ll probably end up there.

Graphics:

  • Player animations - running, walking, jumping, death.
  • Better background and tiles so it’s easy to see what’s going on in the game (that includes tiles that will have more proper perspective in them)
  • Some sort of a small intro