C# Developer in Rio de Janeiro - State of Rio de Janeiro, Brazil
CTO2011 - PRESENTMagistral Games
Technologies: Unreal Engine, C++, Lua
- Developed a 3D online mobile game with Unreal Engine, C++ and Lua. Worked on the client and server back-end. Also completed part of the game design.
- Created a development framework in modern C++ featuring optimized data structures, algorithms, and client/server networking with an efficient multi-threaded architecture.
- Planned the cloud architecture of the game's back-end, including DDoS resiliency and fault tolerance.
Teacher2010 - PRESENTORT Institute of Technology
Technologies: C, C++, OpenGL, ASM
- Taught technical training courses in Computer Science with programming content in C, C++, Python, x86 Assembly, data structures, computer graphics, computer networks, and operating systems.
Specialist Developer2014 - 2018AevoTech
Technologies: C++, C#, Python, Django, OpenGL, OpenCV, AWS, EC2, RDS, ElastiCache
- Developed an unmanned ground vehicle software controller featuring stereoscopic vision, autonomous spatial navigation, and 3D scenario reconstruction using C++, OpenGL, OpenCV, and ROS.
- Contributed to a robotic arm (Kuka) controller and GUI written in C# and WinForms. It has many real-time features such as 3D visualization of the arm position and its sensors.
- Created an ROV laser scanner that used computer vision to detect changes in the surface of objects such as underwater oil pipes. Written in C++ and OpenCV.
- Developed an OCR solution that allowed the client to upload any kind of digitized document, including photos of printed papers, and classified it according to its contents. Used C++, OCR libraries and a machine learning classifier algorithm.
- Built a Python/Django web server back-end, which was used to process large amounts of data, such as importing millions of entries from a file format into a relational database, in a parallel, efficient manner. Used many AWS services such as EC2, RDS, and ElastiCache.
Professor2015 - 2015Infnet Institute
Technologies: Artificial Intelligence
- Lectured Introduction to Artificial intelligence to the Computer Engineering undergraduate class.
Intern Developer2008 - 2009Tecgraf/PUC-Rio
Technologies: C++, Lua, OpenGL, GLSL shaders
- Served as the lead developer of "Particles", a volumetric discrete element visualization application funded by the Petrobras oil company. Featured many real-time visualization techniques and intense GPU shader usage.
- Cockfight (Development)https://youtu.be/5VvSWJqVj5o
Cockfight is a 3D mobile RPG/card battle multiplayer game. The game is currently in early prototype stage.
I am the lead programmer and architect of both the game client and server. The client is based on Unreal Engine. It is optimized for mobile platforms and leverages GPU shaders and a variety of rendering techniques.
The server is written in modern C++ and Lua, a powerful scripting language whose development team I was part of during college. It features high-performance, multi-threaded networking and REST APIs to communicate with cloud services.
I am also one of the game designers, defining gameplay rules and monetization strategies.
- Nearby Events App (Development)
As a personal project, I've worked on a mobile app that lists nearby public events based on geolocation. The app displays the events as pins on the map. It also shows a list of the events sorted by distance and filtered by the current date.
The app is written in C# using Xamarin Forms. The back-end is written in Golang and uses Redis geolocation to store and retrieve the events sorted by distance. The events are collected using an AWS Lambda script that gathers public event information from Facebook and other sources.
I've done this project mostly to improve skills in some technologies that I was not very familiar with.
- Brabexia (Development)
I was the game designer and lead programmer of Brabexia, a massively-multiplayer online 2D RPG game (MMORPG) for Windows and Linux PCs that I created as a hobby, inspired by some of my favorite online games back then. It was online from 2005 to 2008.
I worked mostly on the game server, which was written from the ground up in C++ and Lua. As a real-time game, it required low-latency networking and thousands of simultaneous players. Such performance level was achieved with the aid of parallelism, profiling tools, and highly-optimized code. During peak hours, the game hosted about 7000 players online.
The computer-controlled characters were based on numerous AI techniques such as A* path-finding, State Machines, and Behavior Trees, providing a challenging gameplay experience to the players.
The 2D game client was based on an open-source project that used OpenGL. It was adapted to my game server by rewriting the networking protocol entirely.
LanguagesLua, C#, C, C++17, C++14, C++11, C++, GLSL, XML, Cg, Python, Python 2, SQL, Go, HTML, Machine Code, Python 3, C++/CLI, Assembler x86, Assembly, x64 Assembly, Microsoft Assembly x86 (MASM)
FrameworksUnreal Engine, Unreal Engine 4, .NET, Qt, Boost, Machine Learning, Django
Libraries/APIsStandard Template Library (STL), OpenGL, OpenCV, OpenMP, Windows API, wxWidgets, OpenAL
ToolsC#.NET WinForms, Microsoft Visual C++, Microsoft Visual Studio, VMware Workstation, Hyper-V, Intel Parallel Studio, GCC, Microsoft Unit Tests, TFS, Azure DevOps Services, Intel IPP, Qt Creator, Mercurial, Git, CMake, PyCharm, Subversion (SVN)
ParadigmsObject-oriented Design (OOD), Software Testing, Mobile Game Design, Agile, Agile Workflow, Agile Software Development, Scrum, Unit Testing, Concurrent Programming, Test-driven Development (TDD), Parallel Programming, Parallel & Distributed Computing, REST, Real-time Systems, DDOS
PlatformsWindows, Visual Studio 2017, Windows Server, Ubuntu, Ubuntu Linux, Xamarin, Android, Linux, Amazon Web Services (AWS), Azure, Steam, iOS
OtherUE4, Game Development, 3D Visualization, Blueprints, Video Games, Games, 3D Games, Computer Graphics, 3D Rendering, Inno Setup, Low Memory Constraint Development, Low-level Programming, Low-latency Software, Software Architecture, APIs, Virtualization, Game AI, Android Games, iPhone Games, 2D Games, Mobile Games, Mobile Game Development, 3D Reconstruction, Computer Vision, MMORPGs, Artificial Intelligence (AI), Data Structures, Algorithms, Rendering, Rendering Pipelines, Real-time Rendering Engines, Rendering Performance, Game Design, Debugging, Cloud Computing, Cloud Services, TCP/IP, Doxygen, Shaders, Version Control, Code Versioning, Networking, Multiplayer, Agile Sprints, Agile Software Testing, Performance Analysis, Performance, Performance Testing, Profiling, Benchmarking, Benchmark Analysis, Concurrent Computing, Embedded Software, RESTful APIs, Virtual Reality (VR), Augmented Reality (AR), GPU Computing, Memory Profiling, IBM SoftLayer, Back-end Performance, Xamarin Forms, VSTS Git, Monetization
StorageMySQL, PostgreSQL, Redis, SQLite, MongoDB
- Progress towards a master's degree in Computer Science with a specialization in Computer Graphics2009 - 2011PUC-Rio - Rio de Janeiro, Brazil
- Bachelor's degree in Computer Engineering2003 - 2009PUC-Rio - Rio de Janeiro, Brazil