make your own website for free

Effects and narrative programmer

Óscar Hernández Gómez

Programmer

@SerTito_

Oscar Hernandez

OscarHernandezG

Project Overview

I'm Óscar Hernández and I've been a programmers in this project. Mainly I have been working in the effects and map departments.


EFFECTS

Particles




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

Mobirise
Once the Particle System was added to Jellybit Engine I added some extra functionalities like:
Mobirise



Cilinder shape     
I was asked from the art department to add a new type of spawn in the form of Cylinder. This spawn is similar to the cone-shaped spawn, but you can also modify the size of the lower circus. 

To achieve this spawn shape I create a random point inside a circle and the direction of the particle is determined by the projection of the point in the spawn circle to the second circle.

The size of both circles and the distance between them can be defined from the Inspector.

The problem I had when adding this new spawn shape was calculating the direction using both circles and at the end I managed to get the projection of the spawn point in the second circle.




 Local space
Another suggestion was to add the option of moving the particles in local space instead of in global space 

Mobirise

With this option we were able to add some special particle effects that have to be attached to other game objects that are moving thru the scene

One of the biggest problem I had with this particle option was applying the rotation of the gameobject, specially when combining the local space with some spawn shapes.

Trail Effect

Mobirise

We wanted to add an effect when doing dash with alita and in some attacks. For these purposes we could not use the particle system since the results were not satisfactory.

Mobirise



We decided to add the trail effect and I was in charge of developing it.
The component of trail is a component that leaves a trail behind the gameobject to which it is tied and has the properties of time of life, minimum distance and orientation. 

Mobirise

When the gameobject that has a trail component attached moves a distance higher than the min distance defined in the inspector the component crates new geometry creating a plane behind the gameobject.

The trail is a strip o vertex (2 vertex per plane) and I draw the plane using the 2 current vertex and the next 2 vertex until there are no more vertex. I also add a texture to the trail, this texture stretches and compresses automatically depending on the length of the trail.

This was one of the most difficult things in the trail component and I had to create a custom shader to achieve this effect.

Mobirise



The trail uses a texture, you can change the color and use a shader created specifically for the component

Ability Decal


Using Sandra Alvarez's Decal Distem, I have helped Aleix Gabarró with the implementation of decal of skills by doing the rotation of the decal towards the mouse

Mobirise

Engine Optimization

Bounding Boxes

To accelerate the drawing we use frustum culling using bounding boxes. I did the calculation of the AABB, avoiding doing it more than once per frame by gameobject and without having to review all the vertices in each calculation

Mobirise

Global transform

We needed to squeeze the performance as much as possible, for that develop a system for the calculation of the global positions, avoiding to calculate repeatedly the positions of the objects and accelerating the calculation of the objects that if they must be calculated.


Narrative

Interpolation Component


On the map there are moving elements whose movement is previously defined, as doors when passing level and barriers that close the road.

Mobirise
Mobirise

In order to perform all these scripted movements create a component which allows you to select the objectives of a gameobject and from scripting launch the event when necessary.

Cinematic System

Shape your future web project with sharp design and refine coded functions.

I’ve developed a cinematics system from which you can add an object that the camera will look at, the objective to which the object will move (if we want the object to move) and some black bars go down using the animation system in UI of Julià Mauri and Guillermo García.



The system of cinematics allows us to create cinematics from the engine in a simple and fast way. When you want to add a cinematic you just have to add the system to scene. If we want the camera's objective to be a point on the map we just have to move the reference gameobject to the position we want the camera to focus on.
Mobirise

On the other hand if what we want is that an entity that moves from one point to another we just have to place the entity in the position where it will start and place another gameobject in the position where we want it to end.

The last thing that we have to take into account is to place a trigger in the position that we want the cinematic to start when Alita passes over it. 

With this system of cinematics the black bars will fall automatically at the beginning of the kinematics and leave at the end of the.

We can see these cinematics at all levels and help guide and give more information to the player.

We can see these cinematics at all levels and help guide and give more information to the player.

Alita Unbreakable Warrior