Teknisk Dokumentation - KevinUd2014/GameProject2016 GitHub Wiki
Alla klasser och skript i applikationen är skrivet med C# och det enda som ska krävas vid fortsatt arbete är en version av Unity som är nyare än Unity 5, då äldre versioner av Unity kan skapa problem.
Jag har använt mig utav Blender för att skapa 3d modellen av lägenheten och även hämtat mycket av mina 3d modeller så som nycklar, tavlor, mattor, badkar, handfat, toalett och bord osv. från Unity Asset Stor som är gratis att använda för alla.
Som versionshanteringsverktyg har jag använt mig utav Git och Github. Men vilket verktyg som helst borde fungera.
Spelet innehåller olika scener MainMenuscene, GameOverScene, Level2, StartLevel1Real och YouMadeItOneDay. Vilket är de primära scenerna som mitt spel innehåller just nu.
###Scenen MainMenuScene
Innehåller de olika knappar som spelaren möts av vid start av spelet.
###MainMenu.cs Sköter alla knappar som finns i de olika menyerna med att ladda in en level, hantera om spelaren väljer att fortsätta med ett sparat spel. finns en avsluta funktion som för att spelet kan avslutas, och även funktioner för att visa kontroller och en skärm "om spelet".
###PauseMenu.cs Innehåller de olika funktionerna för alla knappar i paus menyn, håller reda på om spelaren vill starta om, avsluta eller spara spelet osv.
###BobbingHead.cs Skapar en gåliknande rörelse för kameran i spelet.
###Character Skapar och håller reda på spelarens egenskaper som fart och position med tangentbords input och mus input.
###Door.cs Fixar så att dörrarna i spelet går att öppna och håller reda på vilka som är öppna och inte.
###EnemyChase.cs Gör så att fienden går mot spelaren och håller koll på om spelaren är framför eller inte och kan då stanna och attackera spelaren. Detta skapas med NavMesh som finns inbyggt i Unity.
###EnemyHealth.cs Håller reda på hur mycket liv fienden har och vid fortsatt utveckling kan man även använda detta för att skada fienden på önskat sätt.
###Fading.cs Skapar en fade funktion som ska göra det lite snyggare att byta scen.
###FlashLight.cs Skapar en ficklampa som kan stängas av och på av spelaren.
###Interaction.cs En lite mer avancerad klass som håller koll på om spelaren vidrör specifika element i spelvärlden som har taggen "interactable" på sig så ska vissa saker hända beroende på objektet. Detta skapas med raycasting.
###Keys.cs Håller reda på vilka nycklar som går till vilka dörrar i spelet och kan vid "upplockning" låsa upp specifika dörrar.
###knockOnDoor.cs Skapar en trigger som för att när man vidrör skriptet eller objektet som det sitter på så ska ett ljud spelas upp.
###Note.cs Skapar en "Note" som spelaren kan plocka upp och få information ifrån.
###PlayerEnterSafeZone.cs Skapar en safezone för spelaren som när spelaren går emot safezone som skapas varje gång en fiende skapas så kommer fienden att försvinna och spelaren är säker igen.
###PlayerHealth.cs Spelaren har också liv och denna klass eller detta skript håller koll på hur mycket liv som spelaren har från början och om spelaren blir skadad.
###safeDoor.cs Håller koll på om kassaskåpet är öppet eller stängt och om koden är korrekt som behövs för att det ska öppnas detta sker med några if-satser som håller koll på allt.
###SavableMonoBehaviour.cs En ärftlig klass som sköter allt med sparfunktionerna, och gör det möjligt att spara spelet. andra klasser kan anropa denna för att få tillgång till sparfunktioner.
###ScarePianoTrigger.cs Håller reda på om spelaren har gått in i "trigger pointen" för att sedan spela upp ett skräckljud.
###ScreamTrigger.cs När spelaren går in i en speciell trigger så aktiveras detta skript och ett läskigt ljud spelas upp, vilket är allt detta skript gör.
###TBFFile.cs Fixar så att hela sparfilen sparas ner i en .tbf mapp som i detta fall kallas för "save" och sparas ner i ett specifikt mönster. Klassen läser även filens nersparade data om spelaren väljer att ladda en gammal spelsession.
###TriggerEnemy Om spelaren vidrör denna trigger för detta skript så kommer en fiende att "spawna" i världen som sätter igång lite ljud och fotsteg.
###TriggerEnterNewLevel.cs Skapar en ny session i en ny scen.