Games Programming generalist
Software developer
TIGA AWARD NOMINATED VFX Artist
Freelance Illustrator
How're you doing? The names Kal (known online as Kaladania), an ambitious programmer, vfx artist, illustrator and merch artist who loves making crazy creatures do even crazier things!Whether as a solo developer or part of a team, I pair my artistic knowledge and technical skill sets to craft an immersive look into the worlds that could be, or to develop the tools and engines needed to aid their construction.While it may seem odd to find someone with both a programming and artistic background, my broad spectrum of interests and disciplines have allowed me to amass a creative understanding of real-world form, physics, natural/human phenomena, and user-behaviours to inform my development choices, striking the balance between artistic intent and technical possibility/performance.Currently, I'm sharpening my skills in Computer Games Programming at The University of Staffordshire, polishing these skills and field-testing them via contract work as a software developer at Housing Group Plus.Within this portfolio, you can find examples of my projects, such as my work on the 3-time TIGA award nominee, 'Crabsticks', as well as various development insights into how I contributed to bringing these worlds to life!

Gameplay Prototyping
VFX
Concept Art

Gameplay Programming
VFX
Concept Art

Tools Development

Gameplay Prototyping
VFX
Environmental Hazard Programming

Gameplay Prototyping
VFX
Concept Art

Gameplay Programming
VFX
Concept Art

Tools Development

Gameplay Prototyping
VFX
Environmental Hazard Programming
About Me
Known Languages: C++ • C# • Visual Basic
Known Engines: UE4/UE5 • Unity
Other Noteable Software/Library Experience: SDL • Monogame • Open GL • DirectX 11 • Github • Clip Studio • Adobe Photoshop • Adobe Illustrator • Adobe Indesign
Determined, detail-oriented, with a strong love for the unknown, I'm Kal, a passionate creative always on the lookout for new opportunities to learn new skills. Currently studying Computer Games Programming at The University of Staffordshire, my fascination with object-oriented programming leads me to think modularly, always looking for ways to utilise skills and experiences from other projects or disciplines to enthusiastically overcome challenges.As a passionate artist and a diligent programmer, I blend my skill sets to make informative choices that benefit both the programmers and artists in my group. A Swiss-Army Knife creator and a valued member of any small team, ready to help either department when needed.Primarily, I work in C++ or C# when using Unity. However, my dedication to learning the fundamentals makes it easy to adapt to other software, engines or fields (such as my most recent job in web development using Visual Basic). Regardless, I always keep an open mind, ready to develop a new skill, try out a new software, or learn new ways to hone my abilities.

My Mission
Bit weird for a programmer to have a mission statement, right?Well - as a creative - my 'mission' is to make whatever I create feel alive. Obsessed with the concept of alternative realities, my art and games aim to be a window into the worlds that could be. Because in our ever-expanding series of infinite universes, it's not out of the question that somewhere - right now - a creature in a distant dimension is experiencing exactly what I've created.So, why not show the world what they're up to?



If it's not one thing, it's another! Every day, every minute, I'm always trying to put my skills to new uses. Adaptability isn't only useful in the workplace, and there will always be problems around us. So when I'm not working, I spend my time looking for new challenges to embrace and new experiences to enjoy. It's not uncommon for me to go down massive, multi-hour to multi-day rabbit holes just to learn something new.For the past 2 years, I've become an avid gym rat. I've found it to be a fun change of pace, giving me an outlet to exercise my desire to optimise by focusing on lifting weights, tailoring my training regime, and testing/recording the results as I get better at lifting heavy things (plus the new physique is also nice). My desire to explore and learn new things is satiated by hiking and exploring random areas. I love being active and embracing the outdoors, attempting to climb almost anything I can get my hands on. Additionally, exploring these areas provides new opportunities I can use for artistic references, taking pictures of unusual architecture, interesting natural layouts and close-ups of the local wilderness.As mentioned, being a creative means I like to engage in a host of artistic endeavours. Illustration is my main artistic endeavour, and animation and music are done when I feel that sudden burst of inspiration. While it's evolved to become my other part-time job, I also experiment with merchandise design. It goes without saying, but I'm also a huge fan of video games. Growing up as my house's resident technician, I found games to be the perfect way to indulge in my love for both art and technology, logging in many hours on series like Ori, Ratchet & Clank, Spyro, Sonic, Pokemon, and The Legend of Zelda.As you might expect, I'm also an avid music, comic, TV and movie enjoyer, having a strong appreciation for the stories told in any medium (especially as an advocate for adult-facing stories). Across the mediums, some of my favourites include (comics) The Biker Mice, The Last Ronin, (shows) Arcane, Beastars, Hit Monkey, (movies) Pacific Rim, Sinners, Puss in Boots: The Last Wish, and The Bad Guys 2. My love for music follows suit, spending my days listening to Jay Smith, Ryan Ike or the entirety of the Sinners, Alvin and the Chipmunks, or Wizard With a Gun soundtracks.











