3d racing game - Curves............yeah!

SparkyidrSparkyidr Member Posts: 2,033
edited November -1 in Working with GS (Mac)
Just started playing with a way to do curved roads in the pseudo 3d racing style.

Still VERY early yet, as you can see, the segments I have used are pretty chunky (8px high), but you can see the effect is pretty much working as expected :o)



if only the scene editor was as robust as it needs to be.

e.g. placing all the segments at 8px intervals should have been enough...but no, one you hit play, some of them shift a bit.. so I had to compensate by moving them to the wrong places in the editor....aaaaaaanyways.

Gonna polish this a bit more, then it will be added to the main template as a free update once it's looking a bit nicer. (for those that care to know)

As for performance. Runs at 60fps. When the shift left or right happens, it drops a couple of frames (58 is the min I have seen), but once the movement stops it's back up to 60....bear in mind there is no optimisation going on at all....just my very messy rules :o)
«1

Comments

  • hrsmediahrsmedia Member Posts: 522
    Very nice!
  • quantumsheepquantumsheep Member Posts: 8,188
    This makes me giggle like a schoolgirl!

    teeheeheeheehee

    QS :D

    Dr. Sam Beckett never returned home...
    Twitter: https://twitter.com/Quantum_Sheep
    Web: https://quantumsheep.itch.io

  • frariofrario Member Posts: 164
    Haha this is sure fun experimenting!
    Great idea :)

    Do you think that having two 480px wide actors animating side by side with rules on wich animation do would be too heavy for GS?
  • mynameisacemynameisace Hull, UKMember Posts: 2,484
    Your fluffy back makes me giggle like a school girl

    Ace
  • SparkyidrSparkyidr Member Posts: 2,033
    GS guys.......What I need is :

    Access to the attributes (Xpos Ypos etc etc) direct from the editor, rather than having to go into the object to edit, then back to the scene, then into the next actor...all the time with GS slowing down more and more.
    Would make life a billion times easier.

    As it is at the mo, editing this has been soooooo tedious.
  • SparkyidrSparkyidr Member Posts: 2,033
    frario said:
    Haha this is sure fun experimenting!
    Great idea :)

    Do you think that having two 480px wide actors animating side by side with rules on wich animation do would be too heavy for GS?

    you could do that, but then flicking from animation1 (ahead) to animation2 (left) for example, wouldn't give you a smooth transition from ahead to cornering.
    (if I have understood your theory correctly)
  • butterbeanbutterbean Member Posts: 4,315
    Nice job!! Brought a tear to my eye ;)
  • SparkyidrSparkyidr Member Posts: 2,033
    butterbean said:
    Nice job!! Brought a tear to my eye ;)

    I think it's going to be pretty cool once I get it looking nice.

    How I wish for arrays though.

    Imagine a set of arrays called "tracks" each one is filled with info like......

    ahead
    ahead
    left
    ahead
    left
    sharpleft
    ahead
    sharpright
    right
    ahead
    ahead

    etc

    ;)
  • ktfrightktfright Member Posts: 964
    This is all I can think of...

  • SparkyidrSparkyidr Member Posts: 2,033
    ktfright said:
    This is all I can think of...



    I love that bit in the film

    "So BAD!"

    I love it when he says he has all 97(!) NES games too. lol.
  • rdcuberdcube Member Posts: 361
    Sparkyidr,
    Don't mean to cause any problems and/or start any polemic discussions about 'tools', but, have you considered trying this with Corona or any other engine that supports array just to see if you're able to get the results you want.

    so far, this is is looking awesome, might want to pair with utopian and see how they're tapping into the back-end of GS to get other results.

    -RD
  • ScootsScoots Member Posts: 507
    I admire the way you keep pushing GS Sparkyidr, keep it up very cool
  • SparkyidrSparkyidr Member Posts: 2,033
    @rdcube

    I'm really only doing all this to see what's actually possible using oldstyle techniques with GS.
    In an ideal world for this type of effect(s) we would need bitmap manipulation and arrays etc. But it's more to show that with a little lateral thinking, you can pretty much do whatever you can think of....you just have to think of a way to actually do it.

    I'm not doing this with the aim of making a game (I actually have a game in development right now that uses none of what I am doing), I'm doing it to see what the tool we use can actually do when it's pushed out of it's comfort zone....and hopefully help other people along the way if they are into what I am doing.

    If I were doing it in Corona, sure I would have the arrays, but I would still have the issue of no bitmap skewing and stuff like that, so would come up against a lot of the similar issues to overcome.

    It's also to show that, whilst GS has it;s shortcomings (as do pretty much all the other game engines out there)m, that with a bit of imagination (and a lot of remembering back to my A Level maths) you can do some pretty cool things.

    (not aimed at anyone one person in particular but.....)
    Don't just sit there whining that "I can't make the (insert game genre here) game that I want cos it slows down when I have 500 baddies onscreen, and the controls are funny, and this...and that and the other".................I've got a pretty passable retro 3d looking thing that runs at 60fps...so ner!

    ;o)
  • AsymptoteellAsymptoteell Member Posts: 1,362
    Sparkyidr said:
    @rdcube

    I'm really only doing all this to see what's actually possible using oldstyle techniques with GS.
    In an ideal world for this type of effect(s) we would need bitmap manipulation and arrays etc. But it's more to show that with a little lateral thinking, you can pretty much do whatever you can think of....you just have to think of a way to actually do it.

    Very true. At the start of the day, I thought I would never be able to connect objects and make them all behave with physics and collision, but then I started using linear velocity constraints and I can now make connectors for my game! Gamesalad's very versatile, but the answer isn't always immediately clear.
  • SparkyidrSparkyidr Member Posts: 2,033
    @Asymptoteell
    >>the answer isn't always immediately clear.

    I also think that GameSalad's "Game Development for Everyone" ethos has made a lot of people not want to look for the answer and expect to have it handed to them in an easy way by the software.....which just can't be the case if you want to anything out of the ordinary.
  • UtopianGamesUtopianGames Member Posts: 5,692
    Do Space harrier.....please....pretty please :)

    Darren.
  • quantumsheepquantumsheep Member Posts: 8,188
    Sparkyidr said:
    I think it's going to be pretty cool once I get it looking nice.

    How I wish for arrays though.

    Imagine a set of arrays called "tracks" each one is filled with info like......

    ahead
    ahead
    left
    ahead
    left
    sharpleft
    ahead
    sharpright
    right
    ahead
    ahead

    etc

    ;)

    Could you not use variables to represent the different parts, then use a timer to initiate the change between those parts?

    QS :D

    Dr. Sam Beckett never returned home...
    Twitter: https://twitter.com/Quantum_Sheep
    Web: https://quantumsheep.itch.io

  • SparkyidrSparkyidr Member Posts: 2,033
    I thought a timer too. Which would be fine if you were say, driving at a constant speed.

    because the player will be speeding up and slowing down over time (crashing into things etc), the timers wouldn't give you a consistent course each and every time you played.

    You could make a sort of never ending car dodgy game like that though.. like every (random 3,5) seconds set a choice of left, right, straight, s-bend etc.
  • SparkyidrSparkyidr Member Posts: 2,033
    Check this badboy version with 2pixel segments



    I tried 1pixel... but GS seemed to have trouble having 1px actors touching.......(pixelist!)

    Anyways.. runs like sh'te on the device.
    Sits at 60 fps, when I set a corner in motion, it drops to around 40 ish as it's happening. Back to 60 once the corner is made though.

    But it messes with the fade lines when the fps drops
  • SparkyidrSparkyidr Member Posts: 2,033
    utopiangames said:
    Do Space harrier.....please....pretty please :)

    Darren.

    Space Harrier shouldn't be a big stretch away from the Afterburner I did earlier in the week really. :o)
  • mynameisacemynameisace Hull, UKMember Posts: 2,484
    Looking awesome with 2 pixels now! Really smooth!

    Ace
  • cbtcbt Member Posts: 644
    Why do you keep "Right Bend" on the left and "Left Bend" on the right spark?

    :D
  • quantumsheepquantumsheep Member Posts: 8,188
    Sparkyidr said:
    I thought a timer too. Which would be fine if you were say, driving at a constant speed.

    because the player will be speeding up and slowing down over time (crashing into things etc), the timers wouldn't give you a consistent course each and every time you played.

    You could make a sort of never ending car dodgy game like that though.. like every (random 3,5) seconds set a choice of left, right, straight, s-bend etc.

    Well, couldn't you have a counter - while car is ok, add 1 to counter.
    Then it would only count up by 1 (or whatever) while the car is moving.

    You could tie the counter to the speed.

    Then, when the counter reaches a certain number, insert corner.

    etc

    :D

    Dr. Sam Beckett never returned home...
    Twitter: https://twitter.com/Quantum_Sheep
    Web: https://quantumsheep.itch.io

  • UtopianGamesUtopianGames Member Posts: 5,692
    Your making me look like a noob....please stop posting these videos!!!

    Honestly....it looks fantastic and i LOVE it.

    Darren.
  • SparkyidrSparkyidr Member Posts: 2,033
    @Sheep
    yeah, a counter would totally work I think. Bit more fiddly than using an array....but needs must.

    @Darren.. performance is rubbish tho.. it's all style and no substance heh.

    Whilst playing with the functions to do the movement of the road, I stuck in some wrong functions/numbers....and it looked cool. I wanna make an oldskool Amiga style demo I think :o)
    That would be fun. Maybe I could start the GS demo scene.

    It's like the 80's never ended. I should code whilst wearing cream coloured chinos, a batwing jumper with shoulder pads, and a flock of seagulls hairstyle from now on.
  • SparkyidrSparkyidr Member Posts: 2,033
    cbt said:
    Why do you keep "Right Bend" on the left and "Left Bend" on the right spark?

    :D

    I'm not really sure.. never noticed till you pointed it out :o)

    I think maybe cos of the way it's made.. a left hand bend, is actually a "move stuff right" kind of function...so my brain decided to stick it on the right
  • cbtcbt Member Posts: 644
    Wow.. So anyone who reads that post will hopefully understand maybe the tiniest fraction of what we are trying to explain. "How a game developers mind work"

    :D
  • FjantIncFjantInc Member Posts: 115
    Looking really sweet!
  • Player_EPlayer_E Member, PRO Posts: 604
    Looks sweet, just a question. Could you take the horizontal lines off the track itself and just leave it on the grass?

    I think that would make it look better visually, at least in my opinion.
  • HoneyTribeStudiosHoneyTribeStudios Member Posts: 1,792
    Sparkyidr said:
    I thought a timer too. Which would be fine if you were say, driving at a constant speed.

    because the player will be speeding up and slowing down over time (crashing into things etc), the timers wouldn't give you a consistent course each and every time you played.

    You could make a sort of never ending car dodgy game like that though.. like every (random 3,5) seconds set a choice of left, right, straight, s-bend etc.

    Or how about for a consistent race track just define a simple distance attribute and have the turns etc activate when distance = x

    How about a jet ski level too? :o)
Sign In or Register to comment.