3D Tile Test

One of the big changes for Jetpack 2 is a 3D look. I don’t want to go full 3D - 3D has its place but it often hurts playability. A good example is Civilization 4 - IMHO it got a lot uglier and less fun when they made the switch to 3D graphics. Jetpack will have a form of faux-3D, similar to isometric but at a slightly different angle.

I created a level importer for the old Jetpack levels, and also imported all the old graphics to use as placeholders until I get new art. I decided to have all tile pieces be square, and create angled versions for walls & floors on the fly. This creates a strange effect when using the old graphics. The screenshot below looks really low res and blurry - don’t worry, that will change once I get an artist. But this is (probably) the resolution and faux-3D look the game will have. It will fit in 800×600 in full screen mode.

Old-school low res graphics being manhandled into a faux-3D environment

The tiles in the old Jetpack were 12×12. These are 28×28, or if you measure the whole cube with wall & floor, 36×36. The new levels/maps/rooms will be a couple tiles bigger in each direction. The faux 3D tiles are presenting a problem that I didn’t anticipate being so tricky, when doing depth ordering. I’m going to put that off until later.

The issue I’m dealing with now is collision detection. In the old jetpack, the tiles were fixed in place, and collision detection could be done based on a simple grid. For Jetpack 2, I may want the tiles to be movable, and I also want semi-realistic physics, so more complex collision detection is required. I’m not planning on doing any special polygon handling or rotating - this will be strictly circle & rectangle simulation. The method I’m planning on using is: when a collision is imminent, step each object forward until right before the collision, then store that collision in a list sorted by time of impact. The collisions are processed in order by time. I’m hoping this method will be fast and accurate enough to handle something like 50 ping pong balls bouncing off eachother. That may be too optimistic. We’ll see how it works.

 

12 Responses to “3D Tile Test”

  1. Denilson Says:

    Hey, I used to play Jetpack on my 486… Good and funny days were those…

    Now you’re making a new version in Flash. Well, just don’t restrict yourself to Windows, I’m sure Linux and Mac users will like this game. (unfortunately, I might not be able to play it soon, Flash gets really slow on my Pentium III 800)

    Anyway, I’m writing this comment because a friend of mine wrote a blog post about a game he is trying to write using Python (have you considered writing your game in Python and pygame?). In his blog post, he linked to this PDF, which is related to collision-detecting on grids:
    http://www.cs.yorku.ca/~amana/research/grid.pdf

    I haven’t read this PDF, but I find it might be useful for you.

    See ya!
    (BTW, I’m from Brazil)

  2. classicgamer339 Says:

    Hi, I contacted you a year ago about helping with
    Jetpack 2’s graphics, and now it appears that it is in
    development. So tell me, for the graphics what size
    should the tiles be? If you can give me the specifics
    for what you are looking for I would be more than
    willing to donate some graphics and sounds to the
    project. Oh, and by the way, what language did you use
    to program the original Jetpack, and what language are
    you using to code Jetpack 2?

  3. Qbix Says:

    looks nice.
    A bit of a mixture between old and new school

  4. Robert Says:

    hmmm…this is level 1, right? I like the 3-D effects but it seems kinda weird. is that ice i see? theres a problem #1 if it is. and with the sliding thingy moving walkway. You obviously didnt tranfer all the effects-mainly the ones on top of the tiles it seems-to the 3 dimensions and only added depth to the tiles. I’m no computer programmer, so i dont know exactly how to say this, but it seems fine except for that and you might want to do something about those ladders; they seem weird being at the end of the tiles…but i dont know how to describe anything. I guess stuff on top of the tiles is still 2-d

  5. Adam Says:

    Like I said, this is very temporary artwork.. just to get an idea of the 3d look.

  6. Josef Griffiths Says:

    Wow, Adam this is fantastic, what serendipity to find your blog! I used to play Jetpack when I was six, it’s an absolute favourite. But I always wondered about that Jetpack 2000 :P

    So now that you’re bringing it into the new millenium, with Flash no less (yay, embedding!) I must ask: in the original, the maps were played on the one screen - have you considered bigger maps and scrolling? I expect Flash would make easy work of this.

  7. primetech Says:

    Our Christian school only had a handful of games that everyone liked. One of those games was the original Jetpack 1.3 demo. We couldn’t get past Level 8, and only a few of us knew how to edit multiple levels (go in, save one under a different name, etc…) but we loved it back when we were 11.

    I still do. Can’t wait to see a beta!

  8. Mike Says:

    Wow this is amazing. I mention jetpack to everyone and how it was a loved classic as a child. I always dreamed of a jetpack 2 with multiplayer support. Please tell me your going to put in multiplayer (co-op) support in this game. Its the one thing I felt was truly missing from the first game. This game is very similar to games like load runner and N+ in style. N+ is one of my favorite games of all time now thanks to the co-op and level editor. Jetpack 2 could easily be that new game.

    Also, have you ever considered a XBLA release for the 360? You would probably make more money off the game going that route rather then a pc flash version.

  9. Adam Says:

    Well the problem with networked multiplayer on a fixed-screen non scrolling game, is (I think) the flaws inherent in client-prediction would be very obvious. In other words it might look jerky. I may try it though.

    A multiplayer mode where both players are on the same computer could work, the only problem I can think of would be the limit of keyboards to report all the keys being held down at once. If one player is on joystick it would solve that problem though.

    I will look into other platforms when the game nears completion. I’m not a big console fan, but it’s possible. Something portable would be cool.

  10. Mike Says:

    Give it a shot :p. Games like the updated lode runner and N+ can pull it off so im sure you can do it too :p. If you ever do a console version, shoot for 4 players :)

  11. Benjamin Says:

    I like this use of 3d for appearance and not complication of gameplay.
    It would be brilliant if the eventual graphics are an evolution of the old ones, rather than a complete change.

  12. Ravey Says:

    “Well the problem with networked multiplayer on a fixed-screen non scrolling game, is (I think) the flaws inherent in client-prediction would be very obvious. In other words it might look jerky. I may try it though.”

    Jet Set Willy Online is a pretty good example of where to go with multiplayer, you could use a similar mode to Manic Willy, it’s pretty much Manic Miner with other players racing to collect everything and they race through a series of levels. Client prediction wouldn’t be an issue because all the players are independant and unable to interact with each other.

Leave a Reply