Month: June 2008


You wait for a day to come for so long…and now that it’s here, you just don’t know what to say.

Dawn of the Company of War Heroes

Okay, yeah. Way behind the curve on this one. Terribly, stupidly behind the curve. But I’m not going to let that stop me.

The most recent darling of the real-time strategy game genre is Relic Entertainment, a Vancouver-based company that got off to a darn good start with Homeworld, gained a lot of publicity with Warhammer 40,000: Dawn of War, and finally struck pure, molten platinum with Company of Heroes.

But other than trying the Homeworld and Homeworld 2 demos back in The Day(TM), I’d never played any of their games.

So I was poking around Steam the other night and saw that Steam has some of Relic’s games, and they all have demos. Figured I’d give Dawn of War and Company of Heroes a shot and see what the fuss was about.

I loved Dawn of War.

I hated Company of Heroes.

Dawn of War is a superbly designed game, taking the base-building elements of Age of Empires, the resource gathering of Total Annihilation and the character of Warcraft III and blending them into a delicate tasting fruit smoothie.

Company of Heroes comes along and adds lots of crunchy, chewy bacon bits.

The thing I adored most about Dawn of War was that most of the decisions made took the emphasis off micromanagement. You don’t have to set up an ant line to collect resources; you get them automatically based on how many control points you own. You do have to manually build your buildings, but you can easily queue all that up and forget about it. And you can reinforce in the field.

Let me explain. Every time you create a “unit” of Space Marines (for instance), you actually get a squad of four. Clicking this squad reveals that you can add units to the squad wherever the squad is – no more making more units and then having to run them up to the battle. As long as one member of the squad is alive, you can create more wherever the squad is.

The end result of all these changes makes a game where it’s not nearly as necessary to micro. You don’t have to manually target your unit’s special weapons, nor are you constantly having to zoom back to your base to either defend your ant line or make new troops. My favorite tactic was to have one squad equipped with grenades and another with Storm Bolters. The grenadiers would knock the enemy squad down and the Bolters would make short work of them as they tried to get back up. It was pretty damn wonderful.

So how did Relic cock this system up with Company of Heroes? Simple, by adding back just as much micromanagement as they originally took out – they just added different micromanagement. You still don’t have an ant line and you still can reinforce in the field, but now each type of unit has at least one special ability that must be manually selected and manually targeted. Squads can come under fire and be suppressed or pinned. Control points you take must now be contiguous or they are considered “out of supply” and you get no benefit from them. And of course they had to add another resource to worry about – fuel.

The final straw for me was when I was directed during a tutorial to manually drive my tanks around so I could hit the enemy tanks in their weak rear armor.

I so hope that Dawn of War II is actually going to be Dawn of War II and not Company of Heroes in the Warhammer: 40,000 universe.

Internet-Enabled Chilluns

My son David and my daughter Jewel were playing hide-and-seek. During the course of those events I heard Jewel say, “Do you see David? Click on him if you do!”

It is possible I am letting them play on the computer too much.

Name That Game 49!

Oooh, one away from 50! The suspense is killing me…I hope it lasts!

In honor of the Spore Creature Creator (which I am still swooning over…when I can pry my children away from it) I present a much earlier game that also featured custom creature creation. Unfortunately, this game wasn’t well-received, at least partially because it was difficult to play – not only did it require your typical RTS base-building and unit herding, but you also had to build your creatures to successfully counter your enemy.

Name and developer, please! If you are correct, I’ll spare you when my army of genetically-enhanced super-mutants swarms the entire world!

The Obligatory Spore Creature Creator Post

The Spore Creature Creator. Is it awesome? Of course it is. Why?

Well, for starters, I don’t think I’ve ever seen an easier-to-use piece of software. How easy is it?

My daughter Jewel made that. She’s three years old.

The other thing that struck me is that the creator has all the functionality promised by Will in his original presentation video. While other developers have been cutting features, resulting in software that looks nothing like their original presentations, Will and his team have been working hard to not only implement everything but even add features.

And if you’ve never watched that video, I strongly suggest you set aside an hour and do so. Here, I’ll embed it to make it easier for you!

Planitia Update 29: Planitia Beta .74 Available For Download!

You can download it here.

What’s new?

* The following god powers have new functionality (but may be missing graphical effects): Healing Rain, Lightning Storm, Meteor, Golem.

* I have changed to the new animated sprites for all the walkers. Tell me what you think.

* You can now only add units to your army when your general is near one of your own villages. This fixes the problem of the AI sitting inside your village pumping out units in a continuous stream.

* Speaking of the AI, it has not been upgraded to deal with the new god powers yet, so beating it is now trivially easy.

