Tuesday, July 18, 2006

Gun Shy

This game's been done for a while, but I've been kicking the Torque Game Builder Builder - the thing that turns a development environment into a game. It has not been easy, but I think I've got one that works.

Gun Shy (3 megs)

What we have here is a nine level marginally-adaptive gun-toting extravaganza! You play a mechanic who puts down sentry turrets. There's a lot of blood. Hint: turn the volume way up, because TGB seems to turn it way down. I suggest putting techno or hard rock on in the background, as well.

Give it a shot. Ha ha. Tell me what you think, remembering that it is the very definition of a throwaway game. If you find a bug, tell me - at this stage, I'm more worried about the quality of Torque Game Builder than Gun Shy. The latter being bad is acceptable. The former is not.

Also, tell me how hard you thought the game was. I really can't tell. :P

Saturday, July 01, 2006

Fleet Zero

I'm releasing a (very) little game I named "Fleet Zero". It's my first game in Torque Game Builder (although not my first in Torque 2D) and it's mostly to adjust to the programming environment.

Fleet Zero (1.6 megs). Should work on any Windows machine. Let me know if something goes wrong, or if you want a Mac version.

I really wanted to make a game where the player is a constant effect, instead of one where the player gets discrete actions. So, in this game, you play the commander of the last fleet of humans. Think Battlestar Galactica.

Your mouse pointer is the fleet destination/weapon focus. All human ships will home in on your mouse pointer. If you press the mouse button, all human ships will turn around and get the hell out of dodge at maximum speed, but it disables your weapon.

Pretty simple, right? Well, there's alien ships, too. Aliens who conquered human planets! And if your ships get too close, the aliens will blow them up! And even if you kill the aliens, each wave gets more difficult!

So your goal is to get your ships to avoid their ships and found a safe human colony. But there's a complication: your ships are too few to found a new human colony! You need more humans!

Fortunately, the aliens keep human slaves! So if you blow up their ships, the slaves should be able to escape into a vessel of their own and join your fleet. Once you have enough human ships and all the aliens are dead, you win. Otherwise, the aliens will just keep attacking.

How do you kill an alien? By leaving your mouse pointer on him.

But, wait, the fleets home in on that mouse pointer, and if you press the mouse key so they run away, you can't do any damage!

There are two things saving you. First, human ships don't exactly turn on a dime. Second, the closer together two human ships are, the slower they go. Fleet maneuvers are hard, you know.

Of course, fast human ships tend to plow into alien vessels at full speed, and ships in a fleet tend to get eaten by any alien that warps in nearby.

It's actually kind of fun, in my opinion. Once you win and found a human colony, you take over another, even more tenuous "last fleet" of humans facing tougher aliens and needing more ships to found the colony.

If you lose, no worries: the human slaves on board the alien ships go berserk and break free, so it's a happy ending. Of course, YOU are dead...

Anyhow, feel free to give it a whirl.

Monday, May 08, 2006

AdaptAmaze 0.2

Rerelease.

New version has several fixed bugs, a worst-case acceleration system that keeps those long delays from popping up, and a dramatically more game-like play style. Now, when you beat a maze, it takes you to a new, harder maze.

WASD moves, F is to remove the fog of war, and P is for those moments when you realize there is actually no path.

Sunday, April 30, 2006

It's ugly, but it exists!

Well, I created a simple puzzle game to test the power of my search-and-reroute algorithm. Here it is: AdaptAmaze (1.3 megs).

This is a proof of concept. It isn't a game by any stretch of the imagination. But it is good to see the algorithm work. (It's actually slowed down a bunch here, for debugging purposes.)

You control your little blue token with WSAD controls, trying to get to the little green token. In a transparent attempt to make it more "gamelike", there's a fog limiting your visible range. Press "F" to toggle it.

The maze starts completely random. It probably cannot be solved as it stands. I have given you the power to choose your destiny. "P" finds a path and modifies that path towards the difficulty level you've specified.

The two text boxes in the upper left control size (smaller is more tiles) and difficulty (higher is more steps). Don't worry - modifying them prints a clear message, so you don't have to remember.

All you need to remember is WASD, F, and P.

By the way, the game has a hardcoded 10 iteration limit. This is fine in most situations, but in the most extreme situations (such as being 3 steps away and setting the difficulty to 30, or visa-versa) it can simply not work. Repeatedly re-engaging the path engine can usually "drill" a more suitable solution into the game.

In a game with more complex constraints, this wouldn't be a problem. The "space" between you and your target would stretch. Also, it would be passably easy to create special cases for the extreme situations.

But I didn't. :)

Tuesday, April 25, 2006

Arggh!

I can't think of a good framework to test the backbones I'm coming up with. In other words: I can't seem to make a fun game.