When I'm not studying or working, my main hobby revolves around developing a graphic novel. 3 years in the making, the novel was inspired by my love for anthropomorphism. The project has broadened my way of thinking and helped foster my adaptive mindset, finding new ways to adapt human concepts, survivalist techniques, and technologies to animal uses; thereby creating their world, their cultures, their struggles, and their stories.
OTHER EXPERIENCES
Being so willing to experiment means I've been fortunate to gain many willing experiences in my life. Working to represent my university as a student ambassador, running my own business selling wares at conventions, and working cash registers in retail. All of which have taught me how to socialise and communicate with others and how to work in busy teams in fast-paced environments.



You may be wondering why I've mentioned all of this when some don't seem to be entirely related to games programming or VFX? Well it's because I believe our experiences shape who we are, guiding us towards our end goals. All these various creative endeavours have fostered a sense of resilience and curiosity like no other. When it comes to learning, my main goal is always to learn the fundamentals. Life as an artist has taught me that you have to learn the rules to know how to break them. Or more specifically, to understand how to adapt them! No matter the challenge, I'll always find a way to overcome it because the experiences I've gained as a creative allow me to improve and find even the most incredulous alternative pathway. And if that doesn't work? Well, there's always Plan C to Z!
Be it programming, exploring, illustration, music creation and more, if it involves me creating something from nothing, or allows me to try something new, then sign me up!

Gameplay Prototyping
VFX
Concept Art

Gameplay Prototyping
VFX
Concept Art

Tools Development

Gameplay Programming
VFX
Environmental Hazard Programming

Gameplay Prototyping
VFX
Concept Art

Gameplay Prototyping
VFX
Concept Art

Tools Development

Gameplay Programming
VFX
Environmental Hazard Programming

unreal engine 4
unreal blueprints
niagara real-time vfx
gameplay programming
Staffordshire University’s TIGA award-winning initiative, '1UP', is a summer placement scheme that provides students with the opportunity to develop commercialised games within the university’s in-house game studio: 'Oatcake Interactive'.Within my time on the scheme, I helped develop 'Crabsticks', a TIGA award-nominated local multiplayer party game where 1-4 players control popsicle-wielding crabs competing in a series of wacky party games!The 8-week project was done as part of a summer placement, developing gameplay mechanic prototypes, creating VFX assets and producing concept art for the game's levels, UI and obstacles.


unreal engine 4
unreal blueprints
niagara real-time vfx
gameplay programming
'Cathullu' is a cozy-horror fishing game where you play as a cat sailor tasked with diving underwater to find food for the eldritch god: Cthullu.The 8-week project game jam had me prototyping and programming gameplay mechanics, creating VFX assets, building systems such as day/night lighting cycles and UI backends, and producing concept art for the game's marketing material and the big boss himself.
unity
c#
tools development
As part of a tools development module, I set my sights on creating a prefab brush engine - a tool that allows the user to easily paint prefabs in a scene thanks to customised brushes they can control with the robust engine.The 8-week project had me programming a brush engine, designing its - and the entire tool's - UI, along with focus testing and iterating on the tool to adhere to the needs of environment mockups and prototyping.
unreal engine 4
niagara real-time vfx
Texture creation
Rebellion North Technical Artist Jason Yong and VFX artists Raed Alamoudi were gracious enough to provide me with a brief mentorship in VFX art, helping me expand my knowledge on material creation and particle behaviours in UE4's Niagara Real-Time VFX system.
unreal engine 4
unreal blueprints
niagara real-time vfx
gameplay programming
'The Industrial Zone' is a top-down adventure bullet-hell where you play as a ship navigating the remains of an industrial crystal-mining base left to ruins after a volcanic eruption.The 8-week project focused on rapid-fire development; prototyping mechanics, boss movesets, enemy combat AI, environmental hazards, audio triggers, and creating VFX assets, materials and textures to produce a short gameplay demo.
SDL
C++
game engine creation
porting
gameplay programming
'Bandit Rush' is an endless side-scrolling platformer where you play as a bandit having to gun down enemies to clear the way so you can keep running from the cops.The 8-week experimental project served as a way for me to explore the SDL library, using it to program a 2D game engine in C++. The ambitious project looked at building the engine from the ground up, along with developing a game in said engine and optimising it so that it can be ported to low-spec hardware (the Evercade).
monogame
c#
As part of a multiplayer networking module, I set my sights on implementing an online multiplayer framework to facilitate an online match of 'Whack-A-Mole'.The 8-week project also had me program a JSON parser, while also introducing me to concepts such as data synchronisation.



