Arimaa Game App Development in Kotlin
Budget: ₹7,500 – ₹12,000 INR
Develop a custom Kotlin Android application for the game Arimaa. This involves implementing a single custom composable to manage and render game elements on an 8x8 board, with specific rules and interactive features. Below are the tasks broken down into groups to ensure organized and testable development.
Project Tasks:
Group 1 (20%)
Create a single activity with a custom composable to manage Arimaa gameplay.
Ensure the composable is square in design and renders an 8x8 board with trap squares.
Implement the initial game state with a fixed setup of pieces:
Back row: 8 rabbits.
Row in front: pieces in the following order: cat, dog, horse, camel, elephant, horse, dog, cat.
Group 2 (40%)
Track the history of board states after each move and prevent duplicate states.
Allow players to make 1-4 moves per turn, with an option to restart moves if needed.
Add UI to switch turns after moves are completed and validate changes in board state.
Implement touch input for move selection:
First touch to select a piece.
Second touch to select a destination, highlighting possible moves.
Group 3 (60%)
Display the current player and relevant messages for invalid moves.
Include a reset button for restarting the game.
Implement rules for immobilizing smaller pieces when adjacent to larger pieces.
Enable larger pieces to push smaller pieces, counting as two moves.
Group 4 (80%)
Remove pieces landing in trap squares unless protected by an adjacent friendly piece.
End the game if a rabbit reaches the opponent’s side.
Allow larger pieces to pull smaller pieces, with an option to select one or both pieces for the move.
Implement an undo feature for moves within the current turn.
Design an intuitive, user-friendly UI.
Major Bug Avoidance:
Each of the following will result in a 10% penalty if present:
Acceptance of a previously seen board state.
Allowing rabbits to move backward.
Documentation (20%)
Write clear documentation (around 1,500 words) explaining each method from a high-level perspective.
Do not include direct code excerpts in the documentation.
Project Tasks:
Group 1 (20%)
Create a single activity with a custom composable to manage Arimaa gameplay.
Ensure the composable is square in design and renders an 8x8 board with trap squares.
Implement the initial game state with a fixed setup of pieces:
Back row: 8 rabbits.
Row in front: pieces in the following order: cat, dog, horse, camel, elephant, horse, dog, cat.
Group 2 (40%)
Track the history of board states after each move and prevent duplicate states.
Allow players to make 1-4 moves per turn, with an option to restart moves if needed.
Add UI to switch turns after moves are completed and validate changes in board state.
Implement touch input for move selection:
First touch to select a piece.
Second touch to select a destination, highlighting possible moves.
Group 3 (60%)
Display the current player and relevant messages for invalid moves.
Include a reset button for restarting the game.
Implement rules for immobilizing smaller pieces when adjacent to larger pieces.
Enable larger pieces to push smaller pieces, counting as two moves.
Group 4 (80%)
Remove pieces landing in trap squares unless protected by an adjacent friendly piece.
End the game if a rabbit reaches the opponent’s side.
Allow larger pieces to pull smaller pieces, with an option to select one or both pieces for the move.
Implement an undo feature for moves within the current turn.
Design an intuitive, user-friendly UI.
Major Bug Avoidance:
Each of the following will result in a 10% penalty if present:
Acceptance of a previously seen board state.
Allowing rabbits to move backward.
Documentation (20%)
Write clear documentation (around 1,500 words) explaining each method from a high-level perspective.
Do not include direct code excerpts in the documentation.
Related categories:
Business, Accounting, Human Resources & Legal
Mobile App Development
Android
Game Development
Kotlin