Matias Calegaris
Verified Expert in Engineering
Software Developer
Matias has eight years of experience developing software on multiple platforms, mainly C++ and Unity3D, for different industries, including games, communication, and ATM companies. He has worked on seven published games and developed networking software to handle high traffic applications. He is a flexible developer who enjoys learning new technologies and sharing his ideas.
Portfolio
Experience
Availability
Preferred Environment
Subversion (SVN), Xcode, Visual Studio, Linux, MacOS, Windows
The most amazing...
...project I've worked on was a Nintendo DS game, working with the limited hardware to make everything run smoothly.
Work Experience
C++ Analyst
Vates S.A
- Created a wrapper for the oracle OCCI API for C++.
- Migrated legacy code using SQL server to an Oracle database.
- Created a new generic tools library for the company.
- Provided support for all the teams in the company using C++.
- Maintained and upgraded generic components of the company framework, extending support with C++11.
Back-end Developer
Intraway
- Created a metric system to trace the state of every component in the system.
- Added new camera support to the video surveillance software.
- Maintained the company's camera surveillance software.
- Created a generic machine-to-machine server to provide a generic interface to handle different devices with different protocols.
- Helped optimize the front-end render for a client app using WebGL.
API Developer
Playtomic
- Extended the Objective-C analytics API for iOS: The company provided an Analytics service and provided the API in different languages for developers, my first task here was to fix and extend the Objective C API and provide support for users.
- Created a cross-platform C++ analytics API for Windows/Mac/Linux/iOS/Android. Created the API for scratch in C++, it basically provided a common interface to log events and send them to our back-end server using a Rest API.
- Created a UI for Unity3D for the analytics API:. Created a dashboard inside the unity editor so the developer could see their project info without the need to open a browser and adding extra features like loading scenes or heat maps from the dashboard.
Game Programmer
Sabarasa
- Adapted the current Nintendo game engine to support Nintendo DSi features and publish DSi-ware products.
- Worked on Nintendo DSi game Save the Turtles (http://www.nintendolife.com/reviews/2010/04/save_the_turtles_dsiware).
- Coded the gameplay of the Nintendo DSi game "Art of Ink" (http://www.nintendolife.com/reviews/2011/04/art_of_ink_dsiware).
- Created a prototype for PS3 using Infernal Engine.
- Helped create a new game engine for Nintendo DS/DSi for the studio.
- Worked on SpongeBob's Surf & Skate Roadtrip for Nintendo DS (http://www.nintendo.com/games/detail/J7_4Aas4bObEtKSjLwYdFEutzAXOYeSQ).
Game Programmer
Ivolgamus
- Coded 10 mini-games for the game Shrek's Carnival Craze for Nintendo DS.
- Coded 10 mini-games of the game 101 in 1 Explosive Megamix for Nintendo DS.
- Worked on 5 mini-games of the 101-in-1 Party Megamix Nintendo Wii.
- Fixed DS core input detection.
- Created a basic scene graph for the Nintendo Wii proprietary game engine.
Experience
Argentum Online
To accomplish this, I utilized a C++ library to run a browser and created an API for VB6 to manage all interactions within the game. However, there was a challenge as the JavaScript library was built for 64-bit systems, while VB6 only runs as a 32-bit process. To address this, I implemented a background process to run the web, developed an API in VB6, and synchronized both processes using shared memory.
Given that keyboard and mouse inputs were captured in the VB6 process, while all UI interactions, such as button presses, were handled in a separate process, efficient communication was essential to synchronize both processes swiftly. This was crucial to ensure that players did not experience any lag or delay while playing.
Public React Repo:
https://github.com/matiascalegaris/ao-ui
VB6 client public repo:
https://github.com/ao-org/argentum-online-client
VB6 Server public repo:
https://github.com/ao-org/argentum-online-server
Augmented Reality OpenCV Demo
https://youtu.be/774VfFo_oJAThis app works on both iOS and Android, C++ the native code used to do image processing (which uses OpenCV) is compiled on each platform without changes (100% cross platform).
Features:
• Real time multiplayer (via Unity mulitplayer)
• Image processing (https://youtu.be/774VfFo_oJA, the scenario is generated scanning the image for different colors and then creating the proper elements, like fire).
• Augmented reality (used to identify the 3D that the scenario will be placed on and allow camera's tracking).
• Shading (vertex shaders used to do not render below the real world)
• Native code linking (via C#'s pInvoke and native build DLLs).
Unity3D + Oculus Rift
https://www.youtube.com/watch?v=L-Bm4H-ztAcOffline Image Calibration
https://www.youtube.com/watch?v=hKCl4XmeJqoThis application allows the user to, once the device is installed, use the application to aid the software calibration of the device (the application loads the set of photos and automatically tries to calibrate them based on the feedback provided by the calibration element, a red and green tube).
Once the calibration is done, a set of parameters is saved for each camera so the image processing server can call an external process providing these parameters to warp the images (we also developed that application).
SpongeBob's Surf & Skate Roadtrip
During development, I played a crucial role in creating two of these games: an isometric skateboarding adventure and a surf challenge. Additionally, I contributed to the shared resources used across all four mini-games.
I also expanded the 2D engine capabilities to include support for entities and cameras.
Art of Ink
My responsibilities encompassed the gameplay, focusing on optimizing input detection for a seamless drawing experience. Additionally, I implemented collision detection for the valid drawing areas, ensuring players accurately inked the designated spots while tracking their progress.
Save the Turtles
My involvement spanned across all facets of the game. This included expanding the engine to accommodate DSi features such as integrating sound APIs and developing resource managers. I also worked on key gameplay elements such as line matching, the scoring system, and the user interface (UI) development.
Flare 3D WebGL Renderer
We used TypeScript as a base language to improve code quality since we were used to strongly typed languages. The last version of the API is able to load .fz3d files and manages several shader materials (diffuse, specular, normal map, etc) and implements a scene graph, matching with the core Flare's rendering API.
101 in 1 Explosive Megamix
Shrek's Carnival Craze DS
Ya lo llevo
Once a user submits their desired location to send the package, the shipper app tracks it and searches for messengers available to deliver it. After arriving and tracking the shipper's GPS, the user can confirm the shipment and the transaction takes place using MercadoPago.
I built the iOS application from scratch using Swift and finished the development of the Android app done by a third party with React Native.
Field Force Manager App
The applications tracks daily routes and the supplies required for the whole day and for every location.
This app was made with Xamarin Android
Restaurant Self-ordering Platform
I defined the system architecture and implemented all the mobile apps using ionic:
• Kiosk tablet app for the customers
• Kiosk tablet app for the restaurant to handle the orders
• Android/iOS app for the user outside the restaurant.
Robotics Tournament Platform
The system has four components: a server to manage the data, the operation room desktop app where we can switch the screen content and advance the tournament; and two mobile app (for referees and for assistants, respectively). We also developed the inter-app interactions necessary to facilitate real time scoring, a feat involving cooperation between the operator, referee, and assistant.
We used Unity3D on the server. For the operator app, we used Angular and Electron to get a desktop build of our web app in order to give the user a non-browser-dependent, desktop experience. And finally, we used Ionic for the mobile app, implementing a responsive design for tablets and cell phones alike, since it was necessary to anticipate potential backup devices of a variety of screen sizes.
Kinect Rock Event
https://youtu.be/w7lRIMCu5rISkills
Languages
Objective-C, C++, TypeScript, Swift, C, C#, Python, C++98, C++11, Visual Basic 6 (VB6), C++14, HTML, CSS, JavaScript, HTML5
Tools
Subversion (SVN), Microsoft Visual Studio, Git, Visual Studio, Xcode
Frameworks
Unity, Unity3D, Ionic 3, iOS SDK, Unreal Engine, Angular
Libraries/APIs
Xamarin.Android, Protobuf, React, OpenCV, Microsoft Foundation Classes (MFC)
Platforms
Nintendo DS, Windows, Android, Oracle, iOS, MacOS, Linux, Xamarin
Paradigms
Object-oriented Programming (OOP)
Storage
OCCI, PL/SQL, Oracle SQL
Other
Xamarin.Forms, Networks, Game Development, Games
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