Name

Rebearth

Tools used

Development tools: Unreal Engine 4, Adobe photoshop, Adobe XD
Management tools: HacknPlan, Perforce

Platform

PC

Role

UI/UX designer, Lead designer
Project manager, Scrum master

Time

4 weeks

Team size

8

Contribution

UI/UX design
Game Design
Pitch delivery
Stakeholder updates
Organizing priorities and backlog
Holding daily stand-ups

Summary

Rebearth is a first person puzzle game where the player controls the earth to progress forward. By rotating magic cubes, the player can align the cubes to cross great chasms.

Rebearth was developed over 4 weeks at Futuregames. During the project my roles were UI/UX design and Project management.

Key Learnings

  • Creating and working with a 3D UI in Unreal Engine 4.
  • Moving a project forward towards a teams goal.
  • Having a management role in a game project.
  • Balancing multiple roles during a game project.
    • I had to balance the role of scrum master, product owner to help my team, while also being the main game designer.

HUD

The core mechanic is rotating blocks on three different axis. These are represented by three different colors.

We needed a way to show the player what color and axis they currently had active, and show how the blocks would move.

The solution was to have a HUD with the cube, showing which way the blocks were moving, while also showing the color.

The creative process – Creating the HUD

I found that 3D objects wasn’t supported to be displayed in Widgets. So to display it I had to go through several steps to display it on a camera that would then create an image that could be displayed on the HUD.

Step one: The “Greenscreen”

To capture the cube without anything distracting it, I created a blueprint that contains a hollow square box with a material. The material contains an emissive color that would not interfere with the color of the cube and set its shading model to Unlit. This is so that it won’t be affected by shadows and lights, thus creating a greenscreen effect for our cube.

Step Two: Capturing the cube. 

Inside the greenscreen i placed the cube that would show up on the HUD with a camera capturing it. The camera contains a SceneCaptureComponent2D, and is the component that renders the cube.

 

Step Three: The Render Target

The next step was to create a TextureRenderTarget2D and set it as the Texture Target of the SceneCaptureComponent2D. Then I created a material with a Texture Sample and set its Texture to the Render Target to make it display the inside of the greenscreen. This is the end result.

Step Four: Adding it to the HUD.

The final step was to create a Widget blueprint and add an image and set its Brush Image to the render target. And voila! The cube is on now on the HUD.

 

Level Design 

 

Vistas – Helping the player.

The level design I worked on during this project was to help the player with the puzzles. When the puzzle designers were done I started working on a way for the player to get some extra help when they needed it.

We wanted the game to be an immersive experience so helping the player had to be an in world event. This was in form of vistas, or plateaus above the level.

 

The player can at certain points when the level increases in difficulty walk up above the level and look down on it. It is entirely optional and off the main path of the levels. This gives the player a birds eye view of the level where they can figure out the puzzle in an easier way.

I play tested to find out where players got stuck, and implemented the vistas at those points in the level.

Scripting

 

Level Streaming

 

I focused on creating scripts that would help the level designers and artists. We noticed early on that we would need level streaming to help with performance.
I creating a script that would load and unload levels. It was created by listening to the feedback from the team.

 

The game is linear so the Blueprint is a triggerbox that checks if the player has entered it. The level designers can place the blueprint in the world and then enter the name of a level to load and unload. I then check to see if the level is loaded. If it is loaded we unload it. If it isn’t loaded we unload it.

 

Project Management

 

During this project I was the project manager and scrum master in addition to the other work I did. My responsibilities included:

 

  • Helping the team by proactively finding solutions to problems. Being the contact person for the stakeholders and the team.
  • I created and presented the game pitch to the stakeholders. I held the presentations and was the contact person of the team.
  • Introduce SCRUM and agile work methodology to the team. Planned milestones for each sprint and prioritized the backlog.
  • I planned and moderated all meetings, the daily stand-up and retrospectives.