|
|
1.1 root 1: Notice window
2: welcome
3: scenario descriptions
4: warnings
5:
6: zone status window
7: display live map picture
8: reconfigure to support various tasks
9: editors for chaging zone
10: invest $ => develop zone => increase land value
11: population density
12: crime prevention
13: environmental cleanup
14: enance growth
15:
16: editor
17: pie menus
18: demand gauge
19:
20: budget
21: multi user dialog
22: hour glass timeout
23: auto budget toggle
24: pause/resume toggle (to allow changing budget while simulation is running)
25:
26: map
27: drag rectangles to pan map views
28: menus on palette
29: generate terrain mode
30: lengend
31: rearrange
32: switch overlays
33: dynamic zone finder
34:
35: graph
36: 2x3 palelet, 10/120 years
37: double buffering
38: communicate data. ard wire in c?
39:
40: evaluation
41: historical graphis?
42:
43: surveyor
44: other editors
45:
46: dynamic zone finder
47: washboard filter sliders
48:
49: get key dialog
50:
51: new city -- or "use map"?
52: name, level
53: scenario selection
54: random terrain generator
55: player can propose a city by selecting a scenario, loading a city, or generating a random terrain.
56: all players must vote unanimously on a city to play
57: selecting a new city clears all votes
58: players can press next/previous to page through proposed city history
59: you can go back to randomly generated terrains, because it saves the random number generator seed
60: clears votes, proposes new or old city
61: terrain editor todo:
62: Integrate terrain editor code into map editor,
63: and have a button on the new city map to run in terrain editor mode.
64: Terrain editor will include only terrain editing tools,
65: plus random terrain generation interface,
66: and simulator will be paused.
67:
68: print dialog
69: Newspaper printing and publishing metaphore.
70:
71: Optionally save a snapshot of the city state, to link to from the newspaper article.
72:
73: Publish in newspaper, print on paper, save to disk, copy to clipboard,
74: add to journal, blog, etc.
75:
76: Allow user to enter text to be printed along with an image, like blogging.
77: Can print any map or editor view with data overlay and chalk drawings,
78: entire map (fit on one page, or split across multiple pages),
79: or other windows like graph, evaluation, notices, messages, chat log, etc.
80:
81: Export text content as html with embedded images.
82:
83: Make an html/image city overview and journal, like The Sims family view and scrapbook.
84:
85: Printable windows and views should have a "print" button or function that pops up a
86: pie menu of possible destinations, for quickly making snapshots in your journal, etc.
87:
88: Publish illustrated newspapers in the game, like The Sims storybook, with newspaper
89: articles composed of pictures of the city, text excerpts from chat logs, etc.
90:
91: A player could be a "reporter" interviewing other player politicians via chat,
92: before and after the vote on building a stadium, asking them to make their case for
93: or against the stadium, and publish the interviews in the game's newspaper, the
94: "Micropolis Journal".
95:
96: Players can browse each others newspapers over the net, and download the city snapshots
97: the articles write about.
98:
99: Flash: Monster invades Micropolis, near nuclear reactor!
100: (story and link to saved city so you can read the story, then bring up the city and
101: play it live from the point the story was written)
102:
103: quit
104: confirm
105: multi player logout
106:
107: save dialog
108:
109: load dialog
110:
111: network city browsing and sharing
112: "What-If?" history tree.
113: Publish your cities on the net.
114: Download other peoples cities.
115: Use a URL to point to a saved city.
116: Grab a live snapshot of somebody's running city.
117: Checkpoint and branch timelines.
118: Save a city back to the point where it branched,
119: to create an alternate history that other players can load.
120: Multiple players build a tree of saved cities with branching alternate histories.
121: Like the parallel universes in Niven's All the Myriad Ways.
122: Rewind any city up the tree and select available alternate histories at each branch point.
123: Play back alternate histories edit by edit, stop them at any point and take over,
124: making a new branch point at that location.
125: When you play together in the same city, you have to discuss and agree with other players
126: about what to do, and convince other people of your ideas.
127: You can try an idea out yourself, by branching your own private history,
128: giving your idea a try, and reporting back to the other players in the main shared timeline
129: what happened (with links to the save file and history so other players can see for themselves).
130: GUI: Branching history tree outline viewer of saved files.
131: Drag and drop a history point into the chat log which other players can click on to open a
132: live view playing that history.
133:
134: status control
135: views
136: players
137: new player
138: new view
139:
140: Keep and export logs of simulation values
141: r, c, i demand
142: evaluation
143: tax rate, collected
144: funds
145: funding levels
146: event logs
147: simulation events
148: extend simulator to log all interesting simulation events,
149: so newspaper reporters can write stories about them
150: editing commands
151: Log enough information to replay all edits against a save file to recreate same city.
152: This is the key to high level multi player protocol between
153: multiple parallel lock-step simulations, like The Sims Online,
154: better than using low level x11 to implement the multi player
155: interface)
156: Treat any editing command as a "what-if" branch point where it could go another way.
157: Give players an easy interface to replay a simulation up to a branch point, and
158: and re-make the decision, to see how it would turn out differently.
159: chat logs
160: everything else of course
161: web service to access logs
162: export logs as xml for programs or csv for spreadsheets
163: import and export chalk overlay as vector drawing
164: support image overlays with transparency (begs for photoshop-like drawing interface)?
165: Careful how far down that road you go, because you could use it to paint the image of
166: a happy emerald green city over a dreary industrial wasteland.
167: The simple white chalk overlay has the advantage that you always know what's chalk and what's not.
168: opml outline with geo-codes
169: store city overlay information in opml
170: register the corners of the map with real-world lat/long values
171: allow rotation and scaling but not arbitrary shearing or distortion
172: register nodes of the opml outline at lat/long points and areas on the map
173: what's a good way to associate an opml node with an arbitrary area on the map?
174: an attribute with a polygon in lat/long coordinates?
175: a list of rectangles in lat/long coordinates?
176: a list of tiles in row/col coordinates?
177: associate geo-coded opml nodes with features on the map like
178: zones, buildings, streets, neighborhoods
179: use opml nodes to give names to features,
180: take notes about them,
181: attach pictures to them,
182: write stories about them,
183: support overlapping features, so roads can cross,
184: and each tile can belong to any number of features.
185: allow users to plant signs on the map, like micropolis 2000.
186: represent signs with an opml node.
187: signs can contains arbitrary opml outlines
188: with links to other opml nodes
189: like a sign at a crossroad, linked to the nodes representing each road,
190: and the regions of the city that the roads bring you to.
191: use opml to write a city guide
192: attach chalk overlays and signs to opml nodes so you can show and hide them hierarchically
193:
194: head window
195: Represents root window of Micropolis application to TCL, and ties all the other windows together.
196: Contains the application's main menus and scrolling message and chat log.
197:
198: An artifact of the way TCL/Tk/X11 works.
199:
200: With another gui, might be the main base window that contains all other subwindows.
201:
202: In X11, we depend on the user's chosen X11 window manager to manage all the separate windows.
203:
204: In a better world (Sugar) Micropolis should let users save and restore windows
205: configurations and multiple views, tailored for various roles and tasks.
206:
207: When a new player joins, the select a role to play, which will grant them
208: permissions and customize the interface, opening and positioning the appropriate
209: windows and tools for their role.
210:
211: Each role supports various tasks that might themselves reconfigure the user interface.
212:
213: User interface configurations should be selected based on the role and the task.
214:
215: Users first select a role that stays the same (forever or most of the time)
216: and which grants them a set of permissions.
217:
218: Each role supports a set of tasks (like Eclipse's "aspects"), which users may
219: switch between, to reconfigure the user interface.
220:
221: Players can hold elections to grant each other roles
222: (like mayor, treasurer, planner, builder, reporter, god, etc).
223:
224: Ownershop
225:
226: This vastly complicates the game, so I didn't try it, but I wrote down some ideas.
227:
228: Consider the screen area of the user interface it would require to
229: enable the user to micro-manage all the ownership issues, in terms of
230: the number of acres of city map it would cover.
231:
232: It seemed like it would be too complicated to be fun.
233:
234: Even if it could be magically implemented with a simple gui, would it be any fun?
235:
236: That said, here are some ideas.
237:
238: Ownership plane: 0 => nobody, 1-256 => user id
239: (note: Can't save ownership user ids into save files if we want multiple
240: players to enter and exit independently from the city itself, or if we
241: want to support an open-ended, possibly large number of players over time.
242: As I said, this gets complicated pretty fast, without a lot of beneficial fun.)
243:
244: Players have separate funds.
245: This raises issues about: who gets paid how much of the city's overall income,
246: and who pays for city services?
247:
248: Could have a main shared city budget, then certain players can be appropriated
249: funds from that budget earmarked to perform various tasks.
250: But again, that gets pretty complicated, and how is it fun?
251:
252: Competition or cooperation?
253: Should we attempt to make the game support competition between players,
254: or is it better to keep it cooperation-oriented, by requiring unanimous votes,
255: sharing the budget, etc.
256:
257: I think it's simpler and more educational to give players the freedom to misbehave,
258: while building in social networking and accountability, to let players discuss,
259: negotiate, make and break deals, establish reputations, reward good behavior,
260: and punish bad behavior, by developing real-world social interaction skills.
261:
262: What fun would politics be if you couldn't have scandals?
263:
264: Land value
265: higher resolution land value grid
266: effected by sales
267:
268: asking price
269: Tiles are owned by someone, and may be for sale, and given an asking price by the owner.
270: Requires complex user interface for selecting tiles, assigning price, etc.
271: How is that fun?
272: Groups of tiles: parcels of land, for sale all at once, to highest bidder.
273: M.U.L.E.-like multi player auctions for land.
274: Developers can build on empty tiles that are for sale, and they're bought automatically.
275: What's so fun about being a developer? Nothing to do after setting the price of the land.
276: Buyers can offer to buy something that doesn't have a price, which initiates an
277: M.U.L.E. dialog with the owner, and allows other players to join in the auction,
278: submitting their own bids.
279:
280: Transaction tool - $ (or local currency symbol)
281: select group of cells
282: negitiate deals with the owners
283: automatically calculates default land value suggested price (upon which the tax rate based)
284: based on modified land value through worth
285:
286: communication window
287: so people can negotiate and talk
288: irc-like chat rooms where people can have a side discussion
289: private person-to-person messages
290:
291: calculate evaluation for each player
292: Independent and combined scores and statistics.
293: Hard to define what this means in terms of the current simulation.
294: Would have to deeply change the way the simulation works,
295: but then would it still be fun?
296:
297: Zone ownership.
298: Develop Micropolis into a more Monopoly-like game: SimCitopoly.
299: A player can own power plants and other utilities, and makes money
300: by selling electricity and other services to other players.
301: Zones don't develop until someone buys them.
302: Own residential => collect rent, pay maintainence.
303: Own industrial, commercial => collect income, pay expenses.
304: All zone owners pay taxes.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.