I have a question + DQM demo?

Posted by Taizen Chisou on July 30, 2012, 1:42 p.m.

How do I make one-way platforms that work

This seems like a relatively simple GM platformer concept that I cannot for the life of me put together correctly :V

The third boss is done and all:

But there are lots of top-solid-only platforms in the sector it's in and the one before it and every time you jump part of the way into one you'd either get stuck, or the game would push you up on top of the platform and not register you as having jumped, so you'd probably get stuck there.

If you wanted to play the game, by the way, a really really rough around the edges version can be found here.

(Arrows to move, Z is attack, X to dash, Space to reset)

How to fix this?

Comments

ludamad 12 years, 4 months ago

solidity = not (player below platform OR player intersects platform)

IIRC, that is all it is ?

Taizen Chisou 12 years, 4 months ago

I tried that, but it still gives me really wonky results :<

Castypher 12 years, 4 months ago

Changing the platform's solidity value only results in other objects falling through when the player jumps through.

The only way I'm aware of to make proper jump-through platforms is to do manual collision checking (IE not the built-in bounding boxes). The platform in question must not be solid, and you only check collisions against it if the player is above the platform.

GM's solid collisions are absolutely terrible. Any collision event, even if you want to use the solid as a trigger rather than a block, will result in the object not being able to pass through it.

Iasper 12 years, 4 months ago

I'd give this a try (I haven't tried it myself but it should work):

GM collision in obj_player: if (y<other.y) y=yprevious;

It'd probably cause some other gravity problems though.

Rob 12 years, 4 months ago

oh god that text

Taizen Chisou 12 years, 4 months ago

Quote:
oh god that text
Eh?

Also:

The link's been updated with a fix for a horrible bug pertaining to one-way platforms that I somehow managed to overlook.

Yaru 12 years, 4 months ago

It's actually easier to code vertically moving platforms than jump-tru ones. =P

My favourite approach is to do something like this:

- Enemies treat jump-trus as solid ground.

- Player doesn't collide with jump-trus at all.

- When the player is above the jump-tru (so much above it's not colliding with anything below the jump-tru's top line of pixel) the jump-tru creates a completely solid block that destroys itself after one step, is invisible, and only works as solid for the player.

Takes a bit of tweaking to get it right so the player won't get stuck in the jump-tru, but less tweaking than making proper jump-tru blocks that only collide with you one way.

By the way, a guy named Alexitron made a game called The Power a few years ago and released the source. I remember someone saying he learnt to make jump-trus from that.

Praying Mantis 12 years, 4 months ago

Banjo Kazooie styled text with the squiggly letters? :D

Alert Games 12 years, 4 months ago

There should be a nice platformer engine that is easy to work with for GM by now….

Taizen Chisou 12 years, 4 months ago

You fail to account for my unwillingness to rely on the source code of others

I was bumbling around with my text engine for 18 straight hours before asking for, and accepting, help from Juju