unreal engine 5
unreal blueprints
niagara real-time vfx
gameplay programming
Staffordshire University’s TIGA award-winning initiative, '1UP', is a summer placement scheme that provides students with the opportunity to develop commercialised games within the university’s in-house game studio: 'Oatcake Interactive'.In Summer 2025, I was hired as a games programmer to work alongside the 1UP team on the commercial project 'Crabsticks', a TIGA award-nominated local multiplayer party game where 1-4 players control popsicle-wielding crabs competing in a series of wacky party games! Due to a skills shortage, there was a desperate need for additional VFX Artists and Concept Artists, and so my responsibilities were expanded as I joined both the art and VFX teams.The game was nominated for 'Best Casual Game', 'Creativity in Games', and 'Best Casual Game'.The 8-week project saw me developing gameplay mechanic prototypes, creating VFX assets and producing concept art for the game's levels, UI and obstacles.Plans are currently in place to release the project on Steam at a later date.

UE5

Clip Studio

Github

Illustrator

Photoshop

Teams

Miro

Blender

Word

Game Trailer

Role:
Gameplay Prototyper
VFX Artist
Concept Artist

Platform:
PC

Engine:
Unreal Engine 5

Team Size:
Prototyping: 3
VFX: 3
Art: 3
Studio: 20+

Length:
8 weeks

Developed multiple gameplay mechanic rapid prototypes to demonstrate potential uses for the game's pre-established control scheme, helping to establish the gameplay loop.
Playtested finalised gameplay mechanics across multiple departments - providing design feedback on the gameplay experience and technical feedback on found bugs.

Participated in team meetings and brainstorming sessions to narrow down a visual style while producing a style guide.
Experimented with various VFX styles (such as hand-drawn 2D animations) to aid style visual development.
Created multiple impact VFX for collisions between the game ball and various types of hits and objects.
Created a cloud system for environmental VFX

Participated in team meetings and brainstorming sessions to narrow down a visual style while producing an art bible.
Produced concept art for the game's level design to aid visual development and solidify an environmental theme.
Produced concept art for the game's various level objects, narrowing down the 'British beach-inspired' theme.
Created and iterated on concept art for the designs of the game's menu UI and HUD, redesigning all the concepts after my original pitch was rejected.
Worked with the design lead to customise the provided UI wireframes and implement the finalised menu UI design
Boosted team morale by providing goods such as stickers - out of pocket - to celebrate meeting the production deadline.
Filled skills shortages that relieved pressure from the Art and VFX teams, allowing them to catch up and help the team release a 3-time TIGA Award-nominated game within the strict 8-week timeframe.
Utilised my experience with dealing with commission-client briefs (from my freelancing career) to communicate with the design department and stakeholders about my current concepts for the game's UI. Took on their feedback to produce a second wave of concepts that were immediately accepted.
Optimised my skills by streamlining workflows to deliver concepts, prototypes and assets with short turnarounds.
Successfully adapted to different team dynamics while moving between departments, integrating into each team and helping to raise department morale.
Visual developement/R&D (depending on the current department) was lacking in some areas, leading to concepts and prototypes needing to be redone due to a miscommunication on expectations.
Being someone who could fill multiple roles meant I was needed by multiple leads, leading to discussions to be had about time comprise between departments while also dealing with the early stages of burnout.
Lack of in-engine testing during the beginning stages of VFX and concept art development led to avoidable issues where work needed to be scrapped or redone because the concept worked on paper but failed when tested against the rest of the game/in a 3D environment.
The project reinforced my confidence in how quickly I can adapt to new tools, workflows and teams; learning more about Blueprints, Unreal VFX, lighting and set-dressing either for the first time or done for a project this size.
Constant communication and quick team meetings/check-ins ensure a steady production pace by making sure members stay on top of tasks.
When it comes to being the team member ready to assist bottlenecked departments, expectations must be managed to ensure I am not overloaded with work and burnt out.
Concepts need to be tested in-engine as soon as possible to understand if they work on a 'physical' level. The issues with the first wave of UI concepts only became apparent once the finalised assets had begun being imported into the engine and added to the HUD. Fortunately, this was midway through production, and so there was time to do a second wave. But the additional effort could have been mitigated if the concept art had been tested in-engine as a temporary texture.
Inter-department and team dynamics are as vital as technical skills when it comes to collaborative success. The project reinforced the importance of being a good team member as - compared to my Cathullu project - it showed me how a fun, collaborative environment can be a great motivator, and approachable, dedicated teammates can alleviate the stress of the high workloads and short turnaround times.
The quick delivery times forced me to confront my understanding of my techniques as rules needed to be broken, pruned or altered to provide a quality result at the speed the leads expected. Working on this project reinforced productive habits, a faster workflow, and the confidence to not second-guess myself.


