top of page

Unreal

I started learning how to use

Unreal in order to both learn more

about C++ and to study about networking. The result was

my first Unreal game named Diamond Rush.

DiamondRushBgd.png

Programming

Coding inside Unreal was really

interesting, since it differed greatly from Unity and allowed me to test my skills in an unknown ground.

What I got really used to was creating my own blueprintable pieces of code and connecting them for a clear view of what was happening inside an object.

The blueprints can be really powerful in this use, since it allows you to combine your own functionality with Unreal's built in ones, creating a fast and professional look for the end product. 

DiamondRushBgd.png

Models and Animations

Unreal was great for quickly adding 3D models and animations into the scene. The model editor in specific was very useful in order to create sockets for the guns, allowing them to have the correct position and rotation, independently of the gun's design. They look like they are in the correct hand position, even if their formats are completely different.

The animation system was great to work with, by creating state machines that would run through it and set the correct animation depending on certain specific parameters that can be altered in the C++ side. This is also another great place for the blueprints, since I could create my own blueprint piece of code in C++ and organize it in the animation state machine for clarity.

DiamondRushBgd.png

Unreal also makes the networking process way less convoluted. Code for the replication can be created and blueprinted in order to create a networking grid that can be easier seen than normal. It was still difficult to replicate every needed part of the game, especially if the replication had to go both ways, like the bullets.

The system inside Diamond Rush uses Unreal's tutorial as a base and changes in a lot of places where the game specifically needed it.

The Game Controller blueprint begins by controlling in which state of creation the game is in, while it is either creating a session or trying to find one as a client.

After the game starts, the Game Controller updates the user Controllers and replicates what is needed back and forth, those being the player's positioning, bullets, timer and pickable items like guns and diamonds on the ground, as well as the gun firing orange effect.

Networking

DiamondRushBgd.png
bottom of page