4developers 2015: dying light: burzliwa historia action directora - andrzej blumenfeld, techland

35
Dying Light: Burzliwa historia Action Directora Andrzej Blumenfeld

Upload: proidea

Post on 15-Jul-2015

159 views

Category:

Software


2 download

TRANSCRIPT

Dying Light: Burzliwa historia Action Directora

Andrzej Blumenfeld

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

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

• 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)

• FPP

• Zombie

• Otwarty świat

• Co-op

• Cykl dnia i nocy

• Parkour

• Chrome Engine 6

• ….

Teoria

Teoria

Cel

• Urozmaicenie gry

• Zachęcenie do eksploracji

• Zapełnienie świata

• Sprawienie wrażenia „życia”

• Ciekawe doświadczenie

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

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

Game Event

Game Event

Encounter

Encounter• Definicja w edytorze. • Typ. • Występowanie:

– Czas– Miejsce

• Plus– Ustawiany w edytorze– Wizualizacja– Walidacja

• Minusy– Rozmiar obiekt– Wdrożenie

Encounter

Encounter- Spawnowanie- Logika- Poruszanie- Animacje- Chattery- Instrukcje warunkowe- Zmienne- Callbacki- ...

Encounter

- Wszystko gotowe! Level

Encounter

LevelPojawia się gracz

Zombie- Zapewnienie braku crowdu

Blockowanie encountera- Trace od gracza- Gracz za blisko

Encounter

LevelWarunki spełnione

Encounter

Level• Blokujemy odwiedzone miejsca

• Timer startuje

5

Encounter

Level• Timer == 0

Praktyka

Terminy

Zmiany

„It’s one of the great tragedies of life – something always changes”

Prototyp

Konsekwencje

Konsekwencje

• AISimulator• Challenge• Zasięgi widzenia• Noc• Nagrody za murkiem

Odpowiedzialność

Podsumowanie

• 248 files (*.cpp + *.h) • 2.65 MB• 16+ różnych scenariuszy

• 64+ różne typy• 2+ lata developmentu

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

Teoria

Q&A

[email protected]@gmail.com