Other Projects

This page is dedicated to smaller projects created by myself or with other people. The main goal is to expose technical knowledge in Level and System Design.

Cyberpunk Blockout

Overview:

During the Level Design course at FutureGames, we had a three-day full immersion lesson from Prashant Trivedi, Senior Level Designer at Massive Entertainment, on Level Design. After this, we had three weeks to use everything we learned and create a Level Blockout in Unreal Engine 5.

I worked with two other Game Designers to create a seamless Level set in a Cyberpunk-inspired Megabuilding. We came up with a quest that takes place in this megabuilding, where the player has to investigate on a cult that seemingly use this place as a headquarter. 

The quest starts with the player having to meet with an informer that will give them a braindance containing more information about how this cult operates. Once the Braindance has been acquired, they will come back to their room in the same Megabuilding to watch it, but while doing so a blackout occurs causing the main character thoughts to fuse with those of the person that recorded the braindance. Following the information gained from the braindance the player will be able to reach the basement of the megabuilding where they will reach the site of a human sacrifice and uncover the cult operation.

My role:

I created the Blockout for the first section, visible in the video below from 00.00 to 4.30.

I also programmed the dialogue system in blueprints; I followed a tutorial that helped me create a system where the player has multiple choices.

I wrote all the dialogues present in this section, trying to replicate the feeling of the cyberpunk setting.

For the Level Blockout, I decided to create multiple possible ways of getting to the same room, trying to replicate the immersive-sim feeling of freedom where the player can get the same result through different routes; in this case, the player can get into the Bar either by overhearing the password from two guys next to the Bar itself and then giving the password to the security guy at the entrance or try a stealth approach crawling into a vent and getting in through a backdoor.

Inventory and Economic System in UE 5

Overview:

This a System Design project made by myself in Unreal Engine 5.4, using Blueprints.

It’s composed of two Main Systems that work together to create an Inventory System and what I call an Economic System; both are very scalable so that either adding interactable objects to the world and purchasable objects to the Merchant is fairly easy.

The Inventory System functions as expected, allowing the Player to grab objects from the ground, drop and use them.

The Economic System, instead, is a Merchant System of my invention that aims at creating a more immersive experience, suitable mostly for RPGs where the Player can interact with the same Merchant multiple times in the same playthrough. With this System, instead of having the Merchant’s sellable objects update whenever the Player levels up (system used in most RPGs), this list will update every time the Merchant has a certain amount of gold, as if becoming richer allowed them to sell better objects; this means that as the Player interacts more and more with a certain Merchant, more objects that Merchant will be able to sell them, creating a more immersive experience where Player’s interactions with the world have actual consequences and make the Game World feel more alive. This could also be linked to other Systems, like a reputation one, making objects available to purchase depending on multiple factors.

Blueprints Explanation

Inventory System:

I started creating an Inventory System following a YouTube tutorial, to make it as scalable as possible; I used a Data Table to keep track of all the objects present in the world and their information. Each object has a specific Row Name that identifies all its information.

Data Table

Thanks to this Data Table, to add a new object to the world is fairly easy as you will just need to add it here and then create an actor, add to it the “Ac_Item Data” Component in the viewport and assign to it the right object from the Data Table. once this is done the name of the object will appear when the player looks at it in the bottom of the screen and when picked up the right thumbnail will appear in the Inventory. I also use a Structure to keep track of the information I want to acquire about specific Items in other Blueprints.

Ac_Item Data
Structure
Aether Actor

When it comes to how this work in game, the component “Ac_Inventory System” has multiple functions that take care of actions such as grabbing objects from the ground, dropping them, showcasing a text with the name of the objects and finding the right slot where the gathered object has to end up in the Player’s Inventory.

The most important function present in this component is “Add to inventory” as it is used to for the Economic System as well.

This function takes care of identifying what object the Player is interacting with and placing it in the Inventory.

The “AC_Inventory Component” has many more functions that take care of placing the object in the Inventory Slot etc., but there’s no need to showcase them here as the video at the bottom of this section showcases the Systems in action.

Economic System:

The Economic System aims at creating a scalable Merchant System that responds to Player interactions in a way that makes the Game World more immersive.

I started visualizing this System in Machinations.

After planning the System in Machinations, I went into Unreal Engine to replicate it in Blueprints. I used a Map of Names, that have to be the same as the Row Names in the Data Table containing all the objects, so that a reference is created and all the information are the same, and Integers for the amount that the Merchant has. This makes for a very scalable System where, to add a new element to the Merchant Inventory, you just need to add a new element to the Map with the same Row Name found in the Data Table and the quantity that the Merchant owns (in the video min. 1.25 you’ll find a demonstration of this).

Merchant Inventory Map

For the actual Interaction that allows the Player to buy items, each Item is allocated to a Slot, that is a UI Button, which when pressed shows a submenu that allows the player to buy the Item for a price, transferring the corresponding Player’s Money to Merchant’s Money and scaling down the quantity owned by the Merchant and moving that object to the Player’s Inventory.

When the Merchant’s Money are equal or more to a certain amount (identified buy the “Unlocked at Level” value present in the Data Table) that object appears in the Merchant’s Inventory on the next visit. The blueprint below shows how this happens.

The “Buying” function  transfer the money from the Player to the Merchant and the object from the Merchant to the Player.

To check that the Merchant has enough of a certain object to sell it and that the Player has enough money to buy it, I use this function.

This function is used to recognize what Object the Player is trying to buy and to deplete the amount of that object owned by the Merchant once the purchase has happened.

Here’s a video showcasing all the Systems in action.

Conclusions

These two Systems work together to create a profound Inventory and Economic System in a very scalable way. 

Together with them there are two other Systems that I used to create some more depth to the whole thing: an Energy system, where the Player has a certain amount of Energy that gets depleted every time they gather an object from the ground, to simulate actions taken by the player. This energy can be replenished by buying Bread from the Merchant and then using it from the Inventory.

I also created a sort of Crafting System but right now it is not very scalable as it is just a button that when pressed checks if there are two specific objects in the inventory, and if they are there they get consumed to create Money for the Player to spend.

Overall creating this plethora of Systems was a great challenge that allowed me to get more into prototyping and System Design, learning a lot about Blueprints in Unreal.

I also enjoyed using Machinations to plan the Economic System and then replicating it in Unreal Engine.

Scroll to Top