JULIO MARCELO PICARDO
Video Games Programmer
ABOUT ME
If someone asked me to describe my life in a few words, these would be: programming, sports and animals.
I consider myself a mature, empathic, experienced and hard-working person. I like working in a team, as a chance to learn from others as well as being the first one to give a hand when needed. Those factors have always motivated me to strive for my best.
Aside from games and programming, during my free time I like to play sports, volunteer in animal shelters and practise alternative therapies, such as kinesiology for humans and animals in need.
Fallen Tear
Description
-
Title: Fallen Tear - Eldric's Awakening.
-
Developer: Bleeding Polygons.
-
Genre: First Person Shooter.
-
Engine: Unreal Engine 4.
-
Platform: PC.
My Tasks
-
Main Character: Animations, skills, camera, weapons, effects and mechanics.
-
Final Boss and Enemies: Mechanics and animations.
-
Core: Player controller, game mode and project build.
-
Weapons: Animations and mechanics.
-
Others: Checkpoints, cheat manager, game loots, destroyables, objects pulls.
All the game has been programmed in C++, using blueprints just for scripting.
Scripting Language
"A Scripting Language for Game Engines" is my BSc in Computer Science for Games final year project, as a student of the Sheffield Hallam University.
This project is about the creation of a custom scripting language from scratch, oriented to be easy to integrate as part of other existing C++ software.
To make a demonstration of the language, an OpenGL game engine has been created with the name "Wolfy2D". The game engine uses an editor made with the ImGui library.
It contains the following main features:
-
Local and global variables.
-
Variable packs.
-
Functions with multiple parameters.
-
Mathematical operators and trigonometric functions.
-
Conditionals and loops.
-
Output messages.
A bidirectional communication between C++ and Scripting is possible:
-
Register functions from C++ that can be called from a script.
-
Register variables from C++ to be accessed from a script.
-
C++ getters to obtain a script global variable values.
-
Execute scripts functions from C++.
Source code:
-
ImGui library - https://github.com/ocornut/imgui
-
Scripting language - https://github.com/juliomarcelopicardo/JMP
-
Wolfy2D engine - https://github.com/juliomarcelopicardo/Wolfy2D
Smash Monkeys
Description
-
Title: Smash Monkeys.
-
Developer: Sync Games.
-
Genre: Free to Play Racing Platformer.
-
Engine: Unity.
-
Platform: Android and IOS.
My Tasks
-
UI: Transitions, scene flow, responsive anchoring for different resolutions, using data oriented programming for having dynamic menus.
-
In App Purchases: Integrating the IAP module and functionality, preparing the Android and IOS Stores.
-
Addressables: Integrating the addressables system, organizing the whole project and assets in different packages, generating asset bundles, reducing the .apk and .ipa size by using dynamic downloads and updates.
Still on development.
Custom Graphic Engines
DirectX11 - Wolfy3D
"Wolfy3D" is a custom Direct11 based 3D graphic engine developed from scratch in C++.
The main features implemented are:
-
3D hierarchical animations.
-
Skybox.
-
Multiple geometries.
-
Tree node hierarchy system.
-
Super Material.
-
Oriented to components.
The main components of the engine are:
-
Transform: The rotation transformations are internally made using quaternions, but there are methods that will simulate that the engine is working with Euler angles, as they are more user friendly.
-
Render: All the information of the transform, material and geometry will be given to the shader.
OpenGL - enJIne
"enJIne" is a custom OpenGL based 3D and 2D graphic engine developed from scratch in C++.
Designed with the main idea of making a complete game engine that can be used for students to start learning about game and graphic programming.
The main features implemented are:
-
Multithreading (Logic and render are separated).
-
Post-processing.
-
Shadows.
-
Super Material.
-
Tree node hierarchy system.
-
Audio.
-
Oriented to components. (light, transform, render and audio).
-
2D features (buttons, sprites, texts and animations).
-
Particle system prototyped.
-
Augmented reality.