Month: April 2006

The Oblivion Post

The guys and gals at Bethesda made some interesting design choices when it came to Oblivion.

In particular, the stat and levelling system is…unique. Characters in Oblivion are defined by their stats and their skills. Skills go up as you use them, but stats can only be improved when you level. In most games, stats don’t change very often and really aren’t that important once character creation is done. Oblivion is the exact opposite – stats change every level, and it’s vital that you raise your stats quickly. Why?

Because how tough a monster is is based on your level. Thus, you can get a good ways into the game at level one because almost everything you fight will be “scaled” to match you. This explains how Greg Kasavin was able to go straight into several Oblivion gates and beat them during his playthrough – the game was limiting how strong his enemies could be based on his level.

You may think “Okay, then there’s no sense in levelling, since fights won’t get easier based on my level”. That’s not true, because there are many enemies in the game you won’t be able to beat unless you raise your stats – thus making your level 4 character more effective than the level 4 monster you are fighting.

Thus, it’s vital to get very large stat bonuses out of each level, especially at the beginning of the game. It’s especially vital to raise your Endurance stat as quickly as you can, since that stat governs how many more hit points you get every time you level up.

So how do you make sure you get large stat bonuses every level? You use skills based on that stat a lot. In order to get that magic +5 to Endurance when you level, you must gain ten points in Endurance-based skills. The easiest way to do that is to use the Armorer skill constantly, repairing your own weapons and armor and also repairing every bit of enemy equipment you find, even if you’re just going to drop it afterwards. The best way to get +5 on your Intelligence is to either use Mysticism magic a lot or do a lot of Alchemy.

What this means is that just going straight for the game’s dungeons and fighting everything in them will cause you level too fast – you’ll get to a new level without having gained ten points in a skill, so you don’t get that nice +5 bonus…you may just get some +2 or +3 bonuses. That’s not very effective levelling and it will come back to bite you in the ass if you do it a lot. Enemies will become more and more powerful and you just won’t be able to keep up. This system was specifically designed to punish powerlevellers.

Which means that you’re going to end up doing a lot of busywork to get your skills up between dungeon runs. You’ll make a bunch of potions, fix a bunch of armor, or cast a single spell over and over again. Only when you know you’ve got those nice +5 bonuses waiting for you will you go into a dungeon, fight and gain a level.

Now, that sounds like really poor design, and when I first read about how the system was structured I hated it. I also had to start over, since I hadn’t been levelling effectively enough.

But the system forced me to use many skills I otherwise wouldn’t have touched, like Alchemy. And I realized that those skills were really useful and…fun. The system forced me to try everything, and I discovered some stuff in the game that I liked that I otherwise would have missed. So…bad design? I initially thought so, but now I’m not so sure.

The real problem with this system is that Bethesda doesn’t tell you anywhere in the game or documentation that levelling quickly is bad, and that you should try to gain at least ten points in at least three minor skills before every level gain. That’s definitely bad. But now that I understand it, I’m having even more fun with the game than I was before.

For the record, here’s the custom character class I created:

PRAGMADIN

The Pragmadin is a pragmatic paladin. He is a holy warrior of light, capable of bashing the skulls of the wicked with his mace while simultaneously healing the faithful. He would never steal or do evil, but he does understand that sometimes it’s necessary to sneak around or pick a lock or two…for the good of all, of course.

Class focus: Combat

Favored stats: Strength, Endurance, Intelligence

Major skills: Blunt, Block, Heavy Armor, Restoration, Illusion, Destruction, Security

I play a male Imperial who was born under the sign of the The Warrior. This gives me a high starting Endurance – not the highest in the game, but I was willing to trade ten initial points of Endurance for the ability to be an effective spellcaster right away (Orcs and Redguards both have higher starting Endurance but have almost no magical ability to start).

Just about everything else in Oblivion is note-perfect. The game is gorgeous and runs well at high detail on my computer. The little minigames for subsystems like Speechcraft and Security are fun. The quest system works really well and seems bulletproof. The game does a good job of keeping track of all the info you accumulate during the game, with both local and world maps that update automatically, a journal and an active quest system. Combat is visceral and good maneuvering on your part can allow you to overcome an enemy who is technically more powerful than you. There’s also just a stupid-huge number of things that can happen to your character during the course of a game. Sell a certain artifact and you may be approached by a man who wants you to find more of them. Kill a vampire and you may get invited to join a clan of vampire hunters. Or you can become a vampire yourself.

