Hra Deadline
2D point-to-click příběhovka zasazená do role pracujícího Boba. Jedná se o školní proof-of-concept demo hru obsahující čtyři příběhové úrovně. Projekt vznikl jako trénink pro project engineering, na kterém se podílelo 7 lidí v rámci jednoho roku.
Dokončeno v říjnu 2019Tým
-
Ing. Martin Drozdík Team lead, programátor
-
Ing. Adam Gelatka Programátor
-
Ian Mustiats UI, design
-
Bc. Lukáš Pekař Programátor, devops
-
Ihor Salov Tvorba scén
-
Ing. Jan Šefčík 3D modelování, design
Práce na projektu
Deadline je projekt tvořený za studijním účelem vyzkoušení nových technologií vyvíjených na ČVUT a zároveň trénink správného software engineeringu. Hra se tvořila jeden rok v šesti sprintech. Na projekt dohlížel v roli product ownera Ing. Jan Skotnica.
Hra je cílená pro Windows, ale zkompilovatelná i do Mac a Linux. Implementována je i kontinuální integrace pro OpenGL a FTP deploy.
Vývoj této hry byl naprostý úspěch. První čtyři úrovně jako demo fungují velice dobře, příběh má hlavu a patu, design má úroveň, koordinace týmu byla na jedničku a všichni získali obrovské množství zkušeností. K tvorbě finálního produktu bylo zapotřebí vynaložit obrovské množství úsilí, i když je spousta detailů a systémů snadno přehlédnutelná.
Nedílnou součástí projektu je i série analýz.
Kromě excelentně konstruovaných modulů a scriptů se tým zaměřil i na tvorbu modelovacích nástrojů, které umožňují sestavit příběh a scriptovat události rapidním tempem.
Iterace 1
V současné iteraci se dokončila analýza projektu, konkrétně:
- Analýza business procesů
- Analýza požadavků
- Analýza případů užití
- Analytický (doménový) model tříd
Krom toho byl založen projekt a důkladně smluvena týmová pravidla (git, code, …). V rámci této iteraci vznikly následující dokumenty:
- Příběh a prostředí (v1) – mysteriózní příběh, kde se sny a reality pomalu slučují v jedno
- Příběh a prostředí (v2) – příběh prvních dvou dní a nocí o přepracovaném programátorovi
- Styl UI, Grafický styl – Dokumenty sjednocující styl UI, použité UI prvky, font, barevná paleta, materiály apod.
- Návod na tvorbu textur pomocí EBSynth
- Git Workflow – Domluva popisování commitů a struktura pracovních/produkčních větví
- Code guidelines – Domluva stylování, komentování a psaní kódu C# spolu se složkovou strukturou v Unity a obecné domluvy pro programátory
V rámci iterace byly dopředu naprogramovány i následující záležitosti:
- Vytvoření Unity projektu a složkové struktury
- Skybox
- Inventář
- Design hráče a NPC
- Stage manager – integrace systému v podobě programovatelných kroků/fází
- Grafický koncept
- Základní UI
- Pohyb hráče
- Režie a přepínání scén
- Zvuk (pozadí, efekty, mixéry)
Dnem 19. 3. 2019 jsou prozatím hotové, avšak neotestované záležitosti:
- Fader
- Dialogový systém
- Animace
Dnem 19. 3. 2019 jsou prozatím rozpracované záležitosti:
- Interakce s okolím
Všichni členové se učili potřebné technologie, zahrnující Blender, Unity, Photoshop a EBSynth.
Antonín Prantl udělal kontribuci do této iterace.
Iterace 2
V rámci iteraci byly naprogramovány následující záležitosti:
- Playground #1
- Vylepšení a integrace audio tříd
- Buildable objekty
- 3 hlavní fáze
- Interakce a interaktivní objekty
- Spoustu přidaných reakcí
- Collision trigger event
- Fader
- Player movement
- Integrace s interakcemi
- Vylepšení pohybu a oprava chyb
- Room Manager
- Questy
- Quest stack
- Quest
- Quest condition
- Spoustu nových podmínek
- Scene workflow
- Propojené audio
- Připojené quest UI
- Připojený hlavní stage manager
- Detekce současné scény
- Nesmrtelný objekt
- Stage Manager
- Vylepšení ovládání a integrace do scene workflow
- Spoustu nových stages
- Dialog
- Velká vylepšení, vrstvený přístup
- Zjednodušení ovládání, integrace s hráčem
- Fronta dialogů
- UI
- UI questů
- UI inventáře
- Hlavní UI prefab
Všichni členové usilovně pracovali a modelovali či programovali důležité herní moduly.
Iterace 3
V rámci iteraci byly naprogramovány následující záležitosti:
- Editory
- Array editor
- Default editor
- Override editor
- Override monobehaviour editor
- Buildable object editor
- Build stage editor (+3 subeditory)
- Collision event editor
- Condition collection editor
- Cursor manager editor
- Desired condition editor
- Editor link editor
- Fader editor
- Interactable editor
- Interactable highlighter editor
- Inventory editor
- Invincible object editor
- Quest editor
- Quest condition editor (+4 subeditory)
- Reaction editor (+9 subeditory)
- Reaction collection editor
- Scenes change manager editor
- Scenes workflow editor
- Stage editor (+14 subeditorů)
- Stage manager editor
- Workflow scene editor
- Inventory item editor
- Texturování
- Stylebit
- Základy ozvučení
- Ozvučení UI
- Interactable highlighter
- Dokončení modelování
- Vytvoření soustavy prefabů
- Opravení bugů a modifikace
- Interactable (předělání na GameObjecty)
- Vylepšení pohybu hráče
Iterace 4
V rámci iteraci byly naprogramovány následující záležitosti:
- Den 1
- Item provider
- Nové stages pro builder
- UI pro nastavení
- UI pro čtení (novin)
- .editorconfig
- Build pipeline
Iterace 5
V rámci iteraci byly naprogramovány následující záležitosti:
- Noc 1
- Optimalizace pro WebGL
- Instalace nástrojů pro analýzu kódu
- Velká vylepšení pro systém dialogů
- Buildable object UI
- Nové menu (téměř hotové)
- Transformer
- Build pipeline
- Publish pipeline
- PoC Unit testování
- Debugování
Iterace 6
V rámci iteraci byly naprogramovány následující záležitosti:
- Den 2
- Noc 2
- Balanc zvuků
- Tutorial
- Credits
- Setting tabs
- Bug resolver
- Console
- Bug hunt
- Spoustu drobných vylepšení
Vybrané použité technologie
-
Unity Game engine Tvorba hry
-
.NET Developer platform
-
Blender 3D computer graphics 3D modelování
-
Enterprise Architect Modeling and design tool Analýza a design
-
Git Version control system Verzování