unreal engine 4
unreal blueprints
niagara real-time vfx
gameplay programming
'Cathullu' is a cozy-horror fishing game where you play as a cat sailor tasked with diving underwater to find food for the eldritch god: Cthullu.The 8-week project was my first introduction to working in an 'indie game studio', as the university had us split into teams of 30 where the goal was to make a vertical game slice under our own studio name: "Hell Cats".The project was a great way for me to challenge myself as it gave me my first look into how I and my skills would function in a live development environment. However, it was not a major success, with many issues arising from aspects such as skill shortages. That being said, my diverse skillsets allowed me to help alleviate bottlenecks in multiple departments, becoming a vital member of the team and the go-to person for picking up work that had fallen through the cracks.During the project, I prototyped and programmed gameplay mechanics, created VFX assets, built systems such as day/night lighting cycles and UI backends, and produced concept art for the game's marketing material and Cthullu himself.

UE5

Clip Studio

Github

Photoshop

Teams

Miro

Word

Powerpoint
Game Trailer

Role:
Gameplay Programmer
VFX Artist
Concept Artist

Platform:
PC

Engine:
Unreal Engine 5

Team Size:
Tech: 8
VFX: 2
Concept Art: 5
Studio: 30

Length:
8 weeks

Programmed and maintained the blueprints for gameplay obstacles such as the explosive mines and their child variants.
Helped create and maintain a backend system to connect the cooking recipes listed in the data tables to the game UI's.
Helped create a modular method of instantiating UI elements for recipes, allowing their layouts to be programmatically generated from the data within the data table instead of being manually created. This gave the design team greater flexibility with the range of recipe varieties.
Participated in QA testing and bug-reporting, contributing to bug-report documents and tracking down the cause of bugs so that the relevant party can be notified with as much valuable information as possible.
Participated in weekly team meetings, providing updates on my current task completion status, and raising awareness on any known issues, bugs, or production concerns.

Alleviated the VFX bottleneck by taking over from the solo VFX artist and completing their tasks when they weren't able to due to adjacent module time commitments.
Implemented and completed the unfinished Day/Night cycle system, including adding minor optimisations and fixes such as replacing the various 'On-tick' logic.
Implemented the VFX artist's 'Buayancy' component and set-dressed the overworld scene.
Handled and created the overworld lighting while also syncing it to the Day/Night cycle.
Created a death transition screen and resulting VFX that would cover the screen in a 'SpongeBob-inspired' wipe of bubbles while the game switched back to the overworld.
Sat in and participated in Art Team meetings, collecting notes to report back to the lead VFX artist, who was unable to attend some meetings due to other module requirements.
meetings and brainstorming sessions to narrow down a visual style.