Basically, it’s the best game I’ve played in years…and unless it finds a way to seriously kick me in the nuts, it could go down as the best game I’ve ever played, ever. We’ll see.


End Of Warcraft

I finally found the perfect metaphor to describe my disappointment with end-game World of Warcraft.

Before you hit level 60, WoW is a game that rewards effort and time played. You can log in for just a little while, do a little something, and know that you’ve made some progress (no matter how small) towards improving your character. And this is exactly how I played WoW before 60 – in small, daily chunks.

Once you hit 60 WoW turns into a slot machine. Rewards are no longer commensurate to effort or time played; they are now completely random. Not only does WoW become a slot machine, but you have to be willing to play the game for three to five hours straight to get one pull on the slot machine – and that pull will almost certainly be a loser. Sorry, you’re not a winner! Run UBRS again!

It was very disconcerting watching one of my favorite games become one of my least favorite. But Friday night I got my copy of Oblivion, so WoW can now kiss my ass.


Quoted on Gamespot!

I regularly listen to Gamespot’s Hotspot podcast. They’d been poking merciless fun at Stefan Eriksson for a while, but with his arrest it looks like that story is over (for now). On April 11th’s podcast, the guys briefly mentioned Warthog Studios and how it sucked that Gizmondo’s sleazy execs managed to take us down with them.

So I sent them a short email thanking them for mentioning Warthog positively and not lumping us in with the seedier aspects of Gizmondo.

And what do you know, they quoted it on yesterday’s podcast, and even mentioned the URL of this site! That was darn nice of them.

Thanks Rich, Bob, Alex, and Jeff!


Star Revolution Update 3

I am Star Revolution! Check me out! No, seriously, check me out!

Spiffing!

I know, I know, it doesn’t look like much…but these are all black triangles that prove that my new state system, gui system and font system all work.

I really like the font…I found it here (by Googling “bitmap font” and clicking on the very first link). It’s evocative of Starflight without being quite as limited as that font – it has true lowercase and descenders, for instance. This is going to be the official Star Revolution font unless everybody stands up and says they hate it for some reason.

I have also surreptitiously begun work on a tool to create individual planets. It needs some work (for one thing, I need a better understanding of Perlin Noise) but it’s coming along and I expect to have something much more impressive to show you soon.

Also note that I’m not numbering my hours. I have abandoned the idea of writing SR in 40 hours; it’s simply too big. I’m sure I could write a version of SR in 40 hours, but I want this game to be worth playing, unlike Inaria. So I am switching tactics. Instead of a fixed amount of time, I am simply saying that the game must be completed and published by July 31, which gives me three and a half months.


Starflight Stuff

Starflight has long been one of my favorite games, although its interface is very annoying…sometimes I wonder how I put up with stuff like that when I was younger (answer: I didn’t have another space opera RPG to compare it to, of course).

I’ve been playing Starflight 1 and 2 again as reference for Star Revolution. I was playing Starflight 2 when I noticed something odd…look at this screenshot. Doesn’t it look weird in some way?

Hmmm...

And doesn’t this screenshot of Starflight 1 look kind of…chunky? Even for a 320×200 game?

Boldly go.

In fact…

Bll o.

This is a screenshot for the original Starflight reduced to 160×200. Notice that all of the text is still readable and all the graphics look the same, just narrower. It’s almost as if the game were written to run in 160×200…which is exactly what it was. Starflight was written to run in a 160x200x16 color mode available on some CGA/composite monitor combinations (most notably Tandy and Compaq computers). When the EGA and VGA versions were created, the image was simply doubled horizontally.

Which brings us back to the Starflight 2 screenshot.

Hmmm...

Notice how much more detailed the picture of the Tandelou Eshvey looks than the rest of the interface! The developers of Starflight 2 did not bother to try to make the interface look any better, even though Starflight 2 was written specifically for VGA! The only thing they did was use the additional horizontal resolution to make the font a bit clearer. How disappointing!


Star Revolution, Design Pass…What number are we up to? Four, I think.

It’s been interesting to realize exactly how tied the design of the game and its interface are. I really want to get a layout for Star Revolution, but in order to do so I need to nail down exactly what I want the player to be able to do in the game. And that means making some decisions.

For instance…do I let the player walk around planets? Some games of this genre do, and some don’t. Games that focus on the trading and combat, like Elite and Privateer, do not allow players to walk around planets; they simply abstract the planet out to a series of menus.

