christina's Recent Forum Activity

  • newt So it's a crap idea? What do you suggest?

    Edit: I was thinking we could keep track of the purple square sprite's *actual* screen coordinates and angle, and slap a proper isometric sprite on top, above the canvas transformations

  • So I had an epiphany yesterday. This sums it up:

    My idea caught fire on twitter and already there's an engine for Game Maker. Have a look:

    https://twitter.com/FireCamp_games/status/594500636927983616

    An isometric 3D engine out of an (easy to code) planometric grid is easy, if we can stretch a layer's height.

    I gave it a try with R0J0hound 's Canvas plugin. I used 2 canvases. I don't know if it's overkill, and I'm doing something wrong anyway, because there's a lot of cropping going on.

    However I'm going from this ortho view:

    To this: (what the engine looks like after the canvas transformation)

    with no strange isometric calculations. Collisions and Z-order should also be super-easy, as I'm basically working on an orthographic 2D image.

    Here's the CAPX

    The downside of course is this doesn't work for pixelart. But I think you clever people might find it useful

  • You do not have permission to view this post

  • You do not have permission to view this post

  • Well, even well-designed platformers with plenty of space between the gaps have this problem. A 10-pixel sprite clearing a 16-pixel gap is not minor, it's a big headache.

    Have a look:

    My engine removes guesswork, that's all. I'd be very happy if you could find a way to do the exact same without using loops. Please feel free to try

  • Valerien at such small sizes, where a character is 16x16px (or an even cooler 8x8), you absolutely can't rely on +/-0.5px

    Why would you call it framerate dependent? It clearly isn't, dt is taken into account during the loop. Check it yourself by making the timescale = 0

    I'm not ignoring C2's collision polys, I'm using them.

    Also, I'd like to see a movement with pixel rounding using the default platform behavior. Can you show me?

    All my experiments result in jerky movement

    By the way the main fix of this engine is the platform behavior's floor gap problem. There's hacky solutions to it, like spawning a wall in front of you, but they don't always work and have problems with corners.

    In this custom engine there's no code to make you "climb" back on a platform if you're already falling, and there is some code to make sure that you fall no matter how small the gap is, before drawing. And integer positions make sure that there won't be a +/- 0.5 pixels obstructing your fall

  • No problem Loops seem the only way to get C2 to do what we need for a proper retro engine.

    It's ready!! Please playtest it and tell me what you think. I added jump-through platforms, and everything is behaving great! Ashley a RetroPlatform behavior like this would really serve everyone who tries to work in low resolutions and doesn't need slope detection but does need super-tight retro platformer controls.

    CAPX

  • Fixed this by making the player's bounding box shorter and adding a head collider, so you can't jump and wiggle if you have a wall right above your head

    Here's the CAPX

  • Magistross :S hmm not with smaller xSpeed values. I may have to rethink this, damn

    BACLog sounds interesting! I'm not sure how to implement this in the engine's current form

  • Magistross When I grow up I want to be just as math-savvy as you

    Playtesting this, I see it doesn't play well with tight corners, damn.

    Here I'm trying to go left past the gap, but it won't let me. Any idea how to fix this?

    I mean it's pretty much done, and I could make the player 1 pixel shorter, but this is theoretical curiosity for me now.

  • When I grow up I want to be just as math-savvy as you

  • Magistross again, pure genius. Thank you! I couldn't see where to place that condition for the y axis.

    Ok, this is a pretty robust engine for games like Bubble Bobble, Rick Dangerous and the like. I'm calling it done.

    Valerien I tried with the custom movement. Try as I might, I can't get it to increment by integer amounts of pixels. It always has a floating point. Can you get it to behave? The only way I know how is to control XY position using loops.

christina's avatar

christina

Member since 21 Aug, 2012

Twitter
christina has 5 followers

Connect with christina

Trophy Case

  • 13-Year Club
  • Forum Contributor Made 100 posts in the forums
  • Regular Visitor Visited Construct.net 7 days in a row
  • RTFM Read the fabulous manual
  • Email Verified

Progress

17/44
How to earn trophies