]> git.mxchange.org Git - shipsimu-docs.git/blob - shipsimu-docs/Browser-Game.mm.html
Documentation more splitted into smaller mind maps
[shipsimu-docs.git] / shipsimu-docs / Browser-Game.mm.html
1 <html>
2 <head>
3 <title>Browser-Game</title>
4 <style type="text/css">
5     span.foldopened { color: white; font-size: xx-small;
6     border-width: 1; font-family: monospace; padding: 0em 0.25em 0em 0.25em; background: #e0e0e0;
7     VISIBILITY: visible;
8     cursor:pointer; }
9
10
11     span.foldclosed { color: #666666; font-size: xx-small;
12     border-width: 1; font-family: monospace; padding: 0em 0.25em 0em 0.25em; background: #e0e0e0;
13     VISIBILITY: hidden;
14     cursor:pointer; }
15
16     span.foldspecial { color: #666666; font-size: xx-small; border-style: none solid solid none;
17     border-color: #CCCCCC; border-width: 1; font-family: sans-serif; padding: 0em 0.1em 0em 0.1em; background: #e0e0e0;
18     cursor:pointer; }
19
20     li { list-style: none; }
21
22     span.l { color: red; font-weight: bold; }
23
24     a:link {text-decoration: none; color: black; }
25     a:visited {text-decoration: none; color: black; }
26     a:active {text-decoration: none; color: black; }
27     a:hover {text-decoration: none; color: black; background: #eeeee0; }
28
29 </style>
30 <!-- ^ Position is not set to relative / absolute here because of Mozilla -->
31 </head>
32 <body>
33
34 <script language="JavaScript">
35    // Here we implement folding. It works fine with MSIE5.5, MSIE6.0 and
36    // Mozilla 0.9.6.
37
38    if (document.layers) {
39       //Netscape 4 specific code
40       pre = 'document.';
41       post = ''; }
42    if (document.getElementById) {
43       //Netscape 6 specific code
44       pre = 'document.getElementById("';
45       post = '").style'; }
46    if (document.all) {
47       //IE4+ specific code
48       pre = 'document.all.';
49       post = '.style'; }
50
51 function layer_exists(layer) {
52    try {
53       eval(pre + layer + post);
54       return true; }
55    catch (error) {
56       return false; }}
57
58 function show_layer(layer) {
59    eval(pre + layer + post).position = 'relative'; 
60    eval(pre + layer + post).visibility = 'visible'; }
61
62 function hide_layer(layer) {
63    eval(pre + layer + post).visibility = 'hidden';
64    eval(pre + layer + post).position = 'absolute'; }
65
66 function hide_folder(folder) {
67     hide_folding_layer(folder)
68     show_layer('show'+folder);
69
70     scrollBy(0,0); // This is a work around to make it work in Browsers (Explorer, Mozilla)
71 }
72
73 function show_folder(folder) {
74     // Precondition: all subfolders are folded
75
76     show_layer('hide'+folder);
77     hide_layer('show'+folder);
78     show_layer('fold'+folder);
79
80     scrollBy(0,0); // This is a work around to make it work in Browsers (Explorer, Mozilla)
81
82     var i;
83     for (i=1; layer_exists('fold'+folder+'_'+i); ++i) {
84        show_layer('show'+folder+'_'+i); }
85 }
86 function show_folder_completely(folder) {
87     // Precondition: all subfolders are folded
88
89     show_layer('hide'+folder);
90     hide_layer('show'+folder);
91     show_layer('fold'+folder);
92
93     scrollBy(0,0); // This is a work around to make it work in Browsers (Explorer, Mozilla)
94
95     var i;
96     for (i=1; layer_exists('fold'+folder+'_'+i); ++i) {
97        show_folder_completely(folder+'_'+i); }
98 }
99
100
101
102 function hide_folding_layer(folder) {
103    var i;
104    for (i=1; layer_exists('fold'+folder+'_'+i); ++i) {
105        hide_folding_layer(folder+'_'+i); }
106
107    hide_layer('hide'+folder);
108    hide_layer('show'+folder);
109    hide_layer('fold'+folder);
110
111    scrollBy(0,0); // This is a work around to make it work in Browsers (Explorer, Mozilla)
112 }
113
114 function fold_document() {
115    var i;
116    var folder = '1';
117    for (i=1; layer_exists('fold'+folder+'_'+i); ++i) {
118        hide_folder(folder+'_'+i); }
119 }
120
121 function unfold_document() {
122    var i;
123    var folder = '1';
124    for (i=1; layer_exists('fold'+folder+'_'+i); ++i) {
125        show_folder_completely(folder+'_'+i); }
126 }
127
128 </script>
129 <SPAN class=foldspecial onclick="fold_document()">All +</SPAN>
130 <SPAN class=foldspecial onclick="unfold_document()">All -</SPAN>
131 <p><a href="Ship-Simu Ship-Simulator.mm.html" target="_blank"><span class=l>~</span>&nbsp;<span style="font-size: 150%;font-family: SansSerif, sans-serif; font-weight: bold; ">Browser-Game</span>
132 </a>
133 <ul><li><span id="show1_1" class="foldclosed" onClick="show_folder('1_1')" style="POSITION: absolute">+</span> <span id="hide1_1" class="foldopened" onClick="hide_folder('1_1')">-</Span>
134 <span style="font-size: 116%;font-family: SansSerif, sans-serif; font-weight: bold; ">Procedures</span>
135 <ul id="fold1_1" style="POSITION: relative; VISIBILITY: visible;"><li><span id="show1_1_1" class="foldclosed" onClick="show_folder('1_1_1')" style="POSITION: absolute">+</span> <span id="hide1_1_1" class="foldopened" onClick="hide_folder('1_1_1')">-</Span>
136 <span style="font-family: SansSerif, sans-serif; font-weight: bold; ">Registration procedure</span>
137 <ul id="fold1_1_1" style="POSITION: relative; VISIBILITY: visible;"><li><span id="show1_1_1_1" class="foldclosed" onClick="show_folder('1_1_1_1')" style="POSITION: absolute">+</span> <span id="hide1_1_1_1" class="foldopened" onClick="hide_folder('1_1_1_1')">-</Span>
138 Make sure the user account is only used once
139 <ul id="fold1_1_1_1" style="POSITION: relative; VISIBILITY: visible;"><li>An AJAX request may give the user faster feedback
140
141 </li>
142
143 </ul>
144 </li>
145 <li><span id="show1_1_1_2" class="foldclosed" onClick="show_folder('1_1_1_2')" style="POSITION: absolute">+</span> <span id="hide1_1_1_2" class="foldopened" onClick="hide_folder('1_1_1_2')">-</Span>
146 If required make also sure that the email is used once
147 <ul id="fold1_1_1_2" style="POSITION: relative; VISIBILITY: visible;"><li>Another AJAX request might be helpful here
148
149 </li>
150
151 </ul>
152 </li>
153 <li>Both passwords must match as verification
154
155 </li>
156 <li>Non-required form fields are checked only if there is content for XSS or other bad things
157
158 </li>
159 <li>Encrypt/hash the password (should always be performed)
160
161 </li>
162 <li>Complete the registration by adding the user account to the database
163
164 </li>
165 <li><span id="show1_1_1_3" class="foldclosed" onClick="show_folder('1_1_1_3')" style="POSITION: absolute">+</span> <span id="hide1_1_1_3" class="foldopened" onClick="hide_folder('1_1_1_3')">-</Span>
166 Registered partners shall be notified with different ways
167 <ul id="fold1_1_1_3" style="POSITION: relative; VISIBILITY: visible;"><li>XML-RPC is the default
168
169 </li>
170 <li>Different notifiers shall also be possible
171
172 </li>
173 <li>This might be queueable to avoid long waiting times for slow partner pages
174
175 </li>
176
177 </ul>
178 </li>
179 <li>Send out confirmation mail if requested by configuration
180
181 </li>
182 <li><span id="show1_1_1_4" class="foldclosed" onClick="show_folder('1_1_1_4')" style="POSITION: absolute">+</span> <span id="hide1_1_1_4" class="foldopened" onClick="hide_folder('1_1_1_4')">-</Span>
183 Redirect the user to a new page
184 <ul id="fold1_1_1_4" style="POSITION: relative; VISIBILITY: visible;"><li>Default is the "Registration completed" page
185
186 </li>
187 <li>Home page shall be chooseable
188
189 </li>
190 <li>Other URLs can be used as well
191
192 </li>
193
194 </ul>
195 </li>
196 <li><span id="show1_1_1_5" class="foldclosed" onClick="show_folder('1_1_1_5')" style="POSITION: absolute">+</span> <span id="hide1_1_1_5" class="foldopened" onClick="hide_folder('1_1_1_5')">-</Span>
197 Alternatively login to the internal area
198 <ul id="fold1_1_1_5" style="POSITION: relative; VISIBILITY: visible;"><li>The account is not useable if email is not confirmed
199
200 </li>
201
202 </ul>
203 </li>
204
205 </ul>
206 </li>
207 <li><span style="font-family: SansSerif, sans-serif; font-weight: bold; ">Login procedure</span>
208
209 </li>
210 <li><span id="show1_1_2" class="foldclosed" onClick="show_folder('1_1_2')" style="POSITION: absolute">+</span> <span id="hide1_1_2" class="foldopened" onClick="hide_folder('1_1_2')">-</Span>
211 <span style="font-family: SansSerif, sans-serif; font-weight: bold; ">General</span>
212 <ul id="fold1_1_2" style="POSITION: relative; VISIBILITY: visible;"><li>Most steps shall be done by an intercepting filter pattern
213
214 </li>
215
216 </ul>
217 </li>
218
219 </ul>
220 </li>
221 <li><span id="show1_2" class="foldclosed" onClick="show_folder('1_2')" style="POSITION: absolute">+</span> <span id="hide1_2" class="foldopened" onClick="hide_folder('1_2')">-</Span>
222 Pseudo-3D graphics
223 <ul id="fold1_2" style="POSITION: relative; VISIBILITY: visible;"><li><span id="show1_2_1" class="foldclosed" onClick="show_folder('1_2_1')" style="POSITION: absolute">+</span> <span id="hide1_2_1" class="foldopened" onClick="hide_folder('1_2_1')">-</Span>
224 Still graphics
225 <ul id="fold1_2_1" style="POSITION: relative; VISIBILITY: visible;"><li><span id="show1_2_1_1" class="foldclosed" onClick="show_folder('1_2_1_1')" style="POSITION: absolute">+</span> <span id="hide1_2_1_1" class="foldopened" onClick="hide_folder('1_2_1_1')">-</Span>
226 Different ships
227 <ul id="fold1_2_1_1" style="POSITION: relative; VISIBILITY: visible;"><li>Passenger ship
228
229 </li>
230 <li>Oil tanker
231
232 </li>
233 <li>Container ship
234
235 </li>
236 <li>Misc small ships
237
238 </li>
239
240 </ul>
241 </li>
242 <li><span id="show1_2_1_2" class="foldclosed" onClick="show_folder('1_2_1_2')" style="POSITION: absolute">+</span> <span id="hide1_2_1_2" class="foldopened" onClick="hide_folder('1_2_1_2')">-</Span>
243 Buildings
244 <ul id="fold1_2_1_2" style="POSITION: relative; VISIBILITY: visible;"><li>Shipyard
245
246 </li>
247 <li>Dry dock
248
249 </li>
250 <li>Terminal building
251
252 </li>
253
254 </ul>
255 </li>
256 <li><span id="show1_2_1_3" class="foldclosed" onClick="show_folder('1_2_1_3')" style="POSITION: absolute">+</span> <span id="hide1_2_1_3" class="foldopened" onClick="hide_folder('1_2_1_3')">-</Span>
257 Vehicles
258 <ul id="fold1_2_1_3" style="POSITION: relative; VISIBILITY: visible;"><li>Container carrier
259
260 </li>
261 <li>Crane
262
263 </li>
264
265 </ul>
266 </li>
267 <li><span id="show1_2_1_4" class="foldclosed" onClick="show_folder('1_2_1_4')" style="POSITION: absolute">+</span> <span id="hide1_2_1_4" class="foldopened" onClick="hide_folder('1_2_1_4')">-</Span>
268 All pics should be self-shooted
269 <ul id="fold1_2_1_4" style="POSITION: relative; VISIBILITY: visible;"><li>This avoids copyright conflicts
270
271 </li>
272 <li>The requested buildings/vehicles must be found in reality
273
274 </li>
275
276 </ul>
277 </li>
278
279 </ul>
280 </li>
281 <li><span id="show1_2_2" class="foldclosed" onClick="show_folder('1_2_2')" style="POSITION: absolute">+</span> <span id="hide1_2_2" class="foldopened" onClick="hide_folder('1_2_2')">-</Span>
282 Slightly moved graphics (GIF)
283 <ul id="fold1_2_2" style="POSITION: relative; VISIBILITY: visible;"><li>Water surface
284
285 </li>
286 <li>Sky texture
287
288 </li>
289
290 </ul>
291 </li>
292
293 </ul>
294 </li>
295 <li><span id="show1_3" class="foldclosed" onClick="show_folder('1_3')" style="POSITION: absolute">+</span> <span id="hide1_3" class="foldopened" onClick="hide_folder('1_3')">-</Span>
296 Tick-based simulation
297 <ul id="fold1_3" style="POSITION: relative; VISIBILITY: visible;"><li><span id="show1_3_1" class="foldclosed" onClick="show_folder('1_3_1')" style="POSITION: absolute">+</span> <span id="hide1_3_1" class="foldopened" onClick="hide_folder('1_3_1')">-</Span>
298 Cronological job (cron)
299 <ul id="fold1_3_1" style="POSITION: relative; VISIBILITY: visible;"><li>Addional requirement for installation
300
301 </li>
302
303 </ul>
304 </li>
305
306 </ul>
307 </li>
308 <li><span id="show1_4" class="foldclosed" onClick="show_folder('1_4')" style="POSITION: absolute">+</span> <span id="hide1_4" class="foldopened" onClick="hide_folder('1_4')">-</Span>
309 Click-based simulation
310 <ul id="fold1_4" style="POSITION: relative; VISIBILITY: visible;"><li>User clicks a button, action performed
311
312 </li>
313
314 </ul>
315 </li>
316 <li><span id="show1_5" class="foldclosed" onClick="show_folder('1_5')" style="POSITION: absolute">+</span> <span id="hide1_5" class="foldopened" onClick="hide_folder('1_5')">-</Span>
317 Fully XHTML 1.0
318 <ul id="fold1_5" style="POSITION: relative; VISIBILITY: visible;"><li>Latest Internet standard
319
320 </li>
321 <li>Older browsers will make lesser trouble
322
323 </li>
324 <li><span id="show1_5_1" class="foldclosed" onClick="show_folder('1_5_1')" style="POSITION: absolute">+</span> <span id="hide1_5_1" class="foldopened" onClick="hide_folder('1_5_1')">-</Span>
325 Should validate with the W3C HTML Validator
326 <ul id="fold1_5_1" style="POSITION: relative; VISIBILITY: visible;"><li><a href="http://validator.w3.org" target="_blank"><span class=l>~</span>&nbsp;http://validator.w3.org
327 </a>
328
329 </li>
330
331 </ul>
332 </li>
333
334 </ul>
335 </li>
336 <li><span id="show1_6" class="foldclosed" onClick="show_folder('1_6')" style="POSITION: absolute">+</span> <span id="hide1_6" class="foldopened" onClick="hide_folder('1_6')">-</Span>
337 <span style="font-family: SansSerif, sans-serif; ">Design is CSS-based</span>
338 <ul id="fold1_6" style="POSITION: relative; VISIBILITY: visible;"><li>Themes are possible
339
340 </li>
341
342 </ul>
343 </li>
344 <li>Nice AJAX features
345
346 </li>
347 <li><span id="show1_7" class="foldclosed" onClick="show_folder('1_7')" style="POSITION: absolute">+</span> <span id="hide1_7" class="foldopened" onClick="hide_folder('1_7')">-</Span>
348 <span style="font-size: 116%;font-family: SansSerif, sans-serif; font-weight: bold; ">Website structure</span>
349 <ul id="fold1_7" style="POSITION: relative; VISIBILITY: visible;"><li><span id="show1_7_1" class="foldclosed" onClick="show_folder('1_7_1')" style="POSITION: absolute">+</span> <span id="hide1_7_1" class="foldopened" onClick="hide_folder('1_7_1')">-</Span>
350 <span style="font-family: SansSerif, sans-serif; font-weight: bold; ">External guest area</span>
351 <ul id="fold1_7_1" style="POSITION: relative; VISIBILITY: visible;"><li><span id="show1_7_1_1" class="foldclosed" onClick="show_folder('1_7_1_1')" style="POSITION: absolute">+</span> <span id="hide1_7_1_1" class="foldopened" onClick="hide_folder('1_7_1_1')">-</Span>
352 News on the front page (home)
353 <ul id="fold1_7_1_1" style="POSITION: relative; VISIBILITY: visible;"><li><span id="show1_7_1_1_1" class="foldclosed" onClick="show_folder('1_7_1_1_1')" style="POSITION: absolute">+</span> <span id="hide1_7_1_1_1" class="foldopened" onClick="hide_folder('1_7_1_1_1')">-</Span>
354 The news source can be choosen from different
355 <ul id="fold1_7_1_1_1" style="POSITION: relative; VISIBILITY: visible;"><li>Previously typed and stored in database
356
357 </li>
358 <li><span id="show1_7_1_1_1_1" class="foldclosed" onClick="show_folder('1_7_1_1_1_1')" style="POSITION: absolute">+</span> <span id="hide1_7_1_1_1_1" class="foldopened" onClick="hide_folder('1_7_1_1_1_1')">-</Span>
359 Local XML files
360 <ul id="fold1_7_1_1_1_1" style="POSITION: relative; VISIBILITY: visible;"><li><span style="font-family: SansSerif, sans-serif; ">Hint: Created by external generators</span>
361
362 </li>
363
364 </ul>
365 </li>
366 <li>Remote XMLs like RSS feeds
367
368 </li>
369
370 </ul>
371 </li>
372 <li><span id="show1_7_1_1_2" class="foldclosed" onClick="show_folder('1_7_1_1_2')" style="POSITION: absolute">+</span> <span id="hide1_7_1_1_2" class="foldopened" onClick="hide_folder('1_7_1_1_2')">-</Span>
373 The typer can choose a category
374 <ul id="fold1_7_1_1_2" style="POSITION: relative; VISIBILITY: visible;"><li>New categories can be suggested by the typer
375
376 </li>
377 <li>An admin can create new categories
378
379 </li>
380
381 </ul>
382 </li>
383 <li><span id="show1_7_1_1_3" class="foldclosed" onClick="show_folder('1_7_1_1_3')" style="POSITION: absolute">+</span> <span id="hide1_7_1_1_3" class="foldopened" onClick="hide_folder('1_7_1_1_3')">-</Span>
384 Comments are allowable
385 <ul id="fold1_7_1_1_3" style="POSITION: relative; VISIBILITY: visible;"><li>Logged-in users
386
387 </li>
388 <li><span id="show1_7_1_1_3_1" class="foldclosed" onClick="show_folder('1_7_1_1_3_1')" style="POSITION: absolute">+</span> <span id="hide1_7_1_1_3_1" class="foldopened" onClick="hide_folder('1_7_1_1_3_1')">-</Span>
389 Guests as well
390 <ul id="fold1_7_1_1_3_1" style="POSITION: relative; VISIBILITY: visible;"><li>Secured with CAPTCHA
391
392 </li>
393
394 </ul>
395 </li>
396
397 </ul>
398 </li>
399 <li><span id="show1_7_1_1_4" class="foldclosed" onClick="show_folder('1_7_1_1_4')" style="POSITION: absolute">+</span> <span id="hide1_7_1_1_4" class="foldopened" onClick="hide_folder('1_7_1_1_4')">-</Span>
400 One object for all news should be fine
401 <ul id="fold1_7_1_1_4" style="POSITION: relative; VISIBILITY: visible;"><li>Do not use one object per news entry!
402
403 </li>
404 <li><span id="show1_7_1_1_4_1" class="foldclosed" onClick="show_folder('1_7_1_1_4_1')" style="POSITION: absolute">+</span> <span id="hide1_7_1_1_4_1" class="foldopened" onClick="hide_folder('1_7_1_1_4_1')">-</Span>
405 The object receives a "Requestable" object
406 <ul id="fold1_7_1_1_4_1" style="POSITION: relative; VISIBILITY: visible;"><li>Obtain page number and sent comment data from it
407
408 </li>
409
410 </ul>
411 </li>
412
413 </ul>
414 </li>
415
416 </ul>
417 </li>
418 <li><span id="show1_7_1_2" class="foldclosed" onClick="show_folder('1_7_1_2')" style="POSITION: absolute">+</span> <span id="hide1_7_1_2" class="foldopened" onClick="hide_folder('1_7_1_2')">-</Span>
419 Registration form
420 <ul id="fold1_7_1_2" style="POSITION: relative; VISIBILITY: visible;"><li>One single page
421
422 </li>
423 <li>Multiple pages
424
425 </li>
426
427 </ul>
428 </li>
429 <li><span id="show1_7_1_3" class="foldclosed" onClick="show_folder('1_7_1_3')" style="POSITION: absolute">+</span> <span id="hide1_7_1_3" class="foldopened" onClick="hide_folder('1_7_1_3')">-</Span>
430 Login form
431 <ul id="fold1_7_1_3" style="POSITION: relative; VISIBILITY: visible;"><li>With guest login (disable by the admin)
432
433 </li>
434 <li>Password reminder
435
436 </li>
437 <li>Link to the registration form
438
439 </li>
440 <li><span id="show1_7_1_3_1" class="foldclosed" onClick="show_folder('1_7_1_3_1')" style="POSITION: absolute">+</span> <span id="hide1_7_1_3_1" class="foldopened" onClick="hide_folder('1_7_1_3_1')">-</Span>
441 Different login methods configureable by admin:
442 <ul id="fold1_7_1_3_1" style="POSITION: relative; VISIBILITY: visible;"><li>By username+password
443
444 </li>
445 <li>By email+password
446
447 </li>
448 <li>By username/email+password
449
450 </li>
451
452 </ul>
453 </li>
454 <li><span id="show1_7_1_3_2" class="foldclosed" onClick="show_folder('1_7_1_3_2')" style="POSITION: absolute">+</span> <span id="hide1_7_1_3_2" class="foldopened" onClick="hide_folder('1_7_1_3_2')">-</Span>
455 Wether cookie-based or session-based login
456 <ul id="fold1_7_1_3_2" style="POSITION: relative; VISIBILITY: visible;"><li>This shall be configureable by admin
457
458 </li>
459
460 </ul>
461 </li>
462
463 </ul>
464 </li>
465 <li><span id="show1_7_1_4" class="foldclosed" onClick="show_folder('1_7_1_4')" style="POSITION: absolute">+</span> <span id="hide1_7_1_4" class="foldopened" onClick="hide_folder('1_7_1_4')">-</Span>
466 Screenshot gallery
467 <ul id="fold1_7_1_4" style="POSITION: relative; VISIBILITY: visible;"><li>Comments are allowable
468
469 </li>
470 <li>Should be kept simple
471
472 </li>
473
474 </ul>
475 </li>
476 <li>List of enabled features
477
478 </li>
479 <li>Statistics of the game (not whole network!)
480
481 </li>
482 <li><span id="show1_7_1_5" class="foldclosed" onClick="show_folder('1_7_1_5')" style="POSITION: absolute">+</span> <span id="hide1_7_1_5" class="foldopened" onClick="hide_folder('1_7_1_5')">-</Span>
483 List of playing users
484 <ul id="fold1_7_1_5" style="POSITION: relative; VISIBILITY: visible;"><li>With link to their public profiles
485
486 </li>
487
488 </ul>
489 </li>
490 <li><span id="show1_7_1_6" class="foldclosed" onClick="show_folder('1_7_1_6')" style="POSITION: absolute">+</span> <span id="hide1_7_1_6" class="foldopened" onClick="hide_folder('1_7_1_6')">-</Span>
491 Pillory
492 <ul id="fold1_7_1_6" style="POSITION: relative; VISIBILITY: visible;"><li>Username (who got locked)
493
494 </li>
495 <li>Date&amp;Time
496
497 </li>
498 <li>The admin
499
500 </li>
501 <li>Stated reason
502
503 </li>
504
505 </ul>
506 </li>
507 <li><span id="show1_7_1_7" class="foldclosed" onClick="show_folder('1_7_1_7')" style="POSITION: absolute">+</span> <span id="hide1_7_1_7" class="foldopened" onClick="hide_folder('1_7_1_7')">-</Span>
508 Small extra pages
509 <ul id="fold1_7_1_7" style="POSITION: relative; VISIBILITY: visible;"><li>Imprint (required in Germany)
510
511 </li>
512 <li>Privacy policy (required in some countries)
513
514 </li>
515
516 </ul>
517 </li>
518
519 </ul>
520 </li>
521 <li><span id="show1_7_2" class="foldclosed" onClick="show_folder('1_7_2')" style="POSITION: absolute">+</span> <span id="hide1_7_2" class="foldopened" onClick="hide_folder('1_7_2')">-</Span>
522 <span style="font-family: SansSerif, sans-serif; font-weight: bold; ">Internal game area</span>
523 <ul id="fold1_7_2" style="POSITION: relative; VISIBILITY: visible;"><li><span id="show1_7_2_1" class="foldclosed" onClick="show_folder('1_7_2_1')" style="POSITION: absolute">+</span> <span id="hide1_7_2_1" class="foldopened" onClick="hide_folder('1_7_2_1')">-</Span>
524 News on first login page
525 <ul id="fold1_7_2_1" style="POSITION: relative; VISIBILITY: visible;"><li>Like on "home" page except that there is no captcha required
526
527 </li>
528 <li>Including history of recent events since last login
529
530 </li>
531 <li>Announcements in special sub-category for newly founded shipping/travel companies
532
533 </li>
534
535 </ul>
536 </li>
537 <li><span id="show1_7_2_2" class="foldclosed" onClick="show_folder('1_7_2_2')" style="POSITION: absolute">+</span> <span id="hide1_7_2_2" class="foldopened" onClick="hide_folder('1_7_2_2')">-</Span>
538 <span style="font-family: SansSerif, sans-serif; ">Create new game character</span>
539 <ul id="fold1_7_2_2" style="POSITION: relative; VISIBILITY: visible;"><li><span id="show1_7_2_2_1" class="foldclosed" onClick="show_folder('1_7_2_2_1')" style="POSITION: absolute">+</span> <span id="hide1_7_2_2_1" class="foldopened" onClick="hide_folder('1_7_2_2_1')">-</Span>
540 The gamer can have all varriants
541 <ul id="fold1_7_2_2_1" style="POSITION: relative; VISIBILITY: visible;"><li>This may be limitable by admin
542
543 </li>
544 <li>The player still cannot make contracts with own characters
545
546 </li>
547
548 </ul>
549 </li>
550 <li><span id="show1_7_2_2_2" class="foldclosed" onClick="show_folder('1_7_2_2_2')" style="POSITION: absolute">+</span> <span id="hide1_7_2_2_2" class="foldopened" onClick="hide_folder('1_7_2_2_2')">-</Span>
551 It should cost somewhere a fee
552 <ul id="fold1_7_2_2_2" style="POSITION: relative; VISIBILITY: visible;"><li>The fee shall be payed from user account
553
554 </li>
555
556 </ul>
557 </li>
558 <li>For first character creation he shall have enougth game money plus some extra
559
560 </li>
561 <li><span id="show1_7_2_2_3" class="foldclosed" onClick="show_folder('1_7_2_2_3')" style="POSITION: absolute">+</span> <span id="hide1_7_2_2_3" class="foldopened" onClick="hide_folder('1_7_2_2_3')">-</Span>
562 Types of characters
563 <ul id="fold1_7_2_2_3" style="POSITION: relative; VISIBILITY: visible;"><li><span id="show1_7_2_2_3_1" class="foldclosed" onClick="show_folder('1_7_2_2_3_1')" style="POSITION: absolute">+</span> <span id="hide1_7_2_2_3_1" class="foldopened" onClick="hide_folder('1_7_2_2_3_1')">-</Span>
564 Shipping company founder
565 <ul id="fold1_7_2_2_3_1" style="POSITION: relative; VISIBILITY: visible;"><li>This includes the fee for funding new company
566
567 </li>
568 <li><span id="show1_7_2_2_3_1_1" class="foldclosed" onClick="show_folder('1_7_2_2_3_1_1')" style="POSITION: absolute">+</span> <span id="hide1_7_2_2_3_1_1" class="foldopened" onClick="hide_folder('1_7_2_2_3_1_1')">-</Span>
569 A news for the community shall be placed
570 <ul id="fold1_7_2_2_3_1_1" style="POSITION: relative; VISIBILITY: visible;"><li>The admin/mod can still moderate it
571
572 </li>
573
574 </ul>
575 </li>
576
577 </ul>
578 </li>
579 <li><span id="show1_7_2_2_3_2" class="foldclosed" onClick="show_folder('1_7_2_2_3_2')" style="POSITION: absolute">+</span> <span id="hide1_7_2_2_3_2" class="foldopened" onClick="hide_folder('1_7_2_2_3_2')">-</Span>
580 Travel company founder
581 <ul id="fold1_7_2_2_3_2" style="POSITION: relative; VISIBILITY: visible;"><li>Like shipping company...
582
583 </li>
584
585 </ul>
586 </li>
587 <li><span id="show1_7_2_2_3_3" class="foldclosed" onClick="show_folder('1_7_2_2_3_3')" style="POSITION: absolute">+</span> <span id="hide1_7_2_2_3_3" class="foldopened" onClick="hide_folder('1_7_2_2_3_3')">-</Span>
588 Jobholder
589 <ul id="fold1_7_2_2_3_3" style="POSITION: relative; VISIBILITY: visible;"><li>Starts unemployed
590
591 </li>
592 <li>Some money left for sending applications out
593
594 </li>
595 <li>May ask goverment for financial help
596
597 </li>
598 <li><span id="show1_7_2_2_3_3_1" class="foldclosed" onClick="show_folder('1_7_2_2_3_3_1')" style="POSITION: absolute">+</span> <span id="hide1_7_2_2_3_3_1" class="foldopened" onClick="hide_folder('1_7_2_2_3_3_1')">-</Span>
599 Has to pay monthly fees
600 <ul id="fold1_7_2_2_3_3_1" style="POSITION: relative; VISIBILITY: visible;"><li>Rent for a "fake" house
601
602 </li>
603 <li>Meal and drinks (faked)
604
605 </li>
606 <li>Others costs like phone,electricity
607
608 </li>
609
610 </ul>
611 </li>
612
613 </ul>
614 </li>
615 <li><span id="show1_7_2_2_3_4" class="foldclosed" onClick="show_folder('1_7_2_2_3_4')" style="POSITION: absolute">+</span> <span id="hide1_7_2_2_3_4" class="foldopened" onClick="hide_folder('1_7_2_2_3_4')">-</Span>
616 Merchant
617 <ul id="fold1_7_2_2_3_4" style="POSITION: relative; VISIBILITY: visible;"><li>Raw resources
618
619 </li>
620 <li>Constructed ship parts
621
622 </li>
623 <li>Smaller complete ships
624
625 </li>
626
627 </ul>
628 </li>
629 <li><span id="show1_7_2_2_3_5" class="foldclosed" onClick="show_folder('1_7_2_2_3_5')" style="POSITION: absolute">+</span> <span id="hide1_7_2_2_3_5" class="foldopened" onClick="hide_folder('1_7_2_2_3_5')">-</Span>
630 Marketing Agency
631 <ul id="fold1_7_2_2_3_5" style="POSITION: relative; VISIBILITY: visible;"><li>Sells marketing/merchandising products
632
633 </li>
634
635 </ul>
636 </li>
637
638 </ul>
639 </li>
640 <li><span style="font-family: SansSerif, sans-serif; font-style: italic; ">This is only possible if account is activated</span>
641
642 </li>
643
644 </ul>
645 </li>
646 <li><span id="show1_7_2_3" class="foldclosed" onClick="show_folder('1_7_2_3')" style="POSITION: absolute">+</span> <span id="hide1_7_2_3" class="foldopened" onClick="hide_folder('1_7_2_3')">-</Span>
647 <span style="font-family: SansSerif, sans-serif; ">"Load" existing character</span>
648 <ul id="fold1_7_2_3" style="POSITION: relative; VISIBILITY: visible;"><li>Contains link to "Create new character"
649
650 </li>
651 <li>Player sees some basic data about listed characters
652
653 </li>
654 <li>Locked characters should not be removed instead marked with "Locked"
655
656 </li>
657
658 </ul>
659 </li>
660 <li><span id="show1_7_2_4" class="foldclosed" onClick="show_folder('1_7_2_4')" style="POSITION: absolute">+</span> <span id="hide1_7_2_4" class="foldopened" onClick="hide_folder('1_7_2_4')">-</Span>
661 Refill account points
662 <ul id="fold1_7_2_4" style="POSITION: relative; VISIBILITY: visible;"><li>The admin may choose if the in-game can be converted with a low rate to account points
663
664 </li>
665 <li><span id="show1_7_2_4_1" class="foldclosed" onClick="show_folder('1_7_2_4_1')" style="POSITION: absolute">+</span> <span id="hide1_7_2_4_1" class="foldopened" onClick="hide_folder('1_7_2_4_1')">-</Span>
666 This option might be disabled by admin
667 <ul id="fold1_7_2_4_1" style="POSITION: relative; VISIBILITY: visible;"><li>Then the gamer can only refill in-game money per character
668
669 </li>
670
671 </ul>
672 </li>
673
674 </ul>
675 </li>
676 <li><span id="show1_7_2_5" class="foldclosed" onClick="show_folder('1_7_2_5')" style="POSITION: absolute">+</span> <span id="hide1_7_2_5" class="foldopened" onClick="hide_folder('1_7_2_5')">-</Span>
677 Update gamer/user profile
678 <ul id="fold1_7_2_5" style="POSITION: relative; VISIBILITY: visible;"><li>Enter the current account password
679
680 </li>
681 <li>Send email to the user only if no email has changed, or if ...
682
683 </li>
684 <li><span id="show1_7_2_5_1" class="foldclosed" onClick="show_folder('1_7_2_5_1')" style="POSITION: absolute">+</span> <span id="hide1_7_2_5_1" class="foldopened" onClick="hide_folder('1_7_2_5_1')">-</Span>
685 Has the email been changed?
686 <ul id="fold1_7_2_5_1" style="POSITION: relative; VISIBILITY: visible;"><li>Send new confirmation to new email
687
688 </li>
689 <li>Send notifier to old email
690
691 </li>
692
693 </ul>
694 </li>
695 <li><span id="show1_7_2_5_2" class="foldclosed" onClick="show_folder('1_7_2_5_2')" style="POSITION: absolute">+</span> <span id="hide1_7_2_5_2" class="foldopened" onClick="hide_folder('1_7_2_5_2')">-</Span>
696 Change account password
697 <ul id="fold1_7_2_5_2" style="POSITION: relative; VISIBILITY: visible;"><li>Enter current account password
698
699 </li>
700 <li>Enter new password twice
701
702 </li>
703 <li>Send an email to the user
704
705 </li>
706
707 </ul>
708 </li>
709
710 </ul>
711 </li>
712
713 </ul>
714 </li>
715 <li><span id="show1_7_3" class="foldclosed" onClick="show_folder('1_7_3')" style="POSITION: absolute">+</span> <span id="hide1_7_3" class="foldopened" onClick="hide_folder('1_7_3')">-</Span>
716 <span style="font-family: SansSerif, sans-serif; font-weight: bold; ">General infrastructures</span>
717 <ul id="fold1_7_3" style="POSITION: relative; VISIBILITY: visible;"><li><span style="font-family: SansSerif, sans-serif; ">Point system (in-game money)</span>
718
719 </li>
720 <li><span id="show1_7_3_1" class="foldclosed" onClick="show_folder('1_7_3_1')" style="POSITION: absolute">+</span> <span id="hide1_7_3_1" class="foldopened" onClick="hide_folder('1_7_3_1')">-</Span>
721 A.I. goverment
722 <ul id="fold1_7_3_1" style="POSITION: relative; VISIBILITY: visible;"><li>Shall help unemployed gamers staying alive (but not becoming rich)
723
724 </li>
725 <li><span id="show1_7_3_1_1" class="foldclosed" onClick="show_folder('1_7_3_1_1')" style="POSITION: absolute">+</span> <span id="hide1_7_3_1_1" class="foldopened" onClick="hide_folder('1_7_3_1_1')">-</Span>
726 May later on collect taxes from companies
727 <ul id="fold1_7_3_1_1" style="POSITION: relative; VISIBILITY: visible;"><li>For paying unemployed people
728
729 </li>
730 <li>Financial support for broken companies
731
732 </li>
733
734 </ul>
735 </li>
736 <li>May ofer social security services
737
738 </li>
739 <li><span id="show1_7_3_1_2" class="foldclosed" onClick="show_folder('1_7_3_1_2')" style="POSITION: absolute">+</span> <span id="hide1_7_3_1_2" class="foldopened" onClick="hide_folder('1_7_3_1_2')">-</Span>
740 <span style="font-family: SansSerif, sans-serif; ">Goverment is not playable at the moment</span>
741 <ul id="fold1_7_3_1_2" style="POSITION: relative; VISIBILITY: visible;"><li>It should be "played" abstractly by the server
742
743 </li>
744 <li>Gamers may help each other with financial support
745
746 </li>
747
748 </ul>
749 </li>
750
751 </ul>
752 </li>
753
754 </ul>
755 </li>
756
757 </ul>
758 </li>
759 <li><span id="show1_8" class="foldclosed" onClick="show_folder('1_8')" style="POSITION: absolute">+</span> <span id="hide1_8" class="foldopened" onClick="hide_folder('1_8')">-</Span>
760 <span style="font-size: 116%;font-family: SansSerif, sans-serif; font-weight: bold; ">Strict coding guidelines for clean PHP code</span>
761 <ul id="fold1_8" style="POSITION: relative; VISIBILITY: visible;"><li><span id="show1_8_1" class="foldclosed" onClick="show_folder('1_8_1')" style="POSITION: absolute">+</span> <span id="hide1_8_1" class="foldopened" onClick="hide_folder('1_8_1')">-</Span>
762 <span style="font-family: SansSerif, sans-serif; font-weight: bold; ">General code structure</span>
763 <ul id="fold1_8_1" style="POSITION: relative; VISIBILITY: visible;"><li><span id="show1_8_1_1" class="foldclosed" onClick="show_folder('1_8_1_1')" style="POSITION: absolute">+</span> <span id="hide1_8_1_1" class="foldopened" onClick="hide_folder('1_8_1_1')">-</Span>
764 Fully object-oriented
765 <ul id="fold1_8_1_1" style="POSITION: relative; VISIBILITY: visible;"><li><span id="show1_8_1_1_1" class="foldclosed" onClick="show_folder('1_8_1_1_1')" style="POSITION: absolute">+</span> <span id="hide1_8_1_1_1" class="foldopened" onClick="hide_folder('1_8_1_1_1')">-</Span>
766 Use of different but practical design patterns
767 <ul id="fold1_8_1_1_1" style="POSITION: relative; VISIBILITY: visible;"><li>Factory-method pattern for smother initializing of objects
768
769 </li>
770 <li>Template method pattern where it matches
771
772 </li>
773 <li>MVC pattern for the website core
774
775 </li>
776
777 </ul>
778 </li>
779 <li>Only one index.php shall provide access to the whole game
780
781 </li>
782 <li>Slower in PHP5
783
784 </li>
785
786 </ul>
787 </li>
788
789 </ul>
790 </li>
791 <li><span id="show1_8_2" class="foldclosed" onClick="show_folder('1_8_2')" style="POSITION: absolute">+</span> <span id="hide1_8_2" class="foldopened" onClick="hide_folder('1_8_2')">-</Span>
792 <span style="font-family: SansSerif, sans-serif; font-weight: bold; ">Documentation</span>
793 <ul id="fold1_8_2" style="POSITION: relative; VISIBILITY: visible;"><li><span id="show1_8_2_1" class="foldclosed" onClick="show_folder('1_8_2_1')" style="POSITION: absolute">+</span> <span id="hide1_8_2_1" class="foldopened" onClick="hide_folder('1_8_2_1')">-</Span>
794 In-line documentation
795 <ul id="fold1_8_2_1" style="POSITION: relative; VISIBILITY: visible;"><li>Script header with full copyright and license as requested by GNU GPL 3
796
797 </li>
798 <li>Method headers with Doxygen compatible tags
799
800 </li>
801 <li>Comments above single lines for better understanding what is happening
802
803 </li>
804
805 </ul>
806 </li>
807 <li><span id="show1_8_2_2" class="foldclosed" onClick="show_folder('1_8_2_2')" style="POSITION: absolute">+</span> <span id="hide1_8_2_2" class="foldopened" onClick="hide_folder('1_8_2_2')">-</Span>
808 Files in directory "docs"
809 <ul id="fold1_8_2_2" style="POSITION: relative; VISIBILITY: visible;"><li><span id="show1_8_2_2_1" class="foldclosed" onClick="show_folder('1_8_2_2_1')" style="POSITION: absolute">+</span> <span id="hide1_8_2_2_1" class="foldopened" onClick="hide_folder('1_8_2_2_1')">-</Span>
810 COPYING*
811 <ul id="fold1_8_2_2_1" style="POSITION: relative; VISIBILITY: visible;"><li>License files
812
813 </li>
814
815 </ul>
816 </li>
817 <li><span id="show1_8_2_2_2" class="foldclosed" onClick="show_folder('1_8_2_2_2')" style="POSITION: absolute">+</span> <span id="hide1_8_2_2_2" class="foldopened" onClick="hide_folder('1_8_2_2_2')">-</Span>
818 Conception
819 <ul id="fold1_8_2_2_2" style="POSITION: relative; VISIBILITY: visible;"><li>As OpenDocument and later PDF as well
820
821 </li>
822
823 </ul>
824 </li>
825 <li><span id="show1_8_2_2_3" class="foldclosed" onClick="show_folder('1_8_2_2_3')" style="POSITION: absolute">+</span> <span id="hide1_8_2_2_3" class="foldopened" onClick="hide_folder('1_8_2_2_3')">-</Span>
826 NEWS
827 <ul id="fold1_8_2_2_3" style="POSITION: relative; VISIBILITY: visible;"><li>Latest news around the game (coeer and gamer)
828
829 </li>
830
831 </ul>
832 </li>
833 <li><span id="show1_8_2_2_4" class="foldclosed" onClick="show_folder('1_8_2_2_4')" style="POSITION: absolute">+</span> <span id="hide1_8_2_2_4" class="foldopened" onClick="hide_folder('1_8_2_2_4')">-</Span>
834 README
835 <ul id="fold1_8_2_2_4" style="POSITION: relative; VISIBILITY: visible;"><li>Includes installation instructions and general gaming guidelines
836
837 </li>
838
839 </ul>
840 </li>
841 <li><span id="show1_8_2_2_5" class="foldclosed" onClick="show_folder('1_8_2_2_5')" style="POSITION: absolute">+</span> <span id="hide1_8_2_2_5" class="foldopened" onClick="hide_folder('1_8_2_2_5')">-</Span>
842 ArgoUML diagram
843 <ul id="fold1_8_2_2_5" style="POSITION: relative; VISIBILITY: visible;"><li>For visualization of the class structure
844
845 </li>
846
847 </ul>
848 </li>
849 <li><span id="show1_8_2_2_6" class="foldclosed" onClick="show_folder('1_8_2_2_6')" style="POSITION: absolute">+</span> <span id="hide1_8_2_2_6" class="foldopened" onClick="hide_folder('1_8_2_2_6')">-</Span>
850 FreeMind document
851 <ul id="fold1_8_2_2_6" style="POSITION: relative; VISIBILITY: visible;"><li>...
852
853 </li>
854
855 </ul>
856 </li>
857 <li><span id="show1_8_2_2_7" class="foldclosed" onClick="show_folder('1_8_2_2_7')" style="POSITION: absolute">+</span> <span id="hide1_8_2_2_7" class="foldopened" onClick="hide_folder('1_8_2_2_7')">-</Span>
858 THANKS
859 <ul id="fold1_8_2_2_7" style="POSITION: relative; VISIBILITY: visible;"><li>All people helped in some direct or indirect way, less or more.
860
861 </li>
862
863 </ul>
864 </li>
865 <li><span id="show1_8_2_2_8" class="foldclosed" onClick="show_folder('1_8_2_2_8')" style="POSITION: absolute">+</span> <span id="hide1_8_2_2_8" class="foldopened" onClick="hide_folder('1_8_2_2_8')">-</Span>
866 minmap_yyyymmdd.html
867 <ul id="fold1_8_2_2_8" style="POSITION: relative; VISIBILITY: visible;"><li>Exported FreeMind maps to HTML with CSS and JavaScript
868
869 </li>
870
871 </ul>
872 </li>
873
874 </ul>
875 </li>
876
877 </ul>
878 </li>
879 <li><span style="font-family: SansSerif, sans-serif; font-weight: bold; ">Folding of the code</span>
880
881 </li>
882 <li><span style="font-family: SansSerif, sans-serif; font-weight: bold; ">Tabs and spaces</span>
883
884 </li>
885
886 </ul>
887 </li>
888
889 </ul><SCRIPT language=JavaScript>
890 fold_document();
891 </SCRIPT>
892 </body>
893 </html>