PLANET GARDEN Game Manual
SCI-Arc
CONTENTS Introduction
page 04
Games & Worldmaking
page 06
How to play
page 08
System Dynamics
page 12
Game Structure Diagrams
page 14
Interface
page 16
Resource Inventory
page 18
Blocks Inventory
page 20
Blocks
page 24
Trees
page 28
Landscape
page 30
Preliminary Terrain Tests
page 32
User Interface Iterations
page 34
Studentās Play The Game
page 36
Team
page 70
INTRODUCTION PLANET GARDEN was part of SCI-Arcās Games & Worldmaking seminar, instructed by Damjan Jovanovic during the Summer 2021 semester. This collaboration is part of the Planet City research project for Getty Foundationās Pacific Standard Time Exhibtion.
The seminar was organized as a game design workshop, where students worked together to produce a playable prototype of an ecological game. The final game is a collective work that bears the authorship of everyone. During the course students worked in teams on different aspects of the game: game manual, models, landscape, vegetation and user interface.
As a final product, the students created an interactive model, set in a desert landscape. PLANET GARDEN is the game were players can organize resources to create a self-sustaining robotic garden.
4
5
GAMES & WORLDMAKING Elective seminar Summer 2021 Instuctor Damjan Jovanovic The focus of the seminar is the exploration and application of computer game technologies as novel ways of drawing and modeling. In recent years, the discipline has seen a gradual shift from standard, static models into animated, and even simulated models. In the seminar, the students will explore the simulation as a format and adopt the usage of interactive models as the project. An Interactive Model is part a drawing and part a model, a new representational interactive format produced through the use of real-time rendering.
Simulations are entering culture as a new format of storytelling and artistic expression. The work of the artist Ian Cheng has recently gained global visibility, and is now part of MoMA and other important cultural databases. Simulationist worldview privileges open-ended structure and presupposes a non-deterministic universe, as a liberation from fixed and finite models of thinking and making. The unpredictability of the outcome does not also entail a degree of opaqueness of the model, as it does in various neural network machine learning models.
Worlding represents in many ways a completely new narrative paradigm, where the traditional narrative structures are put in friction and an adversarial relation with the open-endedness and the chaotic beauty of a simulation. The classical tropes of storytelling that have always governed how we understand and assign meaning are incapable of regulating the chaos of a simulation.
6
7
y ty
Player Pawn BP_MainPawn is instantiated in the world; Player Controller BP_MainController contains all camera movement, all click behavior
Inventory Component InventoryComponent INVENTORY: Blocks Ingredients
Plant Block H O W TO P L AY child block
GAME START: player has: Energy: 50 Seed: 500
contains speciļ¬c
for When the functionality player enters the game they are exposed to an empty dessert plants
landscape. Using the build menu the playerInventory is able to start using the available Water Block
Component blueprint class
Block
Structure childresources block, resources. The are limited to 1000 energy unitS, 1000 water units, water
Main Block main parent class contains all general features for each block
struct
variables:
100 seeds and no oxygen present in theInventory landscape. The player is variables: able to Map contains speciļ¬c
Name (Text), Thumbnail
functionality for functions: blocks in the scene, increase the resources by placing the respectable except (Texture 2D), Description water Check Ingredients
(Text), Ingredients (Name
Remove Ingredients :Map, Integer), Block from the seeds that are limited. The player should always be considerate of the Wind Block
variables: Item Name (Text), Thumbnail (Texture 2D), Mesh (Static Mesh)
Class (Placeable Block) child block, amount of theenergy resources they have, in order to maintain a functioning garden. contains speciļ¬c functionality for wind needed to start building the new ecology is energy. There The main element Block
Solarthat Blockgenerate energy, one solar and one wind block. The Datasolar Table are two blocks child block, energy
blocks generate energy only during daytime, contrary to contains speciļ¬c
date table, inherits form the Struct. the variables wind blocks This deļ¬nes Blocks.
Row Names:
to increase water levels, that helps placing and maintaining the tree blocks. standard_block
energy water seed wood metal glass oxygen
solar_block
wind_block Water blocks are needed to collect water for the trees. After the player has Build Menu
water_block
BuildMenu enough water supply they can start planting trees using the availableplant_block seeds. steel_block
Tree blocks produce oxygen when they are placed provided that there is Build Button BuildButton
Build Button BuildButton
Build Button BuildButton
enough water collected. Given these information, the player is able to start creating their own garden in the Planet Garden universe. After planting 100 Inventory Menu InventoryMenu trees, the player has successfully terraformed the desert landscape.
Inventory Menu Item InventoryMenuIte m
Inventory Menu Item InventoryMenuIt em
Inventory Menu Item InventoryMenuIt em
Build: WIND block
Build: SOLAR block
cost: Energy: 20
cost: Energy: 10
generates over time: Energy: 100
generates over time: Energy: 50
Item Data Table date table, inherits variables form the Struct. This deļ¬nes Ingredients.
that continuously generate energy unitsc. Energy is important for being able functionality for Row Names: solar
HUD main user interface parent
Item Structure struct
Build: WATER block cost: Energy: 500 generates over time: Water: 250
Build: PLANT block
Build: PLANT block
Build: PLANT block
cost: Seed: 1 Energy: 5 Water: 10
cost: Seed: 1 Energy: 7 Water: 12
cost: Seed: 1 Energy: 5 Water: 10
generates over time: Oxygen: 10
generates over time: Oxygen: 10
generates over time: Oxygen: 10
GAME END: player has terraformed the desert by planting 500 plants.
8
game flow diagram
9
The ENVIROMENT OVERLAYS provide the player with all the information needed to start placing the blocks. The player enters the world of Planet Garden.
The time is now ticking... PRESS TAB FOR BLOCKS
All information about the blocks are available under the BLOCK INVENTORY.
Through the BUILD MENU the player has access to available blocks, when the resources are sufficient.
The resource inventory provides the player with the resource quantities. Throughout the game the player must keep in mind which resources are available to be able to maintain their garden. 10
After placing a block the player can hover over it to monitor its perfomance. For the Solar and Wind blocks energy collection is displayed, for Water blocks water collection and for Trees the oxygen produced is calculated. As the game progresses the resource quantities increase and decrease according to the playerās actions.
When seeds are not longer available the player can either maintain their garden or exit the game.
Terraforming is now done!
11
SYST E M DY N A M I C S 1
System Dynamics is the discipline that deals with the modeling of complex, unpredictable and non-linear phenomena. The field has its roots in the
1
1
==500 Oxygen
5
cybernetic theories of Norbert Weinberg, but it was formalized and created in the mid-1950s by Prof. Jay Forrester at MIT, and later developed by Donella
Water Block
H. Meadows in her seminal book āThinking in Systemsā.
1
1000
10
Seeds
Trees
250
500
Water
System dynamics is an approach to understanding the nonlinear behavior of complex systems over time using stocks, flows, internal feedback loops,
500
5
table functions and time delays. Forresterās ideas were explored by the game
SimCity, SimEarth and The Sims. This approach has since been adopted as one of the main ways to model game systems as it enables easier understanding of
1000
10
designer Will Wright in a series of games that he designed for Maxis, including
20 Energy
10
20 Wind Block
systemic depth and causality in time based scenarios.
Wind Block
2
4
In order to learn, understand and model basic dynamic systems we utilized the online tool Machinations (machinations.io), which we later implemented in Unreal Engine. The following diagram models the basic dynamics of the
50
100 1
game that define the relations between elements. These elements are divided
1
in two different pools, the interactive and the automatic ones. The automatic pools collect or release resources when specific criterias are met, while the interactive ones distribute them on command. Based on the behaviours and relations between the elements, we were able to start designing the game
Energy Accumulated
Energy Accumulated
diagram made with machinations.io
inside Unreal Engine.
12
13
G A M E ST R U C T U R E D I AG R A M S The following diagrams demonstrate the elements needed to be constructed inside Unreal Engine in order to integrate the behaviours discussed in the machinations diagram and start the game design. These main elements are Player Pawn BP_MainPawn PLAYER: camera movement click/delete functionality rotate block functionality inventory component
is instantiated in the world; Player Controller BP_MainController contains all camera movement, all click behavior
INVENTORY:
Player Pawn BP_MainPawn Plant Block PLAYER: child block
camera movement contains speciļ¬c click/delete functionality functionality for rotate block functionality plants inventory component Water Block child block, water
BLOCKS: solar wind water plants
Main Block main parent class
the player, the blocks, the user interface and the inventory.
Inventory Component InventoryComponent
contains speciļ¬c functionality for water
contains all general features for each block
BLOCKS:
Wind Block child block, energy
contains speciļ¬c
solar functionality for wind wind water plants Solar Block
Blocks Ingredients
is instantiated in the world; Player Controller BP_MainController
Plant Block child block
Inventory
functions: Check Ingredients Remove Ingredients
Main Block main parent class
Block Structure
contains speciļ¬c struct functionality for plants variables:
Name (Text), Thumbnail (Texture 2D), Description Water Block (Text), Ingredients (Name child:Map, block,Integer), Block water Class (Placeable Block)
contains speciļ¬c functionality for water
contains all general features for each block
Wind BlockBlock child block, Data Table energy date table, inherits
child block, energy
variables form the Struct. deļ¬nes Blocks. containsThis speciļ¬c functionality for wind Row Names: standard_block
USER INTERFACE: interact, pick elements display information
HUD main user interface parent
Build Button BuildButton
Build Button BuildButton
Solar Block solar_block child block, wind_block energywater_block plant_block
contains speciļ¬c steel_block functionality for solar
Build Button BuildButton
Inventory Menu Item InventoryMenuIte m
14
Inventory Menu Item InventoryMenuIt em
interact, pick elements display information
Inventory Menu Item InventoryMenuIt em
HUD main user interface parent
Build Button BuildButton
Build Button BuildButton
Build Button BuildButton
Inventory Menu InventoryMenu
Inventory
Inventory
Item Structure struct variables: Inventory ItemComponent Name (Text), Thumbnail (Texture 2D), blueprint class Mesh (Static Mesh)
variables: Inventory Map functions: Check Ingredients Remove Ingredients
Item Data Table date table, inherits variables form the Struct. This deļ¬nes Ingredients.
Block Structure struct variables: Name (Text), Thumbnail (Texture 2D), Description (Text), Ingredients (Name :Map, Integer), Block Class (Placeable Block)
Inventory
Build: WIND block
Build: SOLAR block
cost: Energy: 20
cost: Energy: 10
Item generates over time: Structure Energy: 100 struct
energy water seed wood metal glass oxygen
generates over time: Energy: 50
variables: Item Name (Text), Thumbnail (Texture 2D), Mesh (Static Mesh) Build: WATER block cost: Energy: 500
Row Names:
Block Data Table date table, inherits variables form the Struct. This deļ¬nes Blocks. Row Names: standard_block solar_block wind_block water_block plant_block steel_block
Build Menu BuildMenu
Inventory Menu InventoryMenu
USER INTERFACE:
Energy: 50 Seed: 500
Blocks Ingredients
variables: Inventory Map
Build Menu BuildMenu
player has:
INVENTORY:
contains all camera Component movement, all click blueprint class behavior
contains speciļ¬c functionality for solar
GAME START:
Inventory Component InventoryComponent
Item Data Table date table, inherits variables form the Struct. This deļ¬nes Ingredients.
generates over time: Water: 250
Row Names: energy Build: water PLANT block seed wood cost: metal Seed: 1 glass 5 Energy: oxygen Water: 10 generates over time: Oxygen: 10
structure diagrams
Build: PLANT block
B PLAN
cost: Seed: 1 Energy: 7 Water: 12
c Se Ene Wa
generates over time: Oxygen: 10
15
generate Oxy
I N T E R FAC E
When the player enters the world of PLANET GARDEN they encounter an empty desert land with a limited amound of resources. The game starts with 1000 energy units, 1000 water units and 100 seeds and 0 oxygen. The player is given the ability to use these resources to start transforming the landscape by placing the available blocks. Energy units increase when solar and wind blocks are placed and water units increase when the water block is placed. Trees povide the world with oxygen, until there is insufficient water to maintain oxygen production.
SOLAR TIME The game simulates a 24-hour cycle, accounting for a day time and a night time. Solar exposure, and the lack thereof, will impact potential energy captured by Solar Blocks placed in the model.
INVENTORY The Inventory includes all components that constitute the world. It is composed two main tables: The Energy Inventory on the right side of the screen, and the Block Inventory on the left side of the screen. While in active play, hover over the icon with the cursor to access the information panel.
16
17
R E S O U R C E I N V E N TO RY
The Engery Inventory continuously records all available resources in the world. Notice the quantities decrease and increase as Build Blocks are added and remain in the world. Reference this panel before placing Build Blocks to check available resource quantities, and cross-reference with the Build Inventory to check resources required for each block. Each Build Block located in the world
WATER Water is built into the world originating from surface and subsurface water collections. Water Blocks can increase available water supply. Water is the primary resource needed for the placement of new Water and Plant Blocks.
will generate a specific type of resource, increasing the available resources in the Engery Inventory and allowing for the placement of more Build Blocks.
SEEDS A small quantity of Seeds exist at the begining of the world,
ELEMENTS
originating from residual remnants of previous plants. Seeds are directly proportional to the quanitity of plants in the world; the more Plant Blocks the more Seeds available.
ENERGY Energy is built into the world originating from solar radiation. However, the placement of additional Build Blocks can also increase the available Energy. For example, the Wind, Water, and Solar Blocks can all increase available energy in varying quantities. Energy is the primary resource needed for the placement of new Build Blocks. All Build Blocks require some amount of Energy.
OXYGEN A small quantity of Oxygen exists at the begining of the world, originating from residual remnants of previous plants. Oxygen is directly proportional to the quanitity of trees in the world; the more Plant Blocks the more Oxygen available. The absence of biological organism to consume the Oxygen makes this resource an unstable and potentially dangerous to the overall constitution of the world.
18
19
B LO C K I N V E N TO RY
Each Build Block requires a unique combination and quanitity of resources.
WIND BLOCK
The Block Inventory identifies the requirements for the placement of each
The Wind Block is used to generate consumable Energy in the
Build Block. Cross reference the Block Inventory (to determine the quantity
world by converting available Wind into captured potential energy.
of resources needed to place a Block) with the Energy Inventory (to determine the quantity of available resources). Each Build Block located in the world will
Required for Placement: x20 Energy
generate a specific type of resource, increasing the available resources in the
Potential Energy Captured per Minute: x0.8
Engery Inventory and allowing for the placement of more Build Blocks. While
Maximum Potential Energy Catpured per Block: No Limit
in active play, hover of the Block with the cursor ā once placed in the world ā to access the information panel and live updates on the resources being generated by the Block.
WATER BLOCK The Water Block is used to generate consumable Water in the world. Every x250 units generated by the Water Block is added to
ELEMENTS
the global inventory of available water.
SOLAR BLOCK
Required for Placement: x500 Energy
The Solar Block is used to generate consumable Energy in the
Potential Water Generated per Minute: x5
world by converting available solar radiation into captured potential
Maximum Potential Water Generated per Block: No Limit
energy.
Required for Placement: x10 Energy Potential Energy Captured per Minute: x0.4 Maximum Potential Energy Catpured per Block: x50
20
21
SMALL PLANT BLOCK
LARGE PLANT BLOCK
The Small Plant Block has a mininal impact on the world, but
The Large Plant Block has a significant impact on the world, but
requires a minimum quantity of resources. It is beneficial for
requires a significant quantity of resources. It is beneficial for
generating a moderate quantity of Oxygen with moderate demand
generating a maximum quantity of Oxygen with moderate demand
on available resources.
on available resources.
Required for Placement: x5 Energy
Required for Placement: x10 Energy
Required for Placement: x10 Water
Required for Placement: x15 Water
Required for Placement: x1 Seed
Required for Placement: x1 Seed
Potential Water Consumption per Minute: x0.2
Potential Water Consumption per Minute: x0.2
Potential Oxygen Generated per Minute: x0.6
Potential Oxygen Generated per Minute: x0.6
Maximum Potential Water Consumption per Block: No Limit
Maximum Potential Water Consumption per Block: No Limit
MEDIUM PLANT BLOCK The Medium Plant Block has a moderate impact on the world, and requires a moderate quantity of resources. It is beneficial for generating a moderate quantity of Oxygen with moderate demand on available resources.
Required for Placement: x7 Energy Required for Placement: x12 Water Required for Placement: x1 Seed Potential Water Consumption per Minute: x0.2 Potential Oxygen Generated per Minute: x0.6 Maximum Potential Water Consumption per Block: No Limit
22
23
B LO C K S Solar Block
Other Versions of Blocks
The block generates energy from sun gain. The panels are equiped with high functioning PV cells that make a moderate amount of energy.
Wind Block
Wind Block
Wind Block
Solar Block
Solar Block
Solar Block
Water Block
Water Block
Solar Block
Wind Block The block generates energy from wind flowing around the area. The H-rotor form of the wind turbine ensures the continous energy generation, compared to horizontal axis wind turbines. This block generates more energy than the solar one.
Water Block The block generates water by the chemical fusion of hydrogen and oxygen. To trigger the chemical reaction, energy harvested from the solar block and the wind block is used.
24
25
B LO C K S In-game block behavior
Solar blocks should be placed on alow temperature area. To ensure that the player can toggle the Temperature Map overlay [TM].
To calculate the best position for the wind blocks, the player can toggle the Wind Index overlay [WI]. By placing the wind blocks perpendicular to the wind direction the efficiency of the wind Based on the geographical information provided by the simulation, the player
turbines increases.
can decide where to place the different blocks. Solar panels tend to overheat in high temperatures, limiting their ability to generate energy efficiently. To optimize the wind block performance, the player should place them perpendicular to the wind direction.
Using the Water Runoff overlay [WR] the player can calculate the best location to place the water blocks.
The heat generated by the chemical reaction while the water block operates should be taken into consideration when deciding its location it. Placing it in the vicinity of water runoff as well as on low temperature areas, ensures its optimal operation.
26
27
TREES Small Tree Small tree refers to species which normally reach a height of not less than 15 feet upon maturity. They need to be spaced anywhere from 6 to 15 feet apart to have access to the proper nutrients. Examples: Acacia, Lemon Tree, Wild Cherry.
Acacia
Lemon Tree
Wild Cherry
African Olive
Black Gum
Bradford Pear
Umbrella Thorn
Chinese Banyan
Green Ash
African Baobab
Red Maple
Cypress Oak
Medium Tree Medium tree is one that is in the 20 to 40-foot range. Medium trees need to be planted 30 to 40 feet away from each other. Plant a medium-sized tree at least 15 feet away from the wall of a onestory building. Examples: African Olive, Black Gum, Bradford Pear.
Large Tree Large trees exceed 40 feet in height. While it may be difficult, one should allow between 40 and 50 feet between these trees to promote optimal growth. Examples: Umbrella Thorn, Chinese Banyan, Green Ash, African Baobab, Red Maple, Cypress Oak.
28
29
LANDSCAPE
The landscape with all the overlays being visible
Grid (G)
Bedrock Density (B)
The game grid provides a coordinate system for the placement of blocks
The bedrock density map provides subterrainean info to the player about the stability of the ground in the build area.
Topography Contours (TO)
Temperature Map (TM)
The topography contours provides the player with elevation data about the terrain. The contours are sampled every 2m
The temperature map provides real-time temperature data to the player across the entire landscape.
Water Runoff (WR)
Wind Direction (WI)
The water runoff overlay displays the paths that water travels over the terrain. This gives useful info for the placement of water blocks.
The wind direction map displays the paths that wind flows across the terrain. This gives useful info for the placement of wind blocks.
The landscape of PLANET GARDEN begins as a dry, sandy desert devoid of any plant-life. The playable zone of the landscape sits within a valley surrounded by rocky mountainous terrain. As the player works toward the goal of planting trees to generate oxygen for the environment, the landscape slowly becomes more lively with various species of plants and the environment becomes suitable for more and more plant-life. Throughout the gameplay, the player is provided with real-time environmental data overlayed onto the landscape. This data can be used to strategize and plan the placement of blocks and trees. As the player plays, they receive feedback from the landscape and these data overlays on the effectiveness of their decisions.
30
31
LANDSCAPE Preliminary Terrain Tests Early terrain explorations focused on the aesthetic of the game surface. Experiments explored realistic terrains based on real-world landscapes as well as some of the more aestheticized geometric terrain tropes of video games. Ultimately, realism was chosen over typical video game aesthetics for the terrainās level of articulation and legibility. Early tests also explored the informational overlays on the terrain surface. The style frame below was the basis for all of the later terrain development.
Early Terrain Style Frame
32
33
U S E R I N T E R FAC E I T E R AT I O N S
The ambition of User Interface is to design a relationship between the user and the world while in game play mode. It is an iterative process which requires experimenting and testing to balance the aesthetic experience with the information required to effectively play the game and interact with the world.
UI Design 34
In-game UI building 35
S T U D E N T S P L AY T H E G A M E
36
37
Mariam Aramyan
38
39
Nikhil Bang
40
41
Eva Besmerti
42
43
Wen Chen
44
45
Shuo Feng
46
47
Yuhong Gong
48
49
Robert Leising
50
51
Ilaria Lu
52
53
Yaqing Mao
54
55
Yehong Mi
56
57
Caleb Roberts
58
59
Hakcheol Seo
60
61
Carlo Sturken
62
63
Sanghyun Suh
64
65
Pan Tan
66
67
Runhuan Wang
68
69
TEAM Instructor
Damjan Jovanovic
Game Manual
Eva Besmerti Carlo Sturken
Models
Nikhil Bang Xiaolei Liu Hakcheol Seo Sanghyun Suh
Landscape Design
Ilaria Lu Yaqing Mao Caleb Roberts Runhuan Wang
Vegetation
Mariam Aramyan Wen Chen Shuo Feng Yehong Mi
Interface Design
Yuhong Gong Robert Leising Pan Tan
71
SCI_Arc 2021