Details zum E-Book

Tworzenie gier w języku HTML5 dla profesjonalistów. Wydanie II

Tworzenie gier w języku HTML5 dla profesjonalistów. Wydanie II

Aditya Ravi Shankar

E-book

HTML5 jest dziś kojarzony ze znakomitym narzędziem do tworzenia zaawansowanych, interaktywnych i dynamicznych aplikacji internetowych. Udostępnia programistom szereg nowoczesnych technologii, które są konsekwentnie rozwijane w ramach wielu specyfikacji nadzorowanych przez W3C i grupę WHATWG. Szczególnie atrakcyjne jest wykorzystanie HTML5 do tworzenia gier. Mogą to być gry najróżniejszych rodzajów: od prostych układanek po skomplikowane gry fabularne dla wielu graczy. Aby jednak Twoje dzieło stało się prawdziwym hitem, musisz się dowiedzieć, jak swoją pracę wykonać na wysokim, profesjonalnym poziomie.

Ta książka jest drugim, uaktualnionym i uzupełnionym, wydaniem świetnego podręcznika dla programistów gier. Dzięki niej zaczniesz mistrzowsko stosować zaawansowane techniki programistyczne w języku HTML5. Nauka będzie polegać na wykonaniu dwóch projektów: strategicznej gry planszowej oraz gry czasu rzeczywistego typu RST. Dzięki przejrzystym wskazówkom i dokładnym instrukcjom sprawnie ukończysz kolejne elementy aplikacji. W ten sposób zapoznasz się z najważniejszymi narzędziami służącymi do tworzenia gier, a także dowiesz się, w jaki sposób praktycznie wykorzystać najbardziej zaawansowane możliwości HTML. Dzięki książce nauczysz się również pisać gry na urządzenia mobilne. Szybko zaczniesz tworzyć złożone dopracowane gry i staniesz się profesjonalnym programistą gier HTML5.

W tej książce między innymi:

  • Wykorzystanie silnika fizyki Box2D i uzyskiwanie realistycznych efektów
  • Projektowanie złożonych światów i interaktywnych postaci
  • Efekty paralaksy i efekty dźwiękowe
  • Algorytmy odnajdowania ścieżek oraz nawigacji
  • Wykorzystanie drzew decyzyjnych, maszyn stanów oraz zdarzeń skryptowych

HTML5. Idealny język dla profesjonalnego twórcy gier!


O autorze 9

O recenzencie technicznym 11

Rozdział 1. Podstawy języka HTML5 i JavaScript 13

  • Podstawowa strona HTML5 13
  • Element canvas 14
    • Rysowanie prostokątów 16
    • Rysowanie ścieżek złożonych 17
    • Rysowanie tekstu 18
    • Dostosowywanie stylów rysowania (kolorów i tekstur) 19
    • Rysowanie obrazów 21
    • Przekształcanie i obracanie 22
  • Element audio 23
  • Element image 26
    • Wczytywanie obrazów 26
    • Arkusze sprite'ów 27
  • Animacja: czasomierz i pętle gry 29
    • requestAnimationFrame 30
  • Podsumowanie 31

Rozdział 2. Tworzenie podstawowego świata gry 33

  • Podstawowy układ HTML 33
  • Tworzenie ekranu powitalnego i głównego menu 34
  • Wybór poziomu 38
  • Wczytywanie obrazów 41
  • Wczytywanie poziomów 44
  • Animowanie gry 45
  • Obsługa myszy 48
  • Definiowanie stanów naszej gry 50
  • Podsumowanie 54

Rozdział 3. Podstawy silnika fizyki 55

  • Podstawy Box2D 55
    • Konfiguracja Box2D 56
    • Definiowanie świata 57
    • Dodawanie naszego pierwszego ciała: podłoże 57
    • Rysowanie świata: konfigurowanie rysowania w trybie debugowania 59
    • Animowanie świata 60
  • Dodawanie kolejnych elementów Box2D 62
    • Tworzenie prostokątnego ciała 62
    • Tworzenie okrągłego ciała 64
    • Tworzenie wielokątnego ciała 65
    • Tworzenie ciał składających się z wielu kształtów 67
    • Łączenie ciał za pomocą złączy 69
  • Śledzenie kolizji i uszkodzeń 71
    • Obiekty wykrywające kontakt 72
  • Rysowanie własnych bohaterów 74
  • Podsumowanie 76

