Gdzie mogę znaleźć dobre (dobrze zorganizowane) przykłady kodu gry? [Zamknięte]


42

Gdzie mogę znaleźć dobre (dobrze zorganizowane) przykłady kodu gry? Mam nadzieję, że uda mi się zdobyć kilka wskazówek organizacyjnych. Większość przykładów w książkach jest zbyt krótka i nie zawiera wielu szczegółów ze względu na zwięzłość. Szczególnie interesuje mnie sposób grupowania zmiennych i metod, aby inny programista wiedział, gdzie szukać w kodzie. Na przykład inicjalizatory u góry, następnie metody pobierające dane wejściowe, a następnie metody aktualizujące widoki.

Nie dbam o konkretny język, o ile jest to OOP. Spojrzałem na źródła Quake 2 i 3, ale są one prostym C i niewiele pomagają w uzyskiwaniu wskazówek dotyczących organizowania obiektów.

Widziałeś jakieś dobre źródło? Wszelkie wskazówki do kodu, które powodują, że mówisz „wow, to dobrze zorganizowane” byłoby świetne.


1
To nie jest tak naprawdę bezpośrednia odpowiedź, więc zostawię to jako komentarz. Polecam sprawdzenie książki Large-Scale C ++ Software Design autorstwa Johna Lakosa. To było dla mnie bardzo pouczające.
BRaffle,

Odpowiedzi:


19

Kilka komercyjnych gier ma wydany kod źródłowy. Niektóre gry są wymienione tutaj . Nie ma gwarancji, że kod w nich jest dobrze zorganizowany, ale patrząc na kod źródłowy z gier, które odniosły komercyjny sukces, możesz dowiedzieć się, co działa w praktyce.

Ponadto, chociaż nie jest grą, OpenSceneGraph ma wiele składników gry i jest dobrze zaprojektowany w C ++, przy użyciu różnych wzorców projektowych, wtyczek itp. Jest to wystarczająco duża baza kodu i istnieje wystarczająco długo, aby można było się uczyć dużo z tego.


1
Dzięki, lista Wikipedii była przydatna. Wiosna jest naprawdę dobrze zorganizowana - wszystkie metody są pogrupowane według ogólnej funkcji (ładowanie / zapisywanie, rysowanie itp.) Github.com/spring/spring/blob/master/rts/Game/Game.h Aquaria sprawiło, że poczułem się lepiej organizacja kodu: hg.icculus.org/icculus/aquaria/file/f08b7288f92c/Aquaria/... Nie powinienem jednak krytykować, wysyłają prawdziwi artyści.
rozbicie

Dodałbym Ogre jako dobrą referencję do OpenSceneGraph ...
Klaim

6

Bitwa o Wesnoth to:

Darmowa turowa taktyczna gra strategiczna o tematyce fantasy, z udziałem zarówno pojedynczego gracza, jak i online / hotseat

Bezpłatnie jak w open source, na licencji GPL. Ja po prostu znaleźć / Ściągnąłem go, więc nie można powiedzieć, co gra jest jak na razie, ale jest coraz świetne recenzje. Nie wiem też, czy ich kod jest „dobrze zorganizowany” :) Ale hej, to open source .


Naprawdę śmieszne :): p
Qchmqs


4

Jeśli szukasz dobrego OOP - całkiem podobał mi się model obiektowy Doom3 SDK .
Ogre3D jest ciężkim projektem OOP, ale podkreślam, że jest ciężki, ponieważ wydaje mi się, że jest dość rozdęty z wieloma przykładami i wtyczkami.

Powiedz mi co myślisz.




0

Mam źródło prostej, której używamy do zawodów wojny o kod w Windward Wrocks . Myślę, że jest dobrze zorganizowany i całkiem prosty. Ale niektóre części powstały szybko, niezbyt dobrze. To powiedziawszy, nawet w największych zespołach tworzących gry, są części, które są napisane szybko, niezbyt dobrze.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.