Objekte verfolgen andere Objekte und Online Games

  • Objekte verfolgen andere Objekte und Online Games

    Ich habe da 2 wichtige Fragen die mich längere Zeit beschäftigen:

    die erste:

    Ich habe nun ein Fahreug als Sprite. Ich möchte nun die Räder des Fahrzeugs separat als Objekte definieren. Das ist ok. Ich mache es einfach so das die Objekte den Fahrzeug folgen.

    Doch nun das Problem: Wie mache ic hdas wenn ich mehrere Fahrzeuge desselben Objekts in einem Room sind, dass die "Reifen" immer den Richtigem Fahrzeug zugewiesen werden? Ich versuche schon länger eine Lösung für das Problem gesucht...
    _____

    Zu Online Games:

    Ich habe mich zwar noch nicht mit Spielen beschäftigt die irgendwelche Daten zwischen Computern schicken, doch ich möchte als Anfänger einige Fragen aus der Welt schaffen.

    Ist für Online Games ein Server nötig? Oder kann ein Host als Server fungieren? (Was fürn ne blöde frage.... aber ich frag halt mal.^^)
    Wenn ja, Ist es möglich das ein Host als Server für andere Spieler fungiert? Sodass mehr als 2 Spieler möglich sind?
  • eigentlich ganz einfach. zunächst bräuchtest du dafür 2 reifenobjecte.bzw für jeden reifen ein eigenes
    Dann schreibst du im auto create event

    GML-Quellcode

    1. id_other1=instance_create(x,y,reifen1)
    2. id_other2=instance_create(x,y,reifen2)

    und ins step event:

    GML-Quellcode

    1. id_other1.x=x+irgendwas
    2. id_other1.y=y+irgendwas
    3. id_other2.x=x+irgendwas
    4. id_other2.y=y+irgendwas

    nicht getestet sollte aber funktionieren.
    mfg gamer_08

    Edit: sowar der code vorher:
    Spoiler anzeigen
    Dann schreibst du im auto create event

    GML-Quellcode

    1. id_other1=instance_create(x,y,reifen1)
    2. id_other2=instance_create(x,y,reifen2)
    3. id_other1.x=x+irgendwas
    4. id_other1.y=y+irgendwas
    5. id_other2.x=x+irgendwas
    6. id_other2.y=y+irgendwas

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

  • LEWA schrieb:

    Zu Online Games:

    Ich habe mich zwar noch nicht mit Spielen beschäftigt die irgendwelche Daten zwischen Computern schicken, doch ich möchte als Anfänger einige Fragen aus der Welt schaffen.

    Ist für Online Games ein Server nötig? Oder kann ein Host als Server fungieren? (Was fürn ne blöde frage.... aber ich frag halt mal.^^)
    Wenn ja, Ist es möglich das ein Host als Server für andere Spieler fungiert? Sodass mehr als 2 Spieler möglich sind?
    Also erst einmal:

    Es ist beides möglich, nur das umwandeln ist schwer. Für das Player= host ist es weniger kompliziert als einen richtigen Server zu proggen.
    Einen richten Server nähmlich kannst du nicht per GM machen, sondern brauchst C++/ Python oder ähnliche Sprachen, da dein Server auf einem Rootserver dann läuft. (Meistens auf Linux basis, so ein Server)

    Dann 2.:

    Die Daten übertragung. Wenn ein Player host ist, ist die Datenübertragung schlechter als wenn du einen richtigen server hast. Somit könnte es in schnellen Spielen online zu problemen kommen. Ein RPG klappt da noch relativ gut, wärend ein Shooter aber ziemlich mies laufen würde.

    Ich denke mal es gibt auch die Möglichkeit die Daten direkt an alle Spieler zu senden und nicht erst über den Server, jedoch hab ich bis jetzt noch kein Tut, Dll oder ähnliches gefunden die das beschreibt/ unterstützt.
  • Hainisoft schrieb:

    Könntest du vielleicht ein paar Infos geben. Z.B. wie viele Fahrzeuge im Raum sind. Oder sieht man es von oben oder von der Seite.


    Wieviel Fahrzeuge bzw von welcher Seite man es sieht ist doch relativ egal. oder?

    Es geht ja darum das jedes Fahrzeug 2 Refien hat die in Verolgen. unabhängig davon wieviele andere Autos des gleichen objekts es gibt.

    @gamer 08:

    Der Ansatz ist zwar gut überlegt, doch wirken tut auch auch nicht. Man muss sich vorstellen das bei mehreren Fahzeugen jeder reifen mit der gleichen ID besetzt wird. Dies ist wiederum wirkungslos.

    Ic hweiss nicht wie ich das Problem lösen soll. Ein Auto soll 2 Reifen haben. Wenn ich aber ein weiteres Auto in den Room setze, dann sollen sich die Reifen der beiden Fahrzeuge nicht "vermischen" bzw den beiden Autos zugewiesen werden. Jedes Fahrzeug soll 2 Reifen besitzen das ihm zugewiesen wurden.
  • Die Reifen brauchen einen Bezugspunkt, am besten in Form einer Id. Diese Id könnte als Variable in jedem Reifen gespeichert sein und gibt an, zu welchem Auto es gehört.
    Der Code könnte so aussehen:

    Create-event:

    GML-Quellcode

    1. n = instance_create(x,y,obj_reifen);
    2. n.origin_id = id;

    Nun weiß jeder Reifen, wo er hingehört, wenn du ihm folgendes zuschreibst:

    Step-event:

    GML-Quellcode

    1. x = origin_id.x;
    2. y = origin_id.y;
  • oder versuchs doch mit

    GML-Quellcode

    1. point_direction


    müsste doch auch klappen o.o

    gibst für jedes Fahrrad einen Wert.
    Dann für Rad 1 und Rad 2 teilst du dann in einem Script mit zu welchem Fahrrad jeweils ein Rad gehören soll o.o

    ansonsten such mal nach examles die was mit verfolgung zu tun haben. (Hatte eins da hat ein Hund immer den Player verfolgt. Das hätte man anpassen können. Leider hab ich das nit mehr...:x)
  • Benutzer online 1

    1 Besucher