
Unity i C#. Praktyka programowania gier



Unity i C#. Praktyka programowania gier - Najlepsze oferty
Unity i C#. Praktyka programowania gier - Opis
Osiągnij wyższy poziom z Unity i C#!Poznaj zaawansowane techniki programowania
Dowiedz się, jak realizować projekt informatyczny
Naucz się tworzyć grę od strony praktycznej
Połączenie platformy Unity i języka C# zapewnia doskonałe środowisko do tworzenia i rozwijania różnego rodzaju gier komputerowych. To sprawia, że tandem ten jest niezwykle popularny wśród game developerów pragnących szybko i wydajnie osiągać profesjonalne efekty. Jednak sama znajomość narzędzi nie wystarczy, aby sprostać niełatwemu zadaniu zaprojektowania i zaprogramowania prawdziwej gry - by przekuć pomysł i umiejętności w prawdziwy produkt, trzeba czegoś więcej.
Niezbędne doświadczenie możesz zdobyć tylko w praktyce i na realnych przykładach. Takie warunki zapewni Ci właśnie ta książka! Pozbawiona zbędnej teorii, oparta na prawdziwym przypadku i do bólu praktyczna, pozwoli Ci szybko poznać zaawansowane techniki tworzenia gier komputerowych oraz wdrożyć się w proces opracowywania projektu przy użyciu metodyki zwinnej. Krok po kroku, iteracja za iteracją będziesz towarzyszyć autorowi w pracy nad komercyjnym produktem - przejdziesz wszystkie fazy jego rozwoju: od programowania, poprzez usuwanie błędów, po publikację gotowej gry.
W książce:
Tworzenie obiektów scen środowiska Unity oraz ich komponentów
Zaawansowane techniki w języku C# przydatne twórcom gier
Praktyczne zastosowanie różnych wzorców projektowych
Zarządzanie obiektami, wirtualnym czasem gry i jej stanem
Realizacja rozgrywki w widoku pierwszoosobowym
Usuwanie błędów i (...) więcej testowanie balansu gry
Dostosowanie gry do platform mobilnych oraz VR
Publikacja gry w popularnych sklepach cyfrowych
Zastosowanie metodyki zwinnej w projekcie gry
Programuj gry jak profesjonalista!
Spis treści:
Wstęp 9
O czym jest książka? 9
Co to jest metodyka zwinna oraz Scrum i jak prowadzony jest projekt gry w tej książce 11
Struktura książki 12
Zawartość książki 15
Założenia projektu Symulator Zielarza 16
Format kodu źródłowego 16
Rozdział 1. Pierwszy sprint. Struktury danych i losowanie choroby 19
Planowanie 19
Historyjki użytkownika 19
Komentarz do planowania 20
Zadania do wykonania 20
Prace nad sprintem 21
Utworzenie projektu w Unity 21
Przygotowanie struktury folderów w projekcie 22
Teren, słońce i kontroler pierwszoosobowy 24
Prototyp domku zielarza na scenie 27
Przygotowanie struktur danych - dokumentacja 27
Przygotowanie struktur danych - teoria dotycząca typu enum oraz wyliczenie CzesciCiala 30
Przygotowanie struktur danych - zdarzenia medyczne 34
Przygotowanie struktur danych - szansa na zdarzenie medyczne 35
Przygotowanie struktur danych - substancja i przedmiot leczniczy 36
Przygotowanie struktur danych - pacjent i postać 37
Ładowanie danych z konfiguracji XML - ładowanie zawartości pliku XML z zasobów 38
Utworzenie zarządców - singleton i globalny komponent 41
Rozszerzenie zarządcy gry i zarządcy zielarstwa - listy z
obiektami utworzonymi na podstawie konfiguracji oraz ogólna
część ładowania z konfiguracji 43
Ładowanie danych z konfiguracji XML: zdarzenia medyczne, szanse na zdarzenia, substancje i przedmioty lecznicze 46
Implementacja systemu dnia, nocy i czasu 49
Prototyp pacjenta na scenie, komponent pacjenta i jego powiązanie ze strukturą danych 53
Generacja pacjentów na scenie i przydzielanie im chorób (zdarzeń pierwotnych) 54
Podsumowanie pierwszego sprintu 60
Rozdział 2. Drugi sprint. Przebieg chorób i przedmioty na scenie 63
Planowanie 63
Historyjki użytkownika 64
Komentarz do planowania 64
Zadania do wykonania 65
Prace nad sprintem 65
Rozbudowa klasy Postac o możliwość dodania parametrów ogólnych 65
Przetwarzanie wewnętrznych parametrów zdarzenia medycznego 67
Refaktoring klasy MenedzerZielarstwa w celu sprawniejszego przetwarzania i tworzenia zdarzeń medycznych 68
Rozbudowa klasy Pacjent o identyfikator oraz stan życia i śmierci 71
Implementacja obsługi zdarzeń medycznych pacjenta 72
Implementacja prostego systemu tłumaczenia tekstów 74
Tworzenie ładnych nazw zdarzeń medycznych 77
Podawanie informacji tekstowej o zdarzeniach 77
Dodanie dymka objaśniającego stan zdarzeń pacjenta 78
Wprowadzenie wsparcia do testowej symulacji dużej liczby chorób u pacjentów 83
Dodanie mnożnika części ciała 86
Obsługa całkowicie uszkodzonych części ciała 87
Wprowadzenie koncepcji aktywnego obiektu na scenie 89
Wskaźnik środka ekranu, który zmienia wygląd po najechaniu na aktywny obiekt na scenie 90
Obsługa pokazywania nazwy przedmiotu po najechaniu na niego wskaźnikiem kamery 95
Podsumowanie drugiego sprintu 98
Rozdział 3. Trzeci sprint. Plecak, podnoszenie przedmiotów, zapis stanu gry, leczenie chorób 99
Planowanie 99
Historyjki użytkownika 100
Komentarz do planowania 100
Zadania do wykonania 101
Prace nad sprintem 101
Implementacja bazowej klasy zapisu stanu gry MenedzerStanuGry 101
Użycie klasy MenedzerStanuGry do zapisu pozycji gracza 108
Plecak i przedmioty w plecaku 110
Ułożenie przedmiotów na ekranie w panelach plecaka i zarządzanie wybranym panelem 113
Dodanie podpisu aktywnego przedmiotu 117
Obsługa efektów podnoszenia przedmiotu 119
Obsługa wyrzucania przedmiotu na scenę 121
Tworzenie instancji przedmiotu leczniczego w przedmiocie 122
Przekazywanie przedmiotów pacjentom 124
Leczenie pacjentów przedmiotami leczniczymi 126
Implementacja wyświetlania krótkiej wiadomości do gracza 127
Klasa KontrolerGracza oraz zawracanie gracza, gdy podejdzie zbyt blisko skraju mapy 129
Podsumowanie trzeciego sprintu 131
Rozdział 4. Czwarty sprint. Generowanie przedmiotów oraz rozwój UI 133
Planowanie 133
Historyjki użytkownika 133
Komentarz do planowania 134
Zadania do wykonania 134
Prace nad sprintem 134
Stworzenie klasy GeneratorObiektow tworzącej aktywne obiekty na scenę 134
Menedżer aktywnych przedmiotów 139
Refaktoring generacji aktywnych obiektów - pula obiektów 145
Startowanie generacji obiektów tylko w pobliżu gracza 149
Zapamiętywanie przedmiotów w plecaku 151
Kategorie zagrożeń zdarzeń medycznych - poprawa opisu zdarzeń 153
Refaktoring - wprowadzenie minimalnej i maksymalnej siły zdarzenia medycznego 154
UI pacjenta z mapką przedstawiającą zdarzenia medyczne na ludzkim ciele 156
Podsumowanie czwartego sprintu 162
Rozdział 5. Piąty sprint. Receptury, rzemiosło, opłaty za leczenie, reputacja gracza 163
Planowanie 163
Historyjki użytkownika 163
Komentarz do planowania 164
Zadania do wykonania 165
Prace nad sprintem 165
Dodanie receptur do plików danych 165
Klasa Gracz 167
Okno UI rzemieślnictwa 170
Okno rzemieślnictwa 172
Refaktoring systemu przedmiotów 181
Dodanie informacji o ilości złota na ekran 185
Handel - postać kupca 186
Okno handlu 189
Podział na pacjentów leżących i stojących 193
Docelowy sposób obsługi pacjentów oraz opłaty za leczenie 196
Obsługa reputacji 200
Podsumowanie piątego sprintu 202
Rozdział 6. Szósty sprint. Ekran startowy,
regeneracja obiektów, poprawki błędów. Publikacja w
serwisie Steam 203
Planowanie 203
Historyjki użytkownika 203
Zgłoszone błędy 204
Komentarz do planowania 205
Prace nad sprintem 205
Unikalne imiona i nazwiska pacjentów 205
Okno pomocy i przewodnik 206
Ekran tytułowy z możliwością kontynuacji i rozpoczęcia gry od początku 209
Możliwość przegrania gry 212
Wprowadzenie poziomu trudności gry 213
Okienko statystyk gry 215
Poprawa błędu: Po przegraniu gry i jej wznowieniu następuje próba kolejnego załadowania danych zielarstwa 216
Poprawa błędu: Źle wyglądająca pogoda 217
Poprawa błędu: Nieprawidłowe odświeżanie opisu przedmiotu w plecaku po usunięciu go 220
Poprawa błędu: Przedmioty medyczne nie działają zapobiegawczo 221
Poprawa błędu: Powinien pojawiać się opis przedmiotu z plecaka 222
Poprawa błędu: Przedmioty powinny tworzyć się na scenie wielokrotnie 224
Poprawa błędu: Aktualny czas dnia powinien być zapamiętywany w stanie gry 227
Przyśpieszanie i zwalnianie upływu czasu 228
Poprawa błędu: Siła pacjenta nie jest używana, a Witalność nie zmienia się 231
Poprawa błędu: Nie są uwzględniane działania niepożądane przedmiotów medycznych 231
Poprawa błędu: Wyświetlanie tylko jednego komunikatu w polu małej informacji 234
Poprawa błędu: Przedmioty w plecaku reagują na światło, a część z nich źle wygląda 235
Poprawa błędu: Wprowadzić możliwość wyrzucenia aktywnego przedmiotu z plecaka 237
Poprawa błędu: Każde uruchomienie gry przynosi takie same decyzje losowe 238
Testy balansu 238
Przygotowanie do publikacji: wersja Windows PC 251
Publikacja w sklepie Steam 253
Podsumowanie szóstego sprintu 260
Rozdział 7. Siódmy sprint. Poprawki popublikacyjne. Wersje VR, Android 261
Planowanie 261
Historyjki użytkownika 262
Zgłoszone błędy 262
Komentarz do planowania 262
Prace nad sprintem 263
Poprawa optymalizacji wyświetlania obiektów na scenie 263
Poprawa błędu: Część generatorów obiektów
generuje identyczne obiekty, szczególnie przy ponownej generacji
264
Poprawa błędu: Handlarz posiada zbyt schematyczne przedmioty 266
Analiza wejścia od użytkownika w kontekście przygotowań do wdrożenia platform: VR oraz Android 267
Refaktoring kodu testowego klasy MenedzerGry 269
Dostosowanie architektury do wieloplatformowości 269
Wersja gry dla wirtualnej rzeczywistości SteamVR. Konfiguracja wstępna 280
Poprawa błędu wyświetlania plecaka 288
Wersja gry dla wirtualnej rzeczywistości SteamVR. Obsługa wejścia 289
Wersja gry dla wirtualnej rzeczywistości SteamVR. Podpięcie sceny startowej 295
Wersja gry dla wirtualnej rzeczywistości SteamVR. Odmiana tekstów 296
Wersja gry dla wirtualnej rzeczywistości SteamVR. Możliwość
sterowania platformą za pomocą argumentów wiersza poleceń 297
Wersja gry dla wirtualnej rzeczywistości SteamVR. Optymalizacja 298
Wersja gry dla wirtualnej rzeczywistości SteamVR. Poprawki błędów, obsługa skoku 303
Rozwój gry o sugestie użytkowników: rozbudowa plecaka 304
Poprawka błędu: Można sprzedać bądź użyć w rzemieślnictwie wyrzucony przedmiot 309
Rozwój gry o sugestie użytkowników: Dodanie głównego poziomu trudności 311
Wersja gry dla platformy Android. Przygotowanie oraz zapis stanu gry 316
Wersja gry dla platformy Android. Obsługa wejścia 319
Wersja gry dla platformy Android. Optymalizacja szybkości działania oraz możliwość zmiany poziomu jakości 323
Wersja gry dla platformy Android. Poprawa wskazywania przedmiotów 326
Wersja gry dla platformy Android. Optymalizacja wielkości kompilacji gry 327
Wersja Android Gry. Publikacja w sklepie Google Play 336
Podsumowanie siódmego sprintu 338
Dodatek A. Przewodnik po książce 341
Skorowidz 353
O autorze: Jacek Ross - ma wieloletnie doświadczenie w programowaniu i tworzeniu oprogramowania. Jest autorem popularnych książek na temat PHP i bezpiecznego programowania: PHP i HTML. Tworzenie dynamicznych stron WWW, Bezpieczne programowanie. Aplikacje hakeroodporne i PHP5. Bezpieczne programowanie. Leksykon kieszonkowy. Kontakt: www.ejr.com.pl mniej
Unity i C#. Praktyka programowania gier - Opinie i recenzje
Na liście znajdują się opinie, które zostały zweryfikowane (potwierdzone zakupem) i oznaczone są one zielonym znakiem Zaufanych Opinii. Opinie niezweryfikowane nie posiadają wskazanego oznaczenia.