Fire Engine is a 3D videogame development engine specialized on physics simulation and offers a handful of configuration options. It has all kinds of features thought for game developers, has the basic functionality of Unity. Fire engine has been developed as a project for a university subject by 3 people.
PGA Engine is a rendering engine capable of rendering in forward and deferred mode using frame buffers. Features real-time global illumination of different types of lights. The heart of the engine are the shaders, which modify the position and appearance of the objects.
Dune: Fremen’s Rising is a RTT video game with a perspective camera based on the renowned IP of Dune. This real time tactics game with multiple characters, which has their own set of abilities to fight, tells the story of Paul Atreides. This game has been developed with an own engine, Ragnar Engine, and features voice actors.
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.
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.
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.
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.
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.
SpaceHot is a VR video game with 6 Degrees of Freedom developed in Unity. It is based on SuperHot, that's why the main mechanic is bullet time, among others. To carry out this project, gameplay designs have been taken into account to avoid the simulation sickness effect. The tracking used was Markerless Inside-Out Tracking from Oculus. This project was presented at IndieDev 2022 sponsored by DevolverDigital.
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.
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.
Non Euclidean System is a tool designed in Unreal Engine 5 for the creation of non-euclidean spaces, specifically for video games in order to help studios develop their non-Euclidean themed games, such as Portal. This project is part of my final thesis and will soon be available in the UE Marketplace. The tool has been developed 100% in C++.
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.
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.
Crystal Cavern is a game developed in Unreal Engine 5 using 100% Blueprints following the "Unreal Engine Blueprint Game Developer Online Course" of GameDev.tv, but adding new features like SFX and UI to improve user feedback.
The game consist on overcome all obstacles and collect all crystals before you reach the end to pass next level.
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.
If you like what you see and want to work together, get in touch!