Presentation is loading. Please wait.

Presentation is loading. Please wait.

BUILDING A SUSTAINABLE ENERGY SYSTEM GAME Aaron Bloomfield 1.

Similar presentations


Presentation on theme: "BUILDING A SUSTAINABLE ENERGY SYSTEM GAME Aaron Bloomfield 1."— Presentation transcript:

1 BUILDING A SUSTAINABLE ENERGY SYSTEM GAME Aaron Bloomfield 1

2 INTRODUCTION 2

3 An Introduction to Sustainable Energy Systems: www.virlab.virginia.edu/Energy_class/Energy_class.htm Overall Goal To allow people to understand the concepts involved in energy production as well as the trade-offs involved through the use of a fun game

4 An Introduction to Sustainable Energy Systems: www.virlab.virginia.edu/Energy_class/Energy_class.htm Inspiration (image from here) here

5 An Introduction to Sustainable Energy Systems: www.virlab.virginia.edu/Energy_class/Energy_class.htm Inspiration (image from here) here

6 An Introduction to Sustainable Energy Systems: www.virlab.virginia.edu/Energy_class/Energy_class.htm Architectural Requirements The architecture of the game was defined by two major precepts: 1. We wanted to be able to log everything the players did for later analysis 2. We wanted to be able to make frequent changes to the various game settings This meant that the players played a network game, where their every move required the network to make the move and determine the results

7 An Introduction to Sustainable Energy Systems: www.virlab.virginia.edu/Energy_class/Energy_class.htm Architecture The game consists of four main components: The graphical client (Windows, Mac), which is the only parts a player sees The graphical client (Windows, Mac), which is the only parts a player sees The web service, which contains the methods that the client calls (such as set_game_settings(), start_game(), etc.) The web service, which contains the methods that the client calls (such as set_game_settings(), start_game(), etc.) The simulation, which was written in C++ to allow for fast execution The simulation, which was written in C++ to allow for fast execution The web client, which allowed the game developers to quickly modify the settings The web client, which allowed the game developers to quickly modify the settings

8 An Introduction to Sustainable Energy Systems: www.virlab.virginia.edu/Energy_class/Energy_class.htm Game Overview After selecting the map and/or scenario, play begins. The game is turn-based; on each turn: The player makes any moves s/he desires The player makes any moves s/he desires The player clicks “end turn”, and the game map is updated with the results The player clicks “end turn”, and the game map is updated with the results The player is notified if s/he reaches any of the game goals The player is notified if s/he reaches any of the game goals Repeat Repeat

9 MAKING GAMES FUN 9

10 An Introduction to Sustainable Energy Systems: www.virlab.virginia.edu/Energy_class/Energy_class.htm What is Fun? Dictionary: A source of enjoyment, amusement, or pleasure Dictionary: A source of enjoyment, amusement, or pleasure But that doesn’t help us design games… But that doesn’t help us design games… Important to consider underlying reasons Important to consider underlying reasons “Funativity” – thinking about fun in terms of measurable cause and effect “Funativity” – thinking about fun in terms of measurable cause and effect

11 An Introduction to Sustainable Energy Systems: www.virlab.virginia.edu/Energy_class/Energy_class.htm Evolutionary Roots We must look to our distant evolutionary past We must look to our distant evolutionary past Young mammals play to learn basic survival skills Young mammals play to learn basic survival skills Games are organized play Games are organized play Human entertainment is also at its heart about learning how to survive Human entertainment is also at its heart about learning how to survive Mating and social rules also critical to us Mating and social rules also critical to us Life is all either work, rest, or fun Life is all either work, rest, or fun Fun is about practicing or learning new survival skills in a relatively safe setting Fun is about practicing or learning new survival skills in a relatively safe setting People who didn’t enjoy that practice were less likely to survive to become our ancestors People who didn’t enjoy that practice were less likely to survive to become our ancestors

