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.

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

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.”
.png)




