Project Info

Dit project is gemaakt voor school in jaar 2 en we moesten een night racer maken in 4 weken. De bedoeling van dit project was dat het een open world racegame zou worden waarbij er meerdere races beschikbaar zijn om op te racen. Aan de art hebben ze dat niet kunnen redden maar de backend zoals het opslaan van scores en de Game/Race Managers werken grotendeels om deopen world functionaliteit aan te kunnen.

Tijdens dit project heb ik gewerkt aan.

  • UI Functionalitijd
  • GameManager
  • GameSaving
  • navigatiepijltje
  • UI functionaliteit

    Eindscherm UI

    Er komt veel op het eindscherm te staan dus heb ik ervoor gekozen om alle checkpoint en segmenttijden op een apart tabblad te zetten met elke checkpoint in een eigen kolom. Dit zorgt ervoor dat alles goed overzichtelijk is.

    Game UI

    Na elke checkpoint krijg je aan de linkerkant van het beeldscherm te zien hoe lang je over de lap hebt gedaan en waar je tijd in de lijst staat. Dit is 2 seconden zichtbaar na het behalen van een checkpoint.

    GameManager

    LapManager

    De LapManager houdt de tijd en het aantal laps bij van de race die bezig is en slaat daarna alles op naar de game saver die alles omzet naar een savefile. De LapManager wordt alleen gebruikt als er een race is gestart en elke race heeft zijn eigen LapManager.

    GlobalLapManager

    De GlobalLapManager wordt gebruikt om dingen die altijd actief zijn aan te passen zoals de tekst voor welke lap bezig is. De GlobalLapManager zorgt ervoor dat er voldoende opslagplekken zijn voor alle data en laadt deze in wanneer er een savefile bestaat. Het zorgt voor het respawnen van de speler en stopt de speler met rijden wanneer dat nodig is zoals tijdens het aftellen op de start. Als er maar één race is om te spelen zorgt de GlobalLapManager ervoor dat die race automatisch wordt gestart.

    Checkpoints

    De checkpoint slaat de spelerpositie op en geeft de opdracht aan de LapManager om tijden op te slaan en te controleren of er een lap voorbij is.

    GameSaving

    DataCenter

    De DataCenter slaat de game op in een apart bestand en laadt deze weer in wanneer de game wordt gestart en er een savefile bestaat. Voor het opslaan maak ik gebruik van een BinaryFormatter die een klasse met variabelen omzet naar een bestand.