Planitia Update 11 – God Power Design

EDIT: I have put my “Planitia Tasks” document online and it can now be viewed by anyone at this link. So you guys can actually check on my progress yourselves now!

First off, I’ve done a comparison of the god powers of various games which you can look at here.

Now I’m going to subject you to a bit of stream-of-consciousness about god powers.

God powers fall into two broad groups: those that help your followers and those that hurt the enemy followers.

Another reason I don’t like Black & White – the god powers are anemic. This is because your goal isn’t to destroy the enemy god’s followers, but to convert them to your side. You must convert, because doing so increases the range in which you can use your god powers. I’m not going this route with Planitia…on levels when you are opposed by another god, your job will be to wipe out his followers, not convert them.

Making it so that you can only operate in your own sphere of influence is terrible. It makes the game almost completely defensive. Another thing I hate about Black & White. On the other hand, by default you could only raise/lower land in Populous 1 and 2 near your own settlements, but you could use any other god power anywhere. This is good, I like it.

One thing a lot of people don’t know is that some of the god powers in Populous 2 that “grew” effects across the land did so according to the rules of Conway’s Game of Life, so if you understood how the Game of Life worked (and you should), you could actually set up glider guns that would “shoot” carnivorous fungus into your enemy’s base. That is just too freakin’ awesome.

So here’s what I’m thinking. These are effects, not spells. They will be combined to create spells.

Help:
Land flattener/raiser/lowerer
Land restorer
Temporary unit growth
Create Hero
Don’t want walls; makes games too defensive (walls don’t protect against god powers anyway)
Roads?
Shield?
Inspiration (advances village tech level)

Harm:
Direct damage
AOE direct damage,
Damage over time
Land ruiner
Walker flinger

I’m thinking that I want a fairly low mana cap, but a healthy civilization will give you a fairly fast recharge rate. The big effects will take practically all your mana, thus you won’t be able to cast them more than once every few minutes or so, no matter how much mana you have.

I’m also sort of leaning towards the idea of different types or schools of magic, kind of like Populous 2 with its six different types. I think six is too many, though. Five would be interesting but it would feel too much like Magic: The Gathering. Three, maybe?

Command & Conquer: Tiberium Wars

So the demo for C&C 3 was released today and I tried it out.

First…1.2 gigs for a demo. The equivalent of two CDs for a demo. Just insanity. And I know at least a third of that was taken up by those lovely, lovely high-res movies that they just couldn’t bring themselves to downsample. You know, the ones you’ll watch exactly once and then become dead bits on your hard drive?

So I got it up and running and snickered through the opening FMV (look, guys, when you’ve got Michael Ironside for your game, you are obligated by law to give him cool dialog). But once I got into the game, I was very, very pleasantly surprised.

For one thing, the game ran at full frame rate on my computer, unlike some other games named Supreme Commander that I won’t mention. I didn’t have to tweak nothin’.

And the other thing I didn’t expect was to recognize the buildings and units. The Red Alert series had done all kinds of strange and freaky things with their units (dolphins with guns on their backs, anyone?). Unfortunately that stuff snuck back into the “real” C&C series in C&C: Tiberium Sun. In C&C 2 the units were really esoteric and it was hard figuring out what you should attack with what. I mean, go on…tell me, without looking it up, what units a GDI Disc Thrower unit should be used against.

So I was very surprised when I started the first mission and was presented with an MCV, which deployed into a Construction Yard, which I then used to build a Power Plant, Refinery, and Barracks, which then allowed me to construct Riflemen, Rocket Soldiers and Grenadiers. It all felt very familiar and very welcome. I think at one point I may have said something like, “Oh, baby, I’ve missed you so much”…but I can’t be sure.

After playing through the included demo mission and a skirmish game, it feels to me that C&C 3 is basically C&C 1 remade using the C&C: Generals engine.

And you know what? I could not be happier. There is nothing wrong with just taking an older game, tweaking it a bit, giving it a fresh coat of paint and fixing whatever minor problems it had. Especially when the original game is widely considered one of the best ever.

Reminds me of the middling reviews Dungeon Keeper 2 received. Most reviews said something like, “It’s just Dungeon Keeper 1 in 3D with some fixes and new units, traps, room types and a new campaign.” Um…yeah, that’s what made it one of the best games released that year, idiots!

