-
Notifications
You must be signed in to change notification settings - Fork 0
Software Requirements Specification Document
The purpose of this document is to describe the simulation which is called EcoScluptor. This game will be a 3D ecosystem simulation where autonomously moving entities, created and developed through machine learning, act as prey and predators. The responsibility of the player is to maintain and improve the balance and order of the created ecosystem. The main purpose of the game is to fill the gaps in understanding nature and how an ecosystem works. Traditionally, the ways of teaching about nature often involve fixed examples, which can be dull and limited as time goes by. However, our game is dynamic. It lets players see, interact, and experiment with nature in real time. By doing so, players can understand the complexity of natural processes better. They can test different scenarios, such as population control, habitat management, or introducing new elements to the ecosystem to see what happens and learn from the outcomes, all in a virtual environment.
EcoSculptor serves as an educational tool, offering a virtual environment where players can explore and understand the relationships between different components of an ecosystem. In contrast to conventional teaching methods that rely on static examples, our innovative approach to nature education is dynamic and engaging. Our game transforms the learning experience by enabling players to observe, interact, and experiment with nature in real time. With this virtual environment, participants gain a good understanding of the processes within the natural world.
Through the utilization of machine learning, the entities within this game will show autonomous behavior, creating a dynamic and evolving ecosystem. The player, who is a powerful god, is entrusted with the task of growing and preserving a thriving ecosystem. The player can shape the land, create life, and maintain the balance of nature. The goal is to ensure the stability and harmony of this ecosystem for generations to come.
The objective of EcoSculptor, a three-dimensional ecosystem simulation game, is the interaction of autonomous entities functioning both as prey and predators, created and developed through machine learning algorithms. In this game, players take on the role of the player to be tasked with maintaining and enhancing the stability of the simulated environment. Each predator and prey generated operates with data specific to that species created through machine learning algorithms. The algorithms used complement each other to maintain the flow of the system. Every piece of data is written by the generated algorithms, and the system is constructed based on these writings. There will be no data entered into the system other than the instructions given by the user. The fundamental aim of the game is to provide users with a completely self-generated simulation to observe, interact with, and experience the complexities of a living ecosystem in real time.
Term | Definition |
---|---|
Machine learning | Machine learning is a branch of AI where computers learn from data to make decisions or predictions without explicit programming. |
Real-time | Real-time refers to the immediate processing and updating of information, enabling actions or responses without noticeable delay. |
Autonomous | Autonomous means the ability to operate independently and self-govern without external control or guidance. |
Virtual Environment | A computer-generated simulation that replicates aspects of the real world, in this context, representing a natural ecosystem. |
Data Specific to Species | Information unique to each organism in the virtual environment, generated through machine learning algorithms. |
Entities | Living organisms within the virtual ecosystem, including both prey and predators. |
Three-Dimensional Ecosystem Simulation Game | A genre of game that replicates the dynamics of a real-world ecosystem in a virtual, three-dimensional space. |
The document's second section outlines the features of the EcoSculptor, presenting informal requirements that serve as a backdrop for the technical requirement specifications discussed in the subsequent Requirement Specification chapter. This chapter is crafted specifically for software developers, offering a detailed explanation of the simulation's functionality using technical language.
EcoSculptor is a simulation game project where players take on the role of ecosystem guardians. Within this meticulously crafted virtual world, each organism moves, sustains itself, and reproduces independently, faithfully reflecting the complexities found in real-world ecosystems. Diverging from the traditional simulation paradigm, EcoSculptor empowers players with the authority to deliberately intervene in the ecosystem, allowing them to make decisions that profoundly impact the environmental balance.
Distinguished by its educational aspect, EcoSculptor provides valuable insights into the fields of ecology and environmental science. As players contend with challenges and assume responsibilities, the game seamlessly integrates entertainment with environmental education, resulting in a unique and enriching experience. The primary goal is to maintain the stability of the ecosystem, requiring players to adapt to the dynamic behaviors of virtual creatures driven by artificial intelligence and to formulate strategies accordingly.
In our project, we've opted for the Scrum methodology, an agile approach that's all about making progress step by step. Here's how it works for us: we divide our main tasks into weekly sprints, and each sprint corresponds to our weekly meeting with the teacher. Our meetings are super important because that's when the teacher, who plays the roles of both the product owner and scrum master, gives us the requirements, manages the team, and helps us out with anything we need. As the development team, we work on our tasks throughout the week, and each task has its own story points and risk points. To keep things running smoothly, we have short daily meetings that last no more than 15 minutes. These quick check-ins help us sync up, tackle any challenges, and make sure we're on the right track. The benefits of using Scrum in our educational setting is that it brings several advantages. The short sprints and regular feedback loops make it easy for us to adapt to changes. Plus, our weekly meetings mean that any problems can be sorted out quickly. This way, we can create quality outcomes within our weekly schedule. At the end of each week, we present what we've completed to the teacher for validation, kind of like showing off our progress in a sprint. Considering all of this, Scrum seems like the perfect fit for our collaborative project between us students and the teacher. It gives us a structured and effective way to work together and learn as we go.
The player is not required to possess any specific expertise; basic computer usage and input skills are sufficient. The game will provide a tutorial and a help menu for guidance.
1. Platform Compatibility:
- Limited to compatibility with Windows 7 or later and MacOS initially, with future consideration for Linux.
- Performance is constrained by minimum hardware specifications.
2. Development Methodology:
- The project is managed under the Scrum methodology.
3. User Characteristics:
- Users are expected to possess basic computer skills.
4. Environmental and Ethical Considerations:
- Educational focus is prioritized.
- Adherence to ethical standards is a constraint.
5. Software and System Interface:
- Heavy reliance is placed on Unity3D, compatibility issues or limitations may impact development.
- Initial development targets Windows and MacOS, efforts for cross-platform compatibility come with constraints.
6. Performance:
- Performance is constrained by the specified minimum system requirements.
The user interface will be worked on Unity. The game's user interface has been designed with a focus on user-friendliness and simplicity.
In Figure 1, the main menu presents options such as "New Game", "Load Game", "Settings" and "Exit Game”. Figure 2 showcases the “Settings” screen, where players can easily adjust parameters like “Music Volume”, “Resolution”, and “Display Mode”. In Figure 3, the in-game settings menu features options such as “Music Volume”, “Resolution”, “Display Mode”, along with buttons for “Save”, “Cancel”, and “Quit Game”. Moving on to Figure 4, the “Game Play” screen provides a clear layout. The top of the screen displays information about resources and specialized tiles. At the bottom left, users can find the “timeline” and “minimap”, while the bottom right showcases population details for each animal species. Additional functionalities are conveniently located at the screen's bottom, featuring “Animals Button”, “Tiles Button”, and “Player Abilities Button”. Selecting one of these buttons reveals corresponding options labeled “Selected Button Options”, enabling players to seamlessly add new objects to the ecosystem.
Figure 1: Main Menu of EcoSculptor [2]
Figure 2: Settings Menu of EcoSculptor [2]
Figure 3: In-Game Settings Menu of EcoSculptor [2]
Figure 4: User Interface of EcoSculptor [2]
EcoSculptor games will utilize standard PC controls and hardware interface buttons for an optimal gaming experience.PC devices running Windows or other compatible operating systems are required to play the game.
- EcoSculptor should respond to the input of the PC's keyboard for essential gameplay functions.
- EcoSculptor should respond to the input of the PC's mouse for navigation and interaction within the game.
1. Operating System Compatibility:
EcoSculptor is developed as a computer game, ensuring compatibility with major desktop operating systems such as Windows, macOS, and Linux. Unity3D, used as the primary game development engine for EcoSculptor, provides a framework for UI creation, rendering intricate in-game animations, and managing core game mechanics.
2. Physics Computations:
Unity3D is employed to handle physics computations throughout the game, ensuring realistic and immersive interactions between in-game elements. Object Collisions and Interactions: Unity3D's capabilities are harnessed for managing object collisions and interactions within the EcoSculptor game environment.
3. Character and Object Animations:
The Unity3D game engine takes charge of animating characters and objects within EcoSculptor, allowing for fluid and visually appealing movements that enhance the overall gaming experience.
The EcoSculptor game will be prepared on the Unity game engine and can be run on Windows and MacOS operating systems.
Use Case:
- New Game
- Load Game
- Settings
- Exit
Use Case Diagram:
Figure 4: Main Menu Use Case [1]
Brief Description:
The use case diagram illustrates a main menu where users can choose from various options to interact with the system. The main menu offers the following functionalities: New game, load game, settings, exit.
Initial Step by Step Description:
1. New Game: If a player selects the "New Game" button, she/he starts a new gaming session. 2. Load Game: If the participant chooses the "Load Game" button, a menu displaying saved game sessions appears. 3. Settings: If the player selects the "Settings" button, a configuration panel is presented on the screen. 4. Exit: If the participant selects the "Exit" button, the current game or session comes to an end.
Use Case:
- Music Volume
- Resolution
- Display Mode
- Cancel
- Save
Use Case Diagram:
Figure 5: Settings Menu Use Case [1]
Brief Description:
The use case diagram outlines a settings menu where users can control Music Volume, Resolution, and Display Mode. They have the options to Cancel changes or Save modifications, providing a straightforward interface for adjusting preferences within the system.
Initial Step by Step Description:
1. Music Volume: The user can change the music volume. 2. Resolution Button: To change the game's resolution to fit your pc. 3. Display Mode: Participants selects fullscreen or windowed mode of the game. 4. Cancel Button: To cancel the changes made. 5. Save Button: To save the changes made.
Use Case:
- Resource Data
- Each Animal Population Data
- Specialized Tiles Data
- Timeline & Minimap
- Stop-Start
- In-Game Settings
- Animals Button
- Tile Button
- Abilities Button
- Selected Button Option
Use Case Diagram:
Figure 6: Gameplay Use Case [1]
Brief Description:
In the Gameplay use case section, we utilize "Source Data" to access information about our basic resources, guiding our actions based on this information. "Each Animal Population Data" provides details on the quantity of each animal species in our ecosystem. "Specialized Tiles Data" offers a count indicating whether each existing tile is special or not. "Timeline and Minimap" keep track of players' progress and assist in navigating the environment. The "Stop-Start" feature empowers players to control the pace of the game, while "Game Settings" contains the same main menu features. The "Animals Button" reveals the desired animal species for addition and the associated costs. Similarly, the "Tile Button" displays preferred tile types and their respective costs for ecosystem incorporation. The "Abilities Button" showcases the player's features and their associated costs. The "Selected Button Option" serves as a preview for all selections made.
Initial Step by Step Description:
- Resource Data: Players can review the "Resource Data" to see detailed information about elemental essence.
- Each Animal Population Data: Players navigate to the "Each Animal Population Data" section, where they can obtain specific details on the quantity and distribution of each animal species within the game ecosystem.
- Specialized Tiles Data: Users examine the "Specialized Tiles Data" to assess the categorization of each tile in the game as either special or regular, offering insights into the strategic significance of various areas.
- Timeline & Minimap: The "Timeline & Minimap" feature allows players to keep track of their in-game progress and navigate the environment efficiently, ensuring they are aware of the broader game context.
- Stop-Start: The "Stop-Start" functionality empowers players to control the pace of the game, allowing them to pause or resume gameplay based on their strategic needs or real-life interruptions.
- In-Game Settings: Accessing the "In-Game Settings" option opens up a menu with various features, including settings related to graphics, sound, and resolution, providing players with customization options.
- Animals Button: Clicking on the "Animals Button" reveals a menu displaying available animal species for addition to the ecosystem. It also provides information on associated costs and requirements for each species.
- Tile Button: Selecting the "Tile Button" displays a menu showcasing different types of tiles that players can incorporate into their ecosystem. Information on costs and benefits associated with each tile type is presented.
- Abilities Button: The "Abilities Button" allows players to use their unique in-game features and abilities. It provides details on the costs and effects of activating each ability.
- Selected Button Option: The "Selected Button Option" serves as a preview, allowing players to review and confirm their choices for animals, tiles, and abilities before finalizing their selections in the game.
Use Case:
- Music Volume
- Resolution
- Display Mode
- Save
- Cancel
- Quit Game
Use Case Diagram:
Figure 7: In-Game Settings Menu Use Case [1]
Brief Description:
The use case diagram outlines a settings menu where users can control Music Volume, Resolution, and Display Mode. They have the options to Cancel changes or Save modifications and to quit their current game session, providing a straightforward interface for adjusting preferences within the system.
Initial Step by Step Description:
1. Music Volume: The user can change the music volume. 2. Resolution Button: To change the game's resolution to fit your pc. 3. Display Mode: Participants selects fullscreen or windowed mode of the game. 4. Cancel Button: To cancel the changes made. 5. Save Button: To save the changes made. 6. Quit Game: The "Quit Game" button navigates the player to the main menu.
Smooth and latency-free simulation visuals are crucial for maintaining a high level of immersion, and achieving this depends on various aspects of the user's PC. The minimum requirements include:
- OS: Windows 7 or better
- Processor: Intel i5 3.1 Ghz Quad Core
- Memory: 2 GB RAM
- Graphics: Nvidia GTX 660 / Radeon HD 7800 or better
- Recommended Display Resolution: 1440x900
The game should be able to handle a moderate level of user interactions and interventions without crashes or significant disruptions.
The game should be available for play whenever the user desires. Personal computer of the user should serve all the time.
The game should be designed in a modular and scalable manner to facilitate future updates and expansions.
EcoSculptor is initially developed for Windows and MacOS operating systems. However, efforts will be made to ensure portability to other platforms, such as Linux, in the future. The use of Unity3D as the game development engine facilitates cross-platform compatibility, and additional testing on different operating systems will be conducted to verify and optimize performance.
While scalability is important to accommodate potential expansions and updates, the primary focus is on optimizing the game for the best performance on the user's system.
Usability is a key aspect of EcoSculptor, especially considering its educational nature. The user interface should be intuitive and user-friendly, with clear instructions and tutorials available to guide new players.
1. Health Considerations:
- Features should be implemented to prevent eye strain and fatigue by encouraging regular breaks during gameplay.
2. Content Appropriateness:
- Age-appropriate game content should be ensured, avoiding violent or disturbing imagery.
- User controls should be provided for adjusting content sensitivity.
3. Online Safety:
- Strong security measures should be implemented to protect user data and privacy.
- Features for preventing and reporting inappropriate behavior during online interactions should be included.
4. Emergency Exit:
- A clear and easily accessible emergency exit option should be provided in the user interface for users to exit the game promptly.
[1] Lucidchart, ''Welcome to Lucidchart: Online Diagram Software & Visual Solution. Lucidchart'', 2023. [Online]. Available: https://www.lucidchart.com [Accessed 8 November 2023].
[2] Canva, 2023. [Online]. Available: https://www.canva.com [Accessed 15 November 2023].