Struktura gry z teorii

2015-01-16 22:28
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.

Pozostało 580 znaków

2015-01-16 22:42
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


Wykonuję programy na zamówienie, pisać na Priv.
Asm/C/C++/Pascal/Delphi/Java/C#/PHP/JS oraz inne języki.
Co do czołgu, skąd będę wiedział kiedy wystrzelono pocisk, co jeśli wystrzeli kilka w ciągu jednego update? Z czołgiem to tylko przykład, chodzi ze jakiś obiekt dodaje coś od siebie / jakiś nowy obiekt do świata gry. - abbq 2015-01-16 22:58
Update rób 100/200 razy na sekundę, upewnij się aby nie było tak szybkostrzelnych obiektów. - _13th_Dragon 2015-01-16 23:01
@abbq - na temat dyskutuj w postach; - furious programming 2015-01-16 23:57
Odnośnie pierwszych, dwóch zdań - generalnie, tak się nie pisze gier. Unika się rozbudowanych hierarchii dziedziczenia, zamiast tego stosuje się kompozycję. - satirev 2015-01-17 00:20
Jednak dla początkującego ... - _13th_Dragon 2015-01-17 00:21

Pozostało 580 znaków

2015-01-17 00:21

@abbq zainteresuj się tematem entity component system.

Pozostało 580 znaków

Liczba odpowiedzi na stronę

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