top of page

Project Name:

A.I.solation

My Contribution:

Level Building Tool, Level Prototyping, Audio Trigger Script, Player Character & Mechanics Implementation, Puzzle Implementation & Additional Blueprint Scripting

Project Info

Team Members

7 (Official FutureGames team school project)

My contribution to the project

Level Building Tool, Level Prototyping, Audio Trigger Script, Player Character & Mechanics Implementation, Puzzle Implementation & Additional Blueprint Scripting

Time To Complete

1.5 weeks

Year

2021

Genre 

Adventure, puzzle 

End Goal

Complete a short game as an official school project with a team of game designers and 3D artists

Tools Used

Unreal Engine 4, Miro

                                        About The Project

"A.I.solation" is an adventure game where you play as an artificial girl who wakes up on a space station. 

At first she is seemingly the only one on the station until she meets the antagonist who tries to prevent her from leaving the space station.

 

The goal of the game is to escape the space station. 

The antagonist have placed puzzles and traps that you must solve going from room to room in order to succeed with escaping the station and reach the goal.

                              

Project Info
About The Project

                                        Project Showcase

With this project I collaborated with a team of 2 game designers and 4 3D artists.

I ​contributed to building tools for level design and scripting of the player character's movement, mechanics & puzzle implementations. I also created a trigger system for the narrative audio cues.

The gifs are showcasing the end result of the completed project as seen below:

Gif_AI_Solation_Hologram_Mode.gif
Gif_AI_Solation_get_damage_electricity.gif
Gif_AI_Solation_solve_fire_puzzle.gif
Gif_AI_Solation_interaction_ball.gif
Gif_AI_Solation_get_damage_fire.gif
Gif_AI_Solation_Lift_Item.gif
Project Showcase

                                            Level Layout

The players goal at the start is to escape the spaceship. 

The level is divided into 6 rooms.

The players will be gated by puzzles in each room and have solve each puzzle in order to progress to the next room.

The puzzles increase in difficulty after each room as you progress.

A visual image of the level layout can be seen below:

level_overview_A.I.solation.png
Level Layout

Group Brainstorming

We were given certain restrictions by FutureGames regarding the game project.

The restrictions were:

Linear gameplay adventure game & must contain puzzles.

Working within these restrictions. We used miro in the group when we brainstormed different ideas for game concept, core gameplay, mechanics, puzzles, art style etc.

The screenshot below is the miro board used to brainstorm within the group:

miro_overview_A_edited.jpg
Group Brainstorming
First Iteration

First Iteration Of Project

(Prototyping Game Mechanics)

                       

After the brainstorming we agreed upon the core gameplay and the core mechanics of the player character. 

I started quickly prototyping the player character upon request of one of the designers on the team.

 

I planned and implemented the first iteration of the player character including movement, and being able to interact and to pickup items. I would later implement the rest of the player mechanics during later iterations.

 

To script the implementations I used the Unreal Engine 4 blueprint scripting system.

Below are several gifs showcasing all the mechanics I implemented on this project as seen below:

Gif_AI_Solation_Pickup_Item.gif

Picking Up Items Mechanic

The player can pickup certain items that are highlighted.

 

The same button input is for picking up items, interacting with items & lifting items (although the button is held down to lift items)

I decided to implement the same button for all these interactions to make the user experience better.

 

This way the player can be focused on the narrative and puzzle solving in the game instead of trying to remember what button to press. Now they only have to remember one button to press for interaction.   

Gif_AI_Solation_Lift_Item.gif

Lifting Items Mechanic

Certain Items can be lifted up by the player.

 

At the onboarding part of the level the player is hinted to lift the object blocking the door as seen in the gif in order to pass to the next room.

 

This will teach the player the lift mechanic in the very first room and letting them know that they can pick up and lift certain items in the game early on.

Gif_AI_Solation_Interact_Item.gif

Interacting With Items Mechanic

The player can point and click to interact with certain items to solve puzzles. The items that are interactable will be highlighted when in players crosshair view to suggest to the player that it's interactable.

Gif_AI_Solation_Hologram_Mode.gif

Hologram Mode Mechanic

To avoid certain obstacles and to solve certain puzzles. The hologram mode mechanic is used.

It works by turning the player into a hologram enabling the player to walk through certain "electrified" walls. As seen on the gif above.

 

When in hologram mode the player is also immune to fire and electricity which is present in some areas of the level.

Second Iteration Of Project

(Quick Level Prototyping Tool)

                       

Since we had a limited time (1.5 weeks) to finish the whole game. 

 

The game needed to get done quickly in order for us to meet the deadline.

Fortunately, one of the 3D artists had made wall and roof assets that was very modular during the first iteration phase. I utilized these 3D models as building blocks for creating rooms. 