Took initiative to fill gaps where team members became inactive.
Alleviated the Concept Art bottleneck by taking over the responsibility of designing Cthulhu when the previous artist was removed from the role, and the rest of the Concept Art and Art Teams were too busy to create the concept currently being waited on by the Character Artist and Animator.
Communicated with the character artist, animator, and lead designer to form a brief for the Cthulhu character design, as I was told to start from scratch.
Create the character designs and the turnarounds for the game antagonist: Cthulhu.
Created the game logo and finalised the design for the team logo.
Created thumbnails for the various game posters.
Rendered 2 game posters and illustrated (sketch to render) the last game poster.
Boosted team morale by providing goods such as stickers - out of pocket - to celebrate meeting the production deadline.
Filled skills shortages that relieved pressure from the Art and VFX teams, allowing them to catch up and ensure the game met its strict 8-week timeframe.
Utilised my experience with character design and illustration (from my freelancing career) to communicate with and aid the art and VFX enviroments.
Optimised my skills by streamlining workflows to deliver concepts, prototypes and assets with short turnarounds.
Successfully adapted to different team dynamics while moving between departments, integrating into each team and helping to raise department morale.
Guided an idea generation session to develop the initial pitch for the game and participated in the pitch presentation shown to lecturers.
Communication between departments was not consistent, leading to an inconsistent understanding of what was currently being worked on and in what blueprint.
Lack of a finalised Game Design Document meant departments were not clear on what features had/had not been scrapped, leading to unimplemented, scrapped, and wasted work.
Additionally, the lack of a finalised Game Design Document at the beginning of production meant that features were being added unbeknownst to the Technical Department, leading to tensions and a slow breakdown of communication.
An imbalanced team hindered production as departments were either overstaffed (8+) or understaffed (solo member), leading to bottlenecks.
Communication within the team began to break down towards the end of the project due to overlapping module deadlines and increasing burnout, leading to issues such as work getting overwritten as multiple team members were in a rush to work on the same blueprints at once.
Being someone who could fill multiple roles meant I was needed by multiple leads, leading to discussions to be had about time comprise between departments while also dealing with the early stages of burnout.
Choosing a blueprint-only project forced a bottleneck as designers were unable to access the framework until the 2nd half of development to reduce the number of people in-engine and prevent accidental overwrites of the Technical Department's progress.
Sacrifices had to be made on the tools of choice, as Unreal Engine was chosen due to the majority of the department specialising in the engine, despite the majority of the Technical Department specialising in Unity. This created a hurdle that affected morale, speed, and output.
The project reinforced my confidence in how quickly I can adapt to new tools, workflows and teams; learning more about Blueprints, Unreal VFX, lighting and set-dressing either for the first time or done for a project this size.
The entire studio must have a central resource to maintain an aligned understanding of the project scope, its current progress across departments, and to stay engaged.
Constant communication and quick team meetings/check-ins are needed to ensure members are staying on top of tasks.
Inter-department dynamics are as vital as technical skills when it comes to collaborative success. Unfriendly departments can lead to loss of motivation and communication.
Frustration and burnout can be common, especially with tight deadlines, but the key to progress is to learn how to let those frustrations fuel my work, along with stepping back to calm my mind and motivate myself by focusing on the bigger picture during burnout.
When it comes to being the team member ready to assist bottlenecked departments, expectations must be managed to ensure I am not overloaded with work and burnt out. I can't do everything alone, and need to be cautious not to develop the habit of continuously overworking myself.
The quick delivery times forced me to confront my understanding of my techniques as rules needed to be broken, pruned or altered to provide a quality result at the speed the leads expected. Working on this project reinforced productive habits, a faster workflow, and the confidence to not second-guess myself.
unity
c#
tools development
As part of a tools development module, I set my sights on creating a prefab brush engine - a tool that allows the user to easily paint prefabs in a scene thanks to customised brushes they can control with the robust engine.The 8-week project had me programming a brush engine, designing its - and the entire tool's - UI, along with focus testing and iterating on the tool to adhere to the needs of environment mockups and prototyping.

Unity

Github

Visual Studio
Tool Demo

Role:
Solo Developer

Platform:
PC

Engine:
Unity
C#

Team Size:
1 (Solo)

Length:
8 weeks
unreal engine 4
unreal blueprints
niagara real-time vfx
gameplay programming
'The Industrial Zone' was a 2-month Unreal Engine 4 project focused on rapid-fire development while testing various gameplay mechanics, enemy designs and boss prototypes.The short game was a sci-fi-wasteland inspired top-down shooter where you must use the crystals around you to help you fight your way through a 'seemingly' abandoned lava mining facility. The project served as a great introduction to Unreal Engine 4 as it allowed me to experiment with the key areas of the engine (such as blueprints, audio systems and Niagara).

Unity

Github

