
BattleBots is a captivating Android game, combining strategic gameplay with the latest in Android development practices. Watch robots navigate a board in their quest for prizes and immerse yourself in a world where strategy meets Android prowess.
- At the start of every round, a prize token is randomly placed on the game board with robots starting from opposite corners.
- Robots take alternate moves every half-second. Kotlin Coroutines ensure a smooth and turn-based experience.
- Robots leave a trail that becomes an obstacle for the opponent, creating a dynamic maze.
- Robots move vertically or horizontally. If trapped, they remain stationary till round's end.
- Robots race for the prize. The first to secure it wins a point. An ongoing scoreboard tracks the scores.
- The game leverages Kotlin Coroutines for concurrency, providing fluid gameplay while ensuring turn order.
- The "current time mechanism" and "current robot turn" adds a layer of engagement and charm to the gameplay.
- The modern UI toolkit for Android, offering a reactive and user-centric interface.
- A clear separation between the game's logic and UI, facilitated by LiveData or StateFlows.
- Simplifying dependency injection for a scalable codebase.
- Constructs like
GameBoardState
andGameBoardViewState
capture and respond to game scenarios.
GameBoardRepository
ensures a clean data layer, interfacing with core game logic.
- Continuously emits game board states, keeping the game dynamic and live.
- Comprehensive unit tests using MockK validate game logic, state transitions, robot movements, and overall gameplay.
- Github actions added for building and testing.
- Ensure you have Android Studio Giraffe | 2022.3.1 Patch 2 with Java 17 installed due to the game's requirement for Gradle 8.
- Open in Android Studio.
- Build and run on your preferred emulator or physical device.