Scroll To View More
Ricardo Costa, C# Developer in Rio de Janeiro - State of Rio de Janeiro, Brazil
Ricardo Costa

C# Developer in Rio de Janeiro - State of Rio de Janeiro, Brazil

Member since July 3, 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 applications in C# and C++/Qt, back-end web applications in Python, and mobile apps in Xamarin. He is passionate about creating real-time, high-performance software and optimizing complex systems.
Ricardo is now available for hire

Portfolio

Experience

  • Computer Graphics, 17 years
  • Game Development, 17 years
  • C#, 16 years
  • C++, 15 years
  • Lua, 14 years
  • OpenGL, 14 years
  • Artificial Intelligence (AI), 6 years
  • Unreal Engine, 4 years
Rio de Janeiro - State of Rio de Janeiro, Brazil

Availability

Part-time

Preferred Environment

Windows, Visual Studio, Ubuntu, Git, Hg repos.

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 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.
    Technologies: Unreal Engine, C++, Lua
  • Teacher

    2010 - PRESENT
    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: C, C++, OpenGL, ASM
  • 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: C++, C#, Python, Django, OpenGL, OpenCV, AWS, EC2, RDS, ElastiCache
  • Professor

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

    2008 - 2009
    Tecgraf/PUC-Rio
    • 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.
    Technologies: C++, Lua, OpenGL, GLSL shaders

Experience

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

Skills

  • Languages

    Lua, 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)
  • Frameworks

    Unreal Engine, Unreal Engine 4, .NET, Qt, Boost, Machine Learning, Django
  • Libraries/APIs

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

    C#.NET WinForms, Microsoft Visual C++, 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)
  • Paradigms

    Object-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
  • Platforms

    Windows, Visual Studio 2017, Windows Server, Ubuntu, Ubuntu Linux, Xamarin, Android, Linux, Amazon Web Services (AWS), Azure, Steam, iOS
  • Other

    UE4, 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
  • Storage

    MySQL, PostgreSQL, Redis, SQLite, MongoDB

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
I really like this profile
Share it with others