top of page
  • Group 2
  • Group 3

TPS Prototype (2024)

Project info

Role: 

Game Designer / Game Programmer

Engine:

Unreal Engine

Teamsize:

1

Genre:

FPS

Duration:

2 Weeks

Platform:

PC

About

This game was made as a small side project to learn the syntaxes and the workflow around AngelScript

TPS AngelScript.png

Introduction

This is a very small prototype with a Third person shooter controller, weapon pickup, shooting and animations included. 

Player Controller

My goal was to create a controller that could walk, run, crouch, and jump.

It took me a while to get everything working properly since this was my first time using AngelScript, and I didn’t have prior experience with C++.

 

Most of my challenges came from understanding the syntax and how it differed from other languages I had used before. Once I realized that looking up C++ syntax and adapting it to AngelScript worked well, the process became much smoother, and I was able to implement new features more efficiently.

Code Snippets

Movement Functions

Pick Up Master

Animation Blueprint

I made the Animation Blueprint to handle different movement and combat states for the player. The upper body has three states: Unarmed, Pistol, and Rifle, so the character smoothly switches between weapon types. The lower body also has three states: Walking, Jogging, and Crouching, which makes the transitions between different movements feel more natural and responsive.

Weapon Component

I used a weapon component that sits on the player. One for the primary weapon and one for the secondary weapon. 
I had some problems with adding the component at runtime and changing some of its values. To solve that problem I had to get the component every time to be able to changes it values or call a function from that component. 
I am still not sure on why that is the case but I am glad I made it work after a lot of trials and error and debugging the issue. 
 

Example:
 

            UWeaponComponentMaster WeaponComp = UWeaponComponentMaster::Get(this, n"Primary");

            WeaponComp.SetMaterial(0, PrimaryWeapon.Skin[CurrentSkinIndex]);  

Code Snippets

Weapon Functions

Weapon Component

Screenshot 2025-10-22 103732.png

End Result

This was a really fun small project that helped me gain a better understanding of how AngelScript works and how to code with it.

I especially enjoyed the process of figuring things out through trial and error, which made the learning experience both challenging and rewarding.

I realized that having a stronger grasp of C++ syntax would make working with AngelScript easier, so after this project, I decided to start a C++ project in Unreal Engine, which you can find under “Projects.”

© 2025 by Isabelle Höljer Heiskanen

bottom of page