I felt it was crucial to be able to build the rooms as quickly as possible. So that's why I created a "blueprint actor" (using Unreal Engine) tool as a "base actor" containing a room that all the other rooms would inherit from by creating "child actors" from the "base actor". 

By doing this, the rooms could be easily iterated upon by only changing a single actor class instead of changing each room separately. If say for example that you would want to change the height of the roof on all the rooms.

Every room is an Unreal Engine blueprint actor that inherits from this base actor as seen in the screenshot below:

blueprint actor zoomed.PNG

The screenshots below showcases an example of how quickly it is to iterate the rooms if needed for rapid level building using this tool I created

(having rooms as Unreal Engine blueprint actors):

blueprint actor_roof_material_default.PNG
HighresScreenshot00007.png
HighresScreenshot00006.png
blueprint actor change_roof_material_NEW.PNG
HighresScreenshot00005.png
HighresScreenshot00004.png

Conclusion

                       

By using the method to have all the rooms as blueprint actors. It helped building all the rooms a lot easier and quicker which was crucial since we had 1.5 weeks to finish the whole game. 

As seen in the screenshots above, if needed, it's very easy to change the material of the meshes which makes the iterative process much smoother and faster since you only have to make changes once instead of in every room one by one.

Second Iteration
HighresScreenshot_1.png

Before Using The Room Building Tool

                       

The screenshot above is the very first room prototype I did.

 

I noticed that it would take too much time create rooms this way and meet the deadline since every mesh was placed manually by hand.

 

That is the reason why I created the tool to build rooms quickly (the blueprint actor room).

HighresScreenshot_baseroom.png

After Using The Room Building Tool

                       

In the screenshot above is an example of a blank room using this room building tool I created before any puzzles were added.

This tool was available to everyone on the team and was used throughout the project to build all the rooms quickly.

Third Iteration Of Project

(Implementing Puzzles)

Two of the game designers were tasked with generating puzzle ideas.

 

My role was to implement those ideas into playable puzzles in the game.

In Miro the two designers drew 2D versions of the puzzle rooms. After they were done I created 3D versions of the puzzles and scripted functionality to them using the Unreal Engine 4 blueprint scripting system.

The 2D reference version and the final version of the puzzles can be seen in the screenshots & gifs below:

miro fire puzzle room 2D screenshot.PNG
Gif_AI_Solation_solve_fire_puzzle.gif
miro water puzzle room 2D screenshot.PNG
Gif_AI_Solation_solve_water_second_puzzle.gif
miro last puzzle room 2D screenshot.PNG
Gif_AI_Solation_stopping_gas.gif
Gif_AI_Solation_solve_last_puzzle.gif
Gif_AI_Solation_interaction_ball.gif
Third Iteration

Fourth Iteration Of Project

(Adding Voice Acting With Custom Audio Trigger Script)

Since the game was very narrative driven we felt that voice acting would elevate the game and decided to add it.

However since the game was linear. We needed a solution to prevent the player from moving forward too fast to miss out on what each voice line is explaining at each part of the rooms.

To solve this problem I wrote an audio trigger script that would play the voice acting audio line if the player enters a trigger. 

 

And to prevent the player from moving ahead when they should not a temporary invisible wall is presented at those particular places until the voice line stops.

 

When the voice line audio stops the the script tells the invisible wall to disable collision, which enables the player to move forward to the next area.  

A link to the audio trigger tool blueprint script can be seen below:

Fourth Iteration

(Player Guidance)

Using Highlight On Interactable Objects

To help players easily see objects that are interactable. A highlight will be shown if the player's raycast detect any object that is interactable.

In other words, if the player is looking at an interactable object in close range, the object will be highlighted.

As seen on the gif below:

Gif_AI_Solation_Interact_Item.gif
Using Hightlight On Interactable Objects

(Player Guidance)

Using UI To Teach Players Mechanics

To help teach the player different mechanics in the game. 

A UI text prompt will appear at certain areas.

 

A visual representation of what is described above can be seen on the gifs below:

Gif_AI_Solation_Lift_Item.gif
Gif_AI_Solation_Hologram_Mode.gif
Gif_AI_Solation_Interact_Item.gif
Gif_AI_Solation_Pickup_Item.gif
Using UI To Teach Players Mechanics

(Player Guidance)

Using UI To Indicate Danger

To help teach the player the danger areas in the game. 

A UI damage screen will camera shake will appear if the player enters danger areas.

 

A visual representation of what is described above can be seen on the gifs below:

Gif_AI_Solation_get_damage_fire.gif
Gif_AI_Solation_get_damage_electricity.gif
Using UI To Indicate Danger

Blueprint Script Player Character

I wrote all the functionalities of the player character from scratch (including movement, item interaction & mechanics) using the Unreal Engine blueprint scripting system.  

Below is a link to the player character blueprint script:

Blueprint Script Player Character
bottom of page