|
|
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.