FrontierMesh is an early-stage Java/libGDX simulation sandbox for experimenting with multi-agent movement, local coordination, and decentralized exploration strategies.
The current version focuses on the motion-simulation layer: simple agents move around a 2D world, follow a clicked target, avoid each other, and steer around rectangular obstacles.
The long-term goal is to develop FrontierMesh into a modular simulation platform for studying decentralized multi-agent exploration under limited sensing and communication constraints, with possible applications to IoT/edge, UAV-inspired, and search-and-rescue-style scenarios.
- libGDX desktop application
- fixed-size 2D world with viewport scaling
- multiple moving drone-like agents
- click-to-target movement
- local separation between agents
- rectangular obstacle avoidance
- basic debug rendering
- Spotless Java formatting
The planned research direction is to use FrontierMesh as a platform for comparing decentralized multi-agent exploration strategies in communication-constrained environments.
Possible strategies to implement and evaluate include:
- random or heuristic exploration baselines
- frontier-based exploration
- communication-aware exploration
- relay-aware coordination for maintaining network connectivity
- optional lightweight learning-based policies
Potential evaluation metrics include:
- explored area over time
- time to reach a target coverage level
- fraction of agents connected to a base station
- number and duration of communication breaks
- total movement cost
- robustness under different obstacle densities, swarm sizes, and communication ranges
- Java 25
- Gradle
- libGDX
- LWJGL3
- Spotless
core/ Main simulation and rendering code
lwjgl3/ Desktop launcher
assets/ Runtime assets
From the project root:
./gradlew lwjgl3:runOn Windows:
.\gradlew.bat lwjgl3:run./gradlew buildCheck formatting:
./gradlew spotlessCheckApply formatting:
./gradlew spotlessApplyRecommended before committing:
./gradlew spotlessApply build- Left mouse button: move swarm target
Near-term:
- pause, reset, and debug controls
- cleaner steering-policy abstraction
- more obstacle layouts
- fog-of-war exploration
- communication links between agents
- basic experiment metrics
Longer-term:
- modular exploration policies
- communication graph and base-station connectivity
- relay-aware coordination strategy
- headless experiment runner
- CSV/JSON export for evaluation results
Apache License 2.0