12 An Introduction to Sustainable Energy Systems: www.virlab.virginia.edu/Energy_class/Energy_class.htm Hunting and Gathering For most of our species’ history we were tribal hunter/gatherers For most of our species’ history we were tribal hunter/gatherers Current popular games reflect this Current popular games reflect this Shooters, wargames = hunting Shooters, wargames = hunting Powerups, resources = gathering Powerups, resources = gathering Sims, MMO = social, tribal interaction Sims, MMO = social, tribal interaction

13 An Introduction to Sustainable Energy Systems: www.virlab.virginia.edu/Energy_class/Energy_class.htm Natural Funativity Theory The basic concept of funativity is that all fun derives from practicing survival and social skills The basic concept of funativity is that all fun derives from practicing survival and social skills Key skills relate to early human context (from the previous slide), but often in a modern guise Key skills relate to early human context (from the previous slide), but often in a modern guise Three overlapping categories Three overlapping categories Physical, Social, and Mental Physical, Social, and Mental

14 An Introduction to Sustainable Energy Systems: www.virlab.virginia.edu/Energy_class/Energy_class.htm Physical Fun Sports generally enhance our strength, stamina, coordination skills Sports generally enhance our strength, stamina, coordination skills Exploration is fun Exploration is fun Both of local area and knowledge of exotic places Both of local area and knowledge of exotic places Hand/eye coordination and tool use are often parts of fun activities – crafts Hand/eye coordination and tool use are often parts of fun activities – crafts Dancing, sort-based, and activity-based games Dancing, sort-based, and activity-based games Wii sports, for example Wii sports, for example Physical aspect to gathering “stuff” Physical aspect to gathering “stuff”

15 An Introduction to Sustainable Energy Systems: www.virlab.virginia.edu/Energy_class/Energy_class.htm Social Fun Storytelling is a social activity Storytelling is a social activity A way to learn important survival and social lessons from others A way to learn important survival and social lessons from others Gossip, sharing information with friends is popular Gossip, sharing information with friends is popular Flirting, showing off, finding mates is a key interest in social fun Flirting, showing off, finding mates is a key interest in social fun Language has become paramount Language has become paramount Sims, MMORPGs, interactions in single-player games, team-based games Sims, MMORPGs, interactions in single-player games, team-based games

16 An Introduction to Sustainable Energy Systems: www.virlab.virginia.edu/Energy_class/Energy_class.htm Mental Fun Our large brains make humans unique Our large brains make humans unique Pure abstract reasoning practice is fun Pure abstract reasoning practice is fun Pattern matching and generation Pattern matching and generation Music, art, and puzzles are all pattern based Music, art, and puzzles are all pattern based Gathering also has mental aspect, categorizing and identifying patterns Gathering also has mental aspect, categorizing and identifying patterns Examples: tetris, chess, go, etc. Examples: tetris, chess, go, etc.

17 An Introduction to Sustainable Energy Systems: www.virlab.virginia.edu/Energy_class/Energy_class.htm Multipurpose Fun Many fun activities have physical, social and mental aspects in combination Many fun activities have physical, social and mental aspects in combination Games that mix these aspects tend to be very popular Games that mix these aspects tend to be very popular Incorporate ways to practice these skills to increase the popularity of games Incorporate ways to practice these skills to increase the popularity of games

18 An Introduction to Sustainable Energy Systems: www.virlab.virginia.edu/Energy_class/Energy_class.htm Definition of a Great Game A great game is a “series of interesting and meaningful choices made by the player in pursuit of a clear and compelling goal” A great game is a “series of interesting and meaningful choices made by the player in pursuit of a clear and compelling goal” Must have choice, or it is not interactive Must have choice, or it is not interactive Must be a series of choices or it is too simple to be a game Must be a series of choices or it is too simple to be a game Must have a goal or it is a software toy Must have a goal or it is a software toy Some games, such as the Sim/Sims lines, the players may bring their own goals Some games, such as the Sim/Sims lines, the players may bring their own goals

