Arcticus's Forum Posts

  • Hey everyone, this is from a question in my 'Isometric Stuff' thread in 'Your Creations', I figured I would be better off putting in here.

    Basically, I want pixel perfect collisions in isometric space. The isometric example that rojohound put up was great, but it wasn't pixel perfect. By that I mean, when something collides with something else, I want them sitting hard up against each other with no space in between.

    Now my objects all have 'bounding box' variables, so their shape and size is defined by numbers.

    They also have a 'flag' to test if they're moving or not, they have an 'xVelocity' and 'yVelocity' variable (zVelocity later ) which is how many pixels the object will move along the isometric X or Y axis the next tick (It's usually a decimal number as it uses timedelta).

    I can already successfully test whether or not an object is colliding, the only problem I'm having is getting it to sit still and hard up against the object it's colliding with

    Here's one of my versions of it:

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

    Note: The family variables, 'realX' and 'realY' are just there to record the fractional XY co-ordinates, if I could find a way to do this reliably without them, I would love to!

    If I use the actual XY co-ordinates to move them, due to the rounding involved, it makes slow movement impossible.

    I've tried various approaches, moving the object, checking for collision, moving it back 1 pixel in the direction it came from until it is no longer colliding etc, but nothing seems to work properly. This could be due to the wrong events on my part, which is why I WOULD LOVE ANY HELP ON THIS!

    Thanks to everyone in advance!

  • 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

  • That seems quite nice Candescence

  • No problem! Good luck with your games!

  • Putting:

    textboxnamehere.Text should be sufficient

    If you want to get there by clicking, at the global variable's 'set value' box, double click on the text box icon down at the bottom of the window and select, 'get text' from the list.

    Hope that helps

  • It should work fine, I just gave it a test, I made two text boxes and one global variable, I then set the global variable to textbox1's text, and then set textbox2's text to the global variable and it came out fine.

  • set Global('globalname') to textbox.text

    it might be listed as, 'Get Text'

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

  • 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

  • Here's a small cap of how I would do it

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

    By adding timedelta to charge when the charge button is down, it increases charge by essentially 1 per second, so to reach the small charge bullet, you would hold down charge for more than 1 second, but less than 3 etc, so you can change the values I used in the subevents to however many seconds you want to charge for each level of charge.

    The other reason I'm using timedelta is because if you did something like, 'add 1 to charge variable', it would add 1 per tick, meaning, people with faster computers could potentially charge their guns faster! Having it add per tick also means each charge level has to be a much higher value (like 60ish for one second of charge time). Timedelta however, behaves the same regardless of frames per second (there are exceptions but we won't go there! )

    Enjoy! If you need further elaboration, please let me know

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Let's not forget the wonder that is qerp

    Did someone say SCORCHED EARTH?!?!

  • That's a great example!

  • Did you have a look at the cap I posted a couple of replies ago?

    It uses lerp on both the X and Y coordinates of the aiming reticle to predict where to shoot to guaruntee a hit on any of the enemy objects. I'm pretty sure that functionality is now built into the system object however, but they're essentially the same thing

    Although, correct me if I'm wrong, I think I've actually created quadratic interpolation with two sets of lerp in that example?

    Lerp is great for extrapolating and predicting things!

    Because while the third argument is usually a value between 0 and 1, you can go BEYOND 1 to start predicting where a value will be based on the other 2 values

    I may have a twisted take on the whole thing, as I'm no mathmatician, I basically just learnt lerp from playing around with it on Construct!

  • The TRUE evil in music

  • There's actually a lot of references in her video clips to like, 'the unseeing eye' stuff and that whole 'ok sign' with your hand which is apparently also a gesture for 666?

    It could be her choice to do those things, or it could be the guy making the video clips, in any case, it just makes me laugh to see people trying so hard to appear 'evil', just don't let it affect you man, they're the ones being silly

    That's the reaction they WANT to get out of people.