original-version-perelki-programowania-gier-vademecum-profesjonalisty-tom-1_ppgvp.pdf
(
7969 KB
)
Pobierz
664997954 UNPDF
IDZ DO
PRZYK£ADOW
Y ROZDZIA£
Pere³ki programowania
SPIS TRECI
gier. Vademecum
KATALOG KSI¥¯EK
profesjonalisty. Tom 1
Autor: Mark DeLoura
T³umaczenie: Rafa³ Joñca
ISBN: 83-7197-704-2
Tytu³ orygina³
u:
Game Programming Gems
Format: B5, stron: 638
KATALOG ONLINE
ZAMÓW DRUKOWANY KATALOG
TWÓJ KOSZYK
DODAJ DO KOSZYKA
W niniejszej ksi¹¿ce znajdziesz po³¹czon¹ wiedzê ponad 40 utalentowanych twórców
gier. Wspó³pracuj¹c, stworzyli zbiór wskazówek dotycz¹cych programowania gier, dziêki
któremu uzupe³nisz swoj¹ wiedzê. Jeli zaimplementujesz zaprezentowane tutaj techniki
(wypracowywane przez wiele godzin), wrogowie bêd¹ sprytniejsi, bohater p³ynnie powali
przeciwników, a gracze z powodu wysoce realistycznego trójwymiarowego wiata bêd¹
siê bali zgasiæ wiat³o w nocy.
Niezale¿nie od tego, czy pytali mnie o nowinki techniczne wprowadzone w nowej konsoli,
czy o z³o¿one algorytmy, jedna rzecz stawa³a siê dla mnie jasna: ci¹gle zadajemy
pytania. Jako programici gier czêsto nie wiemy, jak wykonaæ postawione przed nami
zadanie. Mo¿e w³anie dlatego tak bardzo lubimy tê pracê! Co masz jednak zrobiæ, gdy
przytrafi Ci siê opisana sytuacja? Przeszukasz domow¹ biblioteczkê lub zasoby sieci
WWW? A mo¿e zajrzysz do archiwalnych numerów fachowych czasopism? ¯aden
twórca gier nie korzysta z jednego okrelonego ród³a. Czy nie by³oby wspaniale, gdyby
jednak istnia³o takie miejsce, do którego zawsze zajrzysz w pierwszej kolejnoci?
W³anie w tym celu napisalimy ksi¹¿kê, któr¹ trzymasz w rêce.
Rozdzia³y ksi¹¿ki obejmuj¹ wiele problemów technicznych, na które mo¿esz siê natkn¹æ,
pisz¹c grê. Znajdziesz ogromn¹ liczbê szczegó³owo omówionych technik, ale i kilka
bardziej ogólnych rozdzia³ów. Zadaniem ksi¹¿ki jest zwiêkszenie Twojego stopnia
zaawansowania niezale¿nie od aktualnej wiedzy, jak¹ posiadasz. Na przyk³ad w bardziej
ogólnych rozdzia³ach opisujemy techniki, nie zag³êbiaj¹c siê w szczegó³y; na ich
omówienie czas przychodzi póniej. Dobrymi przyk³adami mog¹ byæ rozdzia³y
o kwaternionach oraz czêæ dotycz¹ca algorytmów sztucznej inteligencji.
CENNIK I INFORMACJE
ZAMÓW INFORMACJE
O NOWOCIACH
ZAMÓW CENNIK
CZYTELNIA
FRAGMENTY KSI¥¯EK ONLINE
Wydawnictwo Helion
ul. Chopina 6
44-100 Gliwice
tel. (32)230-98-63
e-mail: helion@helion.pl
Rozdział 1.0
!
Zasada 1.: Podstawy..............................................................................................................23
Zasada 2.: Całkowite minimum.............................................................................................23
Zasada 3.: Twórz elastyczne algorytmy................................................................................24
Zasada 4.: Do sterowania przebiegiem wykorzystuj skrypty................................................24
Zasada 5.: Gdy dobre skrypty staj& si' złymi........................................................................25
Zasada 6.: Unikaj duplikacji danych.....................................................................................26
Zasada 7.: Kreuj narz'dzia, które tworz& dane......................................................................26
Wnioski .................................................................................................................................27
Rozdział 1.1
"#$ %
Styl programowania...............................................................................................................30
Projektowanie klas.................................................................................................................32
Projektowanie hierarchii klas................................................................................................33
Wzorce projektowania...........................................................................................................33
Podsumowanie.......................................................................................................................39
Rozdział 1.2
!&"!"!!& '
Ci&g Fibonacciego.................................................................................................................41
Silnia......................................................................................................................................43
Trygonometria.......................................................................................................................44
Kompilatory w rzeczywistym 3wiecie...................................................................................45
Jeszcze raz trygonometria......................................................................................................45
Szablony i standard C++.......................................................................................................46
Macierze................................................................................................................................46
Podsumowanie.......................................................................................................................51
Rozdział 1.3
(!" &!
Definicja................................................................................................................................55
Zalety.....................................................................................................................................55
Problem .................................................................................................................................56
Tradycyjne rozwi&zanie.........................................................................................................56
Lepszy sposób.......................................................................................................................56
Jeszcze lepszy sposób............................................................................................................57
Rozdział 1.4
)*!&+, %
Rodzaje elementów w STL...................................................................................................59
Podstawowe poj'cia dotycz&ce biblioteki STL.....................................................................60
Wektory.................................................................................................................................61
Listy.......................................................................................................................................63
Kolejki dwukierunkowe........................................................................................................66
Mapy......................................................................................................................................67
Stosy, kolejki i kolejki priorytetowe.....................................................................................70
Podsumowanie.......................................................................................................................71
Rozdział 1.5
&!-$.!-"$
Wymagania............................................................................................................................73
Platformy sprz'towe i programowe.......................................................................................74
Pierwsze rozwi&zanie............................................................................................................74
Drugie rozwi&zanie................................................................................................................75
Połowa rozwi&zania...............................................................................................................77
Sposoby wywoływania funkcji .............................................................................................77
Wywoływanie funkcji...........................................................................................................79
Uzupełnianie rozwi&zania.....................................................................................................80
Wnioski .................................................................................................................................83
Rozdział 1.6
&!!.!"#!"# /
Metoda...................................................................................................................................86
Klasa Handle.........................................................................................................................87
Klasa HandleMgr ..................................................................................................................87
Przykład u<ycia.....................................................................................................................89
Uwagi....................................................................................................................................89
Rozdział 1.7
0.". %
Klasa zasobów.......................................................................................................................97
Klasa mened<era zasobów...................................................................................................100
Jak działaj& uchwyty............................................................................................................102
Mo<liwe modyfikacje i rozszerzenia...................................................................................103
Wnioski ...............................................................................................................................104
Rozdział 1.8
"!"!!!"#
Wcze3niej przetwórz dane...................................................................................................105
Zapisywanie danych............................................................................................................106
Prosty sposób wczytywania danych....................................................................................107
Bezpieczniejsze wczytywanie danych.................................................................................107
Rozdział 1.9
(&"$""# %
Problemy tradycyjnej alokacji pami'ci...............................................................................109
Wprowadzenie do pami'ci opartej na ramkach...................................................................109
Alokacja i zwalnianie pami'ci.............................................................................................111
Przykład...............................................................................................................................114
Wnioski ...............................................................................................................................115
Rozdział 1.10 !&"
Ogólny opis.........................................................................................................................117
Tablica bitów.......................................................................................................................117
Pozostałe tablice bitów........................................................................................................118
Wnioski ...............................................................................................................................119
Rozdział 1.11 "! "#!"#
Definicje..............................................................................................................................121
Modyfikacja pakietów.........................................................................................................122
Atak metod& powtarzania pakietów....................................................................................122
Dodatkowe zabezpieczenia.................................................................................................124
Rein<ynieria.........................................................................................................................124
Implementacja.....................................................................................................................124
Rozdział 1.12 !&!!
Podstawy weryfikacji warunków........................................................................................127
Pierwsza sztuczka: osadzanie dodatkowych informacji......................................................128
Druga sztuczka: osadzanie jeszcze wi'kszej liczby informacji..........................................129
Trzecia sztuczka: upraszczanie zapisu................................................................................129
Czwarta sztuczka: napisz własne makro.............................................................................129
Pi&ta sztuczka: dodatkowa opcja prawie bez kosztów........................................................130
Szósta sztuczka: tylko, gdy jeste3 twardy............................................................................130
Siódma sztuczka: kopiowanie i wklejanie, czyli ułatwianie sobie <ycia............................131
Rozdział 1.13 !! ""!!
Dlaczego: technologia sterowana potrzebami.....................................................................133
Jak: ewolucyjny proces........................................................................................................134
Co: system oparty na klasach j'zyka C++...........................................................................134
Gdzie: zastosowania............................................................................................................137
Podsumowanie.....................................................................................................................137
Rozdział 1.14 !-&$."!$."!""!! %
Przechodzimy do szczegółów..............................................................................................140
Czego dowiesz si' za pomoc& procedury profiluj&cej?.......................................................140
Dodawanie wywołaB funkcji kodu profiluj&cego................................................................142
Implementacja procedury profiluj&cej.................................................................................142
Szczegóły dotycz&ce ProfileBegin......................................................................................143
Szczegóły dotycz&ce ProfileEnd.........................................................................................144
Przetwarzanie uzyskanych danych......................................................................................144
Mo<liwe udoskonalenia.......................................................................................................144
Ł&czymy wszystko razem....................................................................................................145
Rozdział 2.0
!&&"!&
Przewidywalne liczby losowe.............................................................................................153
Alternatywne algorytmy......................................................................................................155
Algorytmy dla nieskoBczonych wszech3wiatów.................................................................156
Wnioski i wskazówki..........................................................................................................158
Rozdział 2.1
!&"$ 1
Zale<ne od cz'stotliwo3ci generowania klatek łagodne zakoBczenie ruchu
z wykorzystaniem liczb zmiennoprzecinkowych.............................................................161
Zale<ne od cz'stotliwo3ci generowania klatek łagodne zakoBczenie ruchu
z wykorzystaniem liczb całkowitych...............................................................................162
Interpolacja liniowa niezale<na od cz'stotliwo3ci generowania klatek.................................163
Łagodne rozpocz'cie i zakoBczenie ruchu
niezale<ne od cz'stotliwo3ci generowania klatek............................................................164
NiebezpieczeBstwa..............................................................................................................165
Rozdział 2.2
23"#"! 1%
Kinematyka — przesuni'cie i obrót....................................................................................169
Dynamika — siła i moment obrotowy................................................................................172
Dodatkowe wła3ciwo3ci ciała sztywnego...........................................................................173
Całkowanie równaB ruchu...................................................................................................176
Rozdział 2.3
!&*-"$! !"!"#& %
Wielomiany.........................................................................................................................180
Dziedzina i przeciwdziedzina..............................................................................................181
Wielomiany parzyste i nieparzyste......................................................................................184
Szereg Taylora.....................................................................................................................185
Skrócony szereg Taylora.....................................................................................................189
Szereg Lagrange’a...............................................................................................................190
Radzenie sobie z nieci&gło3ciami........................................................................................193
Wnioski ...............................................................................................................................194
Rozdział 2.4
&45&"
!!$ "6& %
Stabilno3H a problem całkowania pocz&tkowej warto3ci....................................................195
Metoda jawna Eulera...........................................................................................................196
Metoda niejawna Eulera......................................................................................................197
Niedokładno3H.....................................................................................................................199
Znajdowanie niejawnych rozwi&zaB...................................................................................199
Wnioski ...............................................................................................................................199
Rozdział 2.5
78&9$
Zasada działania..................................................................................................................201
Przykład...............................................................................................................................203
Zastosowania.......................................................................................................................204
Rozdział 2.6
:!!&"$"#!
Dwuwymiarowe równanie fali............................................................................................205
Warunki brzegowe — wyspy i wybrze<a............................................................................207
Kwestie implementacyjne...................................................................................................208
Interakcja z powierzchni&....................................................................................................209
Rendering............................................................................................................................210
Rozdział 2.7
;!
My3l o kwaternionach jako zast'pcach macierzy...............................................................213
Dlaczego po prostu nie u<yH k&tów Eulera?........................................................................214
Co reprezentuj& X, Y, Z i W?..............................................................................................214
Jakie jest podło<e matematyczne całego zagadnienia?.......................................................215
Jak kwaterniony reprezentuj& obroty?.................................................................................216
Rozdział 2.8
;$"< %
Obrót kwaternionu...............................................................................................................219
Konwersja kwaternionu na macierz....................................................................................220
Konwersja z macierzy na kwaternion..................................................................................221
Rozdział 2.9
:&"$
Rachunek kwaternionowy...................................................................................................225
Interpolacja kwaternionów..................................................................................................226
Przykładowy kod.................................................................................................................228
Wyprowadzenie 2.9.1: Wzór dla slerp................................................................................228
Wyprowadzenie 2.9.2: uzyskanie formy pot'gowej slerp...................................................231
Wyprowadzenie 2.9.3: interpolacja krzywymi sklejanymi.................................................232
Plik z chomika:
smifos
Inne pliki z tego folderu:
Oracle_9i_PL-SQL_Poradnik_Programisty Bulusu Lakshman.pdf
(106440 KB)
Administracja baza danych Oracle 8i Magic_8i-W.Gryglewicz-Kacerka B.Szymczak.pdf
(21315 KB)
Database fundamentals Neeraj Sharma.pdf
(5178 KB)
Bazy_danych_w_architekturze_klient-serwer(delphi)-K.Henderson.pdf
(15768 KB)
Relacyjne bazy danych w srodowisku Sybase I.Pozniak-Koszalka.pdf
(4448 KB)
Inne foldery tego chomika:
Informatyka, nauka programowania
Zgłoś jeśli
naruszono regulamin