Indesign
COPYWRIGHT WARNING: As my game's initial concept was inspired by the OST of Galvantic Game's 'Wizard with a Gun', the game uses some of WWAG's songs in its soundtrack. Ryan Ike's "The Ghost of Salt and Spray" and "Cold Dead Hands" are featured in this demo.
Game demo

Role:
Solo Developer

Platform:
PC

Engine:
Unreal Engine 4

Team Size:
1 (Solo)

Length:
8 weeks




Snapshots of development. You can find Dev Logs here.
I chose the aesthetic of a post-apocalyptic sci-fi wasteland, as I felt it had a lot of room for experimentation, allowing me to push the meshes provided by the university to their limits. By merging, warping, or colouring meshes in unique ways, I was able to create an interesting and personal interpretation of the given framework, one that proved to be very visually appealing and resonated with many of the playtesters.Thanks to my flexibility and adaptable knowledge of programming concepts, I quickly grew comfortable with blueprints, using my experience with C++ to navigate the various nodes. My complicated ideas meant I needed to go above what was provided in the tutorials to get the outcome I wanted, learning how to use events, construction scripts, volume boxes, and more.
Familiarised myself with Unreal Engine 4 and key features such as Blueprints, the Niagara System, Materials, Unreal's audio tools and more.
Took a standard third-person, top-down shooter framework and turned it into a unique experience with its own identity. Meshes provided by the framework were warped and pushed to their limits to create a world far removed from the content pack provided. This was also achieved by experimenting with materials; unintentionally stumbling upon ways to create a colourful metallic material for the boss, causing its shine to change colour depending on the camera angle.
Learnt to prototype staple game mechanics such as regenerating ammo, resource management for special abilities, various enemy types, and multi-stage bosses (due to a bug, only phase 3 is shown in the demo as it is a combination of the previous stages. Click for phase 1 and phase 2).
Enemies need more variation in their mechanics to make the game more replayable (as all enemies were mostly a variation of the 'patrol and shoot' enemy type). Enemies like the Fireball (a honing enemy that destroys itself on impact) provided some variety, but this could have been greater. This is also true for the enemy designs.
Strong sign-posting/goal challenges would have improved the playertester's experience. Some players were unsure where to go, while others were able to blaze through the level, skipping areas and interactive elements. I attempted to rectify this with neon signs to direct the player, but they were sometimes missed. Small goals, such as pressing buttons to open the barrier to the next stage (rather than opening the barriers automatically), would have helped encourage players to navigate the level.
Quests or directives would also have given the players' a sense of urgency. Fleshing out the gameplay loop and game balance would have strengthened the game's interactive elements (as currently, the game is quite lackadaisical about how the player completes it).
Having clearer goals in mind per session would have helped to target development so that things like enemy balancing, QA and optimisation were given greater priority and done more frequently during development.
General optimisation such as managing the amount of particles and bullets being spawned to prevent frame drops.
SDL
C++
game engine creation
porting
gameplay programming
'Bandit Rush' is an endless side-scrolling platformer where you play as a bandit having to gun down enemies to clear the way so you can keep running from the cops.The 8-week experimental project served as a way for me to explore the SDL library, using it to program a 2D game engine in C++. The ambitious project looked at building the engine from the ground up, along with developing a game in said engine and optimising it so that it can be ported to low-spec hardware (the Evercade).

Visual Studio

Github
COPYWRIGHT WARNING: The following demo features Mushroomdude123's 8-Bit remix of Nintendo's Gangplank Galleon .
Game demo

Role:
Solo Developer

Platform:
PC
The Evercade (Linux)

Language:
C++
SDL

Team Size:
1 (Solo)

Length:
8 weeks




