best html templates

EFFECTS - UI - ENGINE USABILITY - AI

Aleix Gabarró Martos

PROGRAMMER

Project overview


Hi! I am Aleix Gabarró and I am one of the eight programmers in this project. I oversaw the game’s graphics effects and implemented the Frog enemy unit’s behavior.
For our game engine, I had to implement UI labels and various user tools such as Ctrl+Z and multi-object selection and handling.
For better implementation of the particles and AI was necessary good communication between designers, artists and me.


PARTICLES

In this project, I have added and kept up to date the particle system that I developed together with Oscar. You can check the particle system on the Factory Engin3D page.

Before starting the project, I managed to pass all the OpenGL Painting System's paintings to the engine’s shader pipeline. Preparing beforehand this process allowed us to start making particles since the beginning of production and I could help other departments.

As the project moved forward, I prioritized my tasks depending on the artists’ and designers’ new outcoming needs such as preparing 3D acceleration and other animation options.

Shape Mesh



There are many different ways were particles have not good views with simple forms, so we decided to implement a mesh. The particles emit in randoms positions around the mesh,

When the burst mesh is executed, particles are created on the edges in the same shape. As in the GIF.

Mesh Particle





To give particles more dynamics and prevent them from being planes, we decided to make different meshes. In this way, you have more variation and it would be useful for example for some rocks when Alita breaks the ground.

Problems

- Shader and particles were designed only for planes.

Finally, we decide to prioritize other important tasks and we chose to discard this option.


LABELS

By passing the particles to the engine before the project, I could help in other areas just to start, such as the UI, since we did not have any base at that time. I implemented the labels with their font resource in the resource manager with the FreeType library. Finally, I made some settings to facilitate the maximum variety of fonts with a minimum amount of memory.

- Freetype gave us a texture for each letter for each font and you could not load it all

- The basic information that Freetype gives us, made our painted do not render properly

Mobirise

- The best solution was making an importer where the designers choose the sizes of each source they are going to use.

- We had to change the UI painting because we did not take into account the labels


ENGINE USABILITY

Mobirise

CONTROL + Z

I added a Control + Z of all game objects transformations to facilitate designers the level creation. Without this tool, they had to remember the previous transformation

Mobirise

ADAPTABLE QUADRTREE

To get the most comfortable partition optimization, I put a quadtree that contains all static objects and adapts in real time.

Multiselection

I implemented an object multiselection to facilitate map creation. With this you can:

- transform game objects

- Add the same component for all game objects

- It can change common attributes like layer, game object active, static or dynamic.

- We could not make a frustum from a quad created on the screen

- Take all the elements that are completely inside the screen

Mobirise

AI Frog

After vertical slice 3, I achieved to have the opportunity to implement the frog behaviour. Instead of getting all we have it, I realized a different FSM with all Sandra behaviours.

Frog jumps were the difference between other enemies, at the same time problematic. When the frog jumps he goes without navmesh, we have to control than frog goes to a correct point.

To facilitate designers works, I added all visual effects made it by Ricardo.

Mobirise

Range and jump attack

Mobirise

Jumping iddle


VISUAL FEEDBACK

Camera follow

Several cameras have been tested to see what would be the best.
The first implementation was the camera always following the same movements with the same velocity.

Mobirise

Problems

- The camera starts moving abruptly
- Smooth is not functionality
- Ramps make displace the camera

Mobirise

Solutions

- It follows Alita with smooth
-The feeling of movement and combat are most comfortable
- Is more simple 

Camera Shake

Mobirise




When an enemy barrelman is killed and exploited, I made a small vibration of the camera to give it a stronger effect on the explosion

Decals

To make the player know how the skills work I have implemented a script that uses the same projector for any of the 3 abilities.

I have also put the shadows with a change in texture when focusing on the enemies to know who you are attacking

Mobirise

Alita Unbreakable Warrior