anti gravity character movement

Started by Mantra of Doom, Wed 03/09/2008 04:58:33

Previous topic - Next topic

Mantra of Doom

I'm making a game set on a rather old and low-tech space ship and I'm thinking about parts of the ship not having gravity... or the ship not having gravity at all.

On one hand, walk cycles would be a bit more interesting as the characters will be floating about instead of walking.

But on the other hand... would it really help the game at all? Objects the character has to interact with would either have to float, or be in containers... attached to things...

Has anyone else pondered or tackled this issue?
"Imitation is the sincerest form of imitation."

TerranRich

I think microgravity opens up a world of possibilities. You have the opportunity to let the player tap an object, and have it move slowly until it hits a surface. It opens the door to mechanical/kinetic puzzles where objejcts interact without smashing into each other and breaking.
Status: Trying to come up with some ideas...

Mantra of Doom

I was thinking about having a few puzzles deal with floating objects or magnetic boots. I'm not really sure how the coding would go... but I'm liking the idea of all the interesting things that in theory, could be done with this situation.

Hmm... maybe this won't be the "simple" game I first thought.
"Imitation is the sincerest form of imitation."

TerranRich

Hah, see? There may even be too many opportunities. It's one of the things I think Space Quest II kind of dropped the ball on.
Status: Trying to come up with some ideas...

Andail

It's one thing having a scene or two where the character can be weightless in the sense that the whole screen becomes a walkable area and the character is animated as hovering, in profile.

But if you want to create a game with objects hovering around, bouncing and colliding with other objects and walls, and moreover create clever puzzles based on weightlessness, then you're opening a whole can of worms. You're basically gonna have to script a physics engine.

TerranRich

That's true, to a point, Andail. But it is always possible to limit the interactions to certain directions. Say, the player is only in a position to push a box to the left or to the right. To the right does nothing, but it's still possible to push it back to the left. Et cetera, etc.

It shouldn't be as complicated as you're suggesting.
Status: Trying to come up with some ideas...

Mantra of Doom

I wasn't planning on every object being pushable, or floating. Some objects would be safely stored in cabinets or containers, held down with nets or hidden under or in things. Having everything free floating seems a bit like a safety hazard.

I was thinking maybe one or two puzzles being pushable, like say... several boxes in the cargo bay got loose and the player has to get them back under the net in a certain order so they all fit. The physics don't have to be perfect, because it's sci fi, they could have at least a system put in place so that they all hover the right way up, have some sort of propulsion units, or certain walkways are partially magnetized...

Also, concerning walkable areas, I'm sure that there wouldn't be the entire screen, as the character wouldn't want to get too close to the walls or ceiling, or exposed pipes or wires. I guess that would depend on how the backgrounds are drawn and the puzzles play out, since ideally, I'd like to have the player pick up a pair of magnetic boots and turn them on... for a normal walk cycle and have it so that you can only solve certain things with them... but that seems like more coding than I can handle at the moment.

I have a feeling that I'm going to do all the backgrounds and animation before I even think about scripting floating objects and alternate walk cycles.
"Imitation is the sincerest form of imitation."

DanielH

If it's a matter of an item under a net, the simple thing would be t animate the item floating up as the character interacts with the net- no hard task a tall, at least, no harder than any other large animation & interaction.

Jared

Couldn't you cheat a little by having floating objects scripted as characters, thus allowing them free movement?

TerranRich

Yes... and have the "walking" cycle be a "floating" cycle. That's a great idea. Workarounds rule.
Status: Trying to come up with some ideas...

Mantra of Doom

Question... I know I can use views to get a different walk cycle... would it be possible to change the walkable areas in a room depending on what character you are playing?

Or maybe a way to have a duplicate room with different walkable areas and hotspots that replaces the regular room if a character gets a specific item?

So many possibilities... so much coding to learn...
"Imitation is the sincerest form of imitation."

TerranRich

Not really sure what you're getting at, MantraofDoom. You can turn walkable areas on and off, but they can't overlap, unfortunately.
Status: Trying to come up with some ideas...

Mantra of Doom

#12
It's getting late and my character walks like a drunk... so I'm going to take a break and try to explain what I'd like to do.

I was thinking that for the start of the game, the character floats around... walkable areas are large enough so the person can float above the floor, but wouldn't go so high as to hit her head on the ceiling.

But what if one of the puzzles leads to the character getting a pair of magnetic boots in order to solve another puzzle, the character has to be wearing the boots (equipped somehow) and walking on only the floor - the walkable area would be shrunk.

If I can turn on and off walkable areas, could I say... have two, but have them touching and then turn off the higher one or is that a bit too difficult?

Edit: I got the basic concept to work, but in very basic code. Now that I know the theory works, I can continue with a few things :)

function oboots_Interact()
{
oboots.Visible = false;
player.AddInventory(iboot);
Display("My magnetic boots. I think I'll put them on.");
cEgo.ChangeView(2);
RemoveWalkableArea(1);

}
"Imitation is the sincerest form of imitation."

SMF spam blocked by CleanTalk