World of Goo -Engine

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • World of Goo -Engine

      Ich hab mir gedacht mein Problem passt eher in diesen Thread:
      Also, ich versuche so eine Engine hinzubekommen, vergleichbar mit world of goo, oder bridge builder.
      Für die die World of goo nicht kennen, in diesem Spiel kann man punkte die der schwerkraft unterliegen miteinander verstreben und somit zbs. einen Turm bauen.
      Diese Streben sind aber nicht komplett stabil sondern können sich stauchen und dehnen. Somit kann der Turm also auch umfallen wenn er nicht stabil genug gebaut wurde.
      Ein ähnlicher Thread ist auch im Smalltalk Bereich namens "Physic des Flummiballs" , welcher sich mit einem ähnlichen Problem beschäftigt.

      Nun zum eigentlichen Problem:
      Ich schaffe es zwar das ich die Punkte miteinander verstrebe, und sie sich gegenseitig abstützen, hier ist der code:

      var i;
      i=0
      while i<ds_list_size(anderen)
      {

      gegner=ds_list_find_value(anderen,i);
      dist=point_distance(gegner.x,gegner.y,x,y);
      force_add=(dist-ds_list_find_value(laenge,i))/10; <---------die rote zahl ist der wert der die Härte der Streben bestimmt, je kleiner um so härter
      richtung=point_direction(x,y,gegner.x,gegner.y);
      add_force_direction(h,force_add,richtung,0)
      i+=1
      }



      Allerdings fangen sie mehr und mehr um "zittern" an bis sie schließlich regelrecht auseinander explodieren und quer durch den raum fliegen.
      Also hab ich sowas wie friction eingebaut:

      richt=get_body_direction(h)
      sped=get_body_speed(h)
      add_force_direction(h,-sped*0.002,richt,0) //friction

      Nun gut jetzt zittert das ganze nicht mehr so, dafür ist die gravity langsamer/schwächer.
      Die Gravity ein wenig raufgedreht, dafür sind die punkte jetzt wieder schwerer und die Streben knicken zu schnell ein.
      Also die Härte der Streben geändert (siehe im ersten code oben den roten Wert).
      Jetzt fängt das ganze wieder an voll zu zittern und zu explodieren.

      Das ganze ist also eine Komposition von gravity, Härte der streben, und friction.
      Allerdings ist mir noch gänzlich unbekant WARUM die Streben eigentlich anfangen zu zittern und wie man das beheben könnte.

      Zur veranschaulichung habe ich noch die gm6 hochgeladen.
      Wäre sehr nett wenn ihr euch mit diesem Thema ein bischen auseinandersetzt.

      EDIT:
      achja genau..in dem example kann man mit linker maustaste punkte setzten und mit der rechten ziehend 2 punkte miteinander verstreben.
      Mit dem grünen Pfeil könnt ihr die Physik ein und ausschalten.


      Dateien
      • engine.zip

        (94,76 kB, 294 mal heruntergeladen, zuletzt: )

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von domi ()

    • Klappt leider nicht :(
      Ich kann klicken wie und wo ich will, es kommt kein Punkt.
      Egal mit welcher Maustaste oder sonstwie. Hätte es
      gerne getestet...

      Magical dream time!
    • du musst das rar-file zuerst entpacken damit es funktioniert.
      Das gibt es doch nicht das niemand die Lösung dieses Problemes kennt, obwohl die datei schon 25 mal runter geladen wurde.
      Bei World of goo hat es doch auch geklappt, oder bei diesen videos: youtube.com/watch?v=CtVSaJnecRI
      oder bei dem hier: youtube.com/watch?v=1_XtmMbkKso&feature=related
    • Ich hab mir jetzt nicht alles durchgelesen, aber bei den Videos die du gepostet hast steht ein Kommentar wo er meint, das er bei seinem anderen Video die ganze Source stehen hat.
      youtube.com/watch?v=CtVSaJnecRI
      Da die ersten Kommentare auf der Seite.
    • ja den post habe ich selber gemacht :)
      er meinte sogar er lade den code hoch, da ich ihn nirgendwo bei seinen videos finden konnte...
      bis jetzt hat sich noch nichts getan, ich schreib ihn nochmal per email an...
      EDIT:
      Ich hab jetzt das gmk file von dem Macher dieser engine bekommen...
      habs mir angesehen, blicke aber leider nicht ganz durch.
      Der typ scheint gml wirklich drauf zu haben.
      Wenn ihr wollt könnt ihr sie euch ansehen, und wenn jemand glaubt er weiß wie das funktioniert, wäre es nett wenn er es in diesem Thread erleutern könnte.

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von domi ()

    • hoppla, hab ganz vergessen nen download link rein zu machen....
      vl ist es besser ich schreib den link jetzt nicht hier rein, sondern die die wirklick daran interessiert sind, schreiben mir eine pn und ich gib ihnen dann den link, unter der vorraussetzung, dass sie die datei oder link nicht weitergeben.
      Denn wenn ich der Macher dieser Engine wäre , würde ich es auch nicht gern haben wenn alle freien Zugriff auf den source code haben in den ihc so viel arbeit gesteckt habe.
    • Benutzer online 1

      1 Besucher