But games that focus on role-playing style elements (conversations, quest objects, etc) tend to allow the player to run around the surface of planets. Starflight 1 and 2, Star Control 2, and the MegaTraveller games all do this. In the case of the first three, planets are barren except for minerals, random lifeforms, and the occasional trade post – there’s no indication of the settlements of sentient beings at all. MegaTraveller takes the exact opposite tack – visiting a “planet” means visiting one city on that planet, with all of the cities in the game being constructed out of stock buildings in different arrangements. You can’t leave the city and walk around in the wilderness…I guess the designers don’t know why you’d ever want to.

Now, the reason I need to hash this out is because of a derived question: what is combat on the surface of a planet like? Or perhaps I should generalize: what is combat outside of your ship like?

Shall I just ignore it and say you can’t get attacked outside of your ship?
Pros: Very simple to write.
Cons: I learn nothing. Doesn’t feel particularly realistic or satisfying to the player.

Should I have the player stay in a land vehicle the whole time and perhaps allow that vehicle to fire lasers on enemies?
Pros: Still pretty simple to write. Could be fun if I do it right.
Cons: I learn very little. Could be not fun if I do it wrong. Doesn’t feel very realistic. Means the player’s characters can never go inside any building in the world.

Should I allow the player’s characters to walk around individually and create a man-to-man combat system?
Pros: Could be very fun if I do it right. Been wanting to write this combat system for a while. I’ll learn a lot.
Cons: This means that I will be writing two completely different combat engines for this game – one for space combat and one for man-to-man combat. Not only will this be a lot of work, it could raise the complexity of the game too high (I have been wanting to try to keep the game simpler and more accessible).

Another serious problem will be helping players keep track of the immense amount of data these types of games typically throw at them. I don’t just want the interface to allow the player to call up old conversations (that’s easy); I also want it to help them remember where that particular planet with particular features was. Remember, that’s how Lister lost the Red Dwarf: “They’re all the same, those little blue-green planetoids! Blue-green and planetoidy!” This means special indicators on the starmap for which systems have been explored and which haven’t, as well as screens for calling up the data on every planet in an explored system. Lots of complex stuff, but the alternative is to require the player to take tons of notes, which most players aren’t willing to do any more (and let’s face it, neither am I). Besides, if you really were in the 27th century, you’d have computers to help you remember all this stuff.

It just seems like the more of these questions I answer, the more I have to do. This game is shaping up to be far bigger than Inaria, both in programming and in content, and I certainly hadn’t anticipated this.


Weight Control

I’ve had a weight problem for about ten years now.

Being overweight didn’t used to be a problem. It meant you had eaten more than you needed to survive – thus, you were a successful person. And most people become overweight simply by eating when and what their body tells them to, because our biology has not caught up with our sociology – it is no longer necessary to put weight on as a safeguard against starvation later. In fact, in this day and age, being overweight is like hanging a permanent sign around your neck that reads, “I have no self-discipline”.

Except that I do have self-discipline. I have done things that required serious self-discipline in the past and will do more of such things in the future. Why am I still having trouble with this?

I am six feet, four inches tall. I weigh about three hundred and forty pounds. Because of my height, I am not really rotund, but I still weigh about a hundred pounds more than I should.

About two years ago, I seriously started on a plan to lose weight. I did some research, reading books like The Hacker’s Diet. I then got off caffeine, drank only water, took vitamins every day, and ate a very small number of calories (around 1800). I also worked out at home at least three times a week. My workout consisted of playing Dance Dance Revolution for about fifteen minutes to get my heart rate up, then doing a series of calisthenics. I burned about 250 calories per workout. The very low number of calories was quite difficult to maintain, but I told myself that every time my stomach growled it meant I was losing weight.

Initially, this worked great. The pounds seemed to melt right off, and it appeared that I would reach my goal of 240 far faster than I thought I would. I don’t know exactly how much weight I lost because my scale was not reading right (something I didn’t find out until later) but I probably lost about 35-40 pounds. My legs looked great, and I started having to tighten my belt lest my pants fall off. A female co-worker of mine told me I was looking “splendid”, which was quite encouraging.

But I was overdoing it. For a 340-pound male, 1800 calories is practically nothing. After about three months of this, my body went into starvation mode and I stopped losing weight. This was also when I discovered that my spring scale was not accurate, since it was telling me that I weighed 295 but the new digital scale I bought, which went up to 300, refused to weigh me. So I didn’t even know how much I’d lost.

