Just a quick little update this time, as I didn't have much time to work on the game today.
As you may have seen in my past few updates, the Prebuilder is a console app that creates a random layout for a map. Now the layout generation is relatively simple, the generator starts at the extreme bottom of the map area, and then adds rooms and randomly branches off to create "forks in the road". This cycle repeats until the number of rooms requested has been met. The difficult part comes later however, when attributes are added to the rooms in the level. An example of an attribute is if the room has a locked door, or if it is a "trap room" that you have to fight your way out of.
Most of the attributes can be randomly placed in any room on the map without any problems, as they aren't dependent on attributes placed in other rooms. An example of these independent rooms would be a supply room with health, an aformentioned "trap room", etc. All the events in these types of rooms are independent of any outside things.
Thr tricky part comes when you have interconnected attributes, such as locked doors and the keys that unlock them. These rooms are special because they must occur in a certain order (ie. the key must come before the locked door). In order to insure this happens, when the rooms are being created, they are placed in a list that organizes them in order of their creation. That way, when a locked door is randomly placed in the map, the key can be placed in any room that was generated earlier than the door. I implemented this feature last night, and despite a few setbacks, I managed to get the system working consistently.
As you can see in the screeny below, the map generation is coming along really nice, and I'm adding special attributes like a crazy person! You may be able to see some wierd things in this screeny, such as having 2 rooms of the same attribute really close to eachother (look at the two armories right next to eachother at the beginning of the map). Now that the basic functionality is in there, I begin to refine the generation, and hopefully get rid of some of those little oddities.
So yesterday night, I went with my girlfriend and her parents to see a concert with these two guys playing folk and country music (not even close to being my favorite genre). I went not expecting to have much fun, but when I got there I was shocked to discover that one of the musicians was none other than the evil Senator Kinsey from Stargate SG-1 (pretty much the greatest show evar!1!~!). Turns out he's a really nice guy, and can play a mean guitar to boot, so the night was saved from being a total waste[wink]
Doom RPG FTW
Also, yesterday night I was bored on the trip to the concert, so I decided to buy a new cellphone game, and after browsing for a couple minutes, I settled on Doom RPG. Expecting to find a crappy half-ass RPG with a doom storyline, I found an incredibly fun game. It was so addicting, that I ended up playing it for about 2 hours last night after I got home. The controls are good, the graphics kickass (raycasting on a phone!?!), and the dialog with other characters is actually pretty funny, here's an example (its a series of emails you can read)
Major Whatever: Where are those reports I asked for, you were supposed to have them done yesterday!
Sargeant Guy: Sorry, I've been playing this old game I found called DOOM, it like 100 years old, but its so incredibly fun and addicting. Its wierd though, the setting sounds alot like what we've been doing.
Anyways, the moral of the story is to buy Doom RPG, it kicks serious ass for a phone game.
Well, thats all I've got for now, but I'm still working, so I might have another update sometime tonight.