4Developers 2015: Jak silnik UE4 zmienił podejście do tworzenia gier - Tomasz Bilnicki

18
Czy programiści nadal są konieczni? Jak silnik Unreal Engine 4 zmienił podejście do tworzenia gier.

Transcript of 4Developers 2015: Jak silnik UE4 zmienił podejście do tworzenia gier - Tomasz Bilnicki

Czy programiści nadal są konieczni?

Jak silnik Unreal Engine 4 zmienił podejście do tworzenia gier.

Kim jestem?

• Wydział Automatyki, Elektroniki i Informatyki Politechniki

Śląskiej w Gliwicach

• City-Interactive (Katowice)

• The Farm 51 (Gliwice)

• Anshar Studios (Katowice)

Tworzenie gier wideo - klasyczny

podział ról w zespole

• Projektanci (designerzy)

• Artyści

• Programiści

Wykorzystanie języków skryptowych

• Oddzielenie danych i logiki

• Przyspieszenie prototypowania

• Uproszczenie implementacji mechanik gry

Unreal Engine 3 - języki skryptowe

UnrealScript

Unreal Engine 3 - języki skryptowe

Kismet

Unreal Engine 4 - Blueprints (BP)

Możliwości BP

• Dynamiczne tworzenie i usuwanie aktorów/komponentów oraz ustawianie ich właściwości

• Pętle

• Instrukcje warunkowe

• Definiowanie zmiennych oraz tablic zmiennych• Tworzenie funkcji

• Definiowanie struktur danych

• Rzutowanie• Definiowanie typów enumerowanych

• Tworzenie klas oraz interface'ów

• Dziedziczenie po zdefiniowanych klasach• Debugowanie

Unreal Engine 4 - nowe podejście

tworzenia gier

• Artyści - tworzą grafiki, modele itp.

• Projektanci - wymyślają oraz implementują mechaniki gry

Spaghetti Style

Co może pójść nie tak?

• Spaghetti style

• Redundancja kodu/klas

• Brak podatności na zmiany stworzonego kodu

• Problemy wydajnościowe

Przypadki skrajne

BP nie dostarczają rozwiązań

• Obsługa zdarzeń typu odłączenie kontrolera itp.

• Nie wszystko jest dostępne w BP

• Prawdopodobnie certyfikacje

Jak używać BP?

• Prototyp

• Reprezentacja graficzna

• Definiowanie danych

• Implementacja logiki mapy

• Składanie pełnoprawnych aktorów z komponentów

Kto powinien tworzyć BP?

• Projektanci

– Prototypy

– Logika map

– Ewentualnie część mechanik

• Programiści

– Mechanika bazowa

– Nadzór nad kodem projektantów

Dlaczego programista jest

niezbędny?

• Wiedza

– Matematyka, fizyka, algorytmika

– Specyfika działania niektórych mechanizmów

– Architektura i refactoring

• Debugowanie

– "Nie działa i nie wiemy dlaczego"

• Optymalizacja

• Implementacja specyficznej funkcjonalności

Pod jakimi warunkami jest możliwe

stworzenie gry bez programisty?

• Mały produkt (niski stopień komplikacji)

• Nie pojawią się nieprzewidziane problemy techniczne

• Nie przejmujemy się certyfikacją

• Nie obsługujemy warunków brzegowych

Dziękuję za uwagę

[email protected]