Lost Mazer is a first-person Halloween-themed 3D horror game built in Unity where players must navigate a haunted maze, uncover a chilling mystery, and escape from a terrifying stalker.
The game contains a multiplayer minigame mode, where you can battle your friend and get points for taking them down!
Settings and levels unlocked are saved using PlayerPrefs, and high scores are managed through Backendless.
You can save your progress during a game and reload it to the same point where you left off thanks to JSON serialization.
Step into the shadows as Ben, who mysteriously wakes up trapped in a haunted maze with no memory of how and why he got there.
You'll have to find a way out of the maze with your fellow Jerry the Lantern! Along your exploration, notes left by someone will be found scattered across both mazes, detailing insights and clues of the sinister place you're in, making Ben stir disturbing memories as he begins to question everything he once thought he knew.
This game features two unique maze maps. Your objective in each is to find a hidden key, that unlocks a door to proceed to the next level. This won't be easy as any sort of noise you make can alert The Red Man!
You'll have to walk carefully to avoid getting caught, and remember your path so you don't get lost inside the maze!
Category | Criteria |
---|---|
Menu and in-game User Interface | Meaningful menus Graphical design of the UI HUD Basic Advanced, e.g. map |
Game levels | Complexity of scenes Originality and novelty of assets |
Non-player animated character | Transitions between multiple animations Use of animation layers Nav mesh and waypoints Advanced NPC behaviour |
Save and reload the game state | Save state of game object to file Reloading of game and game objects from file |
Keep and save user score | Store score e.g. using PlayerPrefs Backendless for storing the score |
General | Overall gameplay experience Presentation and attention to detail Other points of note |
Bonus | Multi-player (PUN) Ragdoll Cut scenes Simple audio triggers |
Gameplay Video Previews
1GameplayVideoMenu.mp4
2GameplayVideoBasics1.mp4
3GameplayVideoBasics2.mp4
4GameplayVideoChase.mp4
Multiplayer Video Preview
MultiplayerVideo.mp4
-
Cutscenes
- Tab: Skip entire cutscene
-
Gameplay
-
Movement:
- W: Move Forward
- A: Move Left
- S: Move Backwards
- D: Move Right
- Q: Peek Left
- E: Peek Right
- Space: Jump
- Ctrl: Crouch
- Shift: Run
-
Other:
- X: Toggle Lantern
- Left Click: Interact
- Right Click: Zoom In
-
Esc: Pause/Unpause Game
-
You can download the game by clicking one of the following links:
Alternatively to downloading the game, you can clone the project and run it locally.
- To clone the project, run the following in Git:
git clone https://github.com/danialjivraj/lost-mazer
- Once finished, open your Unity Hub, press
Add
->Add project from disk
, then select the cloned project folder. - After adding, click on the project to open it in Unity. It may take a couple minutes to open it for the first time.
Note: The game has to be cloned. Do not download it as a ZIP as it will not fully download everything due to LFS.
To enable multiplayer, you'll need a Photon account first and obtain an App ID:
-
Go to Photon Dashboard.
-
Click
Create a New App
.- Application Type:
Multiplayer Game
- Photon SDK:
Realtime
- App Name: (Any name you like, e.g.,
Lost Mazer
)
- Application Type:
Press Create
. You will then be given an App ID
— copy this ID.
- Paste the
App ID
into the appropriate field inside the Unity project (through the PUN Wizard pop up or underPhotonServerSettings
if the popup does not appear).
-
In order to see the highscores, you will need to have an account in Backendless.
-
After creating and logging in, you will be prompted to
Create New App
. You can selectBlank New App
and name your application to anything you want. -
Go to
Database
found on the sidebar and add a new table by pressing the+
icon, name the tableHighScores
and pressCreate
. -
With the table now created, go to
Schema
andTable Editor
. PressNew
and create the following:- Name:
playerId
, Type:STRING
- Name:
level
, Type:INT
, Default Value:1
- Name:
score
, Type:INT
, Default Value:0
- Name:
-
In the code, go to
Assets/_Scripts/BackendlessConfig.cs
, where you will see the following:
public const string BASE_URL = "https://";
public const string APP_ID = "";
public const string REST_API_KEY = "";
You'll need to paste your APIs from Backendless. You can do this by going to Manage
in the sidebar, where you will see the following:
Copy the Backendless subdomain
and paste it inside the quotes after https://
for BASE_URL
.
Copy the Application ID
and paste it inside the quotes for APP_ID
.
Copy the REST API key
and paste it inside the quotes for REST_API_KEY
.