Saturday, 30 November 2024

John Lemon's Haunted Jaunt

One of my recent assignments involved the use of a Unity and Unreal template and then adding on a mechanic of our choice to it and providing a short gameplay demo. My preferred engine is Unity due to my age giving me a great nostalgia for 2D titles which I feel Unity is best suited for, so quite naturally my template was a 3D game.

The Template

This was based on the John Lemon's Haunted Jaunt: 3D Beginner from Unity Learn. The project files were available to download here but I chose to create them from scratch by following the pathway as a way to increase my experience during this process.

The Mechanic

As the goal of the John Lemon game is to stealthily sneak past ghosts and gargoyles my idea for this project was to simply add a pickup that allowed the player character to become invisible to enemies, no matter if they are in view or not. 

First I'll show what happens when John Lemon walks into the sight of an enemy.


As you can see, this triggers the caught image and the level restarted. Now we want to introduce the pickup and temporarily block the enemies vision. We also need a visual indicator for the player in order to show if the invisibility is active. For this I feel the best way is to change the character model temporarily.


This is fine, however I also would like to demonstrate the behaviour when the effect wears off and the player returns to their normal status.


The first pickup expired (I set this to be twenty seconds) and he reverted back to being visible. However, John was very fortunate to have another invisibility bone right next to him! Now we can finish the level and allow John to escape.

Our level is now complete and our Lemon is free.

Other Mechanics Considered

At various points I considered ideas such as having a pickup that removed one random enemy, having a mode where you control one of the ghosts and pickups that do random effects (increase or decrease enemies, John or Ghosts invisible etc.), adding a timer, adding difficulty modes which change enemy number and their visiual ranges, and including a second exit. These could all have been great mechanics, but the time taken to implement would have impacted on my other modules currently. However when I have free time there is always the possibility of implementing some of thes emechanics, and if I do I will post about it here.

Conclusion

I had a lot of enjoyment when working on this, and I am a really big fan in general of the Unity engine and I particularly enjoy working with C# which I consider one of my best languages, alongside SQL.I was really pleased with how this turned out and the only challenge I found was keeping it simple, as per the brief I was given.




No comments:

Post a Comment