Książki o programowaniu gier, które nie uczą programowania? [Zamknięte]


29

Jestem normalnym programistą z około 3-letnim doświadczeniem, który interesuje się tworzeniem gier. Problem, z którym się zmagam, polega na tym, że kiedy patrzę na te „początkujące” książki, większość z nich uczy podstawowych umiejętności programowania i nie mam cierpliwości, aby się nimi zająć lub uznać je za wartościowe. Ale kiedy patrzę na bardziej zaawansowane książki, są one nad moją głową i po raz kolejny są dla mnie bezowocne. To, czego szukam, to książki, które wyjaśniają drobiazgowe wnętrze gier, ale na bardziej rozsądnym poziomie.

Na przykład, jestem bardzo zaznajomiony z wszelkiego rodzaju strukturami danych (skróty, drzewa, listy połączone) i wieloma popularnymi algorytmami (sortowanie, wyszukiwanie), ale nie wiedziałbym, jak, powiedzmy, skutecznie wdrożyć wykrywanie kolizji. Mam również doświadczenie w korzystaniu z zagranicznych bibliotek, więc wiem, jak korzystać z dokumentacji, aby nauczyć się interfejsu API, więc nie potrzebuję też książki „Naucz się korzystać z X”.

Osobiście nie dbam o to, jakie platformy / języki / biblioteki są używane w książkach, ponieważ czuję się swobodnie w wielu językach, ale gra, w którą zamierzam stworzyć, używa Javascript i płótna HTML5.

Jakieś sugestie? Czy ktoś jest wolny?

PS Powinienem zauważyć, że mój poziom matematyki i fizyki jest stosunkowo niski, a książka, która delikatnie zintegrowałaby te rzeczy, byłaby plusem.

EDYCJA: Powinienem wspomnieć, że interesuję się programowaniem 2D i na tym etapie tak naprawdę nie dbam o 3D.


1
Czy próbowałeś przeglądać / przewracać strony z rzeczami, które już znasz?
Ricket

Odpowiedzi:



9

Jaki aspekt programowania gier Cię interesuje? Istnieje wiele książek omawiających konkretne aspekty programowania gier. Uruchomienie gry nie jest trudne, a każda logika gry przypomina zarządzanie danymi w innych aplikacjach, być może bardziej związane z szybkością wykonywania. Jednak zajmowanie się programowaniem graficznym może być czymś zupełnie innym. Zacznij od podstawowej struktury gry, a następnie skup się na jednym obszarze, który Cię interesuje, takim jak zaprojektowanie solidnego systemu walki, synchronizacja animacji lub shaderów.

Książki o typie informacji ogólnych, które uznałem za przydatne:

Prawdopodobnie jesteś na etapie, w którym uzyskasz najwięcej informacji, przeglądając różne posty z samouczków dla konkretnych silników w Internecie. Jest też wystarczająco przyzwoita liczba gier typu open source, które możesz sprawdzić.

Jedną ciekawą rzeczą do zbadania może być silnik Monocle .


Edytuj :

Jeśli chodzi o matematykę, trochę się trzęsę na fundamentach. Dobrym źródłem informacji o tych ogólnych obszarach tematycznych jest Khan Academy .

Aby uzyskać inne darmowe rzeczy, po prostu przejrzyj GameDev.net i ewentualnie artykuły MSDN dotyczące XNA.


6

Jeśli jesteś pewny programowania obiektowego, powinieneś upewnić się, że wybierasz coś, co obejmuje projektowanie zorientowane na komponenty. Jest to podejście programistyczne w ramach OOP, które jest bardzo skuteczne w tworzeniu gier i stało się standardowym podejściem w ciągu ostatniej dekady.

Dwa zasoby, które znacznie przyczyniły się do mojego zrozumienia ChZT:

Odpowiedź na przepełnienie stosu zawiera niesamowitą listę zasobów: Inżynieria oprogramowania oparta na komponentach w literaturze gry .

Uwaga: ChZT nie jest wykorzystywany wyłącznie przy tworzeniu gier. Możesz znaleźć zasoby, które wyjaśniają ChZT w zupełnie innych kontekstach, co niekoniecznie będzie pomocne w zrozumieniu roli, jaką odgrywa w grach (YMMV).



5

Polecam wprowadzenie do programowania gier za pomocą DirectX 9.0c: podejście Shadera autorstwa Franka Luny. Jest również dostępny dla D3D10, jeśli jesteś ciekawy. Książka zakłada podstawową znajomość języka C ++, ale nie jest specyficzna dla gry i nie ma COM, i zaczyna się od różnych podstaw matematycznych, takich jak wektory i macierze, i dość delikatnie prowadzi użytkownika przez konfigurację gier od podstawowej do pośredniej. Godne uwagi jest oczywiście to, że z biegiem czasu rzeczy się zmieniają - na przykład nie uczy instancji sprzętowych ani innych optymalizacji, które są stosunkowo nowe.


Chociaż biorąc pod uwagę znaczące zmiany między 9 a 10, wybrałbym teraz wersję dla DirectX 10.
John Robertson,

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.