Hernan Saez
Verified Expert in Engineering
3D Games Developer
Buenos Aires, Argentina
Toptal member since April 17, 2018
Hernan is a software developer with more than 18 years of experience working with different platforms and technologies, like C++, OpenGL , iOS, Unity3D, Android, Xamarin, C#, JavaScript, .NET Framework, Java, and others. He likes video games, movies, comics, reading, and drawing.
Portfolio
Experience
- C++ - 15 years
- OpenGL - 15 years
- 3D Games - 15 years
- Game AI - 5 years
- Blender - 4 years
- Unreal Engine - 3 years
- Vulkan - 3 years
- WebGL - 3 years
Availability
Preferred Environment
Emacs, GitHub, Xcode, iOS, MacOS
The most amazing...
...monster I created is Crimild, my own open-source 3D engine using mostly C++ and OpenGL, integrating third party libraries and supporting different platforms.
Work Experience
Indie Game Developer
Self-employed
- Developed Crimild, my game engine using C++ and OpenGL. Over the years, it has been used in several commercial and educational projects. It supports Windows, Linux, OS X, iOS and Android. Crimild is open-source, and it's currently hosted on GitHub.
- Built and published Le Voyage in 2016, an iOS game based on the works of George Mellies and Jules Verne. The game was built using the Crimild engine and supports a Metal-based renderer.
- Created and published Pocket Balloon in 2018, a game that uses augmented reality to fly a hot air balloon. Players blow on the screen of their phones to push the balloon forward and make it land in designated areas.
- Designed several game projects for competitions like Ludum Dare and CODEAR, using tools and platforms like Crimild, Flash/Action Script, and WebGL.
- Created art assets for most of my games using tools like Blender, Adobe Photoshop, and Adobe Illustrator.
AR Mobile Developer
CamOnApp
- Maintained and extended the existing mobile applications with new features based on project requirements.
- Updated existing code base to support latest technologies, like C++11 and OpenGL ES 3.
- Extended existing DSL with new options for virtual objects using JSON files for defining scenes.
- Created a reusable SDK which was later integrated into existing or new applications.
- Improved 3D rendering engine and object animations for virtual scenes.
- Coordinated with back-end developers in order to integrate mobile applications with the existing web editor for virtual scenes.
- Developed a mobile application for Android and iOS using the CamOnApp SDK to display augmented reality content on top of chocolate packages.
- Built a prototype for a Pokemon Go-like interface for an augmented reality map displaying places of interest and other information on the street.
R&D Engineer
SCV Soft
- Developed a prototype for a client in the US using machine learning and data analysis to gather usage information from different home appliances, displaying results in the form of charts, and detecting specific behaviors such as wether a washing machine is about to end its current cycle and delivering notifications to the end users.
- Created a proof of concept for an Android application that connects with a prototype camera, using computer vision techniques and OpenCV to analyze the captured photos and determine the current state of railroad cables and whether or not they should be replaced.
- Built a library for iOS and Android that communicates with an smart plug prototype for a client located in the San Francisco area. I spent several weeks at the client's offices adapting their existing code base to the library requirements.
- Designed a prototype using Javascript and D3 to analyze the house market for a client in the US.
- Developed a prototype using Java and Apache Camel to communicate different systems together for a company in the US.
- Built the prototype for the embedded software running on an experimental hardware for an IoT company in the US using C++ and OpenWRT.
Mobile Technical Leader
SCV Soft
- Developed an iOS application for using computer vision techniques for people with limited mobility, allowing them to communicate and send emails by blinking their eyes.
- Built an Android application based on an existing iOS product using a new camera device to capture short videos and later edit them by adding visual effects, titles and audio.
- Developed a mobile application for Android and iOS using Xamarin, using BLE to communicate with a new peripheral that monitors the heart rate of the user and performing electrocardiogram tests, displaying the results in real time in the mobile device.
- Served as a technical interviewer for new candidates.
- Evaluated the technical viability of new projects.
AR Mobile Developer
CamOnApp
- Developed the application prototype for both iOS and Android, using C++ as main language and implemented binding code for both Objetive-C and Java/JNI.
- Integrated Vuforia libraries with Crimild engine in both platforms, as well as other third party libraries like OpenAL and Lua.
- Implemented a custom DSL for defining virtual scenes.
- Coordinated with technical and non-technical partners in order create new virtual experiences.
- Defined rules for exporting 2D and 3D assets in a format readable by the applications.
Founder/CTO
Building Brothers
- Designed and developed proof of concepts, technical demos, and tools for video game creation for Windows, Mac OS X, and iOS.
- Developed the Nameless Engine based on Action Script, using the Game Entity/Component design pattern, creating game scenes using a data-driven approach and XML.
- Developed "Revancha Zombie", a game built in less than a month for CODEAR 2011, an Argentinian video game development competition.
- Worked with a local industrial design University to provide technical for students on their final projects.
- Provided technical support for sales representatives, and visit client offices to gather requirements for new projects.
- Designed a proof of concept for a tactical board game.
- Built a prototype for Lego-like mobile game using a virtual workshop where players can connect each other using bluetooth or wifi in order to build things together.
iOS Architect
TeraCode BA SA
- Participated in the kick-off process for new iOS projects, assisting technical leaders and project managers.
- Designed the architecture and best practices for new and existing projects, maintaining a constant communication with team leaders during the rest of the project lifetime.
- Worked directly with clients in order to define project requirements and helping them adapt to the new technologies and paradigms.
- Collaborated with graphic designers in order to ensure that user interfaces follow the guidelines provided by Apple.
- Implemented critical features for several projects on demand, based on requests from technical leaders or project managers.
- Developed a business application for iOS displaying charts and other data using proprietary rendering libraries.
- Built a prototype for a medical application for iOS using OpenGL to render molecules and chemical compounds.
Pre-sales Engineer
TeraCode BA SA
- Worked alongside sales representatives to define new products and proposals, gathering requirements from new or existing clients.
- Travelled to potential client offices in the US (Boston Area) to write down specifications and time estimates for their completion.
- Collaborated with HR managers to provide feedback about how the different teams should be composed and the required skills for their members.
- Participated as a consultant engineer during the kick-off process, working as a nexus between the client and the new team.
- Provided feedback to sales representatives about the technical viability of new projects, including rejecting any proposal that were not a fit for the company's goal and or culture.
Technical Instructor
TeraCode BA SA
- Worked along other engineers to create a technical course consisting of several different classes explaining state-of-the-art technologies (at the time) and best practices.
- Created documentation for the attendants that complemented the existing classes.
- Gave several lectures in front of an audience for different technologies, like SVN, .NET Framework and the MVP pattern.
- Coordinated courses and instructors.
- Worked with HR staff in order to create new courses for existing employees.
Technical Interviewer
TeraCode BA SA
- Interviewed new candidates for job positions in different technologies, both online and face-to-face.
- Collaborated with other technical leaders to define the set of questions or problems for the candidate to solve during the interview.
- Provided feedback to HR and managers during and after the interview process, often deciding wether or not a candidate would be a good fit for the company.
- Participated as a support interviewer for technologies that were not my main focus, like Java or PHP.
iOS Game Developer
TeraCode BA SA
- Designed and developed DogFighter, an air combat arcade game for iPhone and iPod Touch.
- Integrated Crimild, my own open-source 3D game engine, with iOS technologies.
- Provided technical support for the graphics designer in order to work with iOS, since it was a new paradigm at the time.
- Worked with early iOS toolchains, even before the release of the official iOS SDK and Xcode IDE.
- Provided support for the agent in charge of publishing games and apps to the App Store.
C++ Technical Leader
TeraCode BA SA
- Worked with an existing code base for an application based on ASP 3.0 and ATL/COM implemented in C++.
- Developed a desktop-based application for screen recording using Win32 API.
- Develop a Windows service for monitoring the file system and creating copies of MS Office documents resembling a version control system.
.NET Technical Leader
TeraCode BA SA
- Defined architecture for new projects, providing best practices and documentation for technical and non-technical cients.
- Worked with state-of-the-art (at the time) techniques and technologies, like Domain Driven Design, Model-View-Presenter pattern, AJAX, reusable components, unit and integration test.
- Worked with web-based and desktop projects in supported platforms.
- Travelled several times to client's offices in the US (Boston area) to gather requirements for new or existing projects.
- Led several different teams of up to 8 developers, defining and delegating tasks based on their skills and potential.
- Developed a redistributable, web based application using .NET Framework 2.0, providing an automated installer for Microsoft Windows Server.
C++ Technical Leader
AXG Tecnonexo
- Worked with an existing code base involving different technologies like C++, VB6 and ASP 3.0, extending and improving it based on client's requirements.
- Travelled to client's offices in Israel to perform on-site development for a custom made product based on the existing software.
- Integrated MS Sharepoint services with the existing code base using C++ and VB6.
- Implemented custom reusable components using C++, ASP and COM.
- Provided support for non-technical members of the team and coordinated work with QA staff.
HP Products Manager
ICS Comercial S.A
- Provided technical support for sales representatives, visiting customers and writing down specs for proposals.
- Facilitated a constant communication between the provider, Hewlett-Packard, and the company members.
- Developed tools for sales representatives, such as product databases containing pricing and technical specifications, connecting them external services using VB6.
- Performed technical presentations for new products and technologies directed to sales representatives.
- Coordinated between the client and IT staff in order to install new hardware on location.
Experience
The P.U.R.G.E. Protocol | Q&A Game
https://github.com/hhsaez/purge_protocolThe goal of that file is to create a Simulation instance responsible for the game logic, as well as define platform-specific code and input handling.
My entry in the challenge can be found at:
• https://ldjam.com/events/ludum-dare/39/the-p-u-r-g-e-protocol
Crimild Engine
http://hhsaez.com/Pocket Balloon - Fly in AR!
http://pocketballoon.hhsaez.comThis is an iOS project that uses ARKit 1.5 to detect and track features around the player, like flat surfaces and walls. A virtual balloon is rendered and interacts with the detected objects in a realistic manner.
Controls are simple and the player can blow on the screen of the phone to push the balloon forward.
Le Voyage
http://hhsaez.com/projects/levoyage/index.htmlThe P.U.R.G.E. Protocol
https://hhsaez.itch.io/the-purge-protocolDogFighter
Niño de Cobre
http://hhsaez.com/EyeType
Certifications
CSE190x: Creating Virtual Reality (VR) Apps
UC San Diego
Image and video processing: From Mars to Hollywood with a stop at the hospital
Duke University (Coursera)
Artificial Intelligence Planning
University of Edinburgh (Coursera)
HTML5 Game Development
Udacity
Machine Learning
Standford University (Cursera)
Interactive 3D Graphics
Udacity
Skills
Libraries/APIs
OpenGL, GLFW, OpenGL ES, CocoaPods, WebGL, Standard Template Library (STL), Vulkan, OpenAL, SFML, OpenCV, jQuery
Tools
Trello, Git, GitHub, CMake, Xcode, Emacs, Pivotal Tracker, Sublime Text, Subversion (SVN), Blender, Photoshop CS6, Visual Studio, Wix, Crimild, Adobe Flash, Adobe Photoshop, Illustrator CS6
Languages
C++, C++11, Objective-C, XML, Lua, Swift, Java, Visual Basic, Active Server Pages (ASP), HTML, C#, JavaScript
Paradigms
Design Patterns, Object-oriented Programming (OOP), Scrum, Test-driven Development (TDD), Agile Software Development, REST, Concurrent Programming, Functional Programming
Platforms
Linux, Windows, OS X, iOS, Xamarin, Android, Arduino, Vuforia, Unix, MacOS, OpenWRT, SharePoint, Oracle, Oracle Database, NVIDIA CUDA, Godot
Frameworks
JNI, ARKit, iOS SceneKit, .NET, NHibernate, Spring.NET, Unity, .NET 2, .NET 3, OpenCL, Metal, Grails, Unity3D, Unreal Engine
Storage
JSON, Microsoft SQL Server, SQL Server 2005, DB, MySQL, PostgreSQL
Other
3D Games, Domain-driven Design (DDD), Code Review, App Store, Augmented Reality (AR), Game AI, 2D Games, Independent Video Games, Servers, Network Data Storage, COM, CORBA, 3D, Virtual Reality (VR), OpenCL/GPU, Game Development
How to Work with Toptal
Toptal matches you directly with global industry experts from our network in hours—not weeks or months.
Share your needs
Choose your talent
Start your risk-free talent trial
Top talent is in high demand.
Start hiring