I can think of lots of ideas, but nothing small enough. Maybe my standards are too high.

I'll keep thinking.

Wednesday, April 05, 2006

The Art of Character Design

I won't pretend to be an expert in character design, but I do think about things.

Each of the characters in "Dreamland" need to have a distinct look. To that end, I'm designing each of them from a different culture, if I can. There are five characters: a princess, a sorceress-like lady, a nerd (female, because female nerds are cuter), a knight, and a pauper. To make matters more complex, each character needs to be suitable to be a hero, a villain ("obstacle" might be a better word), and a victim. Obviously, their victimhoods are different. The knight is unlikely to be kidnapped, but he is likely to be sweet-talked, confused, or poisoned.

Therefore, the character designs have to be "power neutral": anyone looking at them has to consider them neither particularly weak nor particularly strong along the particular axis of "plot arc" the character is likely to be in. Sure, they can be strong or weak in other axes. The geek looks physically weak. Shock.

The knight is turning out to be a pain in the ass, but I've got solid sketches of most of the others. Here is the current version of the princess:



Can you see her as a lovestruck romantic? A snotty brat? A scheming bitch? A victim of kidnapping?

Obviously, her culture is a mish-mash of Asian cultures, most heavily Chinese.

Comments?

Monday, April 03, 2006

Dreamland

My next little project is codenamed "Dreamland". It's going to be something halfway between a dream and a fairy tale. It's going to be pretty simplistic, because I'm intending to finish before a month goes by.

The basic idea is that there are some characters (five or six) living in a rather fairy-tale world - something like 1001 Nights, but with a touch of steampunk. Because I like steampunk, dammit!

There's going to be a plot mode - some kind of evil is threatening the land. I haven't really decided what kind, and it hardly matters. The game is about watching a fairy tale (or dream) about the people trying to stop it. In true 1001 Nights style, not all the good guys are good guys: the relationships and personalities of the characters are heavily randomized. One run, the princess may fall in love with the pauper. The next run, she might order him around disdainfully.

The power of their positions will also vary from run to run. In one run, the pauper might actually be the leader of a band of powerful theives, while the royal family might be on its last legs, poor and too proud to admit their obvious weakness.

And, of course, which characters meet which characters in which ways will also vary.

The fairy tale has "tokens" - nightmare and daydream tokens. I think the nightmare tokens will be brutal red shards, whereas the daydream tokens will be blue beads. These come out of things that happen: if the princess kisses the pauper, blue beads fly out and stick to the edge of the frame. If the princess then stabs the pauper, dark shards fly out to the edge of the frame. The basic idea is that the more beads and shards there are, the more likely extremely good or bad things are to happen. If you have lots of both, you're in a very intense part of the dream where anything could happen.

If you get too many beads or shards, you lose control of the dream temporarily. When you regain control, the beads and shards will have all vanished... but the tale will have gone off in new directions.

"Control" is, in this case, a rather strong word to use. The primary means of control in the game will be clicking on anything you want to see more of. If you click on the knight's daring fight, you'll get more daring fights. You'll also have beads or shards come out, depending on the mood of what you've clicked on. This means that you lose control faster the more control you exert. :)

You're not telling the fairy tale. You're listening to it and saying what you like, as if you were being told it by someone who was actually paying attention to you.

I know this isn't a game as such. It's a test of another kind of social algorithm. It might be fun as well, but it isn't my primary purpose. It certainly won't look very polished:



This is a quick demo screen I tossed together to show what it's like. Everything in the scene is simple(ish) lineart with a quick white background. The game then colors it whatever color makes the most sense for the scene: although blue in this scene, the knight could easily be red in a fight scene. The color shift would be very deliberate, though. Obviously, the lineart would be better than the above example.

There's not going to be any animation. Instead, it'll be like comic cells. These two people don't walk across the screen: they fade in and out at new locations making their way left. If they were running, that would be shown with simple movement - but the movement would just be to give an impression of direction and speed. The sprite would still fade in and out, like a comic book.

The game can tell what kind of arc might go best next, and it will then put that arc into the game. Since the game has no dialogue, these plot arcs are fairly simplistic. A plot arc might be "go on a picnic and get the pauper carried off by a demon" or "set out to find the pauper" or "train with the knight". Things which are longer than scenes, but not especially complex.

The core tidbit is in the social engine that drives the game. When you set off to find someone, your friends come with you or help you. If you're enemies, the two of you might set off simultaneously, but separately.

Also, the ways that the characters interact is entirely based on their relationship. There are lots of kinds of relationships, so some remarkably complex interactions should be possible. Like all fairy tales, the pace is somewhat less focused than movies. So there's room for plenty of character development, to see how people change under the pressures the story puts on them.

The social dynamics are fun and interesting. :)