19 An Introduction to Sustainable Energy Systems: www.virlab.virginia.edu/Energy_class/Energy_class.htm Interesting and Meaningful Choices | Clear and Compelling Goal Choices may be dull and uninteresting because it was easy to code that way Choices may be dull and uninteresting because it was easy to code that way Or it may be the reflection of a lazy designer Or it may be the reflection of a lazy designer Meaningful choices are perceived by the player as having significant consequences Meaningful choices are perceived by the player as having significant consequences May not have actual consequences… May not have actual consequences… Clear goals, as it is not fun to flounder aimlessly Clear goals, as it is not fun to flounder aimlessly Avoid the “protagonist with amnesia” cliché Avoid the “protagonist with amnesia” cliché Compelling goals are goals that follow the concepts in Natural Funativity Compelling goals are goals that follow the concepts in Natural Funativity Survival is always a compelling goal Survival is always a compelling goal

20 ENERGY GAME CONCEPTS 20

21 An Introduction to Sustainable Energy Systems: www.virlab.virginia.edu/Energy_class/Energy_class.htm Scenarios A scenario allows the user to have a goal in the game Given an existing population with power generation, “upgrade” it in some way (convert to green, eliminate one type of power, etc.) Given an existing population with power generation, “upgrade” it in some way (convert to green, eliminate one type of power, etc.) Given a “colony” (one square of population), guide it’s development and population growth Given a “colony” (one square of population), guide it’s development and population growth Given a large population and no power, find the “best” way to power that area, given various constraints Given a large population and no power, find the “best” way to power that area, given various constraints

22 An Introduction to Sustainable Energy Systems: www.virlab.virginia.edu/Energy_class/Energy_class.htm Commodities A commodity is a “thing” in the game Fossil fuels: coal, gas, or oil Fossil fuels: coal, gas, or oil Nuclear products: uranium ore, refined uranium, spent fuel rods Nuclear products: uranium ore, refined uranium, spent fuel rods Energy: sunlight, AC power (of various voltages), DC power Energy: sunlight, AC power (of various voltages), DC power Waste products: ash, trash, Waste products: ash, trash, Pollution: CO2, NOx, SO2 Pollution: CO2, NOx, SO2 Water: tides, water flow Water: tides, water flow Naturally occurring: O2, uranium seam, coal seam Naturally occurring: O2, uranium seam, coal seam

23 An Introduction to Sustainable Energy Systems: www.virlab.virginia.edu/Energy_class/Energy_class.htm Processes A process converts one (or more) commodities into one (or more) other commodities Coal combustion converts oxygen and coal into heat, CO2, Nox, SO2, particulates, and ash Coal combustion converts oxygen and coal into heat, CO2, Nox, SO2, particulates, and ash Nuclear fission converts enriched uranium into spent fuel rods, electrical energy, and heat Nuclear fission converts enriched uranium into spent fuel rods, electrical energy, and heat Steam turbine power conversion converts heat into electrical energy and (yet more) heat Steam turbine power conversion converts heat into electrical energy and (yet more) heat

24 An Introduction to Sustainable Energy Systems: www.virlab.virginia.edu/Energy_class/Energy_class.htm Stations A station allows one or process to occur A coal mine allows for coal extraction A coal mine allows for coal extraction A coal plant with water evaporation cooling allows for (1) coal combustion, (2) cooling via water evaporation, and (3) steam turbine power conversion A coal plant with water evaporation cooling allows for (1) coal combustion, (2) cooling via water evaporation, and (3) steam turbine power conversion A nuclear power plant allows for (1) nuclear fusion and (2) steam turbine power conversion A nuclear power plant allows for (1) nuclear fusion and (2) steam turbine power conversion A garbage dump allows for disposal (storage) of ash A garbage dump allows for disposal (storage) of ash

25 An Introduction to Sustainable Energy Systems: www.virlab.virginia.edu/Energy_class/Energy_class.htm Sources and sinks Some stations and processes are sources, in that they only produce a commodity. Examples: solar power collector Other stations and processes are sinks, in that they only consume a commodity. Examples: garbage dump, uranium storage facility Most stations convert one (or more) commodities into one (or more) other commodities

