Attempting to recreate a mechanic from Portal in one week

Review –

Narrative – Silent protagonist all dialogue comes from glados. Dry snarky humour is used to make it entertain and break up the levels. Environmental storytelling is used to reveal things about the facility 

Mechanics – Physics takes precedent, it’s ultimately a puzzle game solving harder puzzles as you get through the levels. It’s a first-person shooter game with a portal gun. The game encourages creativity by giving the player no restrictions levels that can be solved creatively. 

Visuals – Stark white testing facility, science lab. Prison. You feel like a lab rat being tested on. Orange jumpsuit reminiscent of prison, industrial feel behind the scenes, cleanliness is a facade. Evil corporation 

Recreating the mechanic –

The main mechanic in Portal is the portal gun. This will be incredibly hard to replicate the teleporting mechanic in one week along with uni, so I have settled on trying to have a working gun that shoots flat capsules onto a wall.

To do this I followed a number of different youtube tutorials. They are listed below

I began by making a quick moveable character that was a capsule with a camera inside so it would be first-person POV.

I then made the gun, just a simple rectangle placed near where an arm would be. For the bullet and portal itself, I made them as prefabs. The portal is just a flattened capsule.

This is a constant bug I was getting where the portals spawned sideways, after enough messing around with the transforms of the prefab it fixed itself, I could not tell you how.

After a week of work and scouring the internet for help this is where I got it to, I have a gun that fires a projectile, when that hits a surface a portal prefab spawns. Unfortunately I could not get the actual teleporting mechanic to work but as I do not often work in 3D I am proud of myself that I managed to get it to this point.

This was overall a fun exercise that took me far out of my comfort zone.


Leave a Reply

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