Snapshots of development. You can find Dev Logs here.
This was an enjoyable project that contextualised the various tools and processes I was using during the Mechanics Prototyping and C# Scripting projects. Creating a game engine gave me a better understanding and appreciation of the Unreal and Unity engines. Attempting to implement my own versions of their logic allowed me to peer behind the hood and experience some of the thought processes that go into making an engine. As a person who aspires to progress into a tools-related field - where my responsibilities will be to hopefully help develop systems and mechanics - this was an invaluable experience as I was able to gain first-hand knowledge of how to use libraries to build applications that can be used as tools for other parties. Furthermore, being an engine programmer is one of many tech fields I am interested in. Therefore, building engines may likely be part of my job - causing this project to be vital in highlighting areas I will need to improve in (such as physics programming).Much like with The Industrial Zone, Bandit Rush was given a simple premise with a lot of potential for experimentation. With every game project, I attempt to push my limits by experimenting with mechanics I have not yet developed. As a result, this project looked at procedural generation - creating an endless runner that spawned in random chunks to prolong the level. These chunks would also have randomised enemy and item placement, allowing each new screen to feel like a new part of the level. I also delved more into power-ups, allowing the player to execute a boosted attack whenever they killed an enemy (the type of attack dependent on the enemy killed).This project also allowed me to experiment with organisational tools (like a Gantt chart) and porting requirements (such as optimisation for a low-spec Linux platform and input managers to translate controls). Having to maintain the source control of such a detailed project also gave me a stronger understanding of Git and good development practices (such as putting separate mechanics on different branches to prevent pauses in development).
Learnt about the SDL library, including how to render text, audio, animated sprites and basic shapes to the screen
Exposed myself to some of the logic behind procedural generation and the requirements to ensure it executes as a smooth, optimised mechanic that does not cause memory leaks or frame-rate dips during generation.
Gained experience building a game engine and strengthened my knowledge of the logic behind mechanics both basic and complex (such as falling through/onto platforms, ability collecting/execution, enemy attack radii, etc).
Developed a working port of the game (originally developed for PC) for a low-level, Linux-based system.
The game loop, while fun, would be better if it focused on the ability-collecting combat rather than the platforming. Playtesters reported they found the abilities to be the most interesting part of the game, feeling the platforming was tedious and got in the way of the potentially interesting combat.
While the game was mostly bugless, there was a major issue with collision where the player would not accurately land on platforms when they fell (leading them to either fall through floors or float on air). This was due to my code logic, which caused the player to fall infinitely unless their speed/state matched a hard-coded requirement (leading to unpredictable behaviour as frames where these edge cases weren't met would disrupt the collision checks). The game would vastly improve if I re-evaluated how I checked for falling collisions - taking inspiration from other engines (e.g. Unreal, Unity, Godot).
unreal engine 4
niagara real-time vfx
Texture creation
unreal engine 4
Niagara real-time vfx
Rebellion North Technical Artist Jason Yong and VFX artists Raed Alamoudi were gracious enough to provide me with a brief mentorship in VFX art, helping me expand my knowledge on material creation and particle behaviours in UE4's Niagara Real-Time VFX system.

Unreal Engine 4


Role:
Solo Developer

Platform:
PC

Engine:
Unreal Engine 4

Team Size:
1 (Solo)

Length:
2 weeks

My first project from Raed was a simple spell projectile. As we were both into fantasy, he wanted me to create a projectile a wizard could use for a standard ranged attack.Poking around and experimenting with Niagara lead me to re-discover the 'Distortion' material, which gave me the idea to create a vortex projectile inspired by black holes; using the distortion to make it seem as if the world was bending to the influence of the projectile.While this attempt is solid for a 1st initial idea, it has too much negative space, feeling empty and boring. This is exacerbated by its almost monotonous colour pallet, which sticks to mostly yellows, with some orange and red particles.

Raed gave me valuable feedback on my first attempt, mentioning that I should look into modules such as 'Point Attraction Force' to get the system to draw in its particles, making the vortex effect more convincing. My second attempt was based on a spiraling material he provided, customising and warping it to tailor it to my needs (thus, many of the effects in my second and 3rd attempts are customised versions of that material).

While I was satisfied with my 2nd attempt, I still felt it lacked a 'solid' feeling as it came across as a 2D effect rather than a 3D effect. Thus, I felt it suited a 'charging' action rather than an actual projectile.My 3rd attempt tried to emphasise this 3D form, drastically speeding up the radial spirals to give the illusion of a sphere. While this worked, I do feel that the projectile still has that 'charging' quality, working more as an 'attack ready' VFX rather than a projectile VFX

After my conversations with a VFX 3rd-year student, I also began working on a voxel flame in order to experiment with stylised VFX (as my previous attempts were intended to be semi-realistic).
monogame
c#
As part of a multiplayer networking module, I set my sights on implementing an online multiplayer framework to facilitate an online match of 'Whack-A-Mole'.The 8-week project also had me program a JSON parser, while also introducing me to concepts such as data synchronisation.

Visual Studio

Github
Project demo

Role:
Solo Programmer

Platform:
PC

Language:
C#
Monogame

Team Size:
1 (Solo)

Length:
8 weeks