Andrzej Blumenfeld - Techland
Language - Polish
Historia generatora zdarzeń w grze Dying Light. Od założeń projektowych, przez burzliwą implementację aż po funkcjonujący system. Sukcesy, porażki oraz wnioski na przyszłość.
2. Agenda
• Wstęp – Czyli kim jestem, czym się zajmuję i o czym jest prezentacja
• Teoria - Czyli co chcieliśmy i jak to zrobiliśmy
• Praktyka – Czyli zderzenie z rzeczywistością
• Wnioski – Czyli czego się nauczyliśmy
• Q&A
3. Kim jestem?
• Frontline Studios
– Gene Labs
• Nitreal Games
– Misja Bielany 2
– Mazowsze: Pogoń w
czasie
• Vivid Games
– Table Twister
– Ski Jumping 2012
– Neon Blitz
– V-Tech
• Techland
– Dying Light
Programista Gier
4. • Crime Cites(2000)
• Speedway Championships (2001)
• Pet Racer (2001)
• Pet Soccer (2001)
• FIM Speedway Grand Prix (2002)
• Chrome (2003)
• Xpand Rally (2004)
• Chrome: SpecForce (2005)
• GTI Racing (2006)
• Crazt Soccer Mundial (2006)
• FIM Speedway Grand Prix 2 (2006)
• Call of Juarez (2006)
• Xpand Rally Xtreme (2006)
• FIM Speedway Grand Prix 3 (2008)
• Nikita: Tajemnica skarbu Piratów
(2008)
• Nikita – Piracki Wyścig (2009)
• Speedway liga (2009)
• Call Of Juarez: Więzy Krwi (2009)
• Nail’d (2010)
• FIM Speedway Grand Prix 4 (2011)
• Dead Island (2011)
• Call of Juarez: The Cartel (2011)
• Mad Raiders (2012)
• Dead Island Riptide (2013)
• Call Of Juarez: Gunslinger (2013)
• Dying Light (2015)
5.
6. • FPP
• Zombie
• Otwarty świat
• Co-op
• Cykl dnia i nocy
• Parkour
• Chrome Engine 6
• ….
9. Cel
• Urozmaicenie gry
• Zachęcenie do eksploracji
• Zapełnienie świata
• Sprawienie wrażenia „życia”
• Ciekawe doświadczenie
10. Założenia
• Zdarzenia które polegają na ratowaniu NPC
• Zdarzenia zrzutów samolotowych
• Nie pojawiają się na oczach
• Nie pojawiają się w miejscach gdzie gracz
dopiero co był ( za plecami itp)
• Występują
– W pewnych odstępach czasowych
– O określonych godzinach
– W określonych miejscach
11. Game Event
• Definicja w skryptach.
• Typ.
• Występowanie:
– Czas
– Częstotliwość
– Miejsce
• Pozycja ustawiana w edytorze (GameEventPlace)
• Plus
– Mało dodatkowych danych
• Minusy
– Brak możliwości ustawiania szczegółowych informacji per instancja
eventu na mapie
– Brak wizualizacji w edytorze
30. Podsumowanie
• 248 files (*.cpp + *.h)
• 2.65 MB
• 16+ różnych scenariuszy
• 64+ różne typy
• 2+ lata developmentu
31. Wnioski
• Jakość kodu
• Ładne prototypy
• Patrzmy na feature który robimy przez pryzmat
konsekwencji, oraz systemów innych osób
• Inicjatywa
• Róbmy grę, nie kod
• Twórzmy narzędzia
• Validatory
• Myślmy