Planitia Update 31: More Multiplayer

I’ve been working on Planitia’s multiplayer for about six weeks now. It has required a pretty major rewrite to the underlying engine as well as near-continual rewrites to how I’m transmitting my data.

But…

The game is now inherently stable. In other words, two computers can connect and run the underlying world simulation and it’ll be exactly the same on both computers – they’ll never get out of sync. Which means that when the game does get out of sync, it’s due to player interaction, which can easily be logged and debugged. Most of the out-of-syncs are being caused by code I wrote months or even years ago that access the system timer manually – you just cannot do that in a multiplayer engine; you must use update timers (in other words, instead of a villager farming for 500 milliseconds, it farms for 15 33-millisecond updates).

I need to scour all the code that performs player actions as well as all my units and make sure nothing is using direct timing calls, but after that…well, the game should stay in sync, at least on a LAN. I’ll also need to clean up the multiplayer startup code so that it’s easier to start a game (right now you have to put the IP of the server into your engine.cfg file) as well as implement the last couple of god powers and then…

And then I’ll be releasing the multiplayer demo. ‘Sright! Of course, this demo will be LAN only – I cannot emphasize this enough. If you play it over the internet and it lags horribly, I hereby revoke your authorization to come crying to me. That’s not to say I won’t fix that eventually – I certainly plan to.

Sigh…once again I can’t post a new screenshot with pretties because that’s not what I’m working on. Indeed, after doing multiplayer coding going back to graphics would seem like a holiday.

Edit: Sol suggested I present a screenshot of two instances of the game running in sync. Great idea!

The End of Ensemble

Ensemble Studios is one of the few companies that if they called me up, I’d go work for them sight unseen, just based on the games they’ve made so far.

And now they are closing.

And they aren’t closing because they aren’t successful. The Age series of real-time strategy games has sold over twenty million copies so far. They are currently working on Halo Wars and it looks like it’ll be a damn fine RTS.

They’re closing because they inhabit a space Microsoft doesn’t care about any more: the PC. Even though Halo Wars will ship on the 360, Microsoft doesn’t consider Ensemble a console developer, like Lionhead or Rare. Another problems is that Ensemble is huge now – over three hundred employees. Microsoft just doesn’t want to pay upkeep on such a large PC studio no matter how many copies future Ensemble games sell; it’s just not part of Microsoft’s strategy.

The result is that Tony Goodman, who was one of the founders of Ensemble, has already founded a new company and sent out invites to some of the current Ensemble employees to join it as soon as Halo Wars ships. We don’t know the new company’s name yet; right now it’s just being called “Newco”. Other people not invited to join Newco may be able to get jobs at other studios in the Microsoft Games family, but I’m sure there will be some people to whom neither are these offers are extended and, well, it sucks to be them.

Now, Newco’s first game will almost certainly be for the PC, and it’ll almost certainly be published by Microsoft. But Microsoft won’t be paying the light bill or the gravity bill at Newco and thus will be insulated from its possible failure. But this is the type of thing you do to a studio that has lost you money, not made you money. Unless there’s something in Ensemble’s financials that I don’t know about, it seems that Microsoft is throwing away money just so they can “consolidate their business plan”. I can’t help but wonder if they would do the same thing if the company involved were Blizzard.

Well, rest in peace, Ensemble. Once I purchase Halo Wars I’ll have bought every single game you ever produced.

Name That Game 54!

A lot of people think that Total Annihilation was the first game to use real 3D terrain in an RTS. They are mistaken; this game beat TA to market by a few months. This is perfectly analogous to the fact that Wing Commander was technically the first movie to use bullet time, not The Matrix.

I never cared for this game much, and it wasn’t because it was bad (it was actually pretty average). I didn’t like it because it was…kind of mean-spirited. Case in point: one side in this game has a vehicle called the Hostage Taker which scoops up enemy infantry, lobotomizes them, straps explosives onto them and lets them go, at which point they wander around mindlessly until they hit something and blow up.

Name and developer, please!

I AM THE MASTER OF UNLOCKING!

Okay, settle in for a long, non-game-development-related story.

So I’ve got this car, see. It’s a 1996 Toyota Camry. And the Toyota Camry has a common flaw – the door handles break off. The handles themselves are made of plastic (yes, even the outside handles) and if the car sits out in the sun for a few years the handles get very brittle.

So about four years ago (when I was working for Gizmondo, in fact) I came outside ready to head home after a hard day’s Battlefield and lo and behold, the handle came right off in my hand. I could still open the door because there was a small tab of plastic connected to the latch, but eventually that broke off too. I was reduced to prying up the latch with my key every time I got into the car.

