Finalising Level 1

We have now had our first experience sharing our game with the public, and have summarised the observations and feedback from the day of playtesting. We’re planning to take a bit of time to make some final improvements to level 1 now, before we then use it as a starting point for creating our second level.

Playtesting Notes:


Our level 1 was tested by people of all ages, we were much more lax with the age rating of the game at this stage because it does not feature anything particularly mature

Main bugs Identified:

  • Still need to fix issue with move transition (using a timer has been suggested as a solution)
  • A couple of players encountered a bug with the held cloth disappearing during the penultimate tasks, breaking the game.

General feedback:

  • Most players understood controls and instructions without any help
  • Some players who did seem lost did not check the tag for the level’s tasks, maybe we should make it more obvious (could animate it? or start the level showing the instructions)
  • Players really seemed to like the more interactive segments like the eyeball drawer and animated features like the doll blinking
  • People generally felt that although nothing scary happened, it had a creepy look and feel

Aside from fixing some previously identified bugs, some final features we are thinking about adding include:

Light Intensity

In order to add just a bit more “motion” and ambience to our game, we wanted to try making our main light sources “ebb” in a way, cyclically fading in intensity before returning to their brightest state.

This could be accomplished quite easily through a simple a script that controls the light component of each light game object. I reused most of the code from our fadeTransition script, using a coroutine to gradually change the light’s intensity from a high value to a low value (then back again), in the same way that script uses it to change an image’s alpha.

After some testing, I decided that instead of trying to hardwire values into the script, I should make them public variables so that we can easily assign different values for each light source as we see fit. This lead to me adding 2 public variables, minIntensity (since this will vary depending on the max/starting intensity of each light), and fadeSpeed (to control the speed of the change).

Outlines Around Drawers

During testing, we found that some people had a hard time telling the difference between the 2 rows of drawers at the cabinet/didn’t realise there were 2 separate rows. To make this distinction clearer, we decided to add rectangular outlines to each “segment” of the cabinet unit that will glow when the player hovers over them.

I decided the quickest and easiest way to do this would be to use the 2D sprite highlight technique we have already set up and used for many objects in the game, that way I wouldn’t have to worry about creating a new edge highlight system for 3D objects.

To start with, I downloaded a basic rectangle outline png and added it as sprites to the relevant game objects (the ones that function as nodes and contain the colliders), scaled them to fit each segment, then set them up to use the highlight material and script.

After checking this worked, I used the scale of each sprite object with the original dimensions of the png image to calculate the dimensions of each segment, so that I could create some proper outlines for each segment that won’t be in any way warped or distorted by scaling.

Camera Pan at Shelf Area

This was an extra feature I thought might be nice to have when at the shelf area, to give the player a chance to explore more of the space without actually having to move. The idea was that when the player brings their mouse to the edge of the screen, the camera will rotate a small amount in the direction, revealing more of the room, then pan back towards the centre when the player moves their mouse away.

This has been done in many first-person point-and-click games, and is theoretically not difficult to accomplish, however, after I started looking into trying to implement this feature I decided it was not a high priority and so should not be worked on now.

Finished Level 1 Demo

Laura Alford

Leave a Comment

Your email address will not be published. Required fields are marked *