Isometric Stuff

This forum is currently in read-only mode.
  • I definately intend to make something with this

    Be it a full game or at least a plugin

    I've been incredibly tempted by Unity though and once I have time I will experiment on that too

    Thanks for your encouragement

  • This is really good. I had a long play with this and didn't come across any problems, well problems that where obvious to me.

    Hope you get chance to turn this into a full game.

  • Thanks Minor I hope I get the chance too haha

    Also, you didn't see any problems cause I made the player start in a place where he doesn't cause any

    I would really like to know, has anyone had any performance issues running my demo? Anything below 50-60 fps?

  • Hey again everyone

    I FIXED IT!

    It works flawlessly now, I used a combination of my current code and the method that Rojohound gave us all ages ago. I still think his way (the filmation way) is better, in that he has less events, but for some reason I just couldn't make it work the same way, even with exactly the same conditions. In any case, the loop is just as long.

    Performance is still an issue, I'm currently working on a way to make it so it only re-sorts the lot whenever something needs changing, no point running the loop if everything is just sitting still, not changing the order at all

    *replaces previous melancholy with jubilation*

  • hmm

    maybe put all sortable objects in two families

    lets say red and blue

    on start of layout

    sort stuff

    then

    trigger once while true

    red overlaps blue

    sort again?

    ....seems like it might work-

    if you make it sort one particular object on command

    activate it on

    original zindex of overlapped objects in event + and -1

    after the move

    and original zindex of overlapped objects in event + and -1 after move

  • That might work, I've already got the two families method going well

    Although I'd imagine a 'red overlaps blue' would result in it still sorting when it doesn't need to, due to level objects.

    But I do have a flag called 'isMoving' which I have yet to do a whole lot with, I could try checking to see if something is moving and then try the overlapping approach.

    I was also able to increase performance a fair bit by changing the picking method to two for each's, (it was originally a nested for loop which would then check object ID's) I also increased it further by only sorting the objects on the screen

    Hopefully now, with good level design, I won't have largeish levels running at 5fps...

    I'll let you know how I go

    EDIT: I have to stop throwing the term 'flawlessly' around ......

  • Hey all, sorry about all the constant posts from me

    I managed to pull that Filmation method apart the Rojohound introduced here and applied it to my game, I still made it so it only affects things on the screen. It also fixes -most- of the problems I had with sorting, there are still glitches here and there but I don't think I can actually get it to work any better than this without severly hindering performance. Currently runs like a dream and I'm pretty happy with it, it's just a little disappointing that most if not all of my own method of sorting is out the window now. Although I guess I was essentially just doing the same thing, just not in the best way. I'll update the link.

    <img src="http://dl.dropbox.com/u/1289341/isodemo.png">

    http://dl.dropbox.com/u/1289341/ISOWorking.exe

    If you want the .cap I can upload that too, who knows, maybe you'll be able to improve it.

  • It's working fine, glitches are gone, only snapped mode scrolling isn't usable, it hurts eyes.

  • Yeah haha! I saw that, it's only there for debugging as I haven't put proper player movement or collisions in yet.

    There are still a couple of level configurations I've found that break the Filmation method but ah well, I'll just try to avoid those.

  • yeah, if I remember correctly r0j0 indicated the situations it doesn't work with

  • His collisions were pretty much spot on! I gotta work out how he did it, it's made in a way completely different to how I would set up a .cap lol, just not used to looking at other people's work I guess.

    Maybe that's why his worked lol

    Well, it's not perfect, but it's about as close to perfect as it'll get (with the exception of Fenstalker's fancy method which can even solve that 'impossible' isometric sorting problem)

    I won't be making a game with it for a little while though, currently busy with studies

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Hey all, me again, I've been working on isometric collisions now that I'm effectively on holidays, I'm finding it really difficult!

    I want to have it pixel perfect, if you look at/use rojohounds example, you'll notice there's a little gap between the player and whatever they collide into. I want to have the player hit the wall and be hard against it.

    Now I made one way that does the job PERFECTLY* , however, for it to work, due to using a lot of rounding, any objects moving under a certain speed don't move at all

    So basically what I'm asking is, does anyone have any ideas as to how to make an object moving at any (realistic) speed hit hard up against an isometric wall?

    I'll put the best working version up for reference.

    http://dl.dropbox.com/u/1289341/ISOengineCollisionTest.cap

    The other method I tried was to have two family variables, realX and realY, and just moved the player to those two rounded. This enabled slower speeds, but completely stuffed up collisions

  • Wouldn't using Z elevation and orthogonal projection be good for isometric?

  • No idea, I haven't tried either of those, if you're referring to the sorting though, that's covered already My beef is with the collisions *shakes fist at collisions*

  • I'm going to take this couple of days silence as people trying as diligently as me to get this problem fixed

    Thank you all in advance for your hard work!

    EDIT: Also, if anyone needs a translation of my cap, I'm happy to help, the problem at the moment is occuring in the 'Movement' group.

    The layers values 'xVelocity' and 'yVelocity' are how many isometric 'pixels' along their respective axis the object will move next tick. For slower speeds, this value can be less than 0.5, which is why it's getting rounded down at the moment to 0, equating to no movement.

    Once again, my intention is to make the objects move with no fractional pixels, support slower movement speeds and have pixel perfect collisions. I'm hoping someone more mathematically minded can help me on this one

Jump to:
Active Users
There are 1 visitors browsing this topic (0 users and 1 guests)