Then, not long after that, I pulled a little too hard on the inside door handle and…it broke off too.

(Yes, I am secretly The Hulk. Don’t make me angry, you wouldn’t like me yadda yadda.)

So now to get out of the car on the driver’s side, I had to roll down the window and pry up the outside door latch from the inside.

And then…the inside latch on the passenger’s side broke off too (it made me angry). So now I couldn’t really have any passengers because I’d have to get out to let them out.

And this was the status quo of my car for a long time. The door latches were annoying, but not so annoying that I was willing to pay $400 a door to get them fixed.

So I just put up with it.

Until my car got broken into.

The thief was attracted by the wire running from my in-dash cassette player to the small storage space between the driver’s and passenger’s seats. He smashed out the small triangular rear window and opened the back passenger door, then opened the front passenger door, got inside and closed the door.

He opened the storage compartment to find a cheap $25 CD Walkman instead of the expensive iPod Touch I’m sure he was expecting. So he ransacked through my glove compartment looking for anything of value and came up empty.

That’s when he realized that he couldn’t get out of the car.

Now, if I could have just seen the look of panic on his face when he realized that he was effectively trapped in the car it would all have been worth it. I know he panicked because he tore the entire passenger’s side door handle out of its housing trying to get out.

(It would also have been worth it because I would have been close enough to administer a sorely-needed asskicking.)

He finally wormed his way into the back seat and exited through the back passenger door. Then, just to add injury to injury, he didn’t fully close the door which caused my interior light to drain my battery.

Needless to say, I was pissed the next morning. The door handles had been destroyed to the point where I couldn’t easily get out of the car either.

So again I was looking at $400 a door. Which I didn’t have.

So I did some research. This was the point at which I discovered that this is a very common problem with Camrys from the 1990’s. One website even had detailed instructions on how to replace the exterior door handle yourself.

So I ordered the parts and decided to try to fix the door myself. Hey, it’s not like I could make it any worse.

So today I went out to give it a shot. After four hours and five trips to the hardware store (“Oh, I’m going to need a torque wrench set, better pick one up. Oh, this set doesn’t have the right size hex, I need a 10 mm. Oh, this 10 mm hex driver I bought isn’t long enough to reach the hex bolts inside the door. Oh, this extender for my torque wrench is perfect, but somehow I managed to buy the 11 mm hex for it instead of the 10. Oh, there we go – finally got it right.”) I managed to replace both the exterior and the interior door handles.

And they work. They aren’t pretty (especially the interior, since I couldn’t pop the frame of it through the door panel) but they work. Pull latch, door opens! Pull latch, door opens! No more reaching through the damn window!

I’m so happy!

Now to do the other door. And get the window fixed. And buy a new CD player. Grumble, grumble…

Badonkadonk.

I must travel to Sweden and drink of the water there, because there is obviously something in it. After finishing up HouseGlobe the OxEye guys had a couple days left, so they whipped out a demake of Fallout called Fillauth.

Here’s a video of their map editor in action:

At this point, I’m betting on demonic powers. It’s demonic powers, right guys? Come on, spill it, your secret is safe with me.

On a similar topic, I’d like to thank Jeb from the OxEye Games Forums for taking the time to answer some of my multiplayer programming questions.

And, you know, now that I think about it, it might be a good idea to link to all the submissions for the Demake Competition, since I’ve talked so much about it. Jeez, you’d think I didn’t know how to run a website.

I Hate the Internet

Why? Because it keeps showing me stuff like this…

If that game looks oddly familiar, it should. It was made for the TIGSource Demake Competition, which is all about taking a game and “demaking” it for an earlier platform. Thus, Silent Hill 2 for the PS2 becomes Soundless Mountain II for the NES…

Portal for the PC becomes SUPER 3D PORTALS 6 for the Atari 2600…

And Homeworld for the PC becomes HouseGlobe, for 256 color VGA…

HouseGlobe in particular is very impressive. It’s got silk-smooth two-player multiplayer over the internet or a LAN, and despite a small tech tree and number of units supports several different strategies of play. It’s a great little 2D RTS, and the guys who made it pumped it out…in ten days.

That’s why I hate the internet. It keeps showing me how much I suck. At some point, you know, I thought I’d become a developer who could make pretty cool stuff pretty quickly. But that somehow has never happened. Frankly I wonder why I’m still employed.

(EDIT: The Demake competition was hosted at TIGSource, not Retro Remakes. Oops.)