Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

4Developers 2015: Dying Light: Burzliwa historia Action Directora - Andrzej Blumenfeld, Techland

293 views

Published on

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ść.

Published in: Software
  • Be the first to comment

  • Be the first to like this

4Developers 2015: Dying Light: Burzliwa historia Action Directora - Andrzej Blumenfeld, Techland

  1. 1. Dying Light: Burzliwa historia Action Directora Andrzej Blumenfeld
  2. 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. 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. 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. 5. • FPP • Zombie • Otwarty świat • Co-op • Cykl dnia i nocy • Parkour • Chrome Engine 6 • ….
  6. 6. Teoria
  7. 7. Teoria
  8. 8. Cel • Urozmaicenie gry • Zachęcenie do eksploracji • Zapełnienie świata • Sprawienie wrażenia „życia” • Ciekawe doświadczenie
  9. 9. 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
  10. 10. 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
  11. 11. Game Event
  12. 12. Game Event
  13. 13. Encounter
  14. 14. Encounter • Definicja w edytorze. • Typ. • Występowanie: – Czas – Miejsce • Plus – Ustawiany w edytorze – Wizualizacja – Walidacja • Minusy – Rozmiar obiekt – Wdrożenie
  15. 15. Encounter
  16. 16. Encounter - Spawnowanie - Logika - Poruszanie - Animacje - Chattery - Instrukcje warunkowe - Zmienne - Callbacki - ...
  17. 17. Encounter - Wszystko gotowe! Level
  18. 18. Encounter LevelPojawia się gracz Zombie - Zapewnienie braku crowdu Blockowanie encountera - Trace od gracza - Gracz za blisko
  19. 19. Encounter LevelWarunki spełnione 
  20. 20. Encounter Level• Blokujemy odwiedzone miejsca • Timer startuje 5
  21. 21. Encounter Level• Timer == 0
  22. 22. Praktyka
  23. 23. Terminy
  24. 24. Zmiany „It’s one of the great tragedies of life – something always changes”
  25. 25. Prototyp
  26. 26. Konsekwencje
  27. 27. Konsekwencje • AISimulator • Challenge • Zasięgi widzenia • Noc • Nagrody za murkiem
  28. 28. Odpowiedzialność
  29. 29. Podsumowanie • 248 files (*.cpp + *.h) • 2.65 MB • 16+ różnych scenariuszy • 64+ różne typy • 2+ lata developmentu
  30. 30. 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
  31. 31. Teoria
  32. 32. Q&A
  33. 33. techlandjobs.com andrzej.blumenfeld@techland.pl andrzejblumenfeld@gmail.com

×