Arcticus's Forum Posts

  • Yeah after I posted I tried doing pretty much exactly that idea, although i didn't go nuts with the 0-360 thing cause really it wouldn't be noticed so much in the game (hopefully)

    It seems to test ok, but I haven't tried it out in replay yet as it was 1:30am here when I thought of it.

    I have yet to test it out in replay but I did think for a moment, even though the code turns the player at precisely at 360 * timdelta, when holding forward, you can get the player to do an elliptical orbit around the mouse, which means that the player -looks- like it is rotating slower when it is still rotating at 360 per second but stopping and starting at tiny intervals. The problem with this is that using the last angle system, it just comes up as 'turning left' (or right depending) the whole time, because the current angle is different to lastangle but it's turning slower than 360 * timedelta technically

    It's hard to explain, basically, I haven't tried it but i can tell that if i tell the replay to turn left at this point whilst going foward, it will turn a lot faster than what happened in real time.

    Not too sure how anyone can fix this, just throwing it out there. It is a bit hard to record something like this without doing every tick anyway

    Nothing like a good challenge

  • That's awesome news, you guys rock

  • Ok so after seeing linkman's awesome replay example, I've been working on ways to streamline the idea into a less cpu hungry method. So far my best effort is only recording the changes over time rather then every single frame etc

    for example: at 1000 milliseconds user presses W, at 2034 user releases W

    And then when playing back the replay, I let my engine play out my keystrokes just as I pressed them.

    So far it works real great with keystrokes.

    I've hit a bit of a snag though, I'm using 'always rotate object 360 * timedelta towards the mouse', the only problem is, I'm having a lot of difficulty testing to see if the object is turning.

    (It's a custom movement obviously)

    The ideal way i'd LIKE to have it is something like this (pseudocode)

    1005 milliseconds, user starts left turn

    2400 milliseconds, user ceases left hand turn

    As I'm using an always event that rotates the sprite, Is there any way of testing the rotate state of the sprite? ie: Static, Turning left, Turning Right

    If i was using the keyboard for turns it would be no problem, but i'd rather use the mouse to aim.

    A 'Rotate towards angle' system action would be really handy but I don't know if it would entirely solve my problem

    Any ideas?

    Have I explained the problem adequately?

  • One thing that I really liked in games factory and mmf is when you copied some events from say another game, and the events had references to objects that didn't exist in the current game, it put a little placeholder that meant the object didn't exist. You could then right click on it and make it so any reference to the old object can now refer to an object that you specify.

    It was really handy and you could do it with any object at any time.

    I believe such a feature would be really beneficial in construct and i think it would also help with copying event sheets between games

    that's all

  • thanks. legend

  • Having a few problems, how do you convert a gettoken thing into a value?

  • Yeah i was already thinking of ways to interpolate it, i was thinking something like, instead of recording the position and angle by themselves, record the position, angle AND it's speed, then play it back at larger intervals and let construct fill in the middle bits.

    Some questions

    Does the normal list object work in the same way?

    Would using the ini object to do this be more cpu intensive?

    And about inis, can you make them a binary resource?

    or am i better off just using the listbox object?

    Thanks for the awesome idea anyways, definately gonna use it

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Is this the best way to do this?

    I tried this with my super speed example, looks cool

    But i just wanna know if this is the best way to do this sort of thing or is there a slightly more cpu efficient way of doing it? With the multiple objects i just made each one a container with a list box each, then just used the same events you made.

    Works well, I just don't know if this is like, cpu intensive or what, especially when it gets to a full game level

  • Is this a custom physics engine you're making?

    I've tried many times and it's the bounces that get me.

    If there was a way to use the ball behaviour's bounce code in custom engines then i'd have no problem, finding normals from raster images is a pain in the bum

    But with you're code, if it's a custom one, I think you'd only need one set of X and Y movement variables, because as soon as something hits it, you could just alter the one set of X and Y variables accordingly.

    eg: Xcomponent = 50

    then he runs into something: Xcomponent = -20

    etc, so it would just look like he bounces off it, you would of course have to set the Ycomponent ones too obviously.

    I'm no maths genius but for working out the weight of things and how they will affect your movement on collisions (this is assuming that somehow we got the bounces working) you would need a Mass variable for each object (if this is custom, if using the physics behavior, just use it's mass field) and then you can work out the momentum, which i believe is Speed * Mass

    You can easily work out the Speed by using the system function distance(0, 0, Xcomponent, Ycomponent). Then again i could be completely wrong

    I wouldn't know how to change your movement variables once they collide, but i'm pretty sure you'd have all the numbers there that you need, if i was you i would just play around with it until i got it right. Like i said i'm no maths genius, i'm sure there's someone here who is though and might be able to shed some more light on the whole thing.

    P.S. Hi Devs

  • Thanks Ash you're a legend

  • So a few of my effects are doing weird things. I have an Nvidia 8500 GT, drivers are up to date

    Windows XP

    I have everything in the Nvidia settings set to application controlled. The only thing that's different to default is my colour correction, which when changed back to default makes no difference anyway.

    Motion blur no longer works properly for me, here's what it look like:

    Before Motion Blur

    After Motion Blur

    Multiply also does some weird things, it's like it constantly pastes the image onto something, for the purposes of this example i just put multiply on the playfield layer.

    Also, are the effects with an equivalently named plus effect, eg: additive, additive plus, named correctly? The one's without plus have in the description that they have intensity, but they don't, and vice versa

  • Yay thanks you fixed it

    I still don't quite understand the timedelta scrolling thing you mentioned, but any improvment on construct is good news

  • Here's a slightly revised version of my super speed example that i posted ages ago

    http://www.mediafire.com/?nq2zmenzncm

    I always had a problem with it using motion blur, where if the player was moving when you slow time down, the player would move REALLY fast, basically as fast as he would be going if time wasn't slowed down.

    Now with the new timedelta change, almost the opposite happens, regardless of motion blur, at the end of the slow down, he still kinda jumps a bit, but as soon as you start returning to normal timescale (i made the game ease in and out of slow time rather than just change the speed instantly), the player goes the speed he was going when the timescale was really slow, which is REALLY FAST. For the example's sake, i only made the player move 100 times faster, but if you change the TimeScaleTarget variable in the 'start of layout' to like 0.000001, try it out and watch the craziness.

    If I haven't fully explained how this works, basically, the game speeds the player up the same ratio that timescale slows the game down, giving the appearance that the player is still moving normal speed while everything else slows down. Still rather buggy now.

    Anyone know a better way to do this? Or can this be fixed due to my bad coding?

  • Sorry to bump this up but I don't want it to be forgottens

    Anyone know a better way to pick the object with the highest height variable that is lower than the player's height? Whilst he's overlapping it that is

  • Here's my Iso-ish engine as it stands.

    http://www.mediafire.com/?m2wnzmogmjx

    A few of the Z ordering problems are just number related i think, like the sprites have to be a certain height or something. Anyway it looks ALMOST done, but it actually isn't. There's still a few subtle Z order problems.

    The reason I'm putting it here is, in the game, try jumping around on the boxes in the lower right portion of the level. You will find that you can manage to jump inside the big box, also due to the same problem, you cannot climb up on the bottom stack of boxes (you can however jump across)

    The problem, i believe, stems from something odd with the picking. I'm using 'is overlapping' to pick the objects the game knows are 'beneath' the player. I -think- it has something to do with the UID/order that I put the collision objects into layout. It's not working as intented, i basically want this:

    If the player is higher than the obstacle, move the height offset variable to the height of the obstacle, therefor making the player able to stand on top of it when he lands.

    But in some cases, if the controller object collides with an object lower than that on an obstacle that the player is already standing on, the player falls to the height of the collided obstacle, rather than just staying above it like he should. It also goes the other way too, sometimes, when standing on a small obstacle, when jumping onto a taller obstacle, the height offset isn't updated until the controller object isn't overlapping the smaller obstacle at all.

    I can't really explain, just play it and see

    Does anyone know a better way of picking the objects rather than 'is overlapping?' Or is there a bug in 'is overlapping?' that needs fixing?