ENIGMA currently lacks third party integration with various advertising platforms such as Steam or Google Ads. First class support for these services would make it easier for Indie developers to reach larger audiences, monetize their games, and understand who their players are better. Developers would like to know who plays their games and why so they can make better decisions about features and mechanics to prioritize, while also giving users incentives for purchasing in-game content. Compatibility with existing GameMaker API would be a secondary priority, as GameMaker only supports Google Ads officially.
Integration should allow game developers to better monetize their games and have better data science-backed insights.
- Project begins with creation of a new Advertising API extension to ENIGMA's Universal System. This is where the engine functions can be implemented, while still allowing developers to disable the API if they don't need it in their game.
** Open question: Build system will need to be investigated; how compatible is Google Ads with MSYS2/pacman? (1 week)
- Contributor can progress with basic abstractions for user accounts and log in capabilities. (2-3 weeks)
- Existing platform systems will need to be hooked to allow placing ads in the game. Audience tracking and statistics will then enable developer data science insights. (3-4 weeks)
- Project can optionally be extended with the addition of in-app purchase support. (2 weeks)
Mentors: Josh, Greg
Expected size: 250h - 300h
Skills required: C++ fundamentals, Web/HTTP API, JSON
Skills preferred: Knowledge of batch API requests and Steam SDK, Google Ads, or Ad-related platforms is ideal.