Last updated by: samin, Last updated on: 28/09/2024
Software Requirements Specification
1. Introduction
The SmartBike VR project aims for gamification exercise at the comfort of one’s home with a prepared built-in bicycle and a VR headset ready for the user to explore around many scenes one cannot otherwise see or experience as someone who might prefer the indoors over the outdoors. It is a combination of VR and IoT mixing virtual reality and hardware added to the physical bike for a fun filled adventure for the sake of exercise to a physically fit body.
The purposes of the project would be for students to work on both VR and IoT aspects of the bike, be it Unity for making gamified exercises through fun missions, design by Blender to create wondrous scenes into the Unity project that people can see real time by a VR headset and working on the bike itself to connect the Unity project to the physical bike so gamified exercise on screen can be felt through the body.
Students interested in Unity, with good understanding of C# coding by various units such as SIT232 can start upskilling and start making wondrous missions and gimmicks for the bike and scenes to motivate users for exercise.
2. Intended Audience
The intended audience for SmartBike VR is diverse, catering to a range of demographics and interests. At its core, the game appeals to fitness enthusiasts and cycling fans who are looking for a fun, interactive way to stay active, regardless of weather conditions. The platform provides an alternative for those who may face outdoor challenges, such as older individuals who find it difficult to go outside or those who are unable to exercise due to environmental limitations.
The game also targets people who struggle with motivation, offering an engaging experience through gamified fitness, multiplayer interactions, and real-time progress tracking. Social riders who enjoy community-based fitness can benefit from the cooperative challenges and group rides, while gamers are drawn in by the competitive elements, smooth multiplayer gameplay, and immersive VR experience.
In addition, companies looking for innovative wellness activities can adopt the game to promote employee fitness, teamwork, and social interaction. Tech enthusiasts, drawn by the integration of VR, real-time multiplayer capabilities, and advanced fitness tracking, will also find appeal in the game's cutting-edge features. With a broad target audience ranging from ages 13 and up, the game creates opportunities for players of different backgrounds to participate in a unique and engaging fitness experience.
3. Intended Use
SmartBike VR is designed with versatility and broad appeal in mind, offering numerous practical applications. One of its primary uses is to promote physical activity, particularly for individuals who may struggle with motivation or face other barriers to regular exercise. Additionally, the game serves as a tool for rehabilitation and therapy, providing patients with a safe and engaging way to regain strength and mobility through guided cycling routines.
Beyond its fitness benefits, the game offers entertainment and leisure for casual users and competitive gaming opportunities for those who enjoy the challenge of head-to-head races or virtual events. Virtual tourism allows players to explore new environments and landscapes, making cycling a visually enriching experience. It also supports training and skill development, allowing users to enhance their cycling performance or technique in a controlled, virtual setting.
To ensure accessibility, the game is designed to function on most VR headsets, making it available to a wide audience. The multiplayer feature enables users to connect and ride with friends, fostering social interaction. Player scores and preferences are tied to accounts, allowing seamless transitions between systems. For those who may find wearing a VR headset for long periods fatiguing, a non-VR mode ensures that the game remains accessible and enjoyable without the need for virtual reality.
4. Competitors
There are several competitors to SmartBike VR, each offering different approaches to virtual cycling, fitness, and gaming experiences. Here’s a list of some key competitors:
- Zwift
Zwift is one of the most popular virtual cycling platforms, combining video game elements with structured workouts and live races. Riders can cycle through virtual worlds, train, and compete with others globally. - Rouvy
Rouvy focuses on augmented reality cycling, where real-world routes are overlaid with virtual elements. It provides realistic road simulations, allowing cyclists to experience global routes from home. - Bkool
Bkool offers a range of virtual cycling experiences, including real-world video simulations and 3D virtual routes. It also features a social aspect with multiplayer races and group rides. - Wahoo RGT (Road Grand Tours)
Wahoo RGT offers virtual cycling with an emphasis on real-world physics and competitive group riding. It provides structured training plans, simulated races, and group rides with realistic terrains and dynamics. - FulGaz
FulGaz delivers high-quality, real-world video footage of famous cycling routes. The app adjusts difficulty based on actual terrain and user power, offering a realistic training experience. - Peloton (Digital App)
While primarily known for its indoor bike and fitness classes, Peloton offers virtual cycling workouts and live classes via their app, focusing on guided workouts, motivation, and community interaction. - VZfit
VZfit uses the Oculus VR platform to provide immersive cycling experiences. Users can ride through various environments and fitness challenges using VR, offering both exercise and entertainment. - Expresso Bike
Expresso offers interactive virtual cycling through stationary bikes equipped with screens. Riders can choose different courses and compete against others in live competitions. - TrainerRoad
TrainerRoad focuses on structured cycling workouts and performance improvement through data-driven training plans, though it lacks the more immersive virtual worlds of other platforms. - Kinomap
Kinomap uses real-world video routes where users can ride along virtually while cycling on a stationary trainer. It also includes multiplayer challenges, competitions, and real-time performance tracking.
These competitors each offer unique features, from competitive racing environments to guided workouts, making the virtual cycling and fitness space highly dynamic and varied.
5. Scope
This trimester we will endeavor to work on the missions in VR Unity project, fixing up a mission board using MissionActivator code left in the previous trimester to store mission code and select on missions for user to play smoothly. New missions have been created, making sure they are gamified as the focus of the SmartBike project is to exercise and not to play games focused on the city scene as the only scene ready and working currently in the VR project.
Next trimester, the company intends to move missions to new scenes such as the terrain scene or work on missions that are required in scenes other than the city scene such as ‘Escape The Flood’ mission. Leftover missions in the Planner board, left at ongoing, could be updated once new terrains are made for more suitable places. However, thanks to the latest overhaul in the Unity project as nice as it is to have a loading screen and spawning points, the missions can no longer access the UI and print out any statuses or objectives which should be analyzed and fixed immediately before contuining onto other missions.
6. Overall Description
6.1. User Needs
The following users we need to cater for the Smart Bike project would be VR enthusiasts with concerns for physical fitness and desire more motivation to become fit even though they do not like going out to exercise and prefer to stay at home.
Cycling enthusiasts do not always have time for long bike rides due to work responsibilities so they would want to cycle at home while collecting health data and exercise while hopping off when needed, ideally with a timed settable workout where user can set the amount of time they wish to ride.
Medical students might be interested in the bike project as users who want to keep a record of their own workout data to have a wholistic record of themselves when adding it to their health/medical records.
Game developers might be interested in the VR part of the smart bike project through branching out into more interesting experiences concerning games and gamified experiences that the smart bike provides through its mission and may contribute something more life changing to end users than just a recreational game. Developers would like to educate, train, motivate and encourage improvement of life through their skillset.
For the smart bike, users who wear glasses and get motion sickness would like to be able to experience the wonders of the project without falling sick so a headset off mode would be ideal especially as they would prefer to be immersed as possible with sound effects and background music / ambiance and interactions as examples.
Users would like to stay log in for the project instead of re-login manually every time the mobile app version of the project is reopened. For non-technical users, they want to be able to plug and play the bike without having to configure anything or setup the Wifi.
6.2. Assumptions / Dependencies
Development and design require the following applications:
- Windows / Mac / Linux PC
- Unity LTS v2022.3.22 (for VR application)
- Blender 4.2 / Autodesk 3ds Max / Autodesk Maya (for 3D modelling)
- Visual Studio / VSCode / JetBrains Rider / MonoDevelop
To play the game, the following requirements must be met:
- Windows PC and/or Meta Quest 2/3 headset
- Wahoo KICKR Core
- Raspberry Pi device with MQTT system installed
A completed build will be created at the end of each trimester of work through the Unity project:
- Build an Android APK, named SmartBike-VR-YEAR-T#-Meta-Quest.apk
- Build a Windows build, zip the file and name is SmartBike-VR-YEAR-T#-Windows.zip
6.3. UI/UX considerations
6.3.1. User Interface Design Guidelines for Mobile
6.3.1.1 UI Clarity and Simplicity
The UI should be clean, simple, and easy to navigate. Functional elements need to be visually distinct, ensuring that users can complete tasks intuitively without confusion. Labels, icons, and navigation elements should all be self-explanatory and unambiguous, promoting a seamless user experience.
- Simple, minimalistic design that prioritizes usability over aesthetic complexity.
- Clear labeling and visual hierarchy to direct user attention to key actions.
- Consistent use of design elements like buttons and menus across all screens.
6.3.1.2 Platform-Specific Design Adherence
The UI should respect the design guidelines of the respective platforms. For iOS, this means adhering to the Human Interface Guidelines with emphasis on smooth transitions and intuitive gestures. For Android, Material Design principles should be employed to ensure consistency and ease of use across devices.
- iOS: Smooth, intuitive transitions with uniform typography.
- Android: Use Material Design components such as FABs, cards, and consistent padding.
6.3.1.3 Functionality Over Aesthetics
The primary focus should be on functionality rather than aesthetic appeal. Each UI element must contribute to improving the user experience by helping users accomplish their tasks effectively. Avoid unnecessary decorations that might hinder usability.
- Functionality is prioritized in design decisions, ensuring users can accomplish tasks efficiently.
- Tooltips and feedback mechanisms help guide users through complex workflows.
6.3.1.4 Consistency Across Platforms
Consistency is key to creating a smooth, reliable user experience. While the app should conform to platform-specific design patterns, there should be a consistent look and feel across iOS and Android platforms. This includes colors, fonts, and iconography.
- Maintain consistency in navigation, color schemes, and visual elements across platforms.
- Ensure responsive design to support a variety of screen sizes.