Thursday, October 27, 2005

Do you see what I see?

I've talked about the underlying engine of Machine City. It's not the most fantastically simple engine, I admit. It's probably overkill. But the idea is that I can build up a suite of games on this same engine: some produced by me, some produced by players. However, in my engine-based gluttony, I have not gone the way of Doom III: the game is, in fact, a game.

There are a few features I like to concentrate on when designing a game. With board games, tabletops, and LARPs, I like to have:

(A) Clear but highly varied goals
(B) Clear but robust gameplay
(C) Clear user feedback

I plan on sticking to the same rules with Machine City. Of course, some of the people who know me are probably raising an eyebrow, because my general method is to create a huge number of clear goals, clear gameplay elements, and clear indications of gamestate... and then let them combine into something halfway between Frankenstein's Monster, San Francisco, and mud.

Still, almost everyone has a great time, so why mess with success?

In Machine City, there is one primary goal which drives you to take on missions and advance the plot even in the absolute absence of any other urges. In the beginning, it's "exploration", but it rapidly turns into "survival".

However, as is my standard, there are a huge number of clear side-goals. Factions exist - Machine City itself being one. There are various ways to interact with and exploit these factions. Most characters have a kind of goal-state: you can become friends with them, get special upgrades/quests, hear their backstories, and so on.

These goals will allow the player to pick and choose. Is he the kind that hates storylines? Stick to the main path, skip the cutscenes, and never talk to anyone. if you're like me, you'll plumb the entirety of the game, which will be as rich as I can write it once I've hammered out the exact scope.

The gameplay element, at first glance, is clear but not terribly robust: flying a ship around shooting things on a rail through a 2D map is not exactly a new and unusual experience. Especially since I doubt I'll have in-mission upgrades!

But, of course, that's just the "little game". Like an RPG's fighting engine. People loved FFVII, but it's core gameplay element was so recycled it didn't even register as a gameplay element for most people. The key is in how you use that core element.

Three things make the clear and simple game into a clear and robust game:

1) The ability to modify exactly what kind of situation the game is based on. This is done by introducing new levels, enemies, and gamespace elements. The 2D shmup supports a wide variety of paintings upon its canvas, and this one more than usual.

2) The ability for the player to modify exactly what kind of situation the game is based on. The obvious element here is the player's ability to choose who and what he is putting on his ship. A less obvious element is the fact that the player chooses not only which missions he will go on, but which missions he unlocks based on how he interacts with the game world.

3) Setting up each fight with an emotional punch. This isn't easy in a shmup because of the painfully restricted viewpoints. Unless I want to use an exceptionally large number of cutscenes, establishing emotional links is going to be tough. We'll see how well I perform.

Anyhow, in addition to that clear and hopefully robust game, there's also the "social interaction" game and the "equip your ship" game, both of which are fairly clear and robust.

The last element, a clear user interface, is critical in every game. In my game, most of it is extremely straight forward. It's not exactly a high learning curve to know that you steer your ship with these buttons, fire wherever you click, and can click on buttons if a cutscene offers them to you.

But it's a little more complex than that. For example, your ship has a lot of automated functions. Your gunner reloads and repairs the vessel. I need to show that. I show damage not only with the colored circles at the top-left, but also by the amount of smoke and fire coming from parts of your ship that aren't supposed to smoke and fire.

I want the interaction to be clear, so whenever anything hits anything, I want a special effect! T2D can evidently support this, since the only time I've had slowdown is when I was running it off a thumbdrive. I have a special effect for each and every bullet that hits anything, two special effects for every shot you fire, and tonight I'm adding the "wall scrape" special effect.

If there is any part of the game which marks even a subtle change in the play space (such as bumping into a wall or firing a bullet), I want it to be clearly marked.

By playing silly buggers with contrast, you can have a lot of special effects on the screen without actually ever having too many. For example, a week ago I had the shotgun bullets explode violently whenever they hit something. We're talking 30 bullets all impacting on something within the same second. But because I made the effect dark, rather than light, it didn't draw your eyes away from the important things to notice. Similarly, if you get hit, the special effect for your injury is a brilliant flash of white - the brightest, most attention-getting special effect I could manage. It says, "Hey! Watch out!"

There's a long way to go: the engine is about 75% done (aside from polishing, I just need bosses and advanced cut-scenes), but the game itself is still in early design stages. My primary goal: that the player should feel an urge to finish the whole game and then feel the urge to play it again. My secondary goal: When the player is done repeatedly playing the game, he should want to see more of the universe it is based in. :)

2 comments:

Anonymous said...

By "universe its based in" do you mean user-created content or new content combinations based on the built-in PAC memes?

Craig Perko said...

That's the great thing - I mean both. Obviously, I want them to buy any other games I release. But I also want them to create their own games on the engine. After all, they need to buy my engine to run the games.

These are two different "universes", but they both spawn from the same piece of software and, if I do it right, they will both be popular.

IP creation: a critical skill. :)