* And finally new terrain manipulation system! This is what I’m really wanting feedback on, you guys.

Here’s how it works. The “Flatten” button is now gone from the UI. That’s because the cursor is now always in “Manipulate Terrain” mode unless you specifically choose another spell. You can tell when you’re in Terrain mode because the cursor will be white.

While in Terrain mode, you can left-click and hold to raise the terrain. You can right-click and hold to lower the terrain. And you can click both buttons at once to flatten the terrain. The terrain will be flattened to the height of the tile you originally clicked in.

What I’m looking for is feedback on how easy it is to use the new system and whether or not these expanded controls actually add anything to the game.

Please download, play and leave feedback! Thanks.

Congratulations to Jari Komppa!

After four long years, Jari’s final college project passed (kind of a given when it’s a complete logic simulation that has been featured in multiple magazines). He has been given his Bachelor’s of Engineering certificate and booted out the door. Congratulations, Jari! Maybe now you’ll be able to find a real job, instead of the crappy place you work now.

Name That Game 48!

This one is fascinating. I’d never heard of it until I read a recent article about the history of open-world gaming. This game was released in 1989 for the Amiga, Atari ST and the PC. It featured an open world with over thirty vehicles to use. Unfortunately most of the vehicles were difficult to use and it was also difficult to figure out exactly what you needed to do to win.

Name and developer, please!

Powermonger Map File Format

This post is mostly for Arkiruthis/Mrthingy, but if the rest of you want to read it, feel free!

All of the map data for Powermonger is contained in the MAPDATA.DAT file. This file is 65,268 bytes long and contains 196 Powermonger maps. It’s broken down into:

* One header that is 196 bytes long. It’s possible this header was going to flag certain maps as being certain types, but since all of the entries are zeroes it probably wasn’t used.

* One hundred and ninety-six map files that are each 332 bytes long.

While I have not figured out everything each byte in a map file represents, I’ve figured out a lot. Here’s the map file for the third level (I picked this one because it’s more interesting than the first two). I’ve grouped the bytes into groups of four because…well, you’ll see.

First off, here’s a cleaned-up version of how the minimap for the third level looks:

The first 40 lines (160 bytes) contain data I haven’t identified yet, but I can say that most of these lines are exactly the same in all files.

   0    10   0  32
   0   250   0   0
   0    10   0  15
   0     7   0   2
   0     0   0   0
   0     0   0   0
   0     0   0   0
   0     0   0   0
   0    21   0  48
   0   250   0   4
   0    10   0  20
   0     7   0   2
   0     0   0   0
   0     6   0   0
   0     0   0   0
   0     0   0   0
   0    15   0  32
   0   250   0   8
   0    10   0  20
   0     7   0   2
   3     0 208   0
   0     0   0   0
   0     0   0   0
   0     0   0   0
   0    10   0  32
   1    14   0   1
   0    10   0  15
   0     7   0   2
   3   212   0   0
   0     0   0   0
   0     0   0   0
   0     0   0   0
   0    10   0  32
   1    24   0   2
   0    10   0  10
   0     7   0   2
   0     0   0   0
   0     0   0   0
   0     0   0   0
   0     0   0   0

Now things get interesting. The first three bytes of line 41 contain the values that are passed into the terrain generation algorithm. Altering them alters the terrain of the map. The last byte is apparently passed into the forest-creating algorithm, since changing it changes the forests without changing the underlying terrain.

   2    97  18   0

The first byte on line 42 (in this case, 0) is also apparently fed into the forest algorithm.

The second byte on line 42 (in this case, 6) appears to set the upper Z limit – raising and lowering this value makes the terrain hillier or flatter without altering the shape of the terrain on the map.

The fourth byte (32) is an X-coordinate offset. It won’t change the shape of the terrain, but it will move the entire terrain mass left or right on the map. The terrain mass will wrap around if necessary.

   0     6   0  32

The second byte on line 43 (48) is, you guessed it, the Y offset. It will move the entire terrain mass up or down on the map, wrapping around as necessary.

The fourth byte on line 43 (3) is apparently a terrain smoothing factor. Setting this value low causes the terrain to get very jagged; setting it high causes the terrain to smooth out until there’s nothing left.

   0    48   0   3

Now we can FINALLY stop guessing, because from line 44 until the end of the file, each four-byte group encodes one “object” that is dropped on top of the terrain after generation. The four bytes represent the X-coordinate, Y-coordinate, team of the object and finally the object type. The X and Y coordinates correspond perfectly to what pixel that object is in on the minimap (which is why I was able to figure these out).