After about a month of continuing to practically starve myself with no results, I got frustrated. I stopped exercising and started eating “normally” again. And all that weight came right back on.

My story is a very common one. Despite all the research I had done and all the good intentions I had, I had gone about this project exactly wrong. The worst thing you can do to lose weight is temporarily alter how you exercise and eat, because even if they work, once you reach your target weight you will go back to normal…and the weight will come back on.

My weight is a consequence of my eating habits and exercise habits. Thus, if I want to change my weight permanently, I must also change those habits permanently. There is no way I can maintain a healthy weight drinking as much soda as I do, so I must stop drinking soda – permanently. There is no way I can maintain a healthy weight exercising as little as I do, so I must start exercising – permanently. And there is no way I can maintain a healthy weight eating as much mayonnaise as I do, so I must stop eating mayonnaise – permanently. I must break myself of my bad habits and replace them with good ones, and I must continually reinforce the good habits lest my decades of bad habitting reassert themselves.

So I’m going to start again, within the next week or two. I’m going to do a little preparation and then I’m going to start back down the road to good health…more gently, this time. It will take longer and be more difficult, but the result will be permanent success.


Good So Far

Aspyr seems like a great place to work. Unfortunately, because we are a port house, I have to be very careful about what I talk about – lots of NDAs and the like. So I probably won’t be talking about work much…at least until I ship something.

Work is progressing on my framework. I’m hoping to get it polished off this week so I can get back to the ‘splosions. I was tempted to try to implement a “perfect”, McShaffry-style framework that rigidly separates everything, using standard messages to communicate between subsystems. The advantage of such a system is that it makes things like multiplayer easy – a subsystem doesn’t care where its messages are coming from, so you just package them up and send them over the network.

The disadvantage is that writing such a system takes a long, long time. It probably would have taken me a month to implement such a system…and it feels like overkill for Star Revolution. I was toying with having a multiplayer component in the game, where two people can link up over a LAN and fight with their custom-created ships, but that will be the last thing that gets implemented…if it gets implemented at all.

Now, that’s not to say that the system I’m using is bad…oh, no. My framework is now much better than it was when I used it for Inaria. Putting in states cleared up a whole lot of issues about where certain code should go. I’m expanding the GUI system based on the concept of an immediate mode GUI. GUIs can now also be loaded from disk. I’m also enhancing the font system to do things like automatic word-wrapping (and one cool thing about using OpenGL for my blits is that I get colored fonts for free).

I’ll probably bite the bullet and implement a completely event-driven framework for my third project…whatever that turns out to be. And once it’s done, it’ll be done.

One thing I have got to do, though, is nail down exactly what Star Revolution’s gameplay is going to be like. Because I can’t start designing the interface for the game until I do.


Today’s the Day

Today is the day I start my new job at Aspyr Media. Wish me luck!


Multiplicative Skill

As I’ve mentioned before, I like watching Warcraft III replays. I also like observing games on Battle.Net. But I don’t play on BNet. Why?

Well, because I suck, and I get tired of being called a n00b. It’s hard to become a good Warcraft III player.

Why?

From what I can tell, there are four main skills you need to be a good Warcraft III player. They are:

* Build order
* Base layout
* Hero and unit selection
* Micromanagement of units

But you can’t just be really good at one thing and expect to win.

If you don’t have a good build order, you lose because the other player will gain resources and get their units out faster than you.

If you don’t have a good base layout, you lose because the other player can easily destroy your vital buildings.

If you don’t choose your heroes and units well, you lose because the other player will have abilities you can’t defend against.

And if you do everything else well but can’t perform the most basic hero-killing tricks like the surround, you’ll lose to opponents who can, all other things being equal.

Thus, if we could somehow rate players in these four areas on a scale of one to ten, a player’s final “skill score” wouldn’t just be his four ratings added together. They would be multiplied against each other, so that a single low score can properly drag the whole rating down into the gutter. And if one score is zero, the whole rating becomes zero.

Games need not be real-time to have multiplicative skills. Galactic Civilizations II is the same way. You need to be very good at researching in the right order, designing ships, setting up your planets properly and engaging in combat to have any hope of defeating the AI. Or you could just turn the AI down to “Fool”, at which point you’ll have to listen to stuff like this.

I used to love games that had multiplicative skills, but I don’t tend to play very many of them any more, simply because they take too long to get good at. You can’t play them casually.

I need to keep this in mind for Star Revolution.