Ocena:

Książka „Game Programming Algorithms and Techniques” autorstwa Sanjaya Madhava służy jako solidne źródło wprowadzające dla osób początkujących w programowaniu gier i tych, którzy szukają ogólnego przeglądu podstawowych koncepcji tworzenia gier. Chociaż obejmuje szeroki zakres tematów związanych z programowaniem gier, czytelnicy zauważają, że może nie zagłębiać się w zaawansowane tematy lub służyć jako kompleksowy przewodnik referencyjny.
Zalety:⬤ Szeroki zakres podstawowych tematów w programowaniu gier.
⬤ Przejrzysty i przystępny styl pisania, ułatwiający zrozumienie złożonych pojęć.
⬤ Dobra dla początkujących z pewną wiedzą programistyczną.
⬤ Podejście niezależne od platformy pozwala na szerokie zastosowanie w różnych środowiskach tworzenia gier.
⬤ Zawiera praktyczne przykłady, wskazówki i ćwiczenia ułatwiające naukę.
⬤ Zwięzły, wciągający i dobrze zorganizowany układ.
⬤ Zawiera pomocne zasoby do dalszego zgłębiania tematów.
⬤ Niektórzy czytelnicy uważali, że książka nie zapewnia wystarczającej głębi w bardziej skomplikowanych tematach.
⬤ Może nie służyć dobrze jako podręcznik dla zaawansowanych deweloperów.
⬤ Niektóre ważne tematy są poza zakresem, pozostawiając czytelników pragnących więcej szczegółów.
⬤ Niektóre treści mogą wydawać się przestarzałe i nie obejmują nowoczesnych rozwiązań, takich jak VR.
⬤ Opisy mogą pozostawić niedosyt u doświadczonych programistów, którzy mogą być już zaznajomieni z omawianym materiałem.
(na podstawie 27 opinii czytelników)
Game Programming Algorithms and Techniques: A Platform-Agnostic Approach
Algorytmy i techniki programowania gier to szczegółowy przegląd wielu ważnych algorytmów i technik wykorzystywanych obecnie w programowaniu gier wideo. Zaprojektowana z myślą o programistach zaznajomionych z programowaniem obiektowym i podstawowymi strukturami danych, książka ta koncentruje się na praktycznych koncepcjach, które znajdują rzeczywiste zastosowanie w branży gier.
Sanjay Madhav przyjmuje unikalne podejście niezależne od platformy i frameworka, które pomoże stworzyć praktycznie każdą grę, w dowolnym gatunku, przy użyciu dowolnego języka lub frameworka. Przedstawia podstawowe techniki pracy z grafiką 2D i 3D, fizyką, sztuczną inteligencją, kamerami i wieloma innymi.
Każda koncepcja jest rozjaśniona pseudokodem, który będzie intuicyjny dla każdego programisty C#, Java lub C++ i został dopracowany i sprawdzony na kursach programowania gier Madhava na Uniwersytecie Południowej Kalifornii. Pytania przeglądowe po każdym rozdziale pomagają utrwalić najważniejsze koncepcje przed przejściem dalej.
Madhav kończy szczegółową analizą dwóch kompletnych gier: side-scroller 2D na iOS (napisany w Objective-Cusing cocos2d) oraz gra 3D na PC/Mac/Linux typu tower defense (napisana w C# przy użyciu XNA/MonoGame). Gry te ilustrują wiele algorytmów i technik omówionych we wcześniejszych rozdziałach, a pełny kod źródłowy jest dostępny na stronie gamealgorithms.net.
Obejmują one.
⬤ Zarządzanie czasem gry, kontrola prędkości i zapewnienie spójności na zróżnicowanym sprzęcie.
⬤ Podstawowe techniki grafiki 2D dla nowoczesnych gier mobilnych.
⬤ Wektory, macierze i algebra liniowa dla gier 3D.
⬤ Grafika 3D, w tym przestrzenie współrzędnych, oświetlenie i cieniowanie, buforowanie z i kwaterniony.
⬤ Obsługa szerokiej gamy wejść cyfrowych i analogowych.
⬤ Systemy dźwiękowe, w tym zdarzenia dźwiękowe, dźwięk 3D i cyfrowe przetwarzanie sygnału.
⬤ Podstawy fizyki w grach, w tym wykrywanie kolizji i integracja numeryczna.
⬤ Kamery: pierwszoosobowe, podążające, spline i inne.
⬤ Sztuczna inteligencja: odnajdywanie ścieżek, zachowania oparte na stanie oraz strategia/planowanie.
⬤ Interfejsy użytkownika, w tym systemy menu i wyświetlacze heads-up.
⬤ Skrypty i tekstowe pliki danych: kiedy, jak i gdzie ich używać.
⬤ Podstawy gier sieciowych, w tym protokoły i topologia sieci.