The player’s team is team 1; all higher numbers refer to computer-controlled teams. Unfortunately I do not know what all the codes mean yet because I haven’t been able to access maps that use those objects. Here are the object codes I do know:

1 – Road Endpoint
2 – Tiny Village
3 – Medium Village
5 – Large Village
16 – Tower
17 – Road Segment

You will always see a “1 16” pair (a tower belonging to Player 1) in the list. This designates where the player starts.

  52    24   1  16  - Tower belonging to Team 1 at 52, 24
  14    65   2  16  - Tower belonging to Team 2 at 14, 65
  17    41   3   3  - Medium village belonging to Team 3 at 17, 41
  41    66   3   3  - Medium village belonging to Team 3 at 41, 66
  44    99   2   5  - Large village belonging to Team 2 at 44, 99
  35    78   3   3  - Medium village belonging to Team 3 at 35, 78
  54    77   3   3  - Medium village belonging to Team 3 at 54, 77
   8    77   3   3  - Medium village belonging to Team 3 at 8, 77
  41    66   1  17  - Road segment belonging to Team 1
  54    77   1  17  - Road segment belonging to Team 1
  55    91   1  17  - Road segment belonging to Team 1
  44    95   1  17  - Road segment belonging to Team 1
  37    90   1  17  - Road segment belonging to Team 1
  35    78   1   1  - Road segment belonging to Team 1
  35    85   1  17  - Road segment belonging to Team 1
  26    94   1  17  - Road segment belonging to Team 1
  22    94   1  17  - Road segment belonging to Team 1
  19    86   1  17  - Road segment belonging to Team 1
  16    75   1  17  - Road segment belonging to Team 1
  11    72   1  17  - Road segment belonging to Team 1
   8    77   1   1  - Road segment belonging to Team 1
  48    40   3   3  - Medium village belonging to Team 3 at 48, 40
  26    52   3   3  - Medium village belonging to Team 3 at 26, 52
   0     0   0   0
   0     0   0   0
   0     0   0   0
   0     0   0   0
   0     0   0   0
   0     0   0   0
   0     0   0   0
   0     0   0   0
   0     0   0   0
   0     0   0   0
   0     0   0   0
   0     0   0   0
   0     0   0   0
   0     0   0   0
   0     0   0   0
   0     0   0   0
   0     0   0   0


Yes, the road segments belong to team 1 (the players’ team). I’m not sure why.

You can easily beat any Powermonger map by finding the data for that map in MAPDATA.DAT and changing all the villages to belong to team 1. Next time you load that map you’ll be instantly declared the winner.

When the terrain generator drops these objects on the map, it creates terrain underneath them if there isn’t already some.

And finally, here is the source for the program that can scan the original MAPDATA.DAT and split out the map files.

And now as a special bonus! These are some notes I took about how the village simulation in Powermonger works. They are kind of rough, so I present them as-is 🙂

Notes on Powermonger:

Powermonger allows the two triangles in a cell to be different terrain types. Thus, you can have half be beach and the other water, half be farmland and the other mountain, etc.

Speaking of farmland, it’s not marked on the map, but all the clear, flat tiles (or half-tiles) around a village is considered farmland.

By the same token, all the water that is at least one square from a beach is considered “fishable”.

While there are only two official “jobs” (farmer and fisher) there appear to be five things a walker can do in Powermonger:

Gather food from a farm (this REQUIRES the job “Farmer”).

Gather food from the ocean (this REQUIRES the job “Fisher”).

Gather wood (no specific job required).

Bring a sheep back to the village center (no specific job required).

Defend themselves when attacked (no specific job required).

(Units also make things, but since that is all handled internally there is absolutely no way to tell what unit made what and why or how they chose to make that particular thing.)

Farming and fishing cannot happen during the winter. Walkers usually gather wood or make things in the winter. If a walker has no supported job, he simply stands in the center of the town.

Hard to tell how often units “eat”, but it appears they consume 2 food every time they do.

When walkers encounter sheep (which is pretty random, since the sheep walk around randomly and the walker must get near the sheep in the course of doing another job), they bring the sheep back to the center of town. It APPEARS that as long as the sheep is near the center of town, the village gets a constant low food income. But the sheep will continue to wander off, and thus will have to be brought back again.

Towns cannot die off. Ever. If you take all the walkers from a village and the last walker is about to starve, then five men from your army will leave your army, become walkers, and rejoin the village.

Name That Game 47!

This game was an unusual departure for the company that made it.

While both the art style and overal concept had promise, the game was simply way too complex to play without a strategy guide, and suffered from the fact that…well, there was no way to “win” the game, although there were several ways you could lose.

Name and developer, please! If you win, I’ll give you a pony. (Note: Pony not included.)