0 Favourites

Blober engine update

This forum is currently in read-only mode.
  • well ive been working on my quazi blober game for a week or so and so far ive come up with this, it still has no legs and the gun is lacking animation, but its coming along nicely and im quite proud of it

    im gonna release this open source, but it will likely be one of the last open source releases of this project, its uncommented cause im lazy.

    ive added quite a few things, and changed how the gun looks considerably

    test 'er out and tell me what you think

    http://www.mediafire.com/download.php?t1jgdtmggdj

    PS: why isnt there an uploader for this forum?

  • You can upload your files only in the "Upload" section.

    X: (((Sprite15.x+((Sprite14.x-Sprite15.x)* ('t')))+(((Sprite14.x+((Sprite.ImagePointX(5)-Sprite14.x)* ('t')))-(Sprite15.x+((Sprite14.x-Sprite15.x)* ('t'))))* ('t')))+((((Sprite14.x+((Sprite.ImagePointX(5)-Sprite14.x)* ('t')))+(((Sprite.ImagePointX(5)+((Sprite.ImagePointX(4)-Sprite.ImagePointX(5))* ('t')))-(Sprite14.x+((Sprite.ImagePointX(5)-Sprite14.x)* ('t'))))* ('t')))-((Sprite15.x+((Sprite14.x-Sprite15.x)* ('t')))+(((Sprite14.x+((Sprite.ImagePointX(5)-Sprite14.x)* ('t')))-(Sprite15.x+((Sprite14.x-Sprite15.x)* ('t'))))* ('t'))))* ('t')))
    
    Y: (((Sprite15.y+((Sprite14.y-Sprite15.y)* ('t')))+(((Sprite14.y+((Sprite.ImagePointY(5)-Sprite14.y)* ('t')))-(Sprite15.y+((Sprite14.y-Sprite15.y)* ('t'))))* ('t')))+((((Sprite14.y+((Sprite.ImagePointY(5)-Sprite14.y)* ('t')))+(((Sprite.ImagePointY(5)+((Sprite.ImagePointY(4)-Sprite.ImagePointY(5))* ('t')))-(Sprite14.y+((Sprite.ImagePointY(5)-Sprite14.y)* ('t'))))* ('t')))-((Sprite15.y+((Sprite14.y-Sprite15.y)* ('t')))+(((Sprite14.y+((Sprite.ImagePointY(5)-Sprite14.y)* ('t')))-(Sprite15.y+((Sprite14.y-Sprite15.y)* ('t'))))* ('t'))))* ('t')))
    
    Angle: angle( lerp(lerp(Sprite15.x, Sprite14.x, 't'),lerp(Sprite14.x, Sprite.ImagePointx(5),'t'),'t') , lerp(lerp(Sprite15.y, Sprite14.y, 't'),lerp(Sprite14.y, Sprite.ImagePointy(5),'t'),'t') ,   lerp(lerp(Sprite14.x, Sprite.ImagePointx(5), 't'),lerp(Sprite.ImagePointx(5), Sprite.ImagePointX(4),'t'),'t') , lerp(lerp(Sprite14.y, Sprite.ImagePointy(5), 't'),lerp(Sprite.ImagePointy(5), Sprite.ImagePointy(4),'t'),'t') )[/code:1r6s8h2j]
    Hope you hadn't much debugging this stuff because it looks kinda messy. Sure it looks flawless, but I think you should pay more attention to documenting your code.
  • well yah bezier curves tend to be reallly messy code, and theres not much i could do about it

    but i have a saved cubic curve file in word that i use, then all i have to do is replace all the inputs which are :1:,:2:,:3:,:4: and :t: with whatever id like them to be, so it doesnt take much time to debug.

    right now im just feeling out how to do things,order tends to really matter in this thing since all the parts and movements have to be layered so that they dont jitter ect, and i cant plan for things which i havnt created yet (like legs), after i do that i simply group my events and rename all the sprites, i prefer to work as i go, but i do pre plan in my head and on paper for some stuff.

    i really hate that bezier code, it clogs up the event sheet and it gets really confusing

    it took me 5 tries to get my intial code to work, i was planning on uploading the example i had made, maybe later

  • Woah, that hose is awesome

    How the hell did you even do that? Oh:

    X: (((Sprite15.x+((Sprite14.x-Sprite15.x)* ('t')))+(((Sprite14.x+((Sprite.ImagePointX(5)-Sprite14.x)* ('t')))-(Sprite15.x+((Sprite14.x-Sprite15.x)* ('t'))))* ('t')))+((((Sprite14.x+((Sprite.ImagePointX(5)-Sprite14.x)* ('t')))+(((Sprite.ImagePointX(5)+((Sprite.ImagePointX(4)-Sprite.ImagePointX(5))* ('t')))-(Sprite14.x+((Sprite.ImagePointX(5)-Sprite14.x)* ('t'))))* ('t')))-((Sprite15.x+((Sprite14.x-Sprite15.x)* ('t')))+(((Sprite14.x+((Sprite.ImagePointX(5)-Sprite14.x)* ('t')))-(Sprite15.x+((Sprite14.x-Sprite15.x)* ('t'))))* ('t'))))* ('t')))
    
    Y: (((Sprite15.y+((Sprite14.y-Sprite15.y)* ('t')))+(((Sprite14.y+((Sprite.ImagePointY(5)-Sprite14.y)* ('t')))-(Sprite15.y+((Sprite14.y-Sprite15.y)* ('t'))))* ('t')))+((((Sprite14.y+((Sprite.ImagePointY(5)-Sprite14.y)* ('t')))+(((Sprite.ImagePointY(5)+((Sprite.ImagePointY(4)-Sprite.ImagePointY(5))* ('t')))-(Sprite14.y+((Sprite.ImagePointY(5)-Sprite14.y)* ('t'))))* ('t')))-((Sprite15.y+((Sprite14.y-Sprite15.y)* ('t')))+(((Sprite14.y+((Sprite.ImagePointY(5)-Sprite14.y)* ('t')))-(Sprite15.y+((Sprite14.y-Sprite15.y)* ('t'))))* ('t'))))* ('t')))
    
    Angle: angle( lerp(lerp(Sprite15.x, Sprite14.x, 't'),lerp(Sprite14.x, Sprite.ImagePointx(5),'t'),'t') , lerp(lerp(Sprite15.y, Sprite14.y, 't'),lerp(Sprite14.y, Sprite.ImagePointy(5),'t'),'t') ,   lerp(lerp(Sprite14.x, Sprite.ImagePointx(5), 't'),lerp(Sprite.ImagePointx(5), Sprite.ImagePointX(4),'t'),'t') , lerp(lerp(Sprite14.y, Sprite.ImagePointy(5), 't'),lerp(Sprite.ImagePointy(5), Sprite.ImagePointy(4),'t'),'t') )[/code:1zll5md5]
    

    Ughhhhhh my poor brain. It shuts down just from looking at that code.

    And "lerp" is the sound my guts make when I think about trying something like that myself.

  • Construct 3

    Buy Construct 3

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

    Buy Now Construct 3 users don't see these ads
  • its not that conusing

    edit: LOL conusing, i mean confusing

  • Nice engine, I love this effect Would definitely make for a creative game.

    Does this help simplify the math?

    Qarp(a, b, c, x)

    Quadratic interpolation. Returns lerp(lerp(a, b, x), lerp(b, c, x), x)

  • how can i use qarp for cubic curves?

    is this for that?

    "Quadratic interpolation. Returns lerp(lerp(a, b, x), lerp(b, c, x), x)"

    im unsure what lerp is tho plz explain ill check the wiki 2

    and is x the time value

    a number from 0 to 1

  • how can i use qarp for cubic curves?

    is this for that?

    "Quadratic interpolation. Returns lerp(lerp(a, b, x), lerp(b, c, x), x)"

    im unsure what lerp is tho plz explain ill check the wiki 2

    and is x the time value

    a number from 0 to 1

    Cubic curves would be... lerp(lerp(lerp(a, b, x), lerp(b, c, x), x), lerp(lerp(b, c, x), lerp(c, d, x), x))

    In other words... lerp(qarp(a, b, c, x), qarp(b, c, d, x))

    You should use this instead of self-made expression since it performs faster and is looks cleaner :).

  • Very nice Small suggestion : Make the set y of sprite this:

    Sprite2.y+('y')+ min(0,(sin(Sprite.angle)*40))

    Makes the arms not move away as much and looks better when facing down. I presume u'll limit the directions so if it passes 90 degrees it turns around etc.

    The maths for the pipe was a real mind f***

  • Agh I hate bezier curves. I used them for the beta dead reckoning on Eden back in the day. They are pretty genious though. And that game is looking ridiculously nice. Nice work!

    PS. Comment that code!

  • they are pretty genious, i actually figured out how to do them myself, i read the article on wikipedia and understood nothing about any of them except the simplest line form, then the next day at school during french class (uhggg) i started to jot down ways to do it, and came up with that huge mess of code, it worked tho

    (and when the teacher looked down at my paper her face was all )

    im guessing all your doing to make a cubic is using 3 qudratics used toghether?

    anyway ill replace that later

    and david, i did something like yours but different

    when youre looking down or up (using a compare angle) it has to different scalars (is that the word?)

    so it changes to the current code when you look up, and when you look down another code which pulls the gun back

  • Holy f**king shit dude...

    ~Sol

  • lol this would also be awesome if i gave him a chainsaw and it made tons a blood, its set up so perfectly for that and thank you sol

  • lol this would also be awesome if i gave him a chainsaw and it made tons a blood, its set up so perfectly for that and thank you sol

    OMFG DO IIIIIIIIT!!!!one

  • if youd like to see how id make the blood go to the slime layer, delete the old tint plus instert inverse and insert another tintplus (after the inverse the default 100% red is fine2) then run

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