Giddy's 48H Game Log

ludum daregame jamjavaopengl

This is my progress report for the 3rd LudumDare 48-Hour Game Programming Competition. The theme is "Infection: make a game involving the spread of something".

The Newcastle Chicken Slaughter

A chicken farm has been infected with the Newcastle disease. You must destroy all the chickens before they spread the disease to the neighbour farms.

Try it now

You can download Java from www.java.com.


Work log

NB: All timestamps are in local Danish time (GMT+1)


19/Apr/2004 - 03:00: Uploaded

Wooho. The game is finished. Now I just have to create a readme file and upload it to Ludumdare.


19/Apr/2004 - 01:00: Game complete

Wooho. The game is finished. Now I just have to create a readme file and upload it to Ludumdare.


18/Apr/2004 - 22:00: Map

Decided to do a map mode instead of radar. Now the player can see the complete playing field from a birdseye view by pressing M.

Now I will implement the winning and loosing conditions. The player wins by destroying all chickens, hens and eggs. The player looses if a chicken or hen manages to leave the safezone, or if the number of hens gets too high.


18/Apr/2004 - 21:30: The end is near

I have improved the collision detection and tweaked the various game constants (number of second between a chicken lays an egg etc).

It is nice to have something that is starting to look like a game.

I have decided to submit my entry no later than 24:00 (GMT+1), so that gives me a bit over two hours to create a title screen, winning and loosing conditions and a scoreboard. If time permits, I will also add a chicken radar.


18/Apr/2004 - 18:56: Shaping the level

I have changed the ground texture to grass, and added obstacles to the level. The camera follows the player. Now its time to create a hud display with chicken-radar, scoreboard and other info


18/Apr/2004 - 17:20: Collision detection

Now the chickens and hens die when they are hit by bullets, and the eggs are destroyed when you walk on them.


18/Apr/2004 - 16:10: Bullets

Added bullets. Each time the player shoots his gun heats up, and it cannot fire again before it has cooled down. Current settings allows three simultaneous shots. I must resist the temptation to tweak game parameters before everything else is in place.


18/Apr/2004 - 15:43: A game is forming

I changed the camera position and added a player character that can be controlled with the keyboard. The player is the the buttugly cyan thingy.

The player character


18/Apr/2004 - 14:28: Back from sleep

Holy cow. My game is far from complete - you cannot even call it a game yet. I have decided to upload it, so you can try it out. When you get bored looking at the chickens, you can press ESC or close the window.


18/Apr/2004 - 04:40: Chickens are spawning

Time is running too fast. I have created a basic chicken spawner. It manages the lifecycle from egg to chicken to egg-laying hen. Now I have to create the user-controllable character that must kill the chickens.

Chickens are spawning


18/Apr/2004 - 00:40: Coding

Oh oh day 2 has arrived. I have been tweaking and testing under Windows XP and MacOS X. Seems like the basics are in place. I need to refactor the code and create a prioritized todo-list. I must have the first playable version ready within 8 hours.


17/Apr/2004 - 22:00: Monsters created

I have modeled the 'monsters' for my game. Egg, chicken and hen. They still need textures, but that will have to wait. Now it is time to code... Monster models (egg, chicken, hen)


17/Apr/2004 - 20:55: I have an idea!

My game will be called Doctor Rockfeet and the Chicken Invasion. It is an action-maze-game, where you control Dr. Rockfeet who has to get rid of the chickens that are spreading through the hallways of his laboratory.

This is how the chicken spread: First the chicken is tiny, yellow and harmless. It just wanders randomly about. Then it becomes a hen and it starts to lay eggs in the halls. It is very protective, so it will attack you if you approach the eggs. After a while the eggs will hatch and new chickens emerge. Its an invasion!!!


17/Apr/2004 - 19:45: Model loader

Wuhu. I can now load and display a static rendered mesh. If I had taken the pure 2D approach, I could have saved these five hours work and used them on gameplay instead. But I really hope that the eye-candy-effect of 3D models will add some quality to my entry. Here is an "in-game" screenshot:

A static textured mesh in the game

Now it is time for a coding break. I have to get something to eat. I have also just realized that I have no real idea about what my game is going to be about, so I have to spend a couple of hours thinking.


17/Apr/2004 - 17:40: Model format parser

Phew, this was a tough one. My original plan was to create an OpenGL based sprite system, but I couldn't resist the temptation to go full 3D. I have written an extremely simple parser that can extract a PolH chunk from a Caligari GameSpace .COB file. This gives me the vertices, faces and uv coordinates. I will have to do do the material and generate normals in code.

I created a simple mesh to test my parser. It looks like it works. Next step is to create the renderer, so I can see my mesh inside the game.

Here is a picture of the mesh inside the modeler (gameSpace)


17/Apr/2004 - 15:00: OpenGL and deployment

Sweet. I have OpenGL up and running, and I have created a WebStart-page for publishing, so users can install and run it easily. Tested on Windows XP and Mac OSX.


17/Apr/2004 - 13:00: Back from sleep

I wasted a couple of hours getting LWJGL to run on the mac, so I am going to use JOGL instead. I know that works :-)


17/Apr/2004 - 03:00: Theme announced

The theme is "Infection: Make a game involving the spread of something. A virus, coffee shops, etc...".

I will develop my entry using Java and LWJGL, and deploy it using Java Webstart.


16/Apr/2004 - 22:50: Art compo

In the waiting hours before a theme was announced, we had a little 10 minute art competition. The theme was "pizza bees". Here is my entry.