]>
Commit | Line | Data |
---|---|---|
6a5fa4e0 MG |
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. |