Christoph's Dev Blog


chris_r

Active Member
Joined
Jun 16, 2004
Messages
745
Hi guys, as you probably don't know (unless you've been paying lots of attention on GP32X) I am attempting to code a game to be ready in time to be a launch game for the pandora. This is only my 2nd game I have written (after breakout) but I hope to be able to have the project released on schedule.

The game is a platformer, even though there are many already. My platformer will include levels created by me, but will also include a Level editor that will run on the pandora so that the community can also create and share their own levels.

At the moment it is only in its very basic form:
The player can be moved left/right and acts under gravity.
The player has very basic collision detection.
The map of the level is loaded from a file.
The graphics tiles are loaded from a file.


Todo (core features only, before additional features)
Design graphics.
Properly implement collision detection.
Remove hardcoded level values and add them into the loadable file format.
Load the level size from file (again instead of hardcoding)
Implement character actions (such as jumping)
Load multiple tile maps that layer on top of each other.
Add collision detection for certain tile types.
Decide on a better tile size (32x32 is way too small for pandora's high res screen)
Add level scrolling when the character reaches the edge of the screen.


Of course I have here the obligatory screenshot, although it doesn't show much at the moment.

This shows the tile engine running (loaded by a map that was randomly generated) and the player (the red box) has fallen from the top of the screen and can be moved left and right on the black tiles (collision is hardcoded at the moment, it will be changed later).

I welcome feature suggestions and assistance, but please be considerate to keep this thread tidy. If a feature is quite obvious then please don't suggest it. If the thread is kept tidy, then my updates will be less likely to get lost among posts.


This blog can also be found on http://christophsdevblog.blogspot.com in case people would like an RSS feed.
 
Sounds like a good design for a second game. I love platformers. Even if there are millions out there, you can still make a fun new experience with good level designs. Just make a few different enemy behaviors, arrange them in an interesting way, and poof. I'll definitely make some when the game is done :)

I like 48x48 tiles for Pandora resolution. Not a nice power of 2, but oh well. And for collision, I'd recommend the style of keeping all your walls perfectly vertical or horizontal, and do the movement in 2 steps, first horizontal, and then vertical (and then check attack collision and such seperately). It's super easy and doesn't run into any of the numerical accuracy problems you have to deal with when doing slopes and moving along vectors.
 
That sounds pretty cool. The pandora can use all the devs it can get. I too will try to make a game, but not before the pandora is released (though i might change my mind about that)
 
I'm making a project too!
YAY FOR DEVELOPMENT!
Maybe GBAtemp will start taking interest (good for me)
and then we'll have thousands of coders available.
 
I have changed the level file now so that the tile size and level size are loaded from the file. This will mean less consistency between level designs (graphic styles, unless using the default tile map) from different designers, but allows for a bit more flexibility for level designers.

The FPS is now capped, instead of running at full whack like it used to, it runs at 30FPS.
 
Nice Job! It looks like it's going to work. Good controls are very important for games. Here's a couple things for you to think about:

Make the left and right movement gradually pick up speed. Have a secondary top speed and acceleration for when the "run" button is held down. (this is how Mario runs)

Make the jump height depend on how long the jump button is held down. This is done by checking for jump button while the player is moving up. Also, provide a limited amount of "steering" while in the air.

I look forward to seeing your progress...
 
Back
Top