Wednesday 9 January 2008

Major design shakeups

It's now been a full month since we first began Project Penuine (that's Slipslide 2). Still no in-game screenshots to show. However, a lot's been happening, despite the fact that the blog activity may suggest otherwise. The story's now in progress, and without giving too much away I can say it's going to be epic. Dan (the main character) has moved house this time, so the next-door neighbor's dogs are now gone. However, there twenty-five brand new levels full of risks far worse than just dogs. For example, there will now be holes in the ground for Dan to fall through, made possible by a redesigned level system.

Whereas the level loader just used zeroes and ones when the project began, it's now undergoing heavy redesign to allow for many more features. For one thing, the levels no longer have to be rectangular. The new system uses letters instead of numbers, and has removed the need for putting in extra files into each level's folder telling it where the walls are and where the finish is. It can be stored entirely in the layout.slf file, with the only other necessary files being the level's images.

Another thing that's being redesigned is the file system structure - all the game levels are now being put into one folder called "Levels", with sub-folders for each level located inside. Data such as the character images and saved game files are being stored in a folder called "Data". This is mainly to make the game simpler for me to organise, as the number of folders getting a top-level directory before was verging on ludicrous.

Of course, all the redesigning work that's going on at the moment is causing a lot of problems with the test levels. Once the work is finished I'll be going back and converting them all in case they're used in the final game, but at the moment the only one that works is the very first one (which I've been updating in order to use it to test the new system). I also had to fix a major bug this afternoon that meant the character was being drawn at the position (-1, -1). Now although this wouldn't seem too odd using a normal Cartesian co-ordinate system, in computer programming it's generally not a good sign. In Python, "-1" denotes an unspecified value - for example, if you passed this as an object's ID this would make it automatically generate a new ID; or if you supplied it as the number of times to loop a sound, it would continuously loop forever until you killed the program. So it was essentially drawing the character everywhere, anywhere and nowhere all at once. Eventually I found it out to be caused by remains of the old system conflicting with the new one, which was quite easy to fix once I'd narrowed it down.

There are still a lot of things needing added to the new loader (and the character file NEEDS some comments to explain the convoluted coding). Luckily however, we have a new member on the team, which will make it a lot less difficult to get it up and running. Also, the blog just surpassed 100 hits! Now wouldn't it be nice if we actually got a comment or two at some point... ;-)

No comments:

Post a Comment