26 An Introduction to Sustainable Energy Systems: www.virlab.virginia.edu/Energy_class/Energy_class.htm Coal Energy Production To generate energy via coal: Find a coal seam, and build a coal mine on it Find a coal seam, and build a coal mine on it This allows for conversion of the coal seam to coal This allows for conversion of the coal seam to coal Build a coal plant Build a coal plant The coal from the coal mine, magically transported, is burned to produce energy The coal from the coal mine, magically transported, is burned to produce energy The energy is magically transported to the population that needs it The energy is magically transported to the population that needs it Profit! Profit!

27 An Introduction to Sustainable Energy Systems: www.virlab.virginia.edu/Energy_class/Energy_class.htm Magical transportation? One of the eventual goals was to allow for commodity transportation: Power lines transport electrical energy Power lines transport electrical energy Transport lines and vehicles transport physical commodities (coal, etc.) Transport lines and vehicles transport physical commodities (coal, etc.) The intent is to require these to be built, and their capacity can limit how much a coal plant can produce They are not implemented yet…

28 An Introduction to Sustainable Energy Systems: www.virlab.virginia.edu/Energy_class/Energy_class.htm Uranium Production To generate energy via uranium: Find a uranium seam; build a uranium mine there Find a uranium seam; build a uranium mine there Converts uranium seam to uranium ore Converts uranium seam to uranium ore Build a uranium refinery Build a uranium refinery Converts uranium ore to enriched uranium Converts uranium ore to enriched uranium Build a nuclear power plant Build a nuclear power plant Converts enriched uranium to spent fuel rods, energy, and heat Converts enriched uranium to spent fuel rods, energy, and heat Potentially find where to store the spent fuel rods Potentially find where to store the spent fuel rods Profit! Profit!

29 An Introduction to Sustainable Energy Systems: www.virlab.virginia.edu/Energy_class/Energy_class.htm Game flexibility Many of the values in the game are provided to the client each time it starts up The list of commodities, and their prices The list of commodities, and their prices The list of processes, and how much they consume and produce The list of processes, and how much they consume and produce The list of stations, and what processes they allow The list of stations, and what processes they allow This allows easy changing of these values

30 GAME MAPS 30

31 An Introduction to Sustainable Energy Systems: www.virlab.virginia.edu/Energy_class/Energy_class.htm Map Generation: Random Maps The goal was to allow for randomly generated maps that approximate a real world (image source) image sourceimage source

32 An Introduction to Sustainable Energy Systems: www.virlab.virginia.edu/Energy_class/Energy_class.htm Map Generation Random map generation is surprisingly hard! And it turns out that many people want to play with known maps. Which leads us to preset maps Preset maps allow the user to choose a known area to work in

33 An Introduction to Sustainable Energy Systems: www.virlab.virginia.edu/Energy_class/Energy_class.htm Map Generation: Preset Maps An actual screenshot of the client…

34 An Introduction to Sustainable Energy Systems: www.virlab.virginia.edu/Energy_class/Energy_class.htm Map Generation: Preset Maps This is a visualization of the map, not what the client shows The different colors are the different terrains; only terrain is shown in this map

35 An Introduction to Sustainable Energy Systems: www.virlab.virginia.edu/Energy_class/Energy_class.htm Map Generation: Preset Maps The map is squashed, left to right, due to the fact that this was a square map that was generated

36 An Introduction to Sustainable Energy Systems: www.virlab.virginia.edu/Energy_class/Energy_class.htm Map Generation: Preset Maps Where is this?

37 An Introduction to Sustainable Energy Systems: www.virlab.virginia.edu/Energy_class/Energy_class.htm Map Generation: Preset Maps Where is this?

38 An Introduction to Sustainable Energy Systems: www.virlab.virginia.edu/Energy_class/Energy_class.htm Map Generation: Preset Maps Where is this?

