-
Notifications
You must be signed in to change notification settings - Fork 0
/
TODO
453 lines (320 loc) · 15.3 KB
/
TODO
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
aggiorn:
===============================================================================
AUTOBUS:
1. box per gli stat delle unitá: generico e prod menu
2. descrizione degli spec e stat almeno quelli usati
3. Dismiss degli incantesimi
4. Dismiss delle unitá
-battle spells vs overland spells
per adesso non c'e' differenza!!!
-ricostruire bene l'assegnamento dei pick,
i requirements CI SONO (lightlord/darklord!!) e vanno applicati
-implementare tutti gli spells (life), summon comprese, e i retort
-mentre una unitá si muove da una cella, le unitá che rimangono non
vengono visualizzate
"You will start casting NOW and it will require you XX turns to complete
the spell"
"You will start casting in about XX turns and it will require you XX turns
to complete the spell"
"You will cast this spell in about XX turns"
battle: clessidra mostra tempo rimasto per il combatt.
TEST
BUGS, MAJOR:
BUGS, MINOR:
le unitá si sbarellano quando entrano in combattimento.
creare una uobENTER, in modo che entrino tutte con la stessa velocitá?
>il massimo sarebbe farle andare avanti nella stessa direzione solo
se hanno spazio... serve una umMoveLow dedicata per fare questo, che
farebbe comodo anche per il comando wave.
(potrei mettergli un angolo di divergenza minimo... se per muoverti devi
andare ad un angolo che supera di uno quello che sarebbe imposto,
aspetti o attacchi)
cityMenu/counters: le incudini non vengono disegnate completamente.
l'icona davanti si sovrappone?
CLEANING:
ADD FEATURE:
overland: da mattina a tramonto a seconda di quanti giocatori hanno
completato il turno
------------------------------------------------------------------------------
Prime cose da fare con galilei:
5. razze: suoni, "base stats", ske multipli
9. diplomacy
-------------------------------------------------------------------------------
-nell'economy box, aggiungere il simbolo alchemy
se autoalchemy é attivo
-------------------------------------------------------------------------------
Musica: all'inizio il volume é a zero, poi man mano sale fino al volume
settato.
-------------------------------------------------------------------------------
attacco interrompibile finché non é stato inflitto il danno/creato il
proiettile
-------------------------------------------------------------------------------
evilOmeter quanta gente uccidi
powerOmeer quanto conquisti
cityOmeter quanto sono contenti i cittadini
cittá distrutta: -= popolazione
compra blds che danno cibo o unrest: += costo + denaro speso
------------------------------------------------------------------------------
> il middle click sulle unitá, oltre alla finestra dei dettagli,
dá la possibilitá di lanciare direttamente ench.
> Stesso per ogni altro ench
> Incantesimi ad area nelle battle, marking box col middle
------------------------------------------------------------------------------
Come sistemo 'sta roba??
MOUSE R vs M
-middlepanel: unit details vs +select
-menu battle: order vs details
-menu land: surveyor vs order
------------------------------------------------------------------------------
Le mura si riparano sempre.
Se la cittá ha uno stone wall ogni turno una sezione viene riparata automatica
mente.
Il giocatore ha comunque l'opzione di demolire il muro e rifarlo.
------------------------------------------------------------------------------
Nessun limite alle unitá in una cella, me se !battle aumenta l'upkeep.
------------------------------------------------------------------------------
Chi sconfigge definitivamente un mago puó scegliere uno dei suoi retort
------------------------------------------------------------------------------
Conjurer permette di mettere il SC anche nei Neutrals e nei nodi
------------------------------------------------------------------------------
Bonus razziale al TxC ignorato per Range Magic
------------------------------------------------------------------------------
Aggiungere un segnalino 8x prima degli stat di una unitá
(bisogna far capire in qualche modo che il numero di figure non é solo
estetica!)
------------------------------------------------------------------------------
Testo: vedi NOTES/fnt
-----------------------------------------------------------------------------
-Le linee della minimap cambiano dimensioni se landmenu non visualizza
alcuna cella.
1) perché cambia la dimensione della linea? c'é un SetLineWidth() giusto prima
2) NON E'UNA TEXTURE STATICA!?
->C'é una trasparenza che non dovrebbe esserci, forse é quello
------------------------------------------------------------------------------
-multiplayer menu: se un client si sgancia il server non lo scarica
>bisogna riscrivere o almeno riorganizzare il codice di rete:
l'informazione di connessione persa deve poter arrivare al server loop!!!
------------------------------------------------------------------------------
-Dare un costo al road pathing che includa, di un ordine di grandezza minore,
il costo di costruzione
-----------------------------------------------------------------
-Togliere il localfocus e far inizializzare la city nel citymenu
ad OGNI ciclo?
(sarebbe piú pulito, anche perché temo che il controllo venga fatto comunque
ad ogni ciclo....)
>Problema, cosa fa il menu in caso di focus non utile?
come fa a capie se é sparita la cittá o se é il focus che deve ancora
arrivare?
-posso fargli lanciare un cmd("focus x y z"); se il focus non corrisponde
e poi tenere un puntatore dell'ultimo focus di cui ho lanciato il
comando.... che é esattamente quello che fa localfocus.... -_-
e se controllo, ad ogni ciclo, solo il localfocus?
>dovrei avere la garanzia che il focus segue localfocus di pochi secondi!
basta controllare bene il codice e aggiungere un paio di commenti.
------------------------------------------------------------------------------
invisibilitá: -3 ToHit in Melee
(significa che senza almeno un +1 ToHit una unitá non é in grado di attaccare!)
------------------------------------------------------------------------------
ogni cittá ha una dimensione per ogni giocatore, corrispondente
all'ultima TotalPop con cui é stata vista da quel giocatore
0 -> il giocatore NON SA della cittá!!!
----------------------------------------
FOVSweep
disegnare una striscia orizzontale per volta, completa di tutti gli oggetti,
dalla piú lontana alla piú vicina, in modo che gli oggetti si sovrappongano
correttamente.
------------------------------------------------------------------------------
Nela fortezza il costo degli incantesimi é 0!
-creare un battleC::StartTime prima del quale NON si possono dare comandi
e prima del quale la pausa non ha effetto.
(in realtá dovrebbe essere possibile dare comandi concatenati, ma come?)
(> gli ordini che non si completano, HOLD, WAIT etc, possono completarsi
se ci sono altri ordini in coda)
e se faccio in modo che, se un giocatore ha un solo combattimento,
viene portato automaticamente lá senza pausa?
->Assolutamente da fare, velocizza il gioco mostruosamente.
problema: come fa il giocatore a sapere dove cazzo é il combattimento?
>dovrei farglielo vedere prima sulla mappa
>oppure mettere disegnare la minimappa in combattimento con il simbolo
di battaglia ad indicarene la locazione, scompare (in trasparenza =)
in 5 secondi.
praticamente ogni volta che si crea una nuova battaglia, se il giocatore
non ne ha altre in corso (in pausa o meno) si apre automaticamente il menu.
possibilmente con una panoramica sule proprie unitá.
>mostrare anche il numero di altri combattimenti (oppure un'icona per
ciascuno, per raggiungere il combatt direttamente cliccando)
>servirebbero anche delle notifiche di inizio/fine battaglia, tutte da
mettere nel log degli eventi
----------------
build road
* sarebbe carino buttare tutto dentro menu_land
cioé, niente popup!
* quale tasto uso per confermare la strada?
-> il DX é comando di -default- quindi va bene non usarlo per
il movimento.
>va bene usare il SX
unitPathSetRoad()
< viene de-settato da unitPathfind() alla fine del pathing
< forza unitPathfind ad usare una diversa heu/cost
menuLand deve comunicare alla popup la cella di destinazione
se la celldest e'diversa da quella prec, rifai il pathing
mostra costo in turni
------------------
-le unitá continuano a non attaccare quando devono, cazzo!!!!
-unitá aggira per arrivare in melee su un nemico
-é possibile che le celle effettivamente non occupabili
e quelle visualizzate non corrispondano.
sembra che il combattimento funzioni e le unitá non attacchino solo
perché 'si intestardiscono' su un obbiettivo non raggiungibile.
> usare l'ActionReport per cambiare targ
-------------------------
battlemenu & midpanel-> MARKING BOX!!!!
>battlefield ottagonale?
(usando le BCF_, anche per gli escape)
-se il combatt é in pausa, mostrare il targ delle unitá.
chiamate successive ad orderC::Display() ognuna delle quali puó
spostare il punto in cui disegnare?
-FIRST STRIKE
action first strike: l'unita' attacca da distanza FS
e continua ad avanzare fino a portarsi a distanza melee
dove viene inflitto il danno
-hills: il vertice centrale e' impostato alto come
il piu' alto degli altri vertici
-mountains: il vertice centrale viene alzato di un po' rispetto al
piu' alto degli altri vertici
-eventi: frase, posizione-> automatico per tutti quelli che
vedono "posizione"
>devono poter essere dichiarati con una maschera che indica
CHI puó vederli!
-popup per gli eventi
-un evento deve poter essere aggiornato
(tipo battaglia che finisce, creare due eventi incasina il giocatore)
Ordini di base:
Attacca nemici in raggio :hold, wave, move(blocked), attack(blocked)
Raggiungi e attacca nemici
-unire orderSetAction e orderCompleted
(stesso discorso per actions?)
-spellbook
----- EVERBORN -------------------------------------------------------------
"In the beginning, the Everborns created Chaos.
Chaos created Nature, and Nature created Thought.
Thought created Good and Evil.
A quest for power then began."
A fine gioco (ma non sempre) dopo gli stat di fine partita:
"That was cool. Let's do another one, but we strip that 'magic' thingy
and we put -this- instead. I called it Quantum Physics...
And I want spherical planets, flat sucks!"
"Ah! Spherical planets... You're such a faggot!
But I like that 'quantum' stuff... sounds cool!
Y'know what? I'm taking the popcorn..."
-------------------------------------------------------------------------------
mouse#() diventa inputMouse#();
mouse#() é una funzione del menu e viene ripristinata
per ogni layer del menu
In questo modo il tasto premuto puó passare da una popup
al menu
-
popup non devono aver bisogno di menuCheck o menuOpen,
non devono avere bisogno di un nome perché tanto non
sono richiamabili da comando.
Forester/Mountaneer
Il movimento cambia anche in combattimento!!!
tipo alberi/rocce dove possono muoversi solo le unitá
con lo special.
battle:
allentrata in battaglia ai team viene assegnato un numero per
la selezione rapida (1,2,3... 0)
combattimento:
le celle di escape diventano una BCF_
->questo potrebbe permettere di fare un pathing decente per la fuga?
->in ogni caso, aumentare il costo di passaggio
Sistema di gestion del "dramma" del combattimentio: piú é grosso l'esercito
piú indietro parte.
A fine turno disband() di tutte le unitá oltre la 32 in una stessa cella
non coinvolte in un combattimento.
aggiungere spell
minimap cliccabile
wraparound lungo x
viewbox che si sposta lungo la y
EndOfTurnSummary!
rivedre crescita, permette pop troppo alte
immagini dei bottoni: figure astratte (xarvh demo!), no "foto"
bug: alcuni menu non controllano che ci sia il game o meno
e vanno in seg fault: creare funzioni di controllo
isGameAvailable()
isSelfAvailable()
isFocusAvailable()
isBattleAvailable()
....
SPECIALS/COUNTER/PRODMENU
integrare un po' meglio il tutto
spcC e statC non dovrebbero stare in txtC
il prodMenu dovrebbe usare una fake unit
--->mettere gli stat come attributi stringa? O_o
utypeC.Specials(int) deve diventare di unitC.
sistemando bene gli stat, si possono:
TOGLIERE I LIVELLI DELLE UNITA':
eliminare i livelli: le singole caratteristiche aumentano
coi fallimenti.
Il totale delle caratteristiche guadagnate per esperienza
viene usato per determinare il titolo (Recruit,Regular,Veteran etc..)
UNDEAD:
le unitá che -diventano- non morte sono "zombie"
bug: battle map_view non centrato quando lo zoom é minimo
MINIMAP:
-aggiustare il rapporto w/h in modo da mantenere le celle quadrate!!!
(adesso funziona solo per mappe quadrate!!!!!)
-click su minimap
TITLES!
ogni volta che un giocatore fa qualcosa di figo (da definire)
puó aggiungersi un titolo: gli altri giocatori possono votare
il titolo: non ha effetto sul gioco se non per il punteggio finale,
come bonus di "roleplay" (sarebbe carino riuscire a puntare molto sul
roleplay..)
Stesso per gli eroi: ogni tot livelli, il giocatore che li controlla
puó dargli un titolo.
COMMANDS:
overland: "hold" causa blockade ed esclude le unità da un eventuale auto
selection.
"wait" non causa blockade.
aggiungere flags agli ordini:
ORDER_IGNOREAUTOSELECT
ORDER_CAUSESBLOCKADE
ORDER_DEFAULT? <-- puntatore che viene cambiato su questo!
OVERLAND:
unità cambia dimensioni a seconda della forza dell'esercito
BATTLE:
Unità che esultano?
-> anche in overland, finchè non viene dato
un nuovo comando o non cambia turno
Le unità sono automaticamente gruppate per overland team.
I team possono essere selezionati con i numeri (1,2,3,4...)
MOSTRI ERRANTI:
quando c'è da creare un mostro errante, un giocatore (a caso? a turno?)
senza preavviso sceglie dove crearlo o contro chi.
(tipo: scegli un giocatore e il mostro viene creato vicino ad una città
di questo giocatore)
REWRITE:
network: un canale solo, multithreading?
LATE JOIN/RESTORE/SAVE
3 modes: GUI, Server, AI (python player!)
passare game e cmdGetBrain alle funzioni cmdGXXX e cmdCXXX
game dovrà essere passato anche a tutte le display/input?
->no, quelle usano direttamente gameLocal invece di gameTrue
data: permettere texture duplicate (stessa
texture indicizzata da due diverse dataC)
TERRENO
ombra: scurire i vertici a seconda dell'altezza dei vertici a sinistra?
il terrain renderer fa schifo
e anche il generatore
-generare i tipi di terreno forzando proporzioni fisse?
(40% mare, 20%pianura 10%montagne 2%paludi....)
proporzioni fisse anche per i plus (esempio: tot adamantio ogni 1000 celle..?)
render:
- dislivelli di terreno: i vertici agli angoli rimangono sempre a 0, quelli ai
punti cardinali si muovono per collegarsi alle celle adiacenti per creare catene montuose (ala MOM?)
-Pathfinder
-mettere le tappe nel path, deve interrompersi su terreno non raggiungibile,
possibilmente con segnale di errore...
-aggiungere ai blds una "altezza" in modo da disegnarli in scala?
[eof]