Rozdział 4. Integrowanie silnika fizyki 79

  • Definiowanie encji 79
  • Dodawanie Box2D 82
  • Tworzenie encji 84
  • Dodawanie encji do poziomów 85
    • Konfigurowanie rysowania w trybie debugowania Box2D 87
  • Rysowanie encji 90
  • Animowanie świata Box2D 92
  • Wczytywanie bohatera 93
  • Wystrzeliwanie bohatera 95
  • Kończenie poziomu 99
  • Zniszczenia po kolizji 102
  • Rysowanie paska procy 104
  • Zmiana poziomów 106
  • Dodawanie dźwięku 107
    • Dodawanie dźwięków zniszczenia i odbijania 108
    • Dodawanie muzyki w tle 111
  • Podsumowanie 114

Rozdział 5. Tworzenie gry mobilnej 115

  • Wyzwania związane z rozwijaniem gier na urządzenia mobilne 115
  • Responsywna gra 116
    • Automatyczne skalowanie i zmiana rozmiaru 117
    • Obsługa różnych proporcji 120
  • Poprawki w obsłudze myszy i zdarzenia dotyku 122
  • Wczytywanie gry na urządzeniu mobilnym 124
  • Rozwiązywanie problemów z dźwiękami w przeglądarkach mobilnych 126
    • Web Audio API 126
    • Integrowanie API Web Audio 129
  • Ostatnie poprawki 131
    • Zapobieganie przypadkowemu przewijaniu 131
    • Włączanie trybu pełnoekranowego 131
  • Korzystanie z platform do tworzenia hybrydowych aplikacji mobilnych 132
  • Optymalizacja zasobów gry dla urządzeń mobilnych 133
  • Podsumowanie 134

Rozdział 6. Tworzenie świata gry RTS 135

  • Podstawowy układ HTML 136
  • Tworzenie ekranu powitalnego i menu głównego 136
  • Tworzenie pierwszego poziomu 143
  • Wczytywanie ekranu z opisem misji 145
  • Implementowanie interfejsu gry 150
  • Implementowanie przesuwania mapy 157
  • Podsumowanie 160

Rozdział 7. Umieszczanie encji w naszym świecie 163

  • Definiowanie encji 163
  • Definiowanie pierwszej encji: obiekt bazowy 164
  • Dodawanie encji do poziomu 168
  • Rysowanie encji 171
  • Dodawanie stacji dokującej 175
  • Dodawanie budynku typu harvester 178
  • Dodawanie działka naziemnego 179
  • Dodawanie pojazdów 182
  • Dodawanie statku powietrznego 187
  • Dodawanie elementów terenu 190
  • Zaznaczanie encji gry 193
  • Wyróżnianie zaznaczonych encji 198
  • Podsumowanie 202

Rozdział 8. Inteligentne przesuwanie jednostek 203

  • Wydawanie poleceń jednostkom 203
  • Wysyłanie i otrzymywanie poleceń 206
  • Przetwarzanie poleceń 207
  • Implementowanie ruchu statku powietrznego 208
  • Odnajdowanie ścieżek 213
  • Definiowanie siatki do znalezienia ścieżki 213
  • Implementowanie ruchu pojazdów 217
  • Wykrywanie kolizji i nawigacja 221
  • Instalowanie pojazdu typu harvester 227
  • Płynniejszy ruch jednostki 228
  • Podsumowanie 230

