1
Computer Science and Engineering
University of Nevada, Reno
Nitrogen Deposition and Climate Change Game
Team 10
Travis Carter, Amelia Pasco, Elizabeth Kaminsky, Mikayla Arabian
Sara Davis, Vinh Le, Devrin Lee
Erin Hanan
November 3rd, 2023
2
Table of Contents
1. Introduction………………………………………………………………………………..3
2. Summary of stakeholders’ interviews……………………………………………………..4
3. Technical Requirements specification…………………………………………………….6
a. Functional Requirements……………………………………………………….....6
b. Non-Functional Requirements…………………………………………………….6
4. Use Case Modeling………………………………………………………………………..7
a. Use Case Diagram…………………………………………………………………7
b. Detailed Use Cases………………………………………………………………..8
5. Requirement traceability matrix…………………………………………………………12
6. Initial snapshots………………………………………………………………………….13
7. Glossary………………………………………………………………………………….18
8. List of references…………………………………………………………………………19
a. Problem Domain Book…………………………………………………………..19
b. Reference Articles………………………………………………………………..19
c. Websites………………………………………………………………………….20
9. Contributions of team members………………………………………………………….21
3
Introduction
Our project is an educational game with a style similar to that of Stardew Valley and
other similar style games. This game will teach its target audience about nitrogen and watershed.
This game will be using real world statistical data in its implementation to show actual changes
and effects watershed can cause. Our game will also include outside influences such as the
climate or the geological characteristics of the terrain. From our first assignment to now, the only
major change was adding some lore. Everything else remained the same such as what we want to
include in the game such as mechanics. The lore we will be adding to the game will make it more
interesting for players as well as more engaging. At this current point in time, the lore will be a
post-apocalyptic world of some kind where the player is tasked with observing and possibly
fixing Earth by completing tasks relating to lessening the effect of watershed. This adds a
storyline, so players will enjoy doing the tasks more compared to if there was no storyline.
Besides this one change, we have cemented our older ideas. One of these ideas include the game
allowing the players to save and load their progress, so they are able to start where they left off at
any time. Since this is an educational game, and there is only so much time allocated for teaching
tools or activities like this, saving and loading the game will be an integral part of this project.
We have come to an agreement on what this game should end up looking like and how it should
run to give the player base a fun and engaging experience as they learn about watershed and all
the related terms.
4
Summary of stakeholders’ interviews
For this section, we interviewed our advisor, Erin Hanan, a high school student looking to work
in environmental sciences in the future, Nathaniel Gordon, and a member of our project team,
Mikayla Arabian.
1. What other applications would you think would be a good idea to add?
The interviewees all had different ideas, from a sandbox gameplay mode to an
achievement system for the game.
2. Would it ever be possible or applicable to add a co-operative element to the game?
A cooperative element was highly favored among interviewees, with one suggesting a
bomb-diffusion type of game mode where one person has ability to adjust water, and
the other can adjust fertilizer levels, and they cannot see the others levels.
3. Anything you could say to improve the base idea we already have?
While most agreed that the base idea for the game was solid, it was suggested that we
add different types of plants to grow for an achievement opportunity for players. It
was also suggested that we add elements to the game that would reduce nitrogen
deposition in real life, such as wetland restoration,
4. What would constitute a fun game to you in this context?
All interviewees agreed that a fun game is one that holds attention while promoting a
sense of accomplishment in players.
5. What would constitute an educational game to you in this context?
Generally, it was agreed that an educational game would be something that allows
players to mess around with different components, and a game that is easy to
understand with straightforward explanations about model data that could be
ascertained through play.
6. Would you prefer having controls change as the game progresses or keep the controls
the same and make the levels harder only?
There were mixed opinions on this. One interviewee did not know which direction
would be the best to pursue, one said that it would be better to only make the levels
harder so the player has to consider the different affects of level manipulation, and
one said that the change in controls could make the game more educational and
challenging.
7. What specific features would you like to have included in this game that would
improve the educational experience?
Interviewees generally agreed that information on nitrogen deposition, climate
change, rainfall variability, etc., should be clearly and honestly presented throughout
the game.
8. What topics should be covered at each specific level?
It was generally suggested that we add a different element of climate change at each
level, as climate change has a more obvious impact as the scope is increased. It was
5
also suggested we cover biotic and abiotic factors, denitrification efforts, and sinks
(environmental factors that hold nitrogen longer).
9. How do you see this game progressing and evolving in the future?
Interviewees agreed that the game would likely progress with adding more levels,
increasing complexity, and having more language availability for those who do not
speak English.
10. What is an estimated time you would play this kind of game at one time, what would
make you play longer?
It was suggested that, as this game is aimed for classroom use, we employ a save
function and try to make each level achievable in 30 minutes or less, to cater to
general classroom time blocks. All participants agree that this would be a game they
would play to the end if it held their attention well.
11. Is it important to include character selection or should we focus more on the
educational and play ability of the game?
It was generally agreed that character customization could be nice to give the player a
sense of identity within the game, but was not necessary for functionality.
12. Would you like a pre-game summary of the scientific topics about the game as an
overview? If so, what would you like to be included?
The best way to integrate this into the game seems to be in short, fun fact style blurbs,
shown before a save loads or before a new level. This could also be integrated
through the lore set up for the game.
6
Technical Requirements specification
Functional Requirements
FR1. [1] Our game should have workable gameplay mechanics and rules to follow.
FR2. [1] Our game should have a user interface which includes menus and in game activities.
FR3. [1] Our game should have in game settings that can be adjusted.
FR4. [1] Our game should have a set level of arts/graphics that is easy to look at.
FR5. [1] Our game should have a clear objective and level progression for the player.
FR6. [1] Our game should have music and sound cues when something happens.
FR7. [1] Our game should be able to be saved and loaded from the last available save.
FR8. [1] Our game should have beginner win/loss conditions that the player understands.
FR9. [1] Our game should have character and object models that are animated when moving.
FR10. [1] Our game should have basic controls that the player understands and can look up.
FR11. [2] Our game should be able to create new records/games.
FR12. [2] Our game should have an in-depth lore story and character behavior.
FR13. [2] Our game should have achievements/goals the player will unlock and complete.
FR14. [2] Our game should have bug tracking/error handling for a smooth game.
FR15. [2] Our game should have more levels/days that the player has to complete.
FR16. [2] Our game should have a dynamic weather system/time of day.
FR17. [2] Our game should have an option to timelapse/time skips.
FR18. [2] Our game should have voice acting or text for all the in game lore.
FR19. [2] Our game should have messages that display educational information.
FR20. [3] Our game should have an option to change languages.
FR21. [3] Our game should be cross platform, mobile to pc.
FR22. [3] Our game should have a multiplayer function.
FR23. [3] Our game should have character customization.
FR24. [3] Our game should be able to change the way it looks (color blind mode).
FR25. [3] Our game should have a custom level builder to make your own levels.
Non-Functional Requirements
NFR1. [1] Our game will have optimal performance for every user without lag or frame drop.
NFR2. [1] Our game will run on mobile devices of most kind.
NFR3. [1] Our game will have stability where it will not crash or produce errors.
NFR4. [1] Our game will have simple security from outside sources.
NFR5. [2] Our game will have a clear UX for players to navigate and experience.
NFR6. [2] Our game will have a way to minimize network problems to help the game.
NFR7. [2] Our game will have improved audio and visual elements.
NFR8. [2] Our game will have low load times for better user experience.
NFR9. [3] Our game will consume less resources, like optimizing memory/storage on devices.
NFR10. [3] Our game will have scalability to handle growing user loads.
7
Use case modeling
Use Case Diagram
Figure 1: Use Case Diagram showing the actors User and Time, and how they interact with the
various Use Cases.
8
Detailed Use Case Description
ID Use Case Description
UC01 CreateGame Upon accessing the game’s home screen, the user can create a
new game record to use in the game’s environment.
UC02 LoadGame After executing the game software, the user has the option to
load an existing game record into the environment.
UC03 LoadSettings Upon entering the chosen game, the user can customize the
game settings. This would include adjusting audio, changing
graphic settings, and option controls. Accessing the settings will
also temporarily pause the game.
UC04 LoadGraphics The user will see the game graphics which include the world
layout, plants, bodies of water, etc.
UC05 PlayAudio Upon accessing the gaming environment, the user can listen to
in-game audio that enhances the gaming experience.
UC06 PlayGame The user can use a variety of game mechanics such as player
movement, picking up or placing an item, using a tool, altering
the nitrogen levels, and talking to other characters.
UC07 StartDay Upon the user loading a game record, the game will incorporate
a constant change of day with dynamic lighting. The game will
also display different weather patterns for each day.
UC08 SaveGame The user can save their game progress. This would include the
game settings, the player’s inventory, and the map layout.
UC09 ChangeCharacter The user can customize their character’s appearance such as the
character’s hair, clothes, and eye color.
UC10 AccecptLevel The user will move on to new levels as the game progresses.
Each level will have new quests and events the user can
complete.
UC11 AddPlayer The user can add additional players for a multi-player
experience.
9
Detailed Use Case Description Continued
ID Use Case Description
UC12 ChangeMap The user can customize the game map and settings to build their
own levels.
UC13 SelectMode The user can choose different game modes that incorporate new
challenges and unique game settings. An example of this would
be ‘Hard Mode’ as the weather patterns and nitrogen levels
cannot be changed by the user.
Detailed Use Case Template
Use case: CreateGame
Use Case ID UC01
(UCID)
Actor(s) User
Precondition(s) 1. The user has loaded the game’s home screen to their environment
Flow of Events 1. Upon selecting the “New Game” option from the home screen, the
user will be directed to a game creation page
2. The user is prompted to fill out necessary field for the game
a. Name
b. Pronouns
c. Appearance
i. Hair color and style
ii. Skin tone
iii. Shirt
iv. Pants
3. Upon completion, the system checks the data for validity
a. If there is no error, the data is stored on the local drive
b. If there is an error, the user is prompted to reenter data
Postcondition(s) 1. A new game is created and the user is in control of their unique
character
10
Use case: LoadGame
Use Case ID UC02
(UCID)
Actor(s) User
Precondition(s) 1. The user has loaded the game’s home screen to their environment
Flow of Events 1. The user selects the “Load Game” option on the game’s home
screen
2. The system finds stored game data from the local drive
3. The system displays a list of all available game records
4. Upon choosing a game from the displayed list, the user will be
redirected to the chosen gaming environment
Postcondition(s) 1. The selected game has been successfully loaded and the user can
interact with the game environment
Use case: LoadSettings
Use Case ID UC03
(UCID)
Actor(s) User
Precondition(s) 1. The user has loaded into the chosen game environment
Flow of Events 1. The user selects the “Settings” option in the gaming environment
2. The game is temporarily paused and the settings menu is displayed
3. The user changes the current game settings with dragging
mechanisms or drop down menus
a. Brightness
b. Resolution
c. Audio choices
d. Volume
e. Language
4. The user selects the “Save” option to save their settings adjustments
to the game environment
Postcondition(s) 1. The game resumes from the point where it was paused with the new
settings implemented
11
Use case: SaveGame
Use Case ID UC08
(UCID)
Actor(s) User
Precondition(s) 1. The user has loaded into the chosen game environment
2. The user has accessed the game menu/settings
Flow of Events 1. The user selects the “Save” option from the menu to display the
“Save Game” interface
2. The user selects one of the “Save Game” options
a. Save
b. Save and Exit
c. Exit without Saving
3. The user is directed to a confirmation page
a. If the user selects “Yes”, the game progress, inventory, and
settings are saved
b. If the user selects “No”, the user will be redirected to the
“Save Game” options
Postcondition(s) 1. The game state is saved to its specific record in the user’s local
drive
12
Requirement traceability matrix
UC1 UC2 UC3 UC4 UC5 UC6 UC7 UC8 UC9 UC10 UC11 UC12 UC13
FR1
FR2
FR3
FR4
FR5
FR6
FR7
FR8
FR9
FR10
FR11
FR12
FR13
FR14
FR15
FR16
FR17
FR18
FR19
FR20
FR21
FR22
FR23
FR24
FR25
13
Initial snapshots
14
15
16
17
18
Glossary
Climate change: Significant, long-lasting change to the Earth’s climate and weather patterns.
For this game, we are specifically focusing on change that has been influenced by human
activity.
Denitrification: The loss or removal of nitrogen and nitrogen compounds.
Drainage network: A connected system of streams, creeks, and rivers, which carry water away
from a specific area.
Economic benefit: Something that acts in favor of material gain for a party.
Ecoregion: A major ecosystem defined by distinctive geography and receiving uniform solar
radiation and moisture.
Ecosystem: the complex of a community of organisms and its environment functioning as an
ecological unit.
Environmental cost: Something that acts to the detriment of the environment.
Nitrogen: A colorless, odorless, inert, gaseous element. Number 7 on the periodic table.
Nitrogen Deposition: The process of nitrogen in soil being picked up by moving water.
Pollution: The presence in or introduction into the environment of harmful or poisonous
substances, light, organic waste, etc.
Precipitation variability: The amount that climate change has affected when water is deposited
into an area.
RPG: Role-playing game. A game in which players are meant to act out a specific purpose
within a given scenario.
Statistical model: A small-scale representation of something (in this case environment)
produced using real world probabilities and information gathered through observation.
Terraforming: The act of moving earth (sand, dirt, rock, etc.) from one place to another in large
enough quantities that the landscape is changed.
Topography: The collective features of a region or location.
Unity framework: A game engine framework based in C languages, especially C#.
Water cycle: A natural process in which water evaporates, enters into the atmosphere, and then
falls again as precipitation.
Watershed: A region or area bounded peripherally by a ridge and draining ultimately to a
particular watercourse or body of water.
Watershed, Dryland: A watershed that primarily services a usually dry area.
Wetland: Land or areas (such as marshes or swamps) that are covered often intermittently with
shallow water or have soil saturated with moisture.
19
List of references
Problem Domain Book:
1. Hocking, Joseph. Unity in Action, Third Edition. Manning Publications Co. LLC, 2022.
https://sd.blackball.lv/library/Unity_in_Action_3rd_Edition_(2022).pdf
This is a problem domain book that talks about the essentials and basics of understanding Unity.
It will be able to help us look at how to start our game, camera work, sound effects, how to put it
on the platform we want, and so much more.
Reference Articles:
2. “Lil’ Dragon - Pixel Art Top-down Tileset by Raou.” Itch.Io, raou.itch.io/lil-dragon.
Accessed 2 Nov. 2023.
https://raou.itch.io/lil-dragon
This is an asset pack we were considering using for the graphics of our RPG game. It is a top
down game style that has good graphics and a lot of the elements we are looking for when it
comes to making a game.
3. Stardew Valley, www.stardewvalley.net/. Accessed 3 Nov. 2023.
https://www.stardewvalley.net/
This is a reference game we were looking at as a basic start to what we want our game to look
like and do. It won’t have the same mechanics, but it has a similar style as to what we want our
game to do except it won’t be making a farm.
4. Murphy, Maria. “How to Make a Game like Stardew Valley?” Medium, AR/VR Journey:
Augmented & Virtual Reality Magazine, 1 Feb. 2023,
arvrjourney.com/how-to-make-a-game-like-stardew-valley-b4cf5b5e981.
https://arvrjourney.com/how-to-make-a-game-like-stardew-valley-b4cf5b5e981
This is a basic article that talks about how to get started at making your game and the important
steps to get your game out there in the world once it is complete. We want to make sure our game
is optimal for our audience and that is why we want to follow the correct steps to do that.
Websites:
5. “5.10: Drainage Networks.” Geosciences LibreTexts, Libretexts, 26 Dec. 2021,
geo.libretexts.org/Bookshelves/Geography_(Physical)/The_Environment_of_the_Earth%
27s_Surface_(Southard)/05%3A_Rivers/5.10%3A_Drainage_Networks.
20
https://geo.libretexts.org/Bookshelves/Geography_(Physical)/The_Environment_of_the_
Earth%27s_Surface_(Southard)/05%3A_Rivers/5.10%3A_Drainage_Networks
This is a website that helped us as computer science majors to better understand the
environmental science behind the game we are making. We want to make sure we get the game
factually correct since it is for students and do not want to be teaching them incorrect things.
6. Oxford English Dictionary, www.oed.com/. Accessed 3 Nov. 2023.
https://www.oed.com/?tl=true
This is a basic dictionary to help us understand and look up important words from our glossary
and to help us in the future if we need to look up anything about environmental science or even
coding words that we have not seen in Unity before when building the game.
21
Contributions of team members
Amelia: Outline of Technical Requirements, Case Modeling, and Matrix. 3.5 hours
Travis: Table of Contents, Outline and Finalized Technical Requirements, and References. 3
hours
Elizabeth: Stakeholder Interview, Outline of Technical Requirements, and Glossary. 2.5 hours
Mikayla: Introduction, Outline of Technical Requirements, and Initial Snapshots. 3 hours