Final Post and gameplay video

Posted 08/04/2023

Click here to check out the video walkthrough of the game at the bottom of this post!
As the assignment period comes to a close, we finished up the game prototype by populating the game with all of narrative content we had created for the opening scenario.

I spent a while cutting up all of the audio samples using Audacity, which we could then easily slot into the dialogue system nodes so that they would be played back at the same time as the text appears. In case there were any issues with the audio samples this would allow us to go back and easily re-export all of the original samples in case we needed to.

image
Sliced audio samples in audacity project

While an original suggestion from our group was to add a filter onto the individual samples to make them sound like they are playing from a radio device, I instead added a high-pass filter to the Audio Source object inside of unity to achieve the same effect. This would allow us to use a cutoff frequency value which we can easily tweak to find a good value. This approach saved us from having to create and export individual changes to the audio samples by adding the filter to the playback mechanism which is universal for the dialogue audio.

To enhance the feel of the game, I added audio clips for various actions, such as receiving a new card or whenever the hands pick up a figure or diorama. While the original plan had an audio manager component which could be called inside of each script to centralize the audio implementations, it was not ready in time when all the audio was being added at the end of the project, so I improvised by adding individual audio oneshot calls inside of each script which used audio feedback.

Key for the progression of the game, I imported all of the diorama models and set them up using the appropriate elements in the interaction and progression modules that Bence had created for the game.

At the beginning of the project I had the idea of using a personified magnifying glass as a companion like clippy from Windows 2000, so I had created a 3d model with that intention. As it didn't suit the game quite soon into development, I instead used a render of the model as a UI image which can show when something is inspectable.

Additionally, I created new game pieces for some of the character which are shown below. The corpse of the victim is represented by a King, while the police officer uses a Rook.
The remaining characters are all pawns, though the detective uses a white pawn to be identifiable among the other pawns.

image
Final diorama models with scene UI

As I could not decide on a single song for each area, I decided to simply add them all to the scene.
Using a script on the radio I had created, I added a library of music which the player can toggle between by clicking on the radio. This gives the player the option to select a music track they prefer, or allow them to turn the music off if it is interfering with the game in any way.

image
Final prototype game scene

Lastly, I created the cutscene which will play when entering the game scene for the first time. Using Unity's Timeline package, a playable director object will run the cutscene when the object becomes active.
I used a simple black image to fade into the scene, where the camera moves towards the door of the detective's office and opens it using one of the hand models before approaching the desk.
After seeing how uncanny the camera movement felt when moving, I added noise to all the cameras in the scene, so the cutscene cameras would bob while the character is walking and the static cameras very subtly shake to give it some realism.



Wrapping up the project

Posted 29/03/2023

After a short break from the project while our team members completed work for other modules, we were freed up to work on just the narrative game.
As I had now finished most of my coding contributions, I began to commit time towards fleshing out the visuals of the game by creating the diorama scenes wherein the game takes place.
To plan out what exactly had to be in each scene, I asked our narrative writer to note some information about what needs to be in each area to work with the narrative, and created a creative world in Minecraft to quickly create a visual mock-up so that we could make sure we were on the same page before I committed to creating the final game models.

image
Blockout of diorama scenes planned using Minecraft

Below are the final diorama models used in the prototype, in the same order as the blockout above.
It was important to make sure that each diorama had plenty of empty space, as it was necessary for the positions of the game pieces during the dialogue interactions to be placed in the same location across all the dioramas for the current implementation of the game. In future iterations of the game it would be beneficial to change the design of the dialogue interactions so that dioramas can have more depth in terms of layout, but for the purposes of this prototype it is fulfilling the requirements.

image
Diorama models created using blender


As our previous toon shader was causing us some issues with the lighting when moving the camera, I switched the shading package to Flatkit, a toon shading package which offers native support for vertical gradient colouring, a feature that I am a big fan of considering that I add a vertical gradient to most of my modelling projects. This means that I would not have to create custom textures for the models which would be in the scene to create baked lighting information, and could instead opt to use a single colour palette for all of the models, and let the shader handle the baked shading, lightening the workload required for the aesthetic I was trying to achieve.

image
New Game scene using Flatkit toon shader

While it doesnt affect the actual gameplay in the prototype, the scenery was very plain, and wouldn't accomodate well for an entry cutscene. I decided to spend some additional time populating the game scene so that it will look more interesting when creating a transition from the start of the game into the office.

image
New Game scene using Flatkit toon shader

To create a lot of context around the game I added a classic detective door seen a lot of media, which can introduce the player character's name and profession at the beginning of the prototype. Additionaly, I added windows to add context for ambient light, and rounded out the opposite end by creating a bookshelf full of folders. While the original idea I had for the prototype would have newspapers and documents strewn around the room, I opted for a box full of documents which I could use a few times around the scene to add clutter to the room.


Advancements on the prototype

Posted 12/03/2023

Having spent a couple weeks trying to nail down the features of our game inside the prototype, our new programmer and I worked on implementing any features we intend to include in our game, to lay the groundwork so that the rest of our team can begin working on the implemention of the narrative. Ideally, we get this part finished quickly so that I can dedicate myself to the narrative writing soon.
See the bottom of this post for a video of the current prototype.

image
Work in progress screenshot of the main scene