Rozdział 9. Dodawanie kolejnych elementów gry 233

  • Implementowanie podstaw aspektów finansowych 233
    • Ustawianie początkowej sumy pieniędzy 233
    • Implementowanie paska bocznego 235
    • Generowanie pieniędzy 236
  • Kupowanie budynków i jednostek 238
    • Dodawanie przycisków na pasku bocznym 238
    • Włączanie i wyłączanie przycisków na pasku bocznym 241
    • Konstruowanie pojazdów i statku powietrznego na podstawie budynku typu starport 244
    • Konstruowanie budynków w budynku typu base 252
  • Kończenie poziomu 260
    • Implementowanie okna dialogowego wiadomości 260
    • Implementowanie wyzwalaczy 264
  • Podsumowanie 268

Rozdział 10. Dodawanie broni i walki 271

  • Implementowanie systemu walki 271
    • Dodawanie pocisków 271
    • Polecenia związane z walką dla działek 279
    • Polecenia związane z walką w obiekcie aircraft 283
    • Polecenia dotyczące walki dla pojazdów 287
  • Tworzenie inteligentnego wroga 292
  • Dodawanie mgły wojny 295
    • Definiowanie obiektu mgły 295
    • Rysowanie mgły 297
    • Końcowe poprawki 300
  • Podsumowanie 302

Rozdział 11. Finalizacja kampanii jednego gracza 303

  • Dodawanie dźwięku 303
    • Konfigurowanie dźwięków 303
    • Przyjmowanie poleceń 305
    • Wiadomości 307
    • Walka 308
  • Wsparcie dla urządzeń mobilnych 309
    • Włączanie obsługi dotykiem 309
    • Włączanie wsparcia dla techniki WebAudio 312
  • Tworzenie kampanii jednego gracza 313
    • Ratunek 314
    • Napad 320
    • Pod oblężeniem 324
  • Podsumowanie 334

Rozdział 12. Tryb wielu graczy z wykorzystaniem WebSocket 335

  • Korzystanie z interfejsu WebSocket API za pomocą Node.js 335
    • Technologia WebSocket w przeglądarce 335
    • Tworzenie serwera HTTP w Node.js 338
    • Tworzenie serwera WebSocket 339
  • Tworzenie lobby gry w trybie wielu graczy 342
    • Definiowanie ekranu lobby trybu wielu graczy 342
    • Wypełnianie listy gier 344
    • Dołączanie i wychodzenie z pokoju gry 350
  • Rozpoczynanie gry w trybie wielu graczy 354
    • Definiowanie poziomu w trybie wielu graczy 354
    • Wczytywanie poziomu dla wielu graczy 356
  • Podsumowanie 360

Rozdział 13. Rozgrywka w trybie wielu graczy 361

  • Krokowy model sieci 361
    • Pomiar opóźnienia sieci 362
    • Wysyłanie poleceń 367
  • Kończenie gry w trybie wielu graczy 371
    • Kończenie gry poprzez pokonanie gracza 371
    • Kończenie gry po rozłączeniu jednego gracza 375
    • Kończenie gry po utracie połączenia 376
  • Implementowanie czatu graczy 379
  • Podsumowanie 384

Rozdział 14. Podstawowe narzędzia programisty gier 387

  • Dostosowanie edytora kodu 388
    • Kolorowanie składni i uzupełnianie kodu 388
    • Niestandardowe rozszerzenia 388
    • Lintowanie 390
    • Fragmenty kodu 391
    • Integracja z systemem Git 392
    • Zintegrowane debugowanie 393
  • Pisanie modułowego kodu 393
  • Automatyzacja pracy programisty 394
    • Podstawowe narzędzia w uproszczonej metodzie pracy 395
  • Podsumowanie 397

Skorowidz 399

  • Titel: Tworzenie gier w języku HTML5 dla profesjonalistów. Wydanie II
  • Autor: Aditya Ravi Shankar
  • Originaler Titel: Pro HTML5 Games: Learn to Build your Own Games using HTML5 and JavaScript, 2nd Edition
  • Übersetzung: Joanna Zatorska
  • ISBN: 978-83-283-4326-9, 9788328343269
  • Veröffentlichungsdatum: 2018-11-26
  • Format: E-book
  • Artikelkennung: twghp2
  • Verleger: Helion