“Bug Souls”

Overview

“Bug Souls” is the work-in-progress name for an action adventure game I started work on in early 2025. As the name implies I want to create a 3D souls-like game with bugs as the main theming. The player plays as a personality-filled Roly-Poly that sets out on an adventure in which they come across new challenges and ability upgrades along the journey.

I used Unreal Engine 5 to create this project and scripted its game systems and mechanics with Blueprints. I also used Blender to model, rig, and animate the player character, GIMP to paint the UV map, and Trello to track tasks as well as overall progress on the game.

Genre:
Action/Adventure, Metroidvania

Engine:
Unreal Engine 5

Dev Time:
~2 months

Team Size:
1

Additional Software:
Blender, GIMP, Trello

Select an option below to view greater details regarding my process and the work that went into certain aspects of the project.

Design & Scripting
Modeling, Rigging, Animation

Scripting and Design (UE5 Blueprints)

  • Ability to morph into a ball and roll around using physics.

  • Ability to do a charged speed boost while in ball form and ram into enemies to deal damage.

  • Player basic attack that hits enemies directly in front of them.

  • Campfire mechanic where the player can rest and restore health.

  • Inventory that holds items such as healing flasks, upgrades, or consumable items.

  • Healing flasks that can be upgraded to restore additional health.

  • Shop where the player can purchase/sell various items and upgrades.

  • Created currency that drops from enemies and can be spent at the shop.

  • HUD widget that updates to reflect player health, money, and flasks.

  • Enemies with AI that strafes the player before attacking.

Art

  • Created concept art for the player character.

  • Modeled player character in Blender and applied materials to each section.

  • Rigged, weight painted, and animated model.

UI

  • Implemented temporary asset icons for items to be shown in the player’s inventory screen.

  • Implemented HUD elements, popups, and menus.

Scripting (Blueprints)

Ball Mode
One of the biggest things I wanted to get right with this game was the ball mechanic. Considering how important I want it to be to the game I spent a large amount of time making sure the “feel” was right. This included tweaking physics values like mass, acceleration, and turn rate until things were where I wanted them. This also involved working on a system that slightly magnetizes the ball to things like slopes or curved surfaces to prevent it from bouncing around too much when rolling.

Another big part of making the ball form feel good to use was using it to attack enemies. If the player is rolling over a certain speed when they collide with an enemy, the enemy will take scaling damage based on the player’s velocity. This includes a knockback, hitstop, and flashing material effect to really sell the collision to the player. And instead of stopping immediately after colliding, the ball is able to hit multiple enemies if they are along the player’s path.

Rest Zone
I worked on creating a prototype resting zone for the player, similar to Bonfires in games like Dark Souls. Here the player can rest to restore their health and healing flasks, as well as upgrade their max health and healing flask capacity.

Shops and Currency
I wanted the player to be able to encounter shops in certain areas of the game where they can spend money to purchase consumable items or one-time upgrades for things like their weapon. The player is also able to sell certain non-key items to the shop for money if they wish.

The currency I created as its own Actor Blueprint and scripted it to drop from enemies when they were defeated. The player simply just has to walk over it on the ground and it will be added to their inventory.

Enemies and AI
For the enemies I used a custom health component to track their health and determine when they died. Upon dying the enemy plays a death animation before deleting itself, then spawns a currency drop on the ground. They include a floating health bar so the player has an idea of how much damage they’ve taken.

Camera Lock-on
Here is the camera lock-on system that the player can use to target a specific enemy. Thankfully, I have worked on one of these in the past with my untitled UE4 Action Game prototype, so it wasn’t too difficult to replicate that system for this game as well.

Art

Concept Art
Before working on a 3D model, I wanted to get a quick concept sketch for the player character done. So I made some rough drafts to get across the idea for the characters shape and size, then once I had some that I liked I went to work in Blender.

3D Modeling
I used my concept art to model the player character in Blender. Since I was going for more of a toon style I made the arms and legs separate from the main body. This way I didn’t need to worry about connecting the vertices to the main body mesh and could animate them separately.

After finishing the model I unwrapped the UVs, exported the UV map, and painted over it in GIMP. Then I exported the GIMP file and set it as the material for the mesh.

Rigging & Animation
Next, I used Blender to rig and weight paint the model before working on idle, walking, running, and jumping animations.