Capybara CrushClean Em' Up ShooterCrypt Raider

Unreal Engine 5

Capybara Crush

Working as a solo indie developer, I am using Unreal Engine 5 to create a single player, story based game based on the animal known as a capybara! I'm using this site as a retrospective for each update, so feel free to read on or watch the included videos!

Current Update: New Beam Visuals, Combat System, Bone IK

Hey everyone, today I'm showing off a current update of the things that I've been working on. This particular update was a bit of a hassle and a headache and a half, but we got through it and I had a ton of fun doing it. The things that I was able to include are in the video down below, but if you want a text description, this will be it.

To start off with, I created a combo system, where there is a TArray that acts as a FIFO stack, and it keeps track of the recent input. So there are two attack buttons, left and right arm attack, and when you use a certain combination, such as left left right right, the mapped combo will trigger for it. It also gets reset when you're hit, and also when there has been a significant amount of time between inputs. I enjoyed implementing this one froms scratch and I think it's going to really help put the game together in terms of having a skill ceiling. I am going to make it so that each combo (there are three of them) has a need. For instance, a double arm stun will help break blocks.

The next thing that I worked on that took the most time was the Bone Inverse Kinematics. So I have created the actual model and skeleton myself in Blender 3.4, and it took a while to figure out that I had to rearrange some bones. And once I figured that out, I had to actually adjust the bone structure without losing the animations that I had currently already made (which was a lot of them). In the end, I was able to keep the animations that I had made, while also allowing IK to work on the leg bones. In the video, you can see when he goes up a hill, his feet adjust to it as well, they work on stairs too, but they're still a bit finicky so it needs a bit more work, but a lot less now.

The last major thing that I worked on was pretty much learning the entire Niagara particle system that comes in Unreal Engine. It took me about a week to really understand what I was doing with it, and because I put in the time to do so, I was able to reacreate the beam attack in the way that I actually wanted it, rather than having to rely on the Unreal Marketplace ones for it. Overall, I'm pretty happy with how the beam turned out! And you can take a look yourself in the video!

Update 4: UI, Combat, Tools (with demo)

In this update, I've changed the combat system a bit. I've made it so that you have elemental modes that you can switch between. The modes are normal, fire, earth, and water. Each respective element has an ability attached to it on the 1 key (which will be allowed to be changed later). They also have their own spin moves and their own ground-smashes. So in order to play, you will need to use a combination of all of your abilities.

I may add in a combo system where your basic attacks (left and right click) gain more energy as you continue a combo. For the most part, I feel that I have combat about where I want it, minus some tweaks and balancing that will be applied later. Below will be a link to a demo that you can explore and a video that shows me playing that demo. Sound effects will be coming soon! As well as some more response to attack particles. Also keep in mind that this map is just a test map and will most likely be scrapped!

As for tools, I created some basic time saving tools for myself in engine. Unreal Engine has a great feature where you can use its UMG to create your own tools and set them where you want. I currently have two tools, one to easily mass enable Nanite on the selected items, with a right click. The other tool is to easily do a blueprint compile of all the blueprints that I want to add to the tool, essentially pressing compile on each of them. This is a big time saver especially when I have to edit a header file in C++.

Link to demo: Google Drive

Update 3: UI, Combat, AI

In this update, I've been working on polishing up the combat, and I'm planning on changing the basic attack animations. I've decided to go with an energy based system, where your basic attacks generate energy, and in turn you can use energy to dish out more powerful attacks. I'm planning on changing how the basic attacks work, maybe have the character lunge towards an enemy if they are in range but I'll have to experiment with it.

I've also made a bunch of Behavior Tree services and decorators to help make a more flushed out enemy AI system. Now that I have those, I'll be able to make more intricate AI's to have battles against! I'm still in the process of figuring out how to make the enemy capybara's different, but to supplement the main story, there are definitely going to be elemental capybara: fire, water, and earth, and the main character will be gaining those abilities in the story as it plays out.

I've also added in a very basic UI just to give myself something to look at and make sure that the stuff that's attached to the main character is working properly. I've made it so that now that there's enemies, the C++ class CapybaraCrushCharacter has two children, CapybaraCrushEnemy and CapybaraCrushPlayer, in which the enemies and the player inherit respectively.

The fences, textures, other static meshes, and effects were obtained from the Unreal Marketplace, credits and links will be placed in the game properly shown off!

Update 2: Basic Enviroments and Characters

After making the character and the animations, I had gone in and created the animation blueprint along with the character blueprints. For the animation blueprint, I'm using a State Machine which will transition to other animations based on values produced by the character. The character is C++ based, with a parent class CapybaraCrushCharacter that all characters will inherit. I also made some basic environments to test some things with and to get a feel of how I want the environments to be based on the locations I've set in the story.

Had to remake the skeleton here for easier animation making after viewing another tutorial for it!
NOTE: Most objects like the rocks were obtained from the Unreal Marketplace, the lava texture I had made myself.

Start: Creating the character

To start, I wanted to make a main character for players to control. I went with the idea of a capybara and the story will be based around a group of 3 capybara, 2 fighting for the love of another, in a bit of a comedic, but heartfelt manner. There are other things planned to supplement the story like combat, minigames, and side missions. But to start, I have had a little bit of experience with making things in Blender, so I started there. I used a reference to shape the model around and a followed a video tutorial with my character model. I think rigged it with a skeleton (which I had to redo after a while) and created some animations for it. I'm still not done with all the animations, and I'm creating them as I need them.

**An important thing to note is that I am not much of an artist, more of a programmer/engineer! But it's really fun to learn about other parts of creating a game!**

Learning Academy LMSUnreal Engine 5Unreal Engine 4RAGE (CSUS)OpenGLC++ CLI