ffLogo
line
Home New Work Old Work Diary Download Admin
[Pic] Panic Dizzy for the PC
Finished
23/11/2005 Reported By : RetroCoder
Click on me Well, after loads of hard work, Panic Dizzy for the PC is finished or at least the competition version is. Before I release it form this site I will enhance it by improving the graphics and adding a high score table. Shown below are some screenshots so you can see that I've not been making it all up. I had a few last minute hitches which were easily fixed by adding some properties to a "machine" class. I need to create as object to hold the sound information. Its sort of floating in the wrong place at the moment but doesn't effect the game. It was a matter of prioritising the different game elements and improving the graphics won over structured OO code. I can now get back to finishing Iron Sphere before starting on my next "mega" project for next year.
Click on me

End of week 4
15/11/2005 Reported By : RetroCoder
Week 4 With just over a week to go there has been a lot of ups and downs. Just when I thought I had killed all the bugs a nasty evil one appeared. The more I think about it I think its always been there. I set the image of the falling shape by creating a shape object and passing it a value 0, 1, 2 or 3. My lookup list was getting screwed and coming up with number greater than 3. This meant that the shape was invisible ! Its only when I added the explosion to the shape that it became visible. I tried loads of different tests but I still couldn't work out why the numbers were being corrupted. In the end I scrapped the stored settings idea and replaced it with an "on-the-fly" calculation. I just store one set of values that provides the "look ahead" feature. I've not seen any impact on speed, in fact, the game gets a bit hectic at times. If I had more time I would have liked to have added extra animation and improved the graphics. I will continue to develop the game after it has been entered into the competition. Once I'm happy with it I will make a copy available from the download section along with the Delphi source. Just a few more days left to test.

End of week 3
08/11/2005 Reported By : RetroCoder
Week 3 I have had no luck with finding someone to help me with the graphics so I've had to find time to work on them myself. I've kept the chunky pixel look to maintain the retro feel to the game. My main task was to fix the problems associated with the ZX Spectrum's blocks of colour. Its one of those jobs that you could spend days on but time is a luxury I do not have. Just as I thought I was doing well a bug or two crept in. By separating everything in to separate classes I anticipated that fixing the bug would be easy. I eventually traced it to memory allocation problem. I now have all the graphics and classes to finish the game so I should have a reasonable amount of time to tweak the playability.

End of week 2
02/11/2005 Reported By : RetroCoder
Week 2 At long last, most of the game logic is in place now. Hopefully by the end of the day everything should go up, down, left and right as expected. I have spent a few hours modifying my code and moving the sprite images out of the game engine and into a separate class. This allows me to cache the images and not hit the hard drive every time a new game is started. This method enables me to destroy and recreate many elements of the game structure quickly. Previously I was going to have to look at reinitialising my objects to get them back to the required state. Now I can destroy them and create them without the overhead of repeated disk access. This also gives me a single class that holds the image surfaces reducing the likelihood of memory leaks and pointer related problems. I did have a function that decided what shapes should be dropped and when. This was called at regular intervals at runtime. I have now decided to create a list of all the objects that will be dropped during a level. There are a finite amount of items that are reached by missing all of them or by slotting them in the correct positions. It is much easier and quicker to pull a record from a TList and create the appropriate objects. This also allows for a "look ahead" so that the user can be informed what shape is coming next. The list only takes up a few hundred bytes so I think its memory well used. It's this list creation function that I will be looking at over the next few days. It needs to create the list based on the level the the user has selected. The number of levels may be restricted for this competition entry depending on the available time. I will finish the game properly before releasing a full version and code.

End of week 1
26/10/2005 Reported By : RetroCoder
Week 1 The more observant amongst you may have realised that the game I'm writing is based on an old "Dizzy" one. My game will be a remake of the ZX Spectrum version of "Panic Dizzy". As the competition only lasts for a month I wanted to remake a game that I was confident I could finish in the given time. After a few days of planning I quickly designed the classes that I would need. There are three main classes, the game engine, the sprite engine and the media engine. The media engine handles the main screen creation and the sound. The sprite engine knows how to blit a list of sprites onto a given surface. It handles the delays between screen updates and can call overridden methods on each sprite. The game engine handles the creation of the sprites, reads the keyboard and implements the game logic. I have created a generic sprite base class that my individual sprites derive from. The conveyor belt sprite is is able to create a single conveyor belt made up of individual sprites. The way these sprites are arranged is activated by a single public method call to the object - CreateLevelConveyor (iLevel : integer). The image can then be scrolled left and right by calling ScrollRight or ScrollLeft on the object. By encapsulating this functionality into objects it makes coding and debugging so much easier. Once I have completed the game I will make available the source code. I use Delphi 7 to write my code and use the SDL.dll and Bass.dll for the graphics and sound. Over the next week I hope to finish creating all the sprite classes and start implementing the game logic.

Start of the Retro Remakes competition
18/10/2005 Reported By : RetroCoder
Day 1 The Retro Remakes competition has started. I'll be spending the next few days drawing and planning. Watch this space for weekly updates.

map