Ethan Martín

Profile Picture

Hello there! I am Ethan Martín and I’m a 21 year old student in CITM Barcelona, with a passion for video games and everything that surrounds them. I have a special love for game AI and procedural generation, and I am always willing to learn more!


Background

About Me

I was first introduced to videogames by my cousin at the age of five, when she introduced me to some games on the PlayStation 2.

Ten years later, I became interested in game development through 3D modelling, and soon after I realised that my true passion was coding. My current goal is to become someone who is able to say they can generate entire worlds with a single click.

Until now, I have worked in Games such as Jailed VR, Lost in Dreams, No Time to Di(c)e,Return - A JRPG parody, Guerilla War Tribute, or Super Metal Boy, among other smaller projects.


Project Overview

For this project I was the main responsible for the embedding of the Mono framework and the implementation of the Scripting Engine we have been using. I have also been responsible for the final boss’ entire behaviour and laid the foundation for two of the enemies’ behaviours.

Main Tasks

Mono Embedding

One of the first things to do in the project was to embed the Mono Framework.

Scripting Engine

Once Mono was embedded, we had to create a Scripting Engine to work on top of it to ease the game development process.

Final Boss

After a huge rework of the design of the Alien Queen, I re-programmed all of the new behaviour almost from scratch.

Demo Below

Enemies Foundation

Even though they have been reworked afterwards, I also laid the foundation for two of the enemies in the game.

Demo Below


Work Demos

Enemy Foundational Work

1 / 3
Anarchist
2 / 3
Xenomorph

Final Boss Behavior


Code Snippets

Final Boss Behaviour

The logic behind the Final Boss: The Alien Queen. Includes Finite State Machines, attacks and phase changes, all intertwined to create a dynamic and epic boss battle.

Mono Framework Manager

The class responsible for the interaction with the Mono Framework. From here, we initialize the runtime, create the different C# instances and through this we can access any script we want with a simple call.