Month: April 2007

Name That Game 20!

I have noticed that I tend to present screenshots from around the 1996-1997 era of PC gaming, and this one is no exception. I played this game and enjoyed it but I think what I enjoyed were the production values. The game had an excellent intro and good voice work but the actual game itself was hard. I never got anywhere near finishing it.

Hmmm...Eye of the Beholder, maybe?

Name and developer, please!


Coming to Grips

All my games have been…”re-imaginings”, if you will, of games I’ve enjoyed in the past. The problem I had with Planitia is that it’s going to be so obvious that I’m drawing my inspiration directly from Populous II. But I just need to come to grips with the fact that I am not a brilliant designer, and the games I want to make tend to be similar to games I’ve played in the past and enjoyed but can no longer really enjoy, for one reason or another.

The interfaces for the early Ultimas frankly sucked, and getting them to run nowadays is a pain. I tried to fix that with Inaria.

Populous II had some problems with both its interface and how the player progressed through the game, and getting it to run nowadays is a pain. I’m trying to fix that with Planitia.

Ultima VII was a 3D game presented from a 2D standpoint, which created some design problems. Its inventory system was one of the worst I’ve ever seen and its combat was mediocre at best. And getting it to run nowadays…you see where I’m going. I’m going to try to fix all that with 3D RPG That Really Needs a Name.

And after that it’ll probably be an action game of some kind.


Son of Planitia Design Pass!

It looks like Planitia is going to end up playing a lot like Populous II.

Now, this is both a good and bad thing. It’s good because Populous II still rocks. It does pretty much everything I want Planitia to do. Finishing a map of Populous II takes about 15-30 minutes. You’ll be slinging god powers within the first five minutes of play and play is very interactive – there are no long stretches where you’re just waiting for something to happen (unless you want to win by casting Armageddon, which takes a lot of mana).

It’s bad because I didn’t want Planitia to feel like a direct ripoff of an existing game. The problem is that if I allow the user to raise, lower and flatten land as part of the game, that instantly makes Planitia a Populous clone because there are no other games that have the user raise, lower and flatten land as part of the game experience.

(Yes, the Sims and Simcity games have features where you raise and lower terrain, but that’s much more like using an editor than playing an actual game. And yes, there are games with deformable terrain, but you don’t have full control over it and typically can only destroy it like in the Worms games.)

So if my basic gameplay is raising and lowering land so that your people spread out faster and give you more mana and then using that mana to throw god powers on the enemy to mess him up…that’s Populous, end of story. And that’s what I want for Planitia. I guess I just need to come to grips with the fact that the game will effectively be a Populous…derivative.

Now, Planitia won’t be identical, of course. A heightfield means that I can actually implement some of the Populous god powers better than the Bullfrog guys could do back in The Day(tm). And I can also add some new god powers (like the meteor that I want so very very badly).

But I think the real way I’m going to be different is how I handle combat units. In Populous you turned walkers into knights and the knights would run off and automatically kill your enemies. I think turning a walker into a warrior, barbarian or archer in Planitia will cause them to come under your direct control. You will be simultaneously handling ground combat and god powers. Walkers that you turn into fighting units will no longer produce mana for you, so you have to be careful not to impact your mana generation too much by making too many fighters (since you do have a population cap). I’m also thinking about making it possible to spend mana to improve both how your walkers and your fighters work. You can spend mana to increase the amount of mana all your walkers generate, or spend mana to increase how quickly they create new walkers. You can also spend mana to upgrade your warriors, barbarians and archers. All of these upgrades will require very large amounts of mana – your max or close to it. Thus, you will be vulnerable after upgrading until it repleneshes.

Thus, you’ll have simple traditional RTS combat with earth-shattering god powers on top. Sort of like Age of Mythology…I always felt it hurt that game that you could only use god powers once (and notice that they changed that with the expansion, adding a bunch of lower-powered god powers that could be used multiple times).

I also intend to fix the most egregious problem I think Populous II had.

There were six “schools” of god powers in Populous II: Human, Nature, Earth, Fire, Air and Water. As you beat worlds in Populous II you’d get experience which you could apply to whatever school of god powers you wished.

That sounds good, but each of the thousand (!) worlds in Populous II put severe limits on which god powers you could use in that world. Before the game started it would show you which powers you could use and which you couldn’t, and if you’d spent all your experience to improve a school of powers that was banned on this world, then you had a serious problem. Thus, the smart thing was to improve all schools equally, ensuring you’d never excel at any of them. (Unless you found a cheat code that instantly made you perfect in all schools, of course.)

I like the idea of buying new god powers (or making existing ones more powerful) between worlds, so that stays. And in Planitia you will always be able to use whatever powers you’ve bought. Hmmm…schools of magic that have dominance/weakness mechanics sounds interesting, and could make it so that you might have a problem if you have specialized in a school that is weak against the school your opponent god is strong in, but that’s not nearly as bad as getting your best school banned outright like in Populous II.

Jeez, I don’t have much time left for this. I need to get busy.


Populous: The Beginning

This is another game I recently dug up and played as research for Planitia.

Now, when it first came out I actively hated it, but as I’ve played it more it’s grown on me.

That’s not to say that it doesn’t have its share of problems.

For starters, I actively hate hate hate the title, especially since it supplanted the clever, original title which was “Populous: The Third Coming”.

And then there’s the fact that Populous: The Beginning isn’t a Populous game. Not by a long shot. In Populous you play a god. In P:TB you play a shaman who wishes to become a god and can only do so by destroying all the other shaman god-candidates that stand in her way. P:TB’s gameplay is much closer to a traditional real-time strategy game than to a Populous game. In fact, the game it most closely resembles is not Populous, but Sacrifice.

