christina's Recent Forum Activity

  • So it seems

    Do you get my genius idea now newt? In that pacman CAPX you can just create maze obstacles and set them to solid, and the collision is taken care of!

    There's probably ways to simplify things. Maybe 2 canvas objects are unnecessary? But it works!

  • Whaaat! OK not only am I right, but they informed me on twitter that Nintendo used the same effect for A Link Between worlds! They distorted link in order to make him look good from top-down.

  • Just tried it. When you press space, a coin appears to the exact right of pacman in the ortho view. I pre-stretched and rotated the pacman sprite so it appears correct. Nothing hard. There may be ways to streamline that.

    Here's the ortho view:

    And here's what the engine looks like after the canvas transformation. Everything is 100% exact.

    What do you think?

    CAPX here

  • They will not. I'm feeling stupider by the minute now, but imagine you're taking this game

    Subscribe to Construct videos now

    just as it is, no changes in code or graphics,

    and display it rotated 45 degrees and then squashed 50%.

    It becomes isometric. The sprites will look weird, but the positions will be perfectly fine. And you could adjust the sprites and have UI on a separate layer.

    Am I wrong?

    ETA: if you needed to draw something to screen coordinates, yes, you would have to convert positions. But you could just draw something on the plain orthographic map instead. Like, a powerup to the right of the player on the game layer (before the transformations). It would appear to the top and right of the player after the transformation, at proper iso coordinates compared to the player.

  • newt what are you talking about?

    Ok maybe I need to explain it better.

    You make an orthographic game that looks like Ultima above (or chess) on one layer. Not one image, that's just my test. You make a proper tileset. Floor tiles, walls, characters, everything.

    Movement and Z order are easy, since it's orthographic. The higher the Y and X, the higher the Z order. It's solved, the same way Ultima solves it. You don't have to do anything else.

    Then you draw everything on two canvases, one rotates what you see by 45 degrees, the other squashes the rotated version to 50% height. The end result is isometric.

    Yes, you will need to make all your vertical sprites (walls, characters) vertically stretched by 200%, so they survive the squash. And you have to know where they're facing so you can choose the appropriate animation.

    But other than that, you get basically free 3D. No?

  • newt I get it. I don't really need layers with separate width and height scale. The canvas trick seems to work ok. So why is it a bad idea? Look at what it inspired someone to make: https://twitter.com/FireCamp_games/status/594500636927983616

    Thanks for the cool iso article

  • Try Construct 3

    Develop games in your browser. Powerful, performant & highly capable.

    Try Now Construct 3 users don't see these ads
  • 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

christina's avatar

christina

Member since 21 Aug, 2012

Twitter
christina has 3 followers

Connect with christina

Trophy Case

  • 12-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

16/44
How to earn trophies