Struktura gry z teorii

0

Mam problem z zaplanowaniem mojej gry.

  • piszę w c++ ale temat wydaje mi się niezależny od języka.
    Głównym problemem jest brak jakiegokolwiek doświadczenia, nie wiem gdzie mam co wsadzić, jakie stworzyć klasy.
    Ale po kolei:
  1. Trzymanie obiektów. Załóżmy ze mam nieograniczoną ilość postaci i pojazdów. Jak powinienem to przechowywać? Czy te dwie klasy powinny dziedziczyć z jednej super klasy i potem trzymać obydwa w jednym kontenerze? To ułatwiłoby wykrywanie kolizji. Czy może stworzyć kontener pojazdy i kontener postacie? Co jeśli później dodam jeszcze pojazd pływający / latający itp.. skończę z masą kontenerów, a interakcja miedzy nimi będzie utrudniona. (wiem że można by było te przykłady uogólnić stworzyć jakaś klasę bazową i trzymać wszystko razem, ale np. średnio widzę trzymanie lecącego pocisku i lecącego samolotu razem)
  2. Jakie klasy powinienem stworzyć? gdzie powinna być główna pętla, jakie relacje miedzy klasami powinny zachodzić? Czy wszystkie obiekty dostępne w grze, a wiec takie gdzie zachodzi kolizja/interakcja powinny dziedziczyć z jednej klasy bazowej?
  3. Co jeżeli mam klasę czołg, i na polecenie gracza albo komputera czołg wystrzeliwuje pocisk? Jak to przekazać do świata gry? jedyne rozwiązanie które mi przychodzi do głowy to stworzenie klasy world która będzie odpowiedzialna za wszystkie obiekty, tworzenie nowych, usuwanie itp.. i dać klasie czołg wskaźnik do world?

Jeżeli ktoś ma doświadczenie w tworzeniu gier, proszę o opisanie jak to mniej więcej wygląda z teorii.

0

Wszystkie obiekty niech pochodzą od wspólnej klasy nazwijmy Obiekt po którym dziedziczą pociski, pojazdy, ludzie.
Czołg nie powinien mieć bezpośredniego dostępu do worłd metoda shoot() powinna zwrócić obiekt typu pocisk.
Dla pojazdów powinno się zrobić dwie właściwości: canFly, canFloat

1

@abbq zainteresuj się tematem entity component system.

1 użytkowników online, w tym zalogowanych: 0, gości: 1