P:TB’s gameplay seems to be simultaneously too slow and too fast. It takes forever to build your base and expand your population. On the other hand, combat is completely frenetic and is hampered by both UI issues and targeting issues. Nothing is more annoying than needing to kill a priest right now but not being able to because he’s surrounded by his warriors and thus you can’t properly target him with your Blast spell.

And as if that weren’t bad enough there are other control issues. Half the time when I try to drag a box around a group of units it doesn’t work. Why? Well, look at this screenshot:

Populous: The Beginning

See that sky? Looks nice, doesn’t it? But if you click a little too high and start your box in the sky area of the screen rather than the ground area of the screen, your selection box won’t draw and you won’t select anything.

So what does clicking on the sky do? Why, nothing, of course. P:TB borked itself from a playability standpoint solely so that the player can look at the sky, meriting a place alongside Ultima IX and Sacrifice in a category I call “What Price SKY? DUN-DUN-DUN!

In the end, P:TB is not the terrible game I thought it was when I first played it but it’s certainly not great either. It’s certainly not worthy of the Populous name and I was unable to draw any inspiration from it.


Mighty Acorns

The screenshot I presented yesterday was a visual representation of the galaxy map of the original Elite. I generated it myself from the game data.

The Classic Elite Galaxy.

So why wasn’t such a map actually available inside the game itself? Surely providing such a map would have been very helpful to the player.

The answer is because in order to draw such a map and make it interactive, you would have to have the entire dataset for the galaxy in memory at once, and Elite couldn’t do that.

The designers of Elite, Ian Bell and David Braben, had a problem. The machines they were designing Elite for had at most 16k of RAM. One of the premises of Elite was that you were exploring a large section of the galaxy, one 256×256 units in area. This galactic sector had 256 star systems in it. Each star system would have data for its own unique name, tech level, economic level, government type, population level, productivity level, price for each trade good, and even a couple lines of text describing the most interesting aspects of the system. Each star system required four 16-bit values for this data. Thus, storing the entire galactic map would have required 2048 bytes of data – 2k, or 1/8 the amount of total space usable by the game. And when you’ve also got ship data to store and a 3D engine to run that’s just not good enough.

But Bell and Braben didn’t need access to the entire galactic data set at once. They typically only needed the data for the current star system the player was visiting.

Realizing this allowed them to solve the problem through the use of procedurally generated content. They started with three sixteen-bit numbers, which could range from 0 to 65535. These were called seed0, seed1, and seed2, and the values for the original Elite galaxy were 23114, 584 and 46931. These were not generated but were stored in code.

They then created a function called “tweakseed” that would create new numbers based on the existing ones. This function would also push the existing values “up”, getting rid of the oldest one and putting the new one into seed2. Here’s the C version of tweakseed from Bell’s Text Elite sources:

void tweakseed(seedtype *s)
{
    uint16 temp;
    temp = ((*s).w0)+((*s).w1)+((*s).w2); /* 2 byte aritmetic */
    (*s).w0 = (*s).w1;
    (*s).w1 = (*s).w2;
    (*s).w2 = temp;
}

Thus, before the first run of tweakseed, the seeds would have their initial values:

seed1 == 23114
seed2 == 584
seed3 == 46931

Running tweakseed once would generate a new seed, 5093, and the values would then look like this:

seed1 == 584
seed2 == 46931
seed3 == 5093

Since these values were generated by a function, they were predictable. They were random but in a controlled fashion. The game would use four seed values for each planetary system; thus, if the game needed the data for star system 113, it could just run tweakseed 448 times and then use the next four seeds as its data. The data would always be the same; thus, star systems would stay put. “Jumping” to a new star system was simply a matter of clearing out the data for the previous star system and replacing it with the generated data for the star system the player was jumping to.

Thus, these three numbers and this one small function represented an entire galaxy inside Elite. And as as if that weren’t enough, it didn’t just represent one galaxy. By changing the three starting seeds you change the entire galaxy. Since the three starting seeds could range from 0 to 65535 each, this formula could generate 281,474,976,710,656 galaxies. And initially Bell and Braben were going to allow the user to input their own seeds so that each player could play in his own private galaxy. They were overridden by the publisher, who felt that it was a bad idea to emphasize the fact that the galaxies were random. So Bell and Braben chose eight seed sets to represent the eight galaxies of the classic Elite Universe.

Procedurally generated content is all the rage nowadays, but it’s a very old concept. (As is sandbox gameplay, something Elite also pioneered decades before Grand Theft Auto III.) The interesting thing is that nowadays we are looking to generated content for exactly the opposite reason Bell and Braben did. Bell and Braben used generated content in Elite because they didn’t have the space to store their entire dataset at once. We are looking to generated content because we’ve got so much storage space that we can’t possibly hand-create enough content to fill it.


Name That Game 19!

And now I’m just being completely unfair.

Duke Nukem?  Is that you?

How so? Well…because this screenshot never actually appeared in the game in question. That’s right…I’m asking you to name a game from a screenshot that isn’t actually from the game.

But I don’t feel too bad because frankly, I’m pretty sure someone will come up with the name anyway. You guys are crazy like that.

Now…why am I doing this? All will be answered tomorrow.


We Now Return You To Our Regularly Scheduled Website

Okay, ODE’s out. And I’ve already solved two-thirds of the problems I wanted ODE to handle for me with my own code. It’s kind of good that I got familiarity with a physics engine, but in the end that was the wrong path for Planitia.

And I feel a lot better now that I’ve accepted that. I’ve still got 28 days…let’s see what I can do.

Oh, and we will now resume with regular, non-full-of-angst posts. In fact, sometime this week I’m going to bust out with a post I’ve been wanting to do for a long time, but haven’t because it’s a bit effort-intensive.