Iban Mas - Producer and Programmer

Project Producer

I'm the producer of the team. I've been in charge of managing and organizing the teams, checking the tasks and deliveries dates.
I also developed a tool to make all the time tracking easier for all the members of the team:

Trello Board Example


The tool was developed using Django, a python library to create websites.
The tool allow the users to add their available hours to work during the week, the tasks they are working on and the time they use daily on each of the tasks. Also has a timer option that the user can use to calculate the time automatically.

Gameplay Programmer


As a gameplay programmer I was responsible of both players' logic:
- Spaceship movement.
- Weapon System: allow the spaceship to support different weapons as well as to change between them and shoot them.
- Basic laser: the default weapon the player spaceship has.
- Collisions with environment.
- Energy System: distribute the energy the spaceship has and modify the other values depending on these values.
- Shield System: the system that allows the second player to change the position of the shields.
- Repair Puzzle: created the logic for the puzzle displayed on the right monitor of Slave One spaceship.
- Camera Movement: the camera will move with the player interactions to create the movement feel.
- Camera Shake: whenever a laser collides with the player or the player collides with the environment.
- Boost: increase temporarily the spaceship speed to perform a fast movement.
- Targeting System: allow both players to select and change between the enemies in the scene.

Engine Programmer

I also make some subsystems and improvements to the base engine
- Shader Pipeline: the engine was first rendering using direct mode. I've changed the render pipeline for a shader one and added a shader editor inside the engine.


- Gamepad Support: added the functionality to allow the use of multiple gamepads.

- GOAP System: Added a Goal Oriented Action Planner component for the engine (not used finally).

GOAP System

The GOAP system was developed as a request from the design team to create the AI.
The system was implemented as a component that can be added to any game object.


The component has an internal blackboard that allow the user to create variables to be track during run time.
The user is also able to create Actions and define a Goal. Then the system will find the best combination of Actions to fulfill the Goal.
The actions are creating using the C# scripting subsystem. Once a GOAPAction is created, a template with the GOAP C# skeleton will be created.