I mean, jeez, that’s like saying, “They’re just M&Ms, only now they have peanuts in them.”

To sum up, unlike the other game named Supreme Commander that I won’t mention, this demo actually made me want to play this game. And I’m sure I’ll be picking it up…eventually.

Planitia Update 10

Okay. For your edification, I am going to post my current “Things To Do On Planitia” list. I’ve been maintaining this list since I started the project. According to SVN, I created this file on Monday, December 11, 2006, so I guess I can say that’s when I started working on Planitia.

Everything starred is done. Everything not starred is not done.

Tasks to be done on Planitia

*  Create a heightfield.  Texture it with our grass texture.

*  Create a camera object and implement our moving, rotating, zooming camera. Do
*  nothing else until this works.

*  We'll start with billboarded sprites as our objects.  Rip graphics from
*  another game.

*  Make it so units move smoothly across the landscape at any angle.

*  Create the walker unit.

*  Create the archer unit.

*  Create the fighter unit.

*  Create the barbarian (for now) unit.

*  Add combat stats to all units.

*  Fix the weird mipmapping on the units.

*  Add code to ensure that two units can never stop in the same grid square.

*  Fix problems with the picking input and box drawing.

*  Create the arrow unit.

*  Change the unit selection and orders to match a more traditional UI style.  In
*  other words, make it so that right-click gives orders.  Also change it so that
*  left clicking on a new unit dumps the current unit selection.

*  When you don't have a selection, left-clicking on the ground does nothing.
*  Left-clicking on a unit selects it.  Drawing a box with the left mouse button
*  selects all units in that box.

*  When you have a selection, left-clicking on the ground removes your selection.
*  Left-clicking on a unit removes your current selection and selects the unit.
*  Drawing a box with the left mouse button removes your current selection and selects
*  all units in that box.

*  When you don't have a selection, right-clicking on the ground does nothing.
*  Right-clicking on a unit does nothing.  Drawing a box with the right mouse
*  button does nothing.  (Boy, that was easy.)

*  When you have a selection, right-clicking on the ground moves all selected units
*  to that spot on the ground.

*  Right-clicking units not on the current team tells all selected units to attack
*  that unit.

*  Make sure that every time you delete a unit off the stack, you check the entire
*  list to see if anyone has a target to that unit and set them all to NULL.

*  Drawing a box with the right mouse button does nothing.

*  Jigger the numbers on unit creation so that attacks are staggered.

*  Add simple "find Quinn's ass and beat it" AI.

*  Create three teams of units and see what happens when the AI has them fight each other.

*  Moving the mouse to an edge of the screen should scroll the screen in that direction.

*  Get the hit point bars off the arrows.

*  Moving the mousewheel should zoom in/out.

*  Double-left-clicking a unit should dump any current selection and select all units
*  of that type.

*  Unit movement is time-dependent, which is correct, but camera movement is frame
*  dependent, which is wrong.  Fix it.

*  Have the zoom and the pan move faster the farther out you are.

*  Fix the box so that it works in any direction.

*  Add line to the help screen that tells people to exit the game by pressing ESC.

*  Make it so that you can pan, zoom and rotate all at the same time.

*  Add braking to all camera movement so that it doesn't feel so "hard".

Need pop states

NEED STORY STUFF NOW or we run the risk of Planitia having no story elements.

Need a dirt-simple text-based scripting system for story scenes.

*  MOVECAMERATO (location)  (time the move should take in MS)
*  ROTATECAMERATO (angle) (time the rotate should take in MS)
WAIT (time to wait in MS)
*  BARK (location) (text) (time to display in MS)
DROPUNIT (type) (unit) (position)
MOVEUNIT (unit) (position) (time the move should take in MS)
*  BOUNCEUNIT (unit) - Causes unit to "bounce" as if it jumped
TURNUNIT (unit) - Causes the unit to rotate 180 degrees

*  Need parts of a talk bubble that can be put together to form any size talk
*  bubble so that we can print text on it.  Based on script input.

NEED LEVEL INI FILE FORMAT NOW

It should include:

Targa file to use as heightfield data
Location of trees
Location of rocks
Initial location of buildings
Initial location of units
Initial location/rotation of camera
Level goal requirements
Script to run for intro
Script to run for outro

Need god powers.  Start with lightning/meteor as a test.
Need to flesh out design so we can figure out which ones we
want.  Reference Populous 1/2, Powermonger, Age of Mythology,
Black & White.

Need ten playable levels, plus intro outro scripts for each level.

Need skirmish against computer.

Need multiplayer, up to four people (can come after initial release).

Need 3D buildings, trees and rocks.

Want 3D units (may not be necessary but it would be very nice).

Fix terrain picking to use a real ray-plane test (sphere doesn't work that well).

Sort units back to front before rendering.

Do a cleanup pass; the code is getting kind of murky.

At this point it’s really feeling like every single thing I finish adds two more things to the list. But I’m hoping to have the game feature-complete by the end of March so that I can spend all of April creating content for it.

Reasons Why I Can’t Buy Guitar Hero 2 For Myself For My Birthday

1. Daddy, what’s a harlot?

2. Daddy, can I get a tattoo?

3. Daddy, what is “Strutter” really about?

4. Daddy, what’s “Heart-Shaped Box” really about?

5. Daddy, what’s “Cherry Pie” really about?

6. Daddy, what does “FTK” stand for?

7. Daddy, what are suicidal tendencies, and what does it mean to be institutionalized?

8. Daddy, does Zack De La Rocha really mean to suggest that every single time a white cop shoots a black person it’s racially motivated, rather than the cop just doing his job?

Yes, I know, the original Guitar Hero also had songs of questionable moral fiber like “Infected”, “Fat Lip” and “I Wanna Be Sedated”. But GH2’s track list skewed much more mature…and I know if I buy it Megan’s going to want to play it. And yes, I’m in control. I could buy it and tell Megan that she can’t play it and she would abide by that…but I don’t think she’d really understand. It would seem unfair.

So I can’t buy it.

Maybe I’ll be able to buy 80’s Edition, should it ever show up.

Name That Game 17!

Okay, I’m totally rule-breaking with this one. This is not a PC game.

I love adventure games!

I’m going to justify my actions by saying that while this is not a PC game, the developers that made this game went on to make some of the best-selling PC games ever, so this is a valid bit of their history.

Plus, this game rocked. I played it to death back in the Day.

Name and developer, please.

Viridian’s Video Blog – Populous

Oh, and I did a video blog this weekend. I was a busy beaver.

This video blog was inspired by Gamespot’s Game in Sixty Seconds feature, where people try to explain why a game is cool in sixty seconds or less.

Anyone who knows me will tell you that there’s no way I can just talk about a game for sixty seconds.

Limiting myself to ten minutes was hard (stupid YouTube).

But here’s the first in what I hope are a long line of videos that specifically take an older game, explain why it was awesome, show you how it was played, and then talk about how it influenced the development of later games.

Enjoy!

YouTube:

Google Video:Direct Download Link

Planitia Update 9 – WITH DEMO!

My time of copping out is over.

Of course, that doesn’t mean that my time of writing good code has started yet.

In any event, I managed to get the demo together. Odd how it always seems to take one more week than I expect for me to get stuff done.

Screenshot:

Huh.  It looks slightly different.

And here’s the download link. It’s just over a meg.

Planitia Combat Demo One

Please play it! Please comment! Basically I’m looking get the feel of the camera control and the combat very natural – that’s all this is about. If you feel that anything works kind of clunky, please tell me. If something you thought should work didn’t, please tell me. If your machine crashes, please tell me so I can have you send me your log file.

The next update should have some god powers!

Edit: Thanks to whoever voted this entry up on Qatfish.com – this is my highest-ranking entry ever.

Note: If you get a message saying that you are missing “d3dx9_31.dll”, update your DirectX. Yes, even if you have 9.0c. See, there are different versions of 9.0c.

Note: I am aware that moving units off the map crashes the game, but the map is so big that this shouldn’t happen accidentally.

Version .11:

Removed two large unnecessary files from the download package, thus shrinking it from five megs to one meg.

Dinner Unconquerable

I’ve been watching a new show on Food Network called Dinner: Impossible. Every week, a top-tier professional chef (Robert Irvine) is given a nigh-impossible challenge to complete. In the first episode it was merely to create a five-course dinner for a wedding reception of 200 in ten hours, but things have gotten much harder and more bizarre since then.

I’ve thoroughly enjoyed the show. Robert is a pro from Dover (possibly literally, since he’s English) and has never failed a challenge yet.

Now that I’ve watched about five episodes, I’ve noticed that once Robert gets on site and manages to map his current challenge to his formidable previous culinary experience he’s unstoppable. He’ll get into his groove and start barking orders and delicious meals will pretty much appear out of nowhere.

So the producers have ramped up the challenge by throwing him more and more curves on every episode. The most recent challenge had him cooking in a tiny train car with only one of his sous-chefs and the conductor of the train was constantly interrupting him with change orders. Once his food was nearly done, he had to transport it to the dining cars, reheat it and then serve it.

Now, as I was watching the most recent episode, I oddly enough saw a parallel to game AI. Specifically, the episode reminded me of the original Command & Conquer.

The AI for Command & Conquer was pretty weak. It didn’t respond well to feints and was highly predictable; thus it was pretty easy to beat. Of course, in order to beat it you had to get your economy going. You had to build your base, get your Tiberium stream flowing and start cranking out units. So later missions of Command & Conquer rasied the difficulty not by making the AI smarter (the AI is the same in all missions) but by making it more and more difficult to get your base built and get into your groove. One late mission had you landing on a beach with just your mobile construction vehicle. The beach already has emplaced NOD guns so your MCV starts taking damage right away. If you’re quick you can run right and just barely get away from the guns with a sliver of health left on your MCV, which you can then deploy near a Tiberium field. But a damaged MCV deploys into a damaged Construction Yard, so a lucky hit from a passing NOD bike is all that’s necessary to hear EVA say “Your mission is a failure”.

When the Ensemble guys got together to make Age of Empires one of their goals was to create a non-cheating AI that played at several levels of difficulty. For a long time I thought it was kind of foolish to spend so much time on a non-cheating AI when for the most part we players wouldn’t be able to tell the difference. But now I’m convinced they made the right decision.

As for Planitia…well, I think Planitia will be lucky to have any kind of AI.

Planitia Update 8

In which I admit to completely copping out.

I need to get the discrete event simulation working. I feel I understand the concept but it’s not something I’ve ever done before so I am having some trouble figuring out how to approach it.

So I did graphical stuff instead!

Huh.  It looks slightly different.

Made the hitpoint bars smaller and made them green instead of red. Changed the selection marker to a blue circle underneath the units. Went ahead and raised the resolution to 800×600, since that’s what the final game will run at.

Now, one thing that is kind of stopping me is that I need to figure out exactly how units act both when they have explicit orders from the player and when they don’t.

Here’s what I’m thinking. Comments welcome.

The current problem is that you can grab a group of units and give them an attack order and they will dutifully go and kill the unit you clicked on, but then they’ll just stand around even if his buddies are right there. And his buddies will stand around too. Obviously, units need to take the initiative and engage if they have no other orders. But units without explicit orders shouldn’t stray too far from where the player put them.

Thus, when you give units move orders, you are not only moving them, you are setting their anchor point. If units do not have orders, there should be a range within which they will move and engage enemies. Archers should never move, they should simply snipe at anything that comes into range, but warriors and barbarians should probably have a range of about three tiles…if an enemy moves into that range, the warrior or barbarian moves to intercept and attack. If the enemy moves out of that range, the warrior or barbarian breaks off contact and returns to their anchor point.

Now, three tiles is less than the range of archers (eight tiles). Thus, if a unit is attacked by the enemy (rather than simply has an enemy come into its range), it can go as far as it needs to in order to engage that enemy, but once that enemy is dead it returns to its anchor point.

These autonomous attacks happen only if the unit has no standing orders from the player. Thus, if you grab a group of units and tell them to move through a group of enemy units, they will not engage as they are attacked because your move order overrides that.

I think that should be close enough to how a “real” RTS feels. Please feel free to tell me how you think it should work.