Alejandro Moreno
Video game programmer

I’m a Game Programmer for both mobile and desktop

Project 1
Project 2
Project 3
Project 4
Project 5
Project 6
Own Engines

My contribution to the project

Systems

  • Import files with drag and drop
  • Game Object class
  • Editor windows
  • Inspector & Hierarchy
  • Mouse picking
  • Quad Tree
  • Bounding boxes

Physics

  • Rigid Body Component
  • Collisions (6 shapes + mesh)
  • Dynamic, kinematic, static objects
  • P2P and Freeze Constraint
  • Automatized vehicle creation system

Links

Content

Main features

  • Skybox (cubemap)
  • Water effect (reflection and refraction)
  • Forward render mode
  • Deferred render mode
  • Debug representation of lights
  • Camera navigation
  • Real-time global illumination

FBO Render Textures

  • Albedo
  • Normal
  • Position
  • Depth
  • Final (illumination)

Links

Own game

My main features as Lead Programmer

As lead Programmer my main job has consisted in supervising, distributing and assigning each task to the most qualified person to do the best job possible. Ensuring that the naming conventions were met, and that everything could be executed in a functional way according to the guidelines of the design department and the work done by the art department, without compromising the integrity of the code work. Working with our own engine to make our game has been a real challenge that we have faced, the whole department, as a solid and effective team. To be able to move forward the work in the face of all adversity while maintaining a clean and understandable code structure.

Main contributions to the project

Physics Engine

My main contribution consisted in migrating the physics engine I made in "Fire Engine" to this other one. Adding new functionalities such as OnCollision and OnTrigger events in the Enter, State and Exit states.

Perception System

The core of the AI of the enemies is the Perception System that provides the enemies with a field of vision to detect the players. This system consists of a cone in which the developer can determine the radius, the angle, the amount of raycast it launches, the tag of the object to be detected and whether it should rotate or be static. The main particularity of the cones is that it is a mesh built in real time according to the amount of rays launched that collide with the environment to occlude the spaces in which the player should not be captured and thus improve the visual feedback.

User Data Collection

A file was created to record all the user's data while playing during PlayTesting sessions, such as the game round, the level they are in, the total number of deaths, the game time, the player they were using when they lost and the position of the player where they had died. All this to help level design to identify action bubbles that failed and should be redesigned for difficulty.

Pop Up

The mobile pop-ups in the game are a UI Image element that follow a real object by converting the 3D coordinates of the world to screen coordinates. A circle has also been added to improve visual feedback so the user knows at all times which character they are controlling.

Gallery

Links

VR Game

Main mechanics

Bullet Time

This was the biggest challenge of the project and one that I solved. This mechanic consisted in the fact that the game only advance in time if you move in the real world. To achieve this I studied how the Unity engine worked and discovered the variable Time.unescaledDeltaTime which is not affected if you have modified the variable TimeScale, used to achieve the slowmotion effect.

Slice Mesh and weapons

Another very satisfying mechanic is being able to cut objects. With the sword the player can split an object into two parts by where it has been hit. This is functional but in the game there are no objects that you can cut for design reasons.

Pistols with limited and infinite ammunition are also available, this interactive objects are marked by a white outline to improve feedback.

Gallery

Links

TFG

What is Non Euclidean System used for?

NES is used to easily and automatically create non-Euclidean spaces. These allow a completely different representation of the world than the one we know.  Through cameras and shaders it is possible to give the effect of deformation and superimposition of space. Some useful examples are as follows:

Tunnel: Visual representation of a space smaller or larger than it really is.

Staircase illusion: The individual perceives that by descending the stairs he is actually ascending.

Multi-room: By overlapping spaces it is possible to have 3 or infinite rooms in a 4-room space. Being able to block the return to the beginning.

Infinity stairs: You can go up and up but you will never reach the top, instead, when you turn around you will still be at the beginning.

Non-Euclidean Cube: Consists of a hollow cube inside which contains a different object depending on the perspective you adopt. The trick is that each different visible space is located in another position in the world much farther away than the present one, but through cameras it is possible to visualize them as if they were in front of you.

Spherical Shader: With the combination of a Material Parameter Collection and a Material Function a shader has been built that allows to deform the world in spherical and cylindrical shape by altering a series of parameters to customize the angle of curvature.


Features

Current

  • Teleport any player class
  • Teleport any actor (no proyectiles)
  • Smooth teleport
  • Automated Render Targets generation system
  • Recursive portal renderer
  • Optimization Camera Culling
  • Spherical shader (eliptic geometry)

Future

  • Third person template
  • VR support
  • Multiplayer support
  • Blueprint version

Links

Unreal Projects

Introduction

Mars Marine is a game developed in UE5 using only Blueprints following the "Unreal Engine Blueprint Game Developer Online Course" of GameDev.tv, but adding new features like mini-map and record kill to improve user feedback. The player can choose between three types of input controller: Keyboard, Gamepad and Joystick.

Main features

  • Animation and montage
  • State Machine Transition Rules
  • Blendspaces
  • Input switching
  • Unreal Motion Graphic
  • AI Navigation and spawn
  • Line Traces
  • Pickups

Gallery

Links

Main features

  • Level Blockout & Lighting
  • Blueprints Actor and Pawn Class
  • Event Graph and Input Mapping
  • Player Camera Manager
  • Emissive Materials
  • Multiple Timelines Track
  • Functions and Macros
  • Spawn and Apply Damage System

Gallery

Links

Game Jam

Introduction

Mr.Dice is a small game made for Game Maker's Toolkit(GMTK) Game Jam 2022.
Is a platformer game adventure, where you try to find the way back to the board sorting tricky obstacles and enemies to reunite with the other game pieces. You can jump, shoot, roll and keeping the balance.

My contribution

  • Mechanics of jump and double jump
  • One way platform: You can up and down of the platform by crossing it.
  • Gameplay design: keeping the balance on the ball
  • Day system: The warmth of the light changes little by little, simulating the course of the days.
  • Level 1 design
  • Main Menu design
  • QA and testing

Links

Do you want to contract me?

If you like what you see and want to work together, get in touch!

Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.