I'm developing an in-game overlay for a top-down roguelite game called Shapes of Dreams. It features a shop mechanic where items are displayed, and I'm looking to create an overlay that quickly informs players which items are useful. My initial idea was to use an Electron app with object detection, but I'm curious about overlays like Porofessor for League of Legends. How does Porofessor detect which items are in a player's inventory? I suspect it may involve an API, but my game lacks an API. What other methods could I use to implement a similar overlay?
3 Answers
Not sure I fully understand your question about Electron. From what I gather, you're asking about overlays, and those are typically dictated by the user interface of the game engine used for development.
Porofessor likely utilizes an API, which allows it to request real-time game data. For League of Legends, players can fetch game state information by hitting a local server endpoint (like `https://127.0.0.1:2999/liveclientdata/allgamedata`). If your game doesn't offer an API, your next best option is computer vision, just like you mentioned.
If the game doesn’t have strong anti-cheat measures, you could delve into reading game memory directly or hooking into game functions. While it requires some reverse engineering skills, basic things like reading the player's current gold amounts can be straightforward unless the developers have made it difficult to access those values. Looking into tools like CheatEngine might be a good starting point for memory reading or editing.
Thanks for clarifying! I honestly prefer pulling data from an API too. Dealing with memory is a hassle, and computer vision can be quite unpredictable.
There are two primary methods you could explore for creating your overlay:
1. If the game has an API available, that would be the easiest and most reliable method (and is likely how Porofessor functions).
2. If not, another way would be to use DLL injection, but keep in mind that many anti-cheat systems might detect this and could lead to a ban from online play. So proceed with caution!
Absolutely! Memory reading might get flagged by anti-cheat systems, but it can be a viable option otherwise. Computer vision definitely poses more challenges, so waiting for an API sounds wise.