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 2019
  • game

Tý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.

Deadline pro Windows

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.

Analytická dokumentace

Návrhová dokumentace

Architektura

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.

Editor scén

Vytvořený editor pro organizaci scén

Editor příběhu

Vytvořený editor pro scriptování příběhu (Den 1)

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í