Aimless Manor Progress Update and Demo

We’ve officially been working on Aimless Manor for just over a week and here are a few demos of what we’ve accomplished and a who is doing what status update.

Proof of Concept Demos

The first demo is a demo of teleporting between different rooms done by Chris:

This demo is a preview of how our teleportation mechanic is going to work. As you can see in the video, walking into either the blue or red pillar selects that colour room and allows you to walk between the green room and the selected colours room. Since this is one of our core mechanics Chris really focused this week on making the transitions as smooth as possible.

For our next demo, we have a demo done by Josh:

In this demo, we have quite a few things going on at the same time. First, we have a way to indicate to the user what the puzzle might be by putting the pressure plate beside the row of sinks. Next, we have the teleporters done by Chris that allows us to walk between the green room and the red room. After that, we have a shader that becomes visible when you are trying to interact with an object that is able to be interacted with. It also has on-screen text showing what button to press to pickup/drop the object and what the name of the object is. Additionally, the demo showcases how the inventory mechanic and picking up/dropping an object works. That work was started by Sydney and further worked on by Josh. Then, the demo wraps up with putting the sink onto the pressure plate and finishing the multi-room puzzle.

Grace has been working on another one of our mechanics: random rooms. So far she has a solution programmed in python that allows us to test how the random rooms would work and is currently making sure the mechanic is solid before transferring it into C#. Here is a blurb from her:

“One of the specific mechanics of the game is that the next room the player enters should be “random”. Although the room generation should appear random to the player, it will not be truly random, in order to prevent the players from endless looping and guide them on the right path. This pseudo-randomness will be governed by the items that the player interact with, and the state they are in.

Any one item in this game will keep track of several things. For example, it will keep track of the room it started out in, the room it’s currently in, as well as the room it will be used in (its final/end/goal room). If it has to be used in conjunction with other items, it will keep track of the current position of the related items. An item’s target rooms, which are rooms it will direct the player to, will then be consisted of the end room, as well as to rooms containing its related items. Whenever the player obtains/holds the item, the targetted rooms will come into effect. Rooms are also created to keep track of items that are in them, including the state the items are in.

The player will keep track of the items they are holding, as well as the room that they are currently in. The game first judges if the player is holding any items. If yes, the game will direct the player towards the items’ targetted rooms with a weighted average calculation. If not, the game checks if there are any other unused items that can still be explored and picked up. If there are still other items the player needs, the game will generate a weighted average of the rooms containing these unused items. In the end, if the player is still holding the last item, they will be directed to the main/end room with 100% certainty and will be locked in the room until they solve the puzzle.

All of the parts are mocked in Python to test random room generation behaves as expected, which it does. A “playable” text demo is available in Python code right now to simulate walking between rooms, picking up, dropping, and using items. The code will be implemented in C# for Unity scripts, when it’s possible to attach to actual game objects.

Please run the Runner to begin a mocked simulation of generating the next room to go into.
Player can be operated with: r.player
Actions include
r.player.enter(“ROOM”)
r.player.pickUp/drop/use(“Item”)
and
r.next()
will list the rooms that the player are directed towards and will pick one for the player to go in. “

Her python project can be downloaded here

The last demo is by Natalie and it showcases how the magic mirrors will work:

As you can see in the demo, the magic mirror is going to allow us to hide/show certain objects in the mirror and will be part of how we will solve puzzles.

What Everyone Worked On This Week

Pandy and Vivian have been working on some of the designs for the rooms as well as how the puzzles are going to all fit together. Here are a few examples of puzzle ideas they came up with: https://cdn.discordapp.com/attachments/536722086018678804/538187283740753950/living_room_puzzles.jpg, https://cdn.discordapp.com/attachments/536722086018678804/538187297917501440/bedroom_puzzles.jpg

Heres a few images of the room layouts: https://cdn.discordapp.com/attachments/536722086018678804/537704627378847758/bathroom_floorplan.PNG,https://cdn.discordapp.com/attachments/536722086018678804/537451130955890698/20190122_205754.jpg

Sydney worked on the original inventory code and is currently working on particle effects and post-processing.

Josh was mostly working on the inventory mechanic and outlining items when they come into view.

Natalie has been working on the magic mirror that allows us to hide/display certain objects in a mirror.

Chris has been working on the teleporters and trying to make them work as smooth as possible.

Grace has been working on the random room mechanic in Python and is currently converting her working code into C#.

Paul worked on the games background music as well as the menu music.

Advertisement

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s