ball engine

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

  • ball engine

    hi

    ich arbeite ja schon länger an einer selbstspielbaren onlinefußballmanager übersetzung.

    das dribbeln die grafiken sind schon fertig aber ich bekomme es nicht hin eine realstische ballphysik zu machen.


    das game ist komplett in 2D aber ich schaff es nicht das der ball wenn er getreten wird so ausieht das er hoch in die luft geht ?
    später soll ja noch ein spieler bestimmte eigenschaften haben wie stärke etc. und das soll ja auch den ball beinflussen. ein rpg zu machen war um 100% leichter. da konnte ich sogar selber einiges proggen aber bei einer ballengine.. naj a da gehört wohl einiges dazu damit das realistisch wird.


    da ich so gut wie keine ahnung habe von proggen frag ich mich ernsthaft ob das mit dem gamemaker überhaupt möglich ist ein fußballgame zu machen ?

    ich such jetzt schon 2. tage nach einer gegeigneten engine. ich hab auch extrem gute sachen gefunde aber alles nur für autos rpgs etc.




    ps: mir ist klar das mir hier keiner eine engine für mein projekt proggen wird aber mich würd es freuen wenn ihr mir anregungen geben könntet oder irgendwelche links.^^



    mfg

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von MrHp ()

  • Ich kann das Video leider nicht sehen (Link ungültig), aber ich gehe mal davon aus, dass du ein Spiel aus der Vogelperspektive meinst.

    Bei 2D ist Tiefe immer so 'ne Sache...
    Das is nich ganz ohne, aber ich würde sagen man kann dafür gut die Depth (oder eine eigens definierte Variable) für die 3. Koordinate nehmen und das Sprites des Balls einfach je nach Höhe der Depth vergrößern. Außerdem hilft diese dann auch dabei abzufragen ob die Spieler überhaupt an den Ball drankommen.

    Und wenn wir schon mal dabei sind kann man den optischen Effekt durch Ballschatten noch etwas verstärken.

    Ich dachte mir das in etwa so:
    Dateien
    • balldistance.zip

      (11,85 kB, 134 mal heruntergeladen, zuletzt: )
    Hier werden sie geholfen:
    [Regeln] [GML] [Hilfe] [Suche] [Posten] [Duden.de]
    [Wenn das alles nicht mehr hilft] [Dunning-Kruger]


    "Die Vernunft sollte Autorität definieren; nicht umgekehrt!"
    "Selber denken regt das Gehirn an."
    - Niffel f.k.a. Kilik
  • youtube.com/watch?v=8KgLlPZNlHQ

    ok jetzt geht der link.





    danke find das bsp. super .nur soll mei game eine 1-1 übersetzung sein. der ball sollte daher genau so fliegen wie dort. der hüpft auch noch wenn er aufkommt .



    das mit der abfrage und den depth könntest du mir noch mal kurz erklären bitte.

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von MrHp ()

  • Also der Link zunzt schonmal nicht...
    Und das mit dem Hüpfen kann man ja auch noch recht gut mit der Bounce-Funktion realisieren.

    Naja, und das mit der Depth-Abfrage is eigentlich nur relevant, wenn die Perspektive von oben wäre.
    Ansonsten is das eher egal.
    Hier werden sie geholfen:
    [Regeln] [GML] [Hilfe] [Suche] [Posten] [Duden.de]
    [Wenn das alles nicht mehr hilft] [Dunning-Kruger]


    "Die Vernunft sollte Autorität definieren; nicht umgekehrt!"
    "Selber denken regt das Gehirn an."
    - Niffel f.k.a. Kilik
  • hab vor langer zeit mal dieses minispiel gemacht:

    sahetama.de/soccer8.zip


    das prinzip ist:

    man gibt dem ball eine Y koordinate
    und einen schatten

    der ball ist der schatten, da dieser sich 2d bewegt

    das ballsprite wird um Y nach oben verschoben gedrawt


    gruß
    iTeM

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

  • Wie kilik bereits gesagt hat brauchst du noch eine variable wie z.B. depth und entsprechend musst du dann deinen Ball so zeichnen (Draw-Event des Balls):

    GML-Quellcode

    1. draw_sprite(spr_ball,-1,x,y-z);
    2. draw_sprite(spr_ball_schatten,-1,x,y); // wenn du einen Schatten des Balls haben willst damit's plastischer wirkt


    Ich hab hier mal statt depth die Variable z verwendet, weil du depth höchstwahrscheinlich auch noch anders verwenden möchtest.

    Damit der Ball jetzt auch realistisch fliegt brauchst du noch eine Geschwindigkeitsvariable in z-Richtung z.B. zspeed. Und dann noch folgenden Code ins Step-Event:

    GML-Quellcode

    1. zspeed -= 0.2; // Fallbeschleunigung
    2. z += zspeed;
    3. if (z >= 0) {
    4. z = 0;
    5. zspeed *= -0.4; // Abprallwirkung vom Boden
    6. }


    Natürlich nicht vergessen die neuen Variablen zu initialisieren. ;)
  • ok danke das hilft mir sehr. hätte ich mir nicht gedacht das ich noch mal was probieren kann :)


    jetzt muss ich sehen wie ich das umsetze und ich das spiel einbaue.... ein normales fußballspiel würde ich schon solala hinkriegen aber es soll ja 1-1 übersetzt werden und das ist echt knifflig.


    ok ich werd jetzt mal daran arbeiten danke erstmal :)