Since the last post I have properly implemented the dialogue editing/playback system, so it now appropriately displays the content of the ScriptableObjects, as well as having functionality to enable control of the camera, and playback of the character's voiceover during a section of dialogue. Each node is able to contain up to 3 camera aim targets, which are then passed to a Cinemachine target group, and weighted accordingly, to allow the camera to frame specific objects or characters during a dialogue segment. Nodes can also contain enter and exit actions, which allow for functions to be triggered from an additional "Trigger" script, allowing for behaviour such as changing the name of the NPC character, or adding a specific card to the player's inventory (such as information collected during an interaction).

image
Sample dialogue sequence blockout inside custom dialogue editor
image
Sample of content contained within each individual node

Adding on further functionality to our scene, I created several rigged models which I will go over below:

image image

Representing the player character, these hands will interact with the scene whenever the player clicks on an interactable object, or within the context of a dialogue. I made three bones per finger, as well as metacarpal bones to allow better expression of the knuckles, and created several poses which the hand can take (shown above).


image image

Adding a more dynamic light inside the scene, this lamp model contains a spotlight which puts additional focus on the speaking characters in the diorama, and can be controlled using two target objects for the position and orientation of the lamp head, which can then be animated accordingly during runtime


image image

After completing appropriate geometry for this game asset, I additionally rigged the cassette player to be animated. Buttons will now collide with the hand model to give the impression of being pressed, currently there is no implementation of any functions which animate the cassette, which will hopefully be in the next iteration of the prototype.

Finally, here are some additional assets which I made which currently have no special function, as well as the video of the current prototype:

image
Rigged radio model

image
Evidence board, used as a map interface

image
Background cupboard, decorative


Prototype Pitch

Posted 27/02/2023

Today we pitched our initial prototype and overall concept to the rest of our media creation class, met with positive responses over how creative the idea was considering that we decided to follow a different formula instead of the proposed "Hero's Journey" archetype. Our presentation slides as well as a link to the first prototype video are at the bottom of this post.

For a working title I made the executive decision to go with "Detective Trowel and the Rotten Posy", following a very plant focused theme around our setting and character design. The game takes place in the rural town of "Bloomsted", England in the 1980s, with a "Whodunnit" type of layout for the progression of the story.
[A garden trowel is used to remove weeds from a garden, which ties into our symbolism about the detective weeding out (no pun intended) the murderer from the town which the mystery takes place in. A posy is a bunch of flowers, relating to all our characters being named after different plants as well as their characters being a facade behind which there lies something inherently rotten.]

For this prototype I had originally planned to have our dialogue system implemented using ScriptableObjects as data containers for a sequence of dialogue interactions between players and non-player characters, following the foundation made in this udemy course whereby you create an editor script to visualise child objects as nodes inside of an editor window to quickly facilitate the creation of branching dialogue options while having a visual representation of the flow of dialogue. Unfortunately as I only finished it the day before the pitch there was no time to sort out critical bugs preventing its use inside the scenario, so it was only implemented shortly after.

Additionally, I created the scene blockout/mockup and some more polished key model blockouts to use inside the prototype using blender, as we work on experimenting to find a visual style for our game, we tried using a store asset shader to give our scene some stylised toon outlines and shading which might serve a noir-style approach well, but it's largely up to experimentation.


image
Mockup of game flow made with blender/miro

image
Cassette player / tape made in blender

image
Telephone made in blender



Some explanation for the first prototype:
The entire scenario takes place inside the detective's office, with all of our game elements laid out on top of his desk. In the centre is a diorama showing the layout of the area of the village he is currently in. In anti-clockwise order starting from the right are: A cassette player which we use as a diagetic operator for the sound of the character's voices to be played back to the player, a pile of newspapers which recaps the murder case as it was presented by the media to help bring players up to speed with the scenario, a telephone which the detective uses to resolve the mystery by presenting a solution to the murder, a pack of cigarettes which serves as the visual display for the number of retries you have left before the scenario resets, and the 3 piles of evidence cards which serve as manifested representations of the things you find out during the dialogue which act as the keys when resolving the quest.
Pressing the 'M' button at the bottom transitions to the map, where you can navigate around the village (represented by the switching of the dioramas). In each area you will encounter different people, who you can speak, observe and present evidence to for the purposes of advancing dialogues.


Narrative Game Concept

Posted 15/01/2023

To find a concept for our narrative game we each decided to come up with individual concepts over the span of a few weeks and pitch them to our group. As much as I wanted to commit to creating purely my own idea, I felt that it would be best if we could find a middleground among all of our ideas.
I made several pitches for different directions we could take, the document is linked at the bottom of this post.
To compromise among all of the ideas we liked, I decided to merge them together and maintain elements of each in the final concept.

The final idea for the game consists of:
A mystery/detective game where you play scenarios like a board game. Making mistakes in the game raises the protagonist's stress level, increasing their reliance on consuming alcohol/cigarettes to calm down. Characters in the murder mystery are represented by board game figurines, which the detective picks up and puppets around as they talk while he mimics their voices in his own. This would give more of a link towards a mental-health theme as the game could hint towards the fact that everything is conceived inside his head, and be more of an inwards exploration of the player character instead of a standard murder mystery.

Personally I am very excited for this game as the proposed scope of the game is much more realistic than our mobile game, seeing as we have now introduced an additional programmer to our team. For this project I can more safely work on creating art assets to create our own visual style the prototype while the rest of our team works on blocking out the narrative.
Once the prototype is fully functional I will then set my focus to making sure the narrative writing gets done.


Blog Pages of the other team members:
(New) Programming: Bence Nagy
Narrative: Jimmy Rammelkamp
2D Art & Narrative: Chanae Henry
UI Programming: Joshua Mootoo