39 An Introduction to Sustainable Energy Systems: www.virlab.virginia.edu/Energy_class/Energy_class.htm Map Generation: Preset Maps Where is this?

40 An Introduction to Sustainable Energy Systems: www.virlab.virginia.edu/Energy_class/Energy_class.htm Map Generation: Complications Random map generation is hard! Energy production requires other map values, generating these adds additional complications. Wind speed Wind speed Average temperature Average temperature Average cloudiness Average cloudiness These are called layers in the map; a typical map will have 30 (or so) layers

41 An Introduction to Sustainable Energy Systems: www.virlab.virginia.edu/Energy_class/Energy_class.htm Map Generation: Layers This view is meant for the game developers, not the players…

42 An Introduction to Sustainable Energy Systems: www.virlab.virginia.edu/Energy_class/Energy_class.htm Map Generation: Layers In addition to terrain, this shows 4 more layers

43 An Introduction to Sustainable Energy Systems: www.virlab.virginia.edu/Energy_class/Energy_class.htm Map Generation: Preset Maps This shows 8 more of the layers

44 An Introduction to Sustainable Energy Systems: www.virlab.virginia.edu/Energy_class/Energy_class.htm Map Layers Terrain Terrain Rivers Rivers Resources Resources Temperature Temperature Precipitation Precipitation Altitude Altitude Population Population Improvements Improvements Cloudiness Cloudiness Power demand Power demand Power supply Power supply Wind (direction and speed) Wind (direction and speed) Seasons Seasons (other layers exist, but are not all that relevant right now)

45 An Introduction to Sustainable Energy Systems: www.virlab.virginia.edu/Energy_class/Energy_class.htm Icons We hired a digital artist to create icons for the game These icons are the various things you see in the map

46 An Introduction to Sustainable Energy Systems: www.virlab.virginia.edu/Energy_class/Energy_class.htm Maps: Tiles Power lines, railroad tracks, and roads

47 An Introduction to Sustainable Energy Systems: www.virlab.virginia.edu/Energy_class/Energy_class.htm Maps: Tiles Forests, plains, and hills

48 An Introduction to Sustainable Energy Systems: www.virlab.virginia.edu/Energy_class/Energy_class.htm Maps: Tiles Mountains, rivers, lakes, other terrain types

49 An Introduction to Sustainable Energy Systems: www.virlab.virginia.edu/Energy_class/Energy_class.htm Maps: Tiles Improvements and buildings

50 GRAPHICAL CLIENT 50

51 An Introduction to Sustainable Energy Systems: www.virlab.virginia.edu/Energy_class/Energy_class.htm Client The goal of the client was to allow playing on multiple platforms; currently only Mac and Windows are supported The design was done in such a way to eventually allow for mobile based games

52 An Introduction to Sustainable Energy Systems: www.virlab.virginia.edu/Energy_class/Energy_class.htm Client screenshot

53 An Introduction to Sustainable Energy Systems: www.virlab.virginia.edu/Energy_class/Energy_class.htm Client screenshot

54 An Introduction to Sustainable Energy Systems: www.virlab.virginia.edu/Energy_class/Energy_class.htm Client screenshot

55 An Introduction to Sustainable Energy Systems: www.virlab.virginia.edu/Energy_class/Energy_class.htm Client screenshot

56 An Introduction to Sustainable Energy Systems: www.virlab.virginia.edu/Energy_class/Energy_class.htm Client screenshot

57 An Introduction to Sustainable Energy Systems: www.virlab.virginia.edu/Energy_class/Energy_class.htm Client screenshot

58 An Introduction to Sustainable Energy Systems: www.virlab.virginia.edu/Energy_class/Energy_class.htm Client screenshot

59 OTHER SYSTEM COMPONENTS 59

60 An Introduction to Sustainable Energy Systems: www.virlab.virginia.edu/Energy_class/Energy_class.htm Web service The client is “dumb” – it doesn’t make many decisions by itself Instead, it contacts the web service, which then records the data and makes the decisions It’s written in Java, and runs on the Apache Tomcat server

61 An Introduction to Sustainable Energy Systems: www.virlab.virginia.edu/Energy_class/Energy_class.htm Sample web service methods registerAnonymousGame() registerAnonymousGame() getRuleSet() getRuleSet() setGameSettings() setGameSettings() getMap() getMap() startGame() startGame() getMap(), again getMap(), again getHistory() getHistory() sendChanges() sendChanges() endTurn() endTurn() endGame() endGame()

62 An Introduction to Sustainable Energy Systems: www.virlab.virginia.edu/Energy_class/Energy_class.htm Simulation The simulation runs after each turn, and is written in C++ for speed For each run of the simulation, each station runs to capacity, which can be limited by supply as well as how much it can “burn” After effects, such as pollution and depleted resources, are computed as well, and the map is appropriately updated

63 An Introduction to Sustainable Energy Systems: www.virlab.virginia.edu/Energy_class/Energy_class.htm Web client The web client is an interface for the game maintainers to add and edit the game settings Examples: stations, processes, vehicles, commodities, etc.

64 An Introduction to Sustainable Energy Systems: www.virlab.virginia.edu/Energy_class/Energy_class.htm Artificial Intelligence The ability for a computer algorithm to play the game This aids in testing as well as load balancing This is a new development (this semester), and is expected to be up and running next semester Can you beat Skynet?

65 CONCLUSIONS 65

66 An Introduction to Sustainable Energy Systems: www.virlab.virginia.edu/Energy_class/Energy_class.htm Features to be added Transportation routes (power lines, train tracks, etc.) and vehicles Transportation routes (power lines, train tracks, etc.) and vehicles Government interactions Government interactions Popularity (powered citizens are happy) Popularity (powered citizens are happy) More accurate layer generation More accurate layer generation Random map generation Random map generation Ability to “store” power in some fashion Ability to “store” power in some fashion

67 An Introduction to Sustainable Energy Systems: www.virlab.virginia.edu/Energy_class/Energy_class.htm Features we probably won’t add Too much government interaction! Power plant construction, especially nuclear plant construction, details with a HUGE amount of governmental red tape Nobody likes dealing with this in the real world, so why do this in the game?

68 An Introduction to Sustainable Energy Systems: www.virlab.virginia.edu/Energy_class/Energy_class.htm Complications We ran into a number of problems developing the game The technology chosen for the webservice was very unstable, and caused many issues The technology chosen for the webservice was very unstable, and caused many issues The complication of having the game always contact the network added a lot of additional complexity The complication of having the game always contact the network added a lot of additional complexity The framework used for the client was, in hindsight, not the best choice The framework used for the client was, in hindsight, not the best choice

69 An Introduction to Sustainable Energy Systems: www.virlab.virginia.edu/Energy_class/Energy_class.htm Current Status The game is almost playable; just a few bugs to work out. Then there is a lot of game balancing to perform There are two students working on it during the spring, so we expect to have this version working soon.

70 An Introduction to Sustainable Energy Systems: www.virlab.virginia.edu/Energy_class/Energy_class.htm Questions? Ask away!

71 Credits / Acknowledgements Some materials used in this class were developed under a National Science Foundation "Research Initiation Grant in Engineering Education" (RIGEE). Other materials, including the "UVA Virtual Lab" science education website, were developed under even earlier NSF "Course, Curriculum and Laboratory Improvement" (CCLI) and "Nanoscience Undergraduate Education" (NUE) awards. This set of notes was authored by John C. Bean who also created all figures not explicitly credited above. Copyright Aaron Bloomfield (2015) (However, permission is granted for use by individual instructors in non-profit academic institutions) An Introduction to Sustainable Energy Systems: www.virlab.virginia.edu/Energy_class/Energy_class.htm


Download ppt "BUILDING A SUSTAINABLE ENERGY SYSTEM GAME Aaron Bloomfield 1."

Similar presentations


Ads by Google