Monday, September 3, 2012

Rollin Droid

I have been working on prototypes for games for a while now. I tried doing:
  • a game where you rotate a shape and avoid projectiles
  • a game where you race in between planets
  • an isometric-real-time-chess game on an infinitely large board where you move a knight
but there was always something in the gameplay that didn't feel right.

Luckily, after playing Line Runner I finally did a prototype that deserved to be turned into a complete game. Line Runner is incredibly addictive, but there are several things that I would have done differently:
  • the player isn't allowed to make mistakes: one mistake and it's an immediate Game Over.
  • you play on a horizontal line. It would be better if you could move up or down.
Here's what Rollin Droid (my interpretation of Line Runner) currently looks like:


During the development I realized that I could implement wall jumps which allowed players to climb up tunnels and change direction.
Wall jumping unfortunately creates a big problem: if the player mistakenly wall jumps somewhere he's not supposed to, he ends up going in the wrong way and is very frustrated of not being able to change his direction until he finds a place where he can wall jump again. This problem isn't yet entirely solved, but can be mitigated with smart level design.



The main character is a little bugdroid that skates and collects donuts. In the game, he's a ragdoll animated using box2D, so his body/head/arms/accessories correctly reacts to his movements :-)
I doubt Apple would be very happy if I released the game on the App Store with a bugdroid as the main character, so the game on iOS (and the other non-android OS) will probably feature an other character.

9 comments:

  1. hey, I've been following your game for a while, and I really love it, I just want to start programming games, but I don't know what to do first, can you tell me what programming languages / techniques are the best for programming games like pewpew? thanks in advance! :-)

    ReplyDelete
  2. Do you already know a programming language? If not, I suggest you start learning python, it helps getting to know the basics.
    Once you know the basics of programming, you can use Unity3D to get your game running relatively quickly.

    ReplyDelete
  3. yes, I already know programming, most PHP, MVC, front-end and stuff like that, but I don't know where to start on 3d programming, not sure if I need some physics background, and I would like to know if there is a cross mobile platform to 3d programming to target iOS/android :-)

    ReplyDelete
  4. You definitely don't need a physics background, or at least not right away :-) Vector math on the other hand is very useful.
    One cross platform is Unity3D, and I suggest you look into that. You can target Windows, OS X, iOS, Android, and probably more. It's really the best way to get into 3D. The path I took (C++ and OpenGL) is very very long.

    ReplyDelete
  5. Hey! I really appreciate your info about this, I'm deciding between Unity3D and Corona SDK to start doing things :)

    Thank You!

    ReplyDelete
  6. To be grammatically correct it should be titled "Rollin' Droid".

    ReplyDelete
  7. That game looks quite nice! I think I'd play it.

    ReplyDelete
  8. Hey ! Any update on your game ? Seems really good (and potentially really addictive to achieve perfect scores aha).

    ReplyDelete
  9. 10 year later lmao

    ReplyDelete

Unexpected Gotchas in Making a Game Deterministic

When aiming for a fully deterministic program, it is common knowledge that you have to deterministically seed your random number generators,...