Hi everyone,
I’m developing a mobile game in GDevelop with a linear progression system (sequential stages/levels). I want to implement a specific “Ghost Mode” functionality and I’m looking for the most efficient way to handle the backend.
The Functional Requirements:
- Asynchronous Presence: While playing, the user should see up to 5 other random players who are currently at a similar progress point (e.g., within a specific range of levels/stages from the user).
- No Lobbies: The system should be seamless. No matchmaking or waiting rooms—just “populating” the current stage with other active users’ avatars.
- Player-to-Player Events: I need to allow basic interactions between these “ghosts.” Specifically:
- Positive Event: Sending a data packet (a gift/item) from Player A to Player B.
- Negative Event: Triggering an environmental change for Player B initiated by Player A (with a short delay/warning for the recipient).
Technical Questions:
- Which backend would be best for handling this “proximity-based” player fetching in GDevelop?
- How should I structure the database to query “players within X range of progress” without causing massive overhead?
- For the “Negative Event” (instant environmental trigger), what’s the best way to ensure Player B receives the notification with minimal latency?
I want the game world to feel alive and shared, but without the complexity of a full real-time physics-synced multiplayer.
Thanks for any advice!