Log in

No account? Create an account
New Project - Newton's Theories [entries|archive|friends|userinfo]
David Newton

[ website | My site ]
[ userinfo | livejournal userinfo ]
[ archive | journal archive ]

[Links:| Everything by Me | Clickteam | My Music at FA ]

New Project [Aug. 27th, 2005|09:29 am]
David Newton
The "test room" so far (click to enlarge)
This post is going to be about an MMF project. At first I didn't mean for it to be so involved - in fact it was going to be just a short description, but I got a bit carried away and it's about 750 words now. So if you'd like some sort of advance warning, I'll nominate the third and last paragraphs as being the ones that are the most understandable. Avoid what's in between if possible.

So, after a rather uninspired period, I've started work on another game now. It's not going to be anything like as much of an undertaking as Crystal Towers was, being more of an attempt at doing something different and writing an interesting engine than being a full-length game. A bit like Breakout Invaders before it - in the middle of writing that I realised that having a separate frame for every level would have made the file size prohibitively large, so I got it to read level data in from a text file instead. This file reading (basic though it was) eventually became the main attraction of the game, moreso than the game itself.

I was going to begin this paragraph with "Put simply," but I can't seem to put it very simply, so I'm going to say that the idea I have is basically a combination of Wario Ware and Maze of the Kings (you know, that machine that they have in the dark corner of the Union games room), but as a platform game. That is, each stage is a single screen about getting past a specific obstacle that will last no more than ten seconds or so (Knightmare providing the inspiration for a good few of these, incidentally), and the rooms that you play through are stuck together in a random order from a large library of rooms. At the moment I'm thinking of having three separate "room banks", and the room bank switching every twenty rooms or so, starting off easy and getting gradually harder.

Selection screen (click to enlarge)
The central point of the game is the room selection, which I've been working on to start with. The entire room library is stored externally as a list of numbers, with each number corresponding to a frame in the game (the numbers aren't sequential, so I'm also using an externally stored lookup table to record which number belongs to which frame). To start with, the game takes this rooms list and duplicates it as a "progress list". Before each stage, the game selects a number at random from this list, removes it, and saves it out again, replacing the old progress list so that the new copy is loaded the next time round. In this way, it's ensured that no number is selected twice. That's pretty much as far as I've got - unwisely I've been caught up in making the room numbers display like a slot machine, and presentation really should be the last thing you do, but once the selection engine is done then I'll be able to just churn out rooms at warp speed.

As far as other game mechanics go, the whole thing will be on a timer. This timer was originally going to be the Life Force sequence, but the loading time for an external AVI was very noticeable. I've replaced it with a big clock (which I really like the look of, by the way). A form of replenishment will be available every five rooms or so. To do this and preserve random room order, each room should have a position for the pickup to appear, but it should only actually be created when that room falls in a place where it's needed. Getting hurt in the game will temporarily reduce the timer faster, so that you can keep going but have less chance of getting further.

I'm not sure about how to implement the three separate stages of the game - either I could have three separate room lists (one for each stage) or reserve certain room numbers for certain difficulties. The first of these definitely seems the easier to write, but it might make the amount of external files needed a little untidy.

At the moment the player character is a nameless knight sort of thing with an awful walking animation. Forget about the complexity of the selection engine, I find doing walking animations one of the most difficult parts of making anything. In fact, even the game itself doesn't have a name yet. I'm never very good at naming things - its working title is "Randomly Generated Platform Game", but I'm sure the right name will eventually come to me. After all, "Crystal Towers" was called "Custom Platform Movement Advanced Project" for about half of its development. The motif I'm using is of climbing a tower, so maybe it will be something to do with that.

(Deleted comment)
[User Picture]From: davidn
2005-08-28 07:19 am (UTC)
I'll keep that in mind.
(Reply) (Parent) (Thread)
From: danbodaxter
2005-08-28 12:44 am (UTC)
This sounds really good, given that I love both Wario Ware and platform games. I have a few questions / suggestions for you, feel free to ignore them as required :

1. I don't particularly like the idea of having a form of replenishment every 5 levels, it makes it seem like one mistake will really set you back until you find another item - how about gems in the level that increase the timer by a second or so?

2. What is the plan for custom mapmaking? Will you be creating an external editor, or just leaving people to edit a file manually, or nothing at all?

3. Will there be an end to a game session, or will it just continue indefinately? For example, you could have multiple courses (25 easy levels, 10 hard levels, 5 really hard levels) with things to unlock when you beat each one, or you could just have "Endless Easy", "Endless Hard", etc. I would put both in, but I'm not entirely sure how well this would work given that it's 1:42AM.

4. (cough) please may i have the project file so far? this seems really interesting. (cough)
(Reply) (Thread)
[User Picture]From: davidn
2005-08-28 07:17 am (UTC)
1. This is a valid point, actually, as I've found the same while testing it. I think it's possible to have a balance between punishing a mistake and being forgiving, but that's a decent suggestion as well.

2. I decided that custom mapmaking would be too complex, and am just building all the levels as different frames. I'm just hoping this doesn't eventually make the file too large - it seems that I can get about twenty levels to the MB.

3. I'm not sure yet - I don't even know what to put at the top, if there is one. Unlocking multiple modes is a great suggestion, though.

4. Of course, as you're very polite for a Glaswegian :) I'll email it to you.
(Reply) (Parent) (Thread)