Skocz do zawartości

pablo1517

Użytkownicy
  • Postów

    2 138
  • Dołączył

  • Ostatnia wizyta

  • Wygrane w rankingu

    1

Odpowiedzi opublikowane przez pablo1517

  1. Problem może się pojawić w momencie, gdy żaden z nich nie ma publicznego adresu IP. wtedy nie ma jak zaczepić socketa. Kiedyś się zastanawiałem, bo wiem, że jeśli to twój komputer podpina się do innego kompa, to wtedy socket jest już do ciebie zaczepiony, mimo, że sam nie masz zew. IP.

     

    Niech ktoś mądry mi powie czy taki pomysł by wypalił:

    Mamy serwer główny z zew. IP oczywiście. Ten serwer odbiera połączenia od graczy, tworzy socket i następnie, wysyła dwójce graczy ich wzajemne sockety, a oni wysyłają dane pod te sockety. Czy da się wysłać socket?

  2. Lol, przecież można prościej i elastyczniej na przyszłość napisać.

    Dorabiasz sobie do każdej zmiennej dodatkową z docelowa wartoscia.

    Przykład:

    GML (Create)
    renka=0;

    renka_docelowo=78;

    GML (Step)
    if (renka!=renka_docelowo)

    {

    renka+=abs(renka_docelowo-renka);

    }

     

    I tyle wystarczy by zmienne były obsługiwane. Wystarczy zmieniać zmienna renka_docelowo na jaka tobie sie chce wartość, a wartość "renki" zawsze sie dopasuje.

  3. http://en.wikipedia.org/wiki/Advance_Wars

    Moja gra bazuje na zasadach z Advance Wars, lecz wprowadza sporo zmian (nowa grafika (póki co - nie ma jej), pomysłowe jednostki, itd.).

    Grę robię na YYG Competition 05 (a więc zostanie ukończona do 30 marca, tylko multi przez neta zostanie zrobione później).

     

    Czyli innymi słowy koncept i mechanika gry to totalny rip off, a ty dodajesz tylko nowe jednostki zmieniasz grafikę. TOTALNY KLON GRY na konkurs. NAJS!

  4. Zrób sobie nową tablicę np.

    NetObjectsID

    Wszystkim obiektom, które będzie trzeba updateować zrób 1 tego samego parenta, powiedzmy, że prntNetObjects.

    Robisz jakiś tam obiekt kontrolujący i w jego create dajesz coś na wzór:

    GML (Create)
    global.NetObjects=0;

    if (host) // obiektom na hoscie przypisac wlasne id

    {

    with(prntNetObjects)

    {

    _id = global.NetObjects;

    NetObjectsID[global.NetObjects] = self.id;

    global.NetObjects+=1;

    }

    }

    else // obiekty te na kliencie gry nalezy wywalic

    {

    with(prntNetObjects)

    {

    instance_destroy();

    }

    }

     

    Nastepnie kaz hostowi zaraz po tym jak ktos sie dolaczy wyslac wiadomosc z kazdego z tych obiektow z jego pozycja i rodzajem przedmiotu, klient po otrzymaniu takiej wiadomosci tworzy odpowiedni obiekt na odpowieniej pozycji. To przy okazji zalatwi ci problem obiektow jesli ktos dolaczy w trakcie trwania gry.

×
×
  • Dodaj nową pozycję...