Ricardo Costa, Computer Graphics Developer in Rio de Janeiro - State of Rio de Janeiro, Brazil
Ricardo Costa

Computer Graphics Developer in Rio de Janeiro - State of Rio de Janeiro, Brazil

Member since September 12, 2018
Ricardo has over ten years of experience as a professional developer focusing on game development, computer graphics (rendering, computer vision, and VR/AR), artificial intelligence, and client/server systems. He has also developed a variety of desktop and server applications in C#, C++, and Python. He is passionate about researching cutting-edge technology, creating real-time, high-performance software, and optimizing complex systems.
Ricardo is now available for hire

Portfolio

Experience

Location

Rio de Janeiro - State of Rio de Janeiro, Brazil

Availability

Part-time

Preferred Environment

Git, Ubuntu, Visual Studio, Windows

The most amazing...

...system I've developed is an unmanned ground vehicle's software controller featuring stereo vision, autonomous spatial navigation and 3D scenario reconstruction.

Employment

  • CTO

    2011 - PRESENT
    Magistral Games
    • Developed a 3D online mobile game with Unreal Engine, C++, and Lua. Worked on the client and back-end server. 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.
    Technologies: Lua, C++, Unreal Engine
  • Teacher

    2010 - 2019
    ORT Institute of Technology
    • 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.
    Technologies: ASM, OpenGL, C++, C
  • Specialist Developer

    2014 - 2018
    AevoTech
    • 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.
    Technologies: Amazon Web Services (AWS), Amazon ElastiCache, Relational Database Services (RDS), Amazon EC2, AWS, OpenCV, OpenGL, Django, Python, C#, C++
  • Professor

    2015 - 2015
    Infnet Institute
    • Lectured Introduction to Artificial intelligence to the Computer Engineering undergraduate class.
    Technologies: Artificial Intelligence (AI)
  • Intern Developer

    2008 - 2009
    Tecgraf
    • Served as the lead developer of "Particles", a volumetric discrete element visualization application funded by the Petrobras oil company.
    • Developed many real-time visualization techniques with intense GPU shader usage.
    • Worked in tandem with a team of artists and engineers, communicating and integrating their work based on the project requirements.
    Technologies: Shaders, GLSL, OpenGL, Lua, C++

Experience

  • Cockfight
    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.

  • Brabexia

    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.

Skills

  • Languages

    Lua, C#, C, C++17, C++14, C++11, C++, GLSL, Cg, Python 3, Python, Python 2, Machine Code, Assembler x86, Assembly, x64 Assembly, Microsoft Assembly x86 (MASM)
  • Frameworks

    Unreal Engine, Unreal Engine 4, Blueprint, Qt, ASM
  • Libraries/APIs

    Standard Template Library (STL), OpenGL, OpenCV, OpenMP, Windows API
  • Tools

    C#.NET WinForms, Microsoft Visual C++, Microsoft Visual Studio, Visual Studio 2019, Git, Intel IPP
  • Paradigms

    Object-oriented Design (OOD), Distributed Computing, Real-time Systems, Mobile Game Design, Concurrent Programming, Parallel Programming, Parallel Computing
  • Platforms

    Windows, Android, Linux, Amazon Web Services (AWS), Azure, iOS
  • Other

    Mobile Games, Mobile Game Development, Game Development, 3D Visualization, Video Games, Games, 3D Games, Computer Graphics, 3D Rendering, Low-level Programming, Low-latency Software, Augmented Reality (AR), Game AI, Android Games, iPhone Games, 2D Games, Computer Vision, MMORPGs, Artificial Intelligence (AI), Data Structures, Rendering, Rendering Pipelines, Real-time Rendering Engines, Rendering Performance, Game Design, Debugging, Cloud Computing, Cloud Services, TCP/IP, Shaders, Version Control, Code Versioning, Networks, Multiplayer, Performance Analysis, Performance, Performance Testing, Profiling, Benchmarking, Benchmark Analysis, Concurrent Computing, AWS, Embedded Software, Virtual Reality (VR), Memory Profiling

Education

  • Progress towards a Master's Degree in Computer Science with a specialization in Computer Graphics
    2009 - 2011
    PUC-Rio - Rio de Janeiro, Brazil
  • Bachelor's Degree in Computer Engineering
    2003 - 2009
    PUC-Rio - Rio de Janeiro, Brazil

To view more profiles

Join Toptal
Share it with others