How to Prototype Your Video Game Using Unreal Engine

How to Prototype Your Video Game Using Unreal Engine

Milan Limbu, a graduate from the University of East London in Computer Game Design, specialises in developing interactive narrative games in Unity and Unreal Engine. In this article, he shares his approach to prototyping video games using Unreal Engine.

Milan Limbu, originally from Nepal, is currently residing in England. He graduated from the University of East London with a degree in Computer Game Design: Story Development. Over his three-year studies, he has developed and designed games in Unity and Unreal Engine, specialising in interactive narrative games. In this article he shares how he approaches prototyping video games using Unreal Engine.


About the Project

Patrick Quinnell, a tutor at the University of East London, assigned me a task to develop a digital prototype of any game or concept I’m passionate about. The prototype should showcase my skills and align with the role I want to apply for in the game industry. It’s also intended to shape my professional identity. As part of the course, I had to upload my completed assignments to The Rookies, a website for showcasing emerging talent in creative fields like game design and development.

Introduction

The goal of this project was to create a prototype of a visual novel with a linear story featuring dialogue, conversations, and character narratives. The aim was also to provide players with information about another country while incorporating choices that allow them to make decisions in the story. These choices were intended to make the story less boring and more interactive.

I have created several interactive narrative games in Unity using C# in Visual Studio, featuring a dialogue system and various story structures. The most common structure I used for my narrative game is The Hero’s Journey, but Freytag's Pyramid is my favorite story structure and the one I use most often. I have been using and learning many features in the Unity engine for almost three years. Recently, I switched from Unity to the Unreal Engine, finding Unreal Engine more reliable and less buggy. Coding isn't my forte, but I thrive on learning and mastering it every day. Often, I faced issues while creating my ideas in Unity Engine, which hindered my ability to debug them. Consequently, I had to find alternative solutions to make the code work, spending long hours trying to fix the code by searching YouTube, Google, and Unity docs.

I found connecting nodes and creating events in blueprint graphs more understandable than coding in Unity Engine. Debugging is easier with blueprints, as I can visually trace the flow through the nodes and see the current variable values.

Returning to the prototype, I built it to test my skills, learn the basics, and complete the assignment for my university. It includes fundamental features for making a visual novel in Unreal Engine. This experience allowed me to get accustomed to the engine. This basic prototype can be taken to an advanced level, helping me learn how to create a unique visual novel and develop the skills needed for a final build in the future.

Additionally, the prototype for my university was due in three months, and I had other core assignments to complete. To meet the deadline, I used the available assets in the Epic Marketplace, which were ideal for my prototype.

Assets and Software

Software used

Assets

In a visual novel prototype, I use Background Image 2D assets, as a background to provide the player with a sense of real-time changes.

I used the Toon NPC Merchants asset for my two main characters, named Jessi and Emily. It helped create a consistent and immersive narrative for my novel. And it also has a variety of options. I used two specific characters among others because it reflects the narrative I'm trying to immerse the players in. In contrast, the clothing reflects the culture or ethnic group I am trying to include in the novel.

Review and Pre-production

Having studied story development at the University of East London, I wanted to create something that fit my course. I thought of relating it to story development. Why not an interactive visual novel where players can interact and enjoy the story at the same time? Therefore, I researched how to add dialogues to the Unreal Engine on YouTube and Unreal Engine documentation. I discovered various tutorials and styles that I could implement. Most of the tutorials were already used in games, but I wanted something unique and practical, yet simple and enjoyable for players. Thus, I followed Poly Maniac YouTube tutorials and started building my prototype, which I found simple yet effective.

I wrote the dialogues on a notepad, thinking about adding relationships and reasons for the conversations between characters. I also considered including a bit of a backstory for the characters so that the discussions and dialogues used in the visual novel made sense. My target audience was ages 13+ who are active in social applications and love to travel, not only general gamers, which widens the audience.

I brainstormed all my ideas about how to start and end the conversation without making it lengthy. The target audience was readers who enjoyed interactive novels with information. This audience liked making the story interactive. It's a small-scope prototype conversation-type visual novel.

Brainstorming ideas in mind maps

After making the HUD, I moved to a second process. It involved creating enumerators for characters, settings, choices, dialogue, and visual FX. An enum links a name to an index on the list, connecting the name to a number and not storing a variable. They also do a job of widget switching. I learned more about the Enum by watching a YouTube video from Hawaiifilmschool.

The structure of the Enum variable to store character names and all the information

I created a data table to store all the information, such as dialogue, choices, and visual FX. It contains all the data used in the prototype. Once you've created the data, you can update everything in the table. You can update the sprite, dialogues, and names. You can add animation, camera shake, and dialogue choices.

Data tables contain stories, story paths, choices, and all the features necessary for the visual novel.
Data tables contain stories, story paths, choices, and all the features necessary for the visual novel

I created and added functions so that all the dialogues would work, and the conversation would go according to the function it was set to. Each time the function is called, it retrieves data from a data table.

Function and Variables 

The shaking effect animation was also added to emphasise a key moment in the visual novel when a character is surprised or displeased. It also conveys the character's emotions and provides narrative support. It isn't overused in the visual novel, as it can distract the players and lose its impact.

For the final part, I added sound to enhance the player's experience. Poly Maniac produced and published the sound asset for the prototype. The sounds include background music, typing sounds, and shake animation. These effects bring the game to life and make it more engaging for the player. The addition of sound enriches the overall gaming experience and adds depth to the gameplay.

Playtesting and Issue Resolution

During the test play, I discovered an issue with the choice button. When choices were made, the dialogue script didn't change or continue as expected. Instead, the dialogue continued as if the player had made no choice. This disrupted the intended branching story.

To resolve this issue, I created another button and linked it to the corresponding player choices in the script. This involved ensuring the button triggered the right script. The script was linked based on the player's selection. For instance, there is a "Yes" and "No" choice button. If a player clicks "Yes," the game continues with the branched script. If they click "No," it takes them to a different script.

Furthermore, there was another major problem where the script wasn't continuing as expected, and even in the tutorial, there was no fix for it. I experimented with buttons, researched in Unreal Engine documents, and consulted the community. This led me to create an extra button linking to the rest of the script, which made it work as intended.

After creating and implementing the new buttons and linking them with the correct script, the issue was resolved. The choices work as intended, allowing the script to branch out and providing players with a seamless and interactive visual novel experience.

After completing the final testing, I submitted the project for grading.

Visual Novel prototype development process
Core prototype loop of a visual novel

Key Features of a Visual Novel Prototype and Unique Aspects

  • Branching Storylines: The game has branching storylines that respond to player choices, creating many different dialogues and plot paths.
  • Adaptive Storytelling: Character and story elements change based on player choice, such as changes in character relationships.
  • Character Relationship Dynamics: Characters have histories, making conversations easy and natural. For example, being friends since high school.
  • High-Quality Assets: Unique character sprites add depth to the story.
  • Screen Shake Animation: This feature makes character sprites move more realistically, enhancing realism.
  • Dynamic Soundtrack: The adaptive soundtrack changes based on the character's emotion, enhancing the atmosphere.
  • Immersive Soundtrack: The dynamic soundtrack helps players immerse themselves in the story.
  • Text Effects and Sound: Includes typewriter text animation with typing sounds, enhancing storytelling.
  • Advanced Background Sprites: Elegant sprites change in response to the story, such as transitioning from day to night, creating a more immersive setting.
  • Unique Story and Dialogue: Created from my imagination, not seen in any other visual novel. I decided not to use traditional story structures to avoid making it mundane.
  • Future Mobile Version: Plans to develop a mobile version of this game.

In Summary

As mentioned before, the goal of the prototype was to meet the requirements of the university assignment. The assignment had a deadline and included two other projects, so I couldn't give it my full attention. For now, I am satisfied with the prototype's outcome. It has taught me the fundamentals of developing a visual novel conversation type. In the future, I aim to elevate and iterate it to a more sophisticated level by incorporating features such as:

  • Realistic character models with detailed facial expressions and animation using MetaHuman Creator, replacing 2D sprites.
  • Custom animations for each character's emotions and actions to make interactions more dynamic and engaging.
  • Special effects, such as a weather system, to enhance the mood and atmosphere of the visual novel.
  • More complex dialogue trees with many paths and choices that impact the story's outcome positively.
  • Multiple endings based on player choices to increase replayability and engagement.
  • Expanded stories with more seasons, such as downloadable content packs.
  • A user interface design that fits the aesthetic of the visual novel while making it more immersive and user-friendly.
  • Non-linear storytelling to make it more unique.
  • Character development to make it more relatable and engaging.
  • Interesting stories that excite players and make them want to know more.
  • Testing with a group of players to gather feedback on gameplay, story, and overall experience.
  • Focusing on 3D open-world RPGs with the same story and concept, emphasizing the culture of various authentic groups, which I've already started producing.

The Ending

You can watch my prototype video below. If you want to try it yourself, you are welcome to email me. I can send you the project, allowing you to make your own visual novel with your script.

Gameplay Video

To view my other work, please feel free to visit my portfolio via my Rookies profile here.

Special Thanks and Credit

Poly Maniac YouTube, Michael Camier (Tutor), Imraan Younas (Tutor), Patrick Quinnell (Tutor), Dr. Milly Gunn (Tutor), Richard Sherriff (Technecian and Tutor), and Sabrina Scalfari (Director, Outreach & Engagement of The Rookies).