Hi. I decided that I was going to release the source code for my next game, as it was being created, so I might as well keep a developer journal as well
Give me a job! I am currently looking for work in the hand held game industry. I am hard working, very dedicated and have 3 years of professionl C programming experience.
All serious offers will be considered. You can contact me at
This page is inspired by the good work One Man Band and the rest of the team at Savage Pixel. Their making the game column used to run irregularly at pocket.ign
So here it is Faking the Lame - One games odyssey from lowly beginnings to whatever it becomes before I get bored and can it.
All code compiled and tested under gbdk v 2.1.0 (an oldie but a goodie)
Release 5 - Music, New rotation system (12 Mar 2001)
This is a major new version. Where is v1.4 you say? Well it was entered in the y2kode compition. Sadly it didn't win a prize.
- Lots of Hicolor pictures everywhere. An exciting quest for you to undertake.
- Music! I am not a musician, so you get the test music from the player I use
- A menu. Start on any level you have previously reached in quest mode.
- Practice mode. See how many points you can get in 50 lines.
- New way of rotating the pieces. The B button is clockwise and A is counter-clockwise
- I forget what else is new, it has been soo long :-)
Next time on Outlasting the game I will add a few options (like turning sound off) and another game type and a few small bug fixes.
And then this game is done, and on to the next exciting thing
Release 4 - Start of the quest mode (14 Feb 2001)
dropv1.3.zip (48 k)
Version 1.3 Quest mode! still very basic
Only 1 change that I can think of for this version - A quest mode. In reality this makes for a whole new gameplay experience, so I hope you all like it.
- A quest mode. Start the game with the A button to play 20 (or so) different levels
- To win a level you must break all the star blocks
- A star block will act as any other type of block to make a line
- Modify tiles\level_data_1.gbm to create your own cool levels
- The level names are in level_data.c at the moment. I will work out a nicer way of doing this at some stage
- send your levels to for possible inclusion into later releases.
- be sure to also send me the names of your levels and who you want the level credited to.
- The next version of this game won't be released until I get at least 5 email (from different people) about what they think of the game. I am after a bit of ego stroking, but if people want to tell me the game is shit then that is fine too.
- I think I will be adding a few more twists to the quest version:
- different blocks
- get 1000 points before winning
- win in a set time limit
- Have the game keep track of your total score
- A story. I need a reason to reuse the conversation engine I made for S World :-)
- I would love if the coder jr made it possible to load in new level data that could be distributed via the internet. Then I could have a pc program to design levels and a menu option in game to load them
- I am eagerly awaiting my coder jr from bung, but they don't seem to have sent it first class. :-(
- I was also thinking about converting the base engine to tetris, columns and puyo puyo while it is still small. Does anyone think this is worth it? Are there any other good block games that are around?
Release 3 - Learning the limitations of the GBC (8 Feb 2001)
dropv1.2.zip (48 k)
Version 1.2 High Scores, game over, combos
Added a bunch of stuff - including
- A combo system. Now if you get 1 line then another line with the next piece your points for the second line are doubled, 3x the score for the 3rd line in a row, 4x for the forth and beyond
- There is now a bit of a game over sequence.
- Sped the game up - i.e. changed the start_speed, reset_speed and max_speed
- Starting by pressing the A or B buttons start on different screens
- 50 lines mode is hard wired in at the moment, I will make a menu for the next release to choose modes of play
- There is now a high score table, which is saved to memory.
- Still haven't settled on a name for the game
- Wanted to get this up fast so I could get my picture on devrs.com :-)
- Next time I might have some quick time videos of my sprite animation engine to show you
I added some intro pages, but I still haven't given the game a title. I really like the score that comes up when you get a line, and it was quite easy to put in!
Some things to notice:
- Changed colors and tiles to make the game playable.
- Press the A button at the title screen to start with a screen full of blocks
- All the side numbers in the main game are put up by the function displaynumber()
- The little score is controlled by the variables show_score_*
- show_score_t is timer
- show_score_x and show_score_y are where on the screen the score goes
- The little score uses sprites 0-3
- The outline of the play area moving is controlled by area_box_timer and area_box_counter
- What the hell do you call that thing on the side of the board anyway ???
- All the tiles are kept in the tiles directory (except for font.c oops). I generally have:
- A main directory
- An old source directory, where I keep a copy of the game from every week or so. It is good is you try something out and it turns to shit to be able to go back to a previous version
- A pictures directory, to store all the artwork from the game
- A tiles directory, to store the .c and .h files of all my pictures and sprites and backgrounds
- A documentation directory, where I keep notes about the source, and a things to do list and other project documents
- Added some funky ass sounds. These are created in the functions sound_click() and sound_pop(), for reasons I won't go into.
Also if you want to tweak gameplay a bit here are some good variable to change in the init_board() function. I will have a menu to a few styles of play eventually
- shownext, if this is set to NO then you don't see the next piece. You also get more points
- start_speed, max_speed and reset_speed. The game starts at 1, gets faster until it reaches another, the resets back to the last one
- The speed is increased by the magic number 10, used somewhere in the drop.c file - oops :-)
- lines_per_level is how many lines the player has to get before the speed changes
- length is the initial length the lines have to be before they disappear (lenght is 2 less then the length the line have to be, for reasons I can't remember)
- That is about it.
- There are some other things you could do, but I have to leave something till next time
I decided to port one of the PC games that I made to the gameboy during a long weekend. This is the result of 4 hours of hacking away at the PC code.
Some things to notice:
- Minimum tiles used in the game - only my basic font set
- The colors look ok on no$gmb, but completely gack on a real gameboy - Always test on a real machine
- Pretty basic, but not bad for half a days work
people have been tricked into coming here