Repository navigation
Pipeline
Engine:
- Unity 6000.0.42f1
- Android Build Support
- iOS Build Support
- Windows Build Support
- Plugins
- Netcode for GameObjects
- Multiplayer Widgets
- Multiplayer Services
- Multiplayer Play Mode
- Multiplayer Tools
IDE:
- Visual Studio Community 2022
Versiebeheer:
- GitHub Desktop
- Sourcetree
3D:
- Blender
2D:
- Adobe Substance Painter
- Adobe Photoshop
Audio:
Scrum:
Wij maken gebruik van een gecombineerde SCRUM methode. Aan het begin van de dag vertellen we omstebeurt wat we de vorige dag/keer hebben gedaan (i.p.v. stand-down) en daarna meteen wat de vandaag gaan doen. In onze ervaring van onze stageperiodes bleek dit veel efficiënter te zijn, aangezien iedereen aan het einde van de dag een beetje op is.
We werken in sprints van 3 weken, aan het eind van een sprint hebben we een sprint review met een presentatie. Na de presentatie houden we een retrospective waarin we reflecteren op de sprint/het project en maken we afspraken. Na de retrospective doen we een sprint refinement.
Voor het plannen volgen we de Trello scrum conventies.
Alles op de wiki, trello en in issues en pull requests word geschreven in het Nederlands. Alle Git commits zijn geschreven in het Engels.
In Unity splitsen we alle bestanden op in mappen. Dit behoudt de overzichtelijkheid en maakt het zoeken van bestanden makkelijker.
Legenda
---
title: Legenda Mappenstructuur
---
flowchart TB
basis{{Basis Map}}
map[Map]
mappen@{shape: procs, label: "Meerdere Mappen"}
Bestanden@{shape: docs}
Mappenstructuur
---
title: Mappenstructuur in Unity
---
flowchart TB
assets{{Assets}}-->art[Art]
art-->audio[Audio]
audio-->audioonderdeel@{shape: procs, label: "Onderdeel Namen"}
audioonderdeel-->audiofiles@{shape: docs, label: "Audio Files"}
art-->shaders[Shaders]
shaders-->shaderonderdeel@{shape: procs, label: "Onderdeel Namen"}
shaderonderdeel-->Shaders@{shape: docs}
shaderonderdeel-->subshaders[SubGraphs]
subshaders-->SubGraphs@{shape: docs}
art-->ui[UI]
ui-->uionderdeel@{shape: procs, label: "Onderdeel Namen"}
uionderdeel-->Sprites@{shape: docs}
uionderdeel-->uitextures@{shape: docs, label: "Textures"}
art-->artonderdeel@{shape: procs, label: "Onderdeel Namen"}
artonderdeel-->subartonderdeel@{shape: procs, label: "Subonderdeel Namen"}
subartonderdeel-->animations[Animations]
animations-->Animations@{shape: docs}
subartonderdeel-->materials[Materials]
materials-->Materials@{shape: docs}
subartonderdeel-->models[Models]
models-->Models@{shape: docs}
subartonderdeel-->textures[Textures]
textures-->Textures@{shape: docs}
assets{{Assets}}-->plugins[Plugins]
plugins-->Plugins@{shape: procs}
assets{{Assets}}-->prefabs[Prefabs]
prefabs-->prefabsonderdeel@{shape: procs, label: "Onderdeel Namen"}
prefabsonderdeel-->Prefabs@{shape: docs}
assets{{Assets}}-->scenes[Scenes]
scenes-->testing[Testing]
testing-->testscenes@{shape: docs, label: "Test Scenes"}
scenes-->Main@{shape: doc}
assets{{Assets}}-->scripts[Scripts]
scripts-->scriptsui[UI]
scriptsui-->stylesheet[StyleSheets]
stylesheet-->StyleSheets@{shape: docs}
scriptsui-->uxml@{shape: docs, label: "UXML Files"}
scripts-->scriptsonderdeel@{shape: procs, label: "Onderdeel Namen"}
scriptsonderdeel-->data[Data]
data-->ScriptableObjectScripts@{shape: docs}
scriptsonderdeel-->MonoBehaviours@{shape: docs}
assets{{Assets}}-->scriptableobjects[ScriptableObjects]
scriptableobjects-->scriptableobjectsonderdelen@{shape: procs, label: "Onderdeel Namen"}
scriptableobjectsonderdelen-->ScriptableObjects@{shape: docs}
Voordat we beginnen met het maken van een feature maken we een functioneel ontwerp. Hierin leggen we uit wat onze feature doet vanaf het perspectief van de speler. Dit doen we voor elke feature.
Na het maken van een functioneel ontwerp maken we een technisch ontwerp. Hierin laten we zien hoe onze feature gaat werken vanaf een developers perspectief. Dit doen we alleen voor features die veel functionaliteit toevoegen.
Tijdens het programmeren volgen we de code conventies. Als we ergens tegenaan lopen tijdens het programmeren wat niet goed uitgelegd is. Bedenken we samen een goede conventie en voegen we het toe aan de code conventies.
Als de feature af is documenteren we hoe deze feature werkt. Per systeem documenteren we elke class, waarvan we elke field, property en method met een omschrijving neerzetten. Daarna geven we voorbeelden van hoe je de methods kan gebruiken. Voorbeeld documentatie wiki
private static type naamOmschrijving
Doel is dat beide spelers zo door gericht te raden proberen als eerste de volledige locaties van alle schepen van de tegenstander te raden en zo de vloot van de tegenstander "tot zinken" te brengen. Wanneer alle coördinaten van een schip zijn geraakt, is het schip gezonken.
- Zeemijn(en) plaatsen
- Torpedo’s plaatsen en gebruiken
- 5 schepen kunnen plaatsen en roteren
- Multiplayer (eigen lobbies starten, en andere joinen)
- Zeemijnen ontmantelen
- Torpedo kunnen gebruiken bij een achterstand
VFX lijst
- Explosie
- Vuur
- Rook
- Water shader
- Water Explosie
- Torpedo trail
SFX lijst
- Achtergrondgeluid
- Explosie (hit geluid)
- Water explosie (mis geluid)
- Verlies geluid
- Win geluid
- Raket geluid
- Title screen
| Department | Verantwoordelijk voor | Medewerkers |
|---|---|---|
| 3D models | Het maken van alle 3d assets | Fiona, Romy, Lino en Levy |
| 2D | Verantwoordelijk voor UI. | Lino, Fiona |
| Animation | Het animeren van de beweging schepen en steve | Romy |
| Development | Het spel speelbaar maken en de gebruikersinterface laten werken door code te gebruiken in de Unity. | Mitchel en Daan |
| Technical art / VFX | Het maken van de explosie, rook en de water shader en grid shader | Romy, Levy, Fiona en Lino |
| Sound design | Elk geluid in het spel: bijvoorbeeld een goed explosie geluid | Lino en Levy |
| Marketing | Logo voor onze game en een mascotte, Video van het spel | Fiona, Romy |
| Documentatie | Documentatie van gezamenlijk document en het bijhouden van styleguide en pipeline | Fiona, Romy |
(Dit zijn afspraken voor iedereen in het team over hoe we werken,hoe we exporteren en wat je doet als je ziek bent.)
- Als je ziek bent, laat het team op Discord in het algemene tabblad weten dat je ziek bent en meld jezelf vervolgens ziek in Magister.
- Je geeft aan op trello aan welke taak je bezig bent en wat de progress is daarvan.
- Zorg dat wanneer je een file export de naam klopt volgens de name convention. ( Dit vind je op de wiki )
Fiona, Levy, Lino en Romy gebruiken Photoshop of clipstudio paint om een ontwerp te maken van de schepen, zodat we dat later in Blender als model kunnen uitwerken.
Als je een ontwerp of model af hebt, vraag je eerst feedback voordat je het in GitHub zet of zegt dat het af is.
Voor het maken van een character beginnen we eerst met het maken van concepten. Daarop wordt feedback gegeven door het team. Feedback wordt vervolgens verwerkt en dan kan er gewerkt worden aan een model sheet. Daarmee wordt het model van de character makkelijker, sneller en accuraat naar de model sheet. In blender gaan we het hele proces door, van modellen tot het animeren van de character (Modellen, Uven, Texturen, Riggen en Animatie). Als allerlaatst worden de animaties in unity geïmplementeerd.
Lino gebruikt Photoshop voor de UI. Hij begint met de concepting fase. Na wat verschillende concepten hebben gemaakt. Kiest Lino met behulp van het team het beste uit en werkt hij die uit.
VFX artist
We houden ons aan de styleguide, we gebruiken Unity shader graph om shaders te maken.