Code with me. Zostań game developerem - ebook
Code with me. Zostań game developerem - ebook
Projektuj, programuj, promuj! Zostań twórcą gier komputerowych!
Nie zaglądaj tu, nie warto! Stracisz tylko czas, na sto procent nie dowiesz się niczego ciekawego, znudzisz się i będziesz rozczarowany, bo... z pewnością nie chcesz dołączyć do prawdziwej elity programistów, zdobyć poszukiwanych na rynku umiejętności, nauczyć się czegoś naprawdę ekscytującego ani uzyskać wpływu na jedną z najdynamiczniej rozwijających się gałęzi przemysłu komputerowego, prawda?
Jeśli jednak mocno pragniesz zostać twórcą gier komputerowych, dobrze trafiłeś! Ta książka powstała właśnie z myślą o tych, którzy chcą rozpocząć karierę profesjonalnego game developera. Bezboleśnie wprowadzi Cię w zagadnienia związane z tworzeniem gier sieciowych 2D w językach: HTML5, PHP i MySQL. Nauczysz się projektować oprogramowanie, dbać o jakość rozwiązania, opracowywać niezbędne materiały graficzne i dźwiękowe, a nawet promować i sprzedawać swoje dzieło.
- Niszczenie terenu jak w grach Worms i Soldat
- Scrollowanie obrazu (kamera 2D)
- Pseudooświetlenie (2D lighting)
- Manipulowanie pikselami (getImageData) i proste efekty, na przykład blur (rozmycie)
- Różne typy kolizji, perfekcyjna kolizja (pixel perfect collision)
- System cząsteczek (efekty 2D): efekt gwiezdny (starfield effect), deszcz, śnieg, deszcz 3D, mgła lub dym
- NW.js (node-webkit)
- Rysowanie prostych kształtów, obrazków i sprite'ów
- Własny loader plików
- Grawitacja
- Menu obsługiwane za pomocą klawiatury lub myszy
Zrób pierwszy krok na drodze do profesjonalnej kariery!
Spis treści
Rozdział 1. Wstęp do gry 2D w HTML5 7
- 1.1. Zaczynamy 8
- 1.1.1. Jeden kod na wszystkie platformy 8
- 1.1.2. Narzędzia oraz konfiguracja (Notepad++), tworzenie kopii 8
- 1.2. Klocki 8
- 1.2.1. Świat gry (canvas, inicjalizacja) 9
- 1.2.2. Pętla 9
- 1.2.3. Rysujemy kwadrat, kółko, trójkąt, linie 11
- 1.2.4. Rysujemy gracza 19
- 1.2.5. Skalowanie obrazków 20
- 1.2.6. Skalowanie świata gry i obiektów (proporcjonalnie) 21
- 1.2.7. Rotacja 22
- 1.2.8. Sterowanie klawiaturą 26
- 1.2.9. Ulepszone sterowanie klawiaturą 29
- 1.2.10. Prosta kolizja z innym obiektem, np. apteczką 30
- 1.2.11. Poruszanie się w kierunku, w którym obrócona jest postać (klawiatura/mysz) 37
- 1.2.12. Kolizja kółka z kwadratem i kółka z kółkiem 42
- 1.2.13. Kolizja piksel po pikselu 47
- 1.2.14. Odległość między obiektami 65
- 1.2.15. Sterowanie wrogami 65
- 1.2.16. Proste strzelanie 70
- 1.2.17. Strzelanie z obrotem (wycentrowane) 77
- 1.2.18. Strzelanie z obrotem (ustawienia offsetu na obrazku) 79
- 1.2.19. Pasek zdrowia (dowolny rozmiar) 83
- 1.2.20. Obsługa myszy 85
- 1.2.21. Menu i opcje 92
- 1.2.22. Animacja poklatkowa 112
- 1.2.23. Pseudooświetlenie 116
- 1.2.24. Proste efekty - własny blur, blur CSS, glitch 121
- 1.2.25. Mikrofon 125
- 1.2.26. Sterowanie kontrolerem (gamepad) 126
- 1.2.27. Zaznaczanie postaci (ruch RTS) 130
- 1.2.28. Prosty system cząsteczek 132
- 1.2.29. Układ Słoneczny (orbity) 150
- 1.2.30. Grawitacja i jej różne zastosowania 151
- 1.2.31. Ratio 16×9 176
- 1.2.32. Loading bar i dźwięki 178
- 1.2.33. Okrągły pasek postępu 194
- 1.2.34. Lupa 196
- 1.2.35. Save game i load game 197
- 1.2.36. Licznik FPS 204
- 1.2.37. Ekwipunek 207
- 1.2.38. Kamera 209
- 1.2.39. Nie rysujemy tego, czego nie widzi gracz 215
- 1.2.40. Ściszenie dźwięków i (lub) muzyki 221
- 1.2.41. Centrowanie tekstu lub obrazka 223
- 1.2.42. Rozjaśnianie obrazu w JavaScripcie 227
- 1.2.43. Clip() na przykładzie textboksa a la Final Fantasy 234
- 1.2.44. Prerenderowanie (bufor) 238
- 1.3. Budujemy grę z klocków 240
- 1.3.1. Struktura plików naszej gry 241
- 1.3.2. Tworzymy grę 241
- 1.3.3. Tworzymy build dla Windows, Linuksa i macOS 252
- 1.4. Dodatki JS 253
- 1.4.1. Konsola dewelopera 253
- 1.4.2. Lista poszczególnych błędów w JS 254
- 1.4.3. Sztuczki w JavaScripcie 254
- 1.4.4. Klonowanie (referencje) 255
- 1.4.5. Zasięg zmiennych 259
- 1.4.6. This/self 261
- 1.4.7. jQuery kontra JavaScript 262
- 1.4.8. Dobra praktyka (anonimowa funkcja, window, zmienne globalne) 264
- 1.4.9. Komentarze blokowy i liniowy 265
- 1.4.10. setTimeout i dlaczego lepiej nie używać go w grach 267
- 1.4.11. Dlaczego requestAnimationFrame zamiast setInterval? 268
- 1.5. Dodatki NW.js 269
- 1.5.1. Edycja package.json 269
- 1.5.2. Steam overlay (nakładka) 270
- 1.5.3. Osiągnięcia Steam (greenworks) 270
- 1.5.4. Lepsza wydajność NW.js 275
- 1.5.5. Zmiana ikony aplikacji NW.js 275
- 1.6. Dodatki Notepad++ 278
- 1.6.1. Wtyczki 278
- 1.6.2. Polskie znaki lub kodowanie 278
- 1.6.3. Konfiguracja kopii zapasowej 279
Rozdział 2. Wstęp do gier online 281
- 2.1. Zaczynamy. Prosta gra tekstowa 282
- 2.1.1. Konfiguracja serwera XAMPP 282
- 2.1.2. Świat gry 283
- 2.1.3. Tworzenie tabeli MySQL 287
- 2.1.4. Rozbudowa naszego menu 288
- 2.1.5. Zadania cron 295
- 2.2. Wstęp do gry kółko i krzyżyk online (PHP/AJAX) 297
- 2.2.1. Zaczynamy! 297
- 2.3. Wstęp do kwadracików online (PHP/AJAX) 303
- 2.3.1. Zaczynamy! 304
Rozdział 3. Zarządzanie jakością oprogramowania 311
- 3.1. Optymalizacja 312
- 3.1.1. 300 MB kontra 60 MB 312
- 3.1.2. Jsperf 313
- 3.2. Testowanie 313
- 3.2.1. Jak testować 313
- 3.2.2. Co zrobić, gdy nie możemy znaleźć błędu? 314
- 3.2.3. Gamepady mogą mieć inne wartości 314
- 3.2.4. Najlepiej tworzyć pod low-end 314
- 3.3. Telemetria - śledzenie gracza 315
- 3.3.1. Jakie dane są wysyłane? 315
- 3.3.2. Prosta telemetria 315
Rozdział 4. Projektowanie gry 317
- 4.1. Początek 318
- 4.1.1. Trudne czy łatwe gry? 318
- 4.1.2. Gry 2D czy 3D? 318
- 4.1.3. Struktura plików 318
- 4.1.4. Gry to zabawa, nie twórz realnych gier 319
- 4.1.5. Programować czy korzystać z darmowych programów do tworzenia gier? 319
- 4.2. Zawartość gry 319
- 4.2.1. Kubek też ma swoją historię 320
- 4.2.2. Postacie 320
- 4.2.3. Dźwięki otoczenia 320
- 4.2.4. Lockit 320
- 4.2.5. Przykładowy scenariusz gry 321
- 4.2.6. Ostatni nabój - manipulowanie graczem 323
- 4.2.7. Licencje i uznania autorów na przykładzie Game Dev Tycoon oraz ich omówienie 323
Rozdział 5. Promocja gry 325
- 5.1. Gdzie promować grę 326
- 5.2. Na własną rękę 326
- 5.3. Wydawca 326
- 5.4. Agencje reklamowe 327
- 5.5. Keymailer 327
- 5.6. Platformy 327
Rozdział 6. Materiały promocyjne 329
- 6.1. Tworzenie materiałów 330
- 6.2. Press-kit 330
- 6.3. Trailer 330
- 6.4. Teaser 330
- 6.5. Strona WWW 330
Rozdział 7. Tworzenie zasobów 331
- 7.1. Programy do tworzenia grafiki 332
- 7.2. Programy do tworzenia muzyki i dźwięków 332
- 7.3. Tworzenie prostych dźwięków, modyfikacja 332
- 7.4. Usuwanie szumu 336
- 7.5. Skąd brać darmową muzykę, dźwięki oraz grafikę do wykorzystania komercyjnego? 338
Rozdział 8. Inne 341
- 8.1. Zakuj, naucz się i zapomnij... Zapomnij! 342
- 8.2. Kopia, kopia i jeszcze raz kopia! 342
- 8.3. Lista programów do tworzenia gier 342
- 8.4. Notepad++, użyteczne wtyczki Compare, ColorPicker 343
- 8.5. Steam - wgrywanie gry (konsola + skrypty) 345
- 8.6. GIF, MP4/AVI jako animowany obrazek APNG (opis Steam) 349
Zakończenie 351
Kategoria: | Bazy danych |
Zabezpieczenie: |
Watermark
|
ISBN: | 978-83-283-7013-5 |
Rozmiar pliku: | 4,4 MB |