IslandRush is an Android app that grants the user to drive a car in the SMCE client using a virtual controller on a phone.The SMCE environment has been modded to represent an Island with race-tracks.It is a racing game that allows a user to compete against oneself and other users. The game supports features to accomodate the feeling of a real-life racing experience such as multi-directional Joystick and Speed Controllers.The best scores are measured by the least time taken to reach the finish line and saved in a leaderboard. Additionally,the app also offers its user to explore the Island and play in our customized explorer mode.The game can be played in both portrait and landscape mode.
Games are a kind of mind-workout exercises disguised as fun.Scientific studies have shown that playing video games regularly may increase gray matter in our brains. Grey matter is a region associated with the central nervous system that enables humans to control movement, memory, and emotions. Moreover, a past research involving children have shown that games may improve the childrens social and intellectual skills.
It is also important to point out that video games have only two outcomes -either you win or you keep trying, learning from previous mistakes. It could be possible to argue that games inspire individuals to be more persistent(for more information).
IslandRush aims to let users grow to become more social,intellectual and persistent and also have fun at the same time.
The Android app will be developed in Android Studio which uses XML for the UI and Kotlin or Java for the back-end code. The car-behavior will be programmed in C++ using Arduino and the SmartCar API. We will use GODOT to mod the environment in SMCE emulator to visualize the race and explorer mode of the game. A database will be set-up to store player data using the help of SQLite and Room Library. Github will be used to plan, manage documentations and update code during the development process. We also plan to have some UI testing using Expresso and ensure quality in our software product.
For more details and clarity,visit our Wiki page on System Architecture.
- ESP32 Board
- OV767X Camera (currently unused)
- Brushed Motors
- SENSORS
- Ultra-Sonic
- Directionless Odometer
- Android Studio Bumblebee (2021.1.1)
- Required Gradle Plugin Version : 3.2-7.1 (for more info)
- Mosquitto Broker.
- SMCE-gd v1.3.4
- Virtual Device in Android Studio.
- Recommended Emulator for App: Nexus 6 API 30
- Visit our Wiki Page on Virtual Device for Setup.
For installation and further guidance,visit our Wiki Page on Setup Guides and choose your Operating System.
- Step 1: Navigate to our Repository using https://github.com/DIT113-V22/group-08
- Step 2: Navigate to Releases and download IslandRush as a zip file and unzip it.
- Step 3: While you are on Releases page, you can also download mods for our Race and Explore mode.
- Step 1: Open Android Studio
- Step 2: Navigate to "Open Project" and select the IslandRush (unzipped) folder.
- Step 3: Once the project is opened,click on "Sync Project with Gradle Files"
- Step 4: Create a virtual device to run our app. Visit our Wiki on Virtual Device for guidance.
- Step 5: Once you are done setting up your virtual device,click on the green arrow-head button on the top-right corner to run the app.
Note: Remember to keep Auto-Rotate "turned on" in the virtual device to play the game in both Portrait and Landscape mode.
- Step 1: Assuming the SMCE app is installed, double click on it to start the app.
- Step 2: Follow our Modding Instructions wiki to change the default environment
- Step 3: Click on the "+" sign on the top-left corner of the app to add the SmartCar and Finish Line Sketch from the unzipped project.
- Open Command-line terminal
- Change Directory to "C:\Program Files\mosquitto"
- Type "mosquitto -v" to start the broker
Check out our Demo Video to discover and get a taste of what IslandRush has to offer!
Feel free to check out our Wiki Page on User Manual and IslandRush Sitemap for further guidance.
MIT © group-08
The source code for the repository is licensed under the MIT license, refer to LICENSE file in the repository.