You are using an outdated browser. For a faster, safer browsing experience, upgrade for free today.

Loading...

Max Garcia

About me

My name is Marc Garcia, most commonly known as Max, and now I'm studying a degree in Design and Development of Video Games at the Universitat Politècnica de Catalunya. My passion are the video games and I would like to be a programmer some day.

The part of a videogame that I like the most is the graphics, so I'm focused on improving my skills in this field to work as a graphic programmer in the future.

I enjoy working in a team and with the illusion that some day my work will impress the world and not just my mother.

Programming

95

Design

60

Art

50

My Work

I prepared the engine to render everything using shaders. With that we would be able to use the properties of the GPU. The steps were the following:

- Create a shader editor to be able to edit and change the shaders from the engine.

- Create a default shader program for all the static 3D objects.

- Create a shader program to reproduce the skinning algorithm. (by Rodrigo de Pedro).

- Create a shader program to render the particles.

Once the shaders were implemented to our engine was time to use the power of the GPU to make cool graphics. The first thing to create, were the 3 types of lights:

Directional lights to recreate the environment lights (day and night):

Point lights to iluminate important parts of the scene:

Spot lights to recreate elements in the scene like streetlights:

Optimization to make the engine and the game more eficient. The lights are something that need a lot of calculations, so to avoid unecessary calculation we use spheres to calculate the range of each light and then only use the ones that collide with the frustum of the camera.

Using the directional light, and with the collaboration of Rodrigo de Pedro, we created two types of shadows:

- Static shadows for all the objects of the scene that are not going to move. These shadows are calculated once the scene is loaded.

- Dynamic shadows for characters of the game. These shadows are calculated every frame.

Both types use a box filter to make them softer.

We have also implemented additive shadows to mix the dynamic and static shadows.

I programmed the second version of the method to see the occluding meshes.

I implemented two decals in the game, one for the Axe Kick and another one for the landmines:

- Axe Kick

- Landmines