Azioni

Differenze tra le versioni di "Note"

Da Wikis.

m (Deploy)
m (Deploy)
Riga 106: Riga 106:
 
* Server web (Apache) ospita partite (+ localmente ha i file di funzionamento), in LAN client giocano o da remoto con IP pubblico. Interfaccia HTML5 + Javascript per giocare. Studiare engine grafici Javascript
 
* Server web (Apache) ospita partite (+ localmente ha i file di funzionamento), in LAN client giocano o da remoto con IP pubblico. Interfaccia HTML5 + Javascript per giocare. Studiare engine grafici Javascript
 
* bootstrap! (specie per input box)
 
* bootstrap! (specie per input box)
 +
* https://bit.dev/ per molti componenti web
 +
* React, React Native .. forse meglio di Vue per diffusione
 
* Unity, WebGL (vedi SDK dedicata, built per Android/iOS/etc.)
 
* Unity, WebGL (vedi SDK dedicata, built per Android/iOS/etc.)
 
* Modelli 3D videogiochi: https://www.models-resource.com/ , meglio se disaccoppiati da Unity (e.g. in cartelle independenti), aggiunta modelli online
 
* Modelli 3D videogiochi: https://www.models-resource.com/ , meglio se disaccoppiati da Unity (e.g. in cartelle independenti), aggiunta modelli online

Versione delle 19:42, 13 giu 2020

Note

Vedere altre note su fogli di carta e promemoria del telefono. Ce ne sono molte. La copiatura dai fogli di carta dei continuare da pagina 4 ("alterare param..").

Inspirational Concepts

  • Gioco Lotta (Pokémon, Pokkén)
  • no caselle esplicite
  • Descrizione rispetto a: ambiente, nemico, oggetti
  • pokémon, DnD, Call of Duty, Super Smash Brawl, corse pazze
  • concentrarsi su: fluidi, telecinesi, razze, bonus/malus, gradi di libertà (fisicamente parlando)
  • scacchi (es. crea casella), shaolin showdown
  • prevedere = creatività
  • acqua, aria, fuoco, terra
  • gravità (newton), verso alto, basso, destra, sinistra, circolare, tutti i versi
  • jumanji, savana, animali, zoologia
  • tempo/spazio
  • BF4, pirati, roma (imperium civitas)
  • musica come arma (rap)
  • magia, prestigiatori
  • dinosauri (documentario, libro, zoologia)
  • avengers, supereroi (libro)
  • Looney toons

Personaggi (con statistiche e stati)

  • combattenti (con statistiche e stati)
  • immagine rappresentativa per rappresentare meglio
  • HP: colore rosso su immagine personaggio, dove sei debole/già colpito (idea scartata)
  • penitenza: il malus può essere inteso come ciò che c'è nell'inserimento successivo, malus cumulativo
  • essere ipocrita, finzione (schermo)
  • elettronica => miniaturizzarsi (personaggi)
  • metamorfosi
  • alchimisti


  • possibilità giù in terra/ giù in acqua, con reachable e unreachable Boolean. Fuori da mappa anche reachable e unreachable.
  • Personaggi composti di parti[] es. testa, busto, gambe, braccia, coda, pinna, ali. Distinzione per arto di movimento e/o spostamento boolean.
  • Arti possono provocare danno, bruciatura , paralisi a contatto (Boolean) . Percentuale di probabilità accompagna ogni Boolean.
  • Ogni parte del corpo punti vita + se inutilizzabile + amputata + stato (es paralisi).
  • Per fare battaglie tra molto grandi => 1 m lo si intende come 10m. (rivalutato, aumentare livello scaling)
  • Personaggio fusionabile Boolean + string nomi con cui si fonde.
  • Distinzione tra infernape e infernape1/2/3 ect tra “specie” e “nome”.
  • variabile Boolean respawnable.
  • Raccogliere a piene mani da: https://spore.fandom.com/wiki/Creature_Editor
  • Ad esempio weapons come elemento di Corpo (zanne, corna) e possibilità di muoversi/attaccare furtivamente.
  • Divisibile e unibile come boolean e array di stringe associate per indicare i nomi con cui si unisce il Personaggio o in cui si divide.
  • Variabili posizione nome: from_x/y ; to_x/y.
  • Classe Stato, Personaggio contiene Array di stato, stato contiene moltiplicatori per statistica es attacco velocità precisione elusione ect.
  • Personaggio deve avere una stat tipo sanità mentale, intelligenza, quanto è confuso e quanto è impaurito (2).
  • Per personaggi molto piccoli (meno di 1m x 1m x 1m) possibilità di essere in (x,y,z) tra 0 e 1.000.000 (ordine del micrometro, 1*10^-6 == 0,000001) e avere (lenX, lenY, lenZ). In questo modo sono definite dimensioni inferiori ad 1 m^3.
  • personaggi max 20x20 (rivaluato, meno limitata)

Mosse

  • "combattimento prescinde da combattente"
  • mosse hanno: direzione, azione, attacco (mosse pokémon)
  • Parametri interi per mossa (direzione, consumabili) con lower e upper bound
  • camuffarsi => DnD manuale
  • wrestling (libro) per le mosse/prese
  • X fa una mossa contro Y: Z potrebbe reagire (Es. ricevendo il colpo al posto di Y). Può essere realizzato sia come se "Y chiede soccorso Z" o come reazione di alleati adiacenti "Z soccorre Y"
  • Mossa prende come parametro di ingresso Corpo, ossia la parte del corpo coinvolta nella mossa (es arto , tutto corpo ect).

Oggetto (con statistiche e stati)

  • armi: lacci (stati), lame (potenze), sassi, reti, pistole (munizioni), razzi, bombe (potenze), fuoco (d'artificio?) => manuale DnD
  • veleno n modi => DnD manuale
  • elettronica => miniaturizzarsi (oggetti)
  • automezzi con cannoni, variabile 'hasEntrata', 'tempoRiutilizzo'
  • violino come arma (tutti strumenti musicali): a fiato, a corda, a percussione
  • veleni, ampolle e flaconi magici, insieme di 'oggetti dentro' un oggetto
  • Classe oggetto: es albero, roccia, casa: forza necessaria per sradicare + forza per lanciare + destrezza / agilità per appendersi + nascondersi in proporzione alle dimensioni di chi si nasconde.
  • Altri es. pali. Sotto terra o sotto acqua/lava/melma o simili.
  • Acqua rallenta se non hai pinne boolean.
  • Classe strumento per oggetti che si tengono in mano, es reti , pistole, spade, pugnali, scudi, elmi, lancia, arco , frecce, lanciarazzi, fucili cecchino, fucile assalto, corde.
  • Strumenti e mosse: danno ad area, perforante, contundente (vedi dnd armi). Mosse possono creare/modificare/distruggere oggetti e strumenti.
  • Oggetti del campo di gioco incidono su elusione (parametro di personaggio).
  • Buco/abisso (boolean) per dire se c’è o meno il suolo (Suolo come classe?).
  • Radiazioni.

Modalità gioco

  • turnazione
  • 1 v 1 v 1 etc., ma anche squadre casuali
  • punteggio: chi fa più punti, più uccisioni, definizione di 'punto', gioco per perdere
  • inserisci personaggio total random
  • Modalità battaglia con interazione stile battaglia navale (non si vede mossa dell'avversario)
  • Modalità di gioco: tutti contro tutti (battle royale), death match, vs CPU mode zombie(attaccano solo, se non possono vanno verso nemico): serve introdurre un punteggio, di sicuro per mode zombie , ma anche per death match e tutti contro tutti
  • ingressi: ne entra un altro?

Mappa

  • arene
  • minimappa (pixelata ?), legenda oggetti base, devono esserci caselle implicite
  • mappa 100x100 (rivalutato, meno limitata)
  • Cannoni fissi in mezzo al campo (strumento).

Funzionalità generali

  • Chiave: non una flat input box per i comandi; ma dinamica: si suppone il soggetto "io" (le azioni le fanno in prima persona i personaggi), ogni mossa deve prevedere dei complementi ("verso", "tra quanto", "cosa", "a favore di chi", "contro chi"). Ogni complemento collegato con box stile in pop up => bootstrap (la grafica sara unica). Prevedere anche modalita flat con input del tipo "azione a=pippo verso=termoli" (regex check)
  • "meno tabelle", "no bottoni" e solo foto che si alternano, "la grafica serve": text box unica interazione, text area (history), immagine personaggio e immagine mappa
  • "persistenza anche da interfaccia grafica", diritti di scrittura sui file?
  • Segnalazione (comando per fare nota)

Deploy

  • "commenta il codice", "dividi et impera"
  • Server web (Apache) ospita partite (+ localmente ha i file di funzionamento), in LAN client giocano o da remoto con IP pubblico. Interfaccia HTML5 + Javascript per giocare. Studiare engine grafici Javascript
  • bootstrap! (specie per input box)
  • https://bit.dev/ per molti componenti web
  • React, React Native .. forse meglio di Vue per diffusione
  • Unity, WebGL (vedi SDK dedicata, built per Android/iOS/etc.)
  • Modelli 3D videogiochi: https://www.models-resource.com/ , meglio se disaccoppiati da Unity (e.g. in cartelle independenti), aggiunta modelli online
  • creare modelli: blender. creare disegni: krita
  • Tutorial tank Unity: https://learn.unity.com/project/tanks-tutorial ; modelli: https://opengameart.org/
  • WebSocket per gestire client asincroni (NodeJS ?)
  • Su YT in “guarda più tardi” video per interagire unity con JS (“unity.sendMessage()” o simili)
  • Due client: uno con WebGL e uno JS base con solo input (per test, per mancanza di supporto browser a WebGL). Eventualmente 3 client: 1 base (JS puro con qualche immagine al più), 1 WebGL+Unity 2D (grafica pixelata), 1 WebGL+Unity 3D (informazioni di input per mirare, ad es., in base a dove punto nello schermo. Qualcosa di simile anche per 2D). Tutti i client stessi JSON per comunicare al server!
  • photogrammetry, https://medium.com/realities-io/getting-started-with-photogrammetry-d0a6ee40cb72
  • roll20.net .. c'è davvero molto
  • readthedocs.org

Altro (scartato)

  • rpgmaker, godot, aseprite, pixelart (in generale), ma anche phaser, piskel
  • joomla! Per far prima con html
  • libreria pygame
  • Vuegg: https://github.com/marketplace/vuegg
  • Material Design
  • JAVA: Class.forName(<name>.class).newInstance();

Copia&incolla generale, da smistare in sotto capitoli. Contiene anche tutte note del telefono (al 22/02/2020)

Da GIOCO 1:

Mosse che trasformano l’avversario: attenzione è una mossa devastante. Trasformazione totale o parziale. Si devono poter aggiungere mosse, strumenti dinamicamente. Battle bot:ribaltano, scintille, elementi (Oggetti) che danneggiano. One piece: I frutti del diavolo (悪魔の実 Akuma no mi?) sono frutti misteriosi che donano poteri soprannaturali a chi li mangia, rendendoli però incapaci di nuotare. Di conseguenza il contatto con l'acqua di mare o con una speciale sostanza conosciuta come agalmatolite indebolisce gli utilizzatori di frutti del diavolo e li priva dei loro poteri. Alcune persone sono inoltre in grado di ricorrere all'Ambizione (覇気 Haki?), una forza spirituale che permette di avvertire la presenza di altri esseri viventi e di predirne i movimenti, di irrobustire parti del corpo e di intimidire o fare svenire le creature con una debole forza di volontà. Personaggio ha funzione baricentro_x, baricentro_y calcolate come (from_x+to_x)/2 sul quale si basa la funzione di libreria getDistance(Personaggio A, Personaggio B, float success); tale funzione serve per calcolare per i PNG e per i PG se ha senso usare una mossa. Non-onniscienza: delle volte non si può sapere distanza avversario e fallisce la mossa per la distanza -> “float success” rappresenta la probabilità di successo (Personaggio ha parametro “osservare”). PNG di due categorie: offensivi o neutrali (no priorità a mosse di attacco, ma tutto casuale). Mosse e oggetti per chiamare Personaggi, magari non necessariamente alleati (2 mosse e 2 oggetti quindi necessari), richiamo di un personaggio preciso o di uno a caso. Ogni mossa/azione deve avere un tempo di attesa espresso in turni (alla meglio 0) per poter ripetere la mossa/azione. Strumenti anche mezzi di trasporto di aria, di terra, di acqua (o lava/palude). Possono attivare una metamorfosi / Unione per cambiare stats personaggio. Veicoli con armi o riparo. Gli strumenti da trattare come gli oggetti. Classe unica? I match/partite (immagino Classe Partita) devono avere variabile boolean “respawn”, per distinguere death match a punti con death match con una vita. Wrestling per ispirarsi nella lotta libera: calci pugni ginocchiate prese lanci salti testate gomitate ecc. Per punti si vince a un limite o dopo un tot di mosse , oppure al primo dei due raggiunti (max_punti e max_mosse parametri di Partita). I punti si guadagnano alla kill (un Punteggio per squadra, int punteggio salvato localmente dentro ogni Personaggio che ha la variabile int squadra). Si guadagnano tanti punti quanti sono i punti della variabile “valore” del personaggio ucciso, tale variabile è calcolata come somma dei valori di tutte le mosse/stats ect del Personaggio. Imperium civitas. Attacco dei giganti. Possibilità di morire se colpiti in un unico punto (tallone d Achille) implementabile come variabile boolean. Jump force. Game dev tycoon. Acqua diventa tsunami. Variabile int per attacco cumulativo di gruppo: es calciatori che più si passano la palla più l’attacco è forte. Suolo magico: non tutti i personaggi possono accedervi, array di string elenca i nomi di chi può accedervi. Funzione esci/entra in classe Personaggio per simulare scambio pokemon 6vs6. Piovra gigante. Rischio=danno*probabilita. Mossa su strumento e con strumento? Mosse fisiche per arrampicarsi su avversario(se e solo se sei la metà di dimensioni(?)), atterrarlo, lanciarlo, accecarlo, immobilizzarlo. Se sei in gruppo/ orda bonus ad attacchi combinati. Armi: fruste e scheggie, corni che si suonano per chiamare altri. Tipo della mossa con moltiplicatore tra 0 (immune) e 2 (float): acqua, fuoco, magia, terra: da ispirarsi ai pokemon ma non da copiare, penso. Armi da campo: cannoni e catapulte. Veicoli d’acqua: moto acqua, canoe, barche a motore a remi. Nei veicoli malus su attenzione (variabile int in personaggio, indica attenzione in combattimento e non in altro) perché si è impegnato alla guida . All’inizio in image view “the hero” e “the map”. Condizione vittoria (oltre a morte, punti, o numero mosse, cioè tempo) morte di un singolo Personaggio, che potrebbe rappresentare un edificio, cassaforte o simili. Personaggio si può svestire e lasciare strumenti, modificano statistiche di attacco, difesa , agilità, ect. Variabile luce o non luce, che peggiora/migliora a seconda della specie la visibilità, quindi la precisione , specie in attacchi a distanza: Scurovisione evita i malus.

Da GIOCO 2:

Gioco2: se ci si lancia da oggetti , dopo essersi arrampicati, possono esserci danni da caduta; strumenti come paracaduti o mosse magiche possono evitare i danni. Pozione del vento, soffi e devi attacchi. In difesa puoi parare, schivare, deviare: tre variabili? Ambiente: colline e pianure uguali, Monti sono Oggetti, picco ossia un unico monte oggetto. Rocce volanti, nuvole sospese: oggetto può essere sospeso e può fare periodicamente una mossa, ad es tuono, può spostarsi, può fare entra/esci, oggetto albero e oggetto foresta, si possono prendere, nascondersi, arrampicarsi, lanciarli, ostacolano velocità ma se si ha abbastanza forza si spezzano alberi. Acqua poco profonda, profonda, molto profonda: variabile boolean in Personaggio “alto” per toccare in acqua profonda, con acqua si generano fiumi laghi e mari. Ambiente si deve poter evolvere: ad esempio oggetto diga può fare metamorfosi e diventare oggetto cascata/torrente in piena. Per edifici più oggetti che rappresentano le mura e il tetto, variabile boolean per oggetto per entrare nell’oggetto. Possono essere spazzati via: danni da crollo, si può combattere all interni, contengono strumenti come tavoli sedie mobili letto ect. Se uno viene schiantato contro uno strumento prende danno(es danno da schianto). Ci possono essere scale, si può non avere contatti visivo sull’avversario. Oggetto mura, oggetto torre, oggetto casa interno sono cose distinte: possono dare malus/bonus su visibilità. Ambiente: pozzi e grotte, da gestire come interno casa. Lava come acqua, ogni oggetto può essere sorgenti di liquido: monte sorgente acqua, vulcano sorgente lava. Può esserci variabile probabilità eruzione, se settata a 1 c’è una continua eruzione. Strade di vario tipo, sovrapposta a altri suoli, migliorano velocità di alcuni strumenti, variabile boolean “ha le ruote” in classe strumenti. Unificare classe strumento e classe oggetto. Oggetti sospesi: case sospese su albero, ad es. Fiamme in mezzo al suolo. Oggetti: porto, aereoporto, grattacieli, dighe, impianti a fune, ospedali per curarsi e prendere oggetti per curarsi dopo, scuole contenenti libri per apprendere una mossa, luoghi di ingegneria per creare oggetti, ad esempio veicoli o armi, soldi nel gioco per comprare da eventuali venditori. Ogni oggetto avra un prezzo (valutabile circa in euro per semplicità). Variabile float per fame, sete, sonno, caldo-freddo (parte da 0.5). Nella mappa ci deve essere per ogni punto la temperatura. Possibilità di vomito, dissenteria, problemi cardiaci, respiratori, muscolari. Armi: balestra, mani nude, sasso, tirapugni, torcia accesa. Armature: intralciano o favoriscono agilità, attacco, poteri magici, rumorosa (elusione), è uno strumento/oggetto. Attacchi possono essere prolungati per turni, mosse variabile boolean prolungabile: può aumentare o diminuire intensità, c’è un max espresso in turni di prolungabilita, inoltre può essere leggermente alterato con una variabile casuale. Equipaggiamento (strumento/oggetto): pietra focaia, attrezzi da scalata, boccale di birra, cavallo, moto, chiodi, martello da fabbro, corda, corazza, dardo, faretra/zaino/sacca (oggetti che contengono una lista di oggetti, stringhe) con un numero per la quantità) e capacità massima zaino e ogni oggetto può avere un valore intero per dimensione (es martello 3, ascia grande 7), mantello, olio, variabile boolean prende fuoco/conduce elettricità, amplifica magnetismo, aumenta esplosioni nucleari, aumenta forza di gravità (?), pala, piccone, rampino, specchio, per osservare quando si è nascosti e si ha malus su visibilità. Strumenti da scasso per aprire porte: variabile boolean per oggetti: entrata con scasso. Personaggio: string razza per swag, immunità a veleni e malattie, elusione, agilità, precisione, abilità magiche(?), difesa fisica. In ultima torcia: agilità, coraggio, forza, intelligenza, magia, manualità, percezione, socialità. Bestiario: aracnoide di varie dimensioni, talpe giganti, vermi giganti di terra di mare e di lava ect, bulbo trascinatore che ha tentacoli per tirare a se e mangiare, lui è immobile, calabrone gigante, serpenti giganti, cinghiali, draghi, elfi, goblin e re goblin, sciamani (goblin), totem di guerra come strumento/oggetti per alterare statistiche nella loro area di influenza, lupo, mastino bruciante, nani, non morti/zombie/mummia/scheletro variabile boolean vivo a false ma ha ancora hp su parti del corpo: variabile boolean “zombizabile”. Orchi, pesci da terra (anfibi) tritone dell abisso, troll e trollin (orchi più deformi), umani. Abilità dei personaggi in ultima torcia: artificiale (robot) immunità a soffocamento, veleni, malattie ect immune a manipolazioni psichiche, visione oscurità; danno da attacco in carica; fiammegiante ossia la creatura può incendiarsi e elettrizzante ossia può diventare elettrica caricamente; modalità furia/mailmen ossia ottiene bonus su alcune/tutte le statistiche; gigantesco o molto piccolo due boolean (?forse non serve); immunità a magie mentali, al fuoco; linguaggi (?); non morto; danno da attacco in presa; pungiglioni velenosi; sa muoversi su ragnatele o è rallentato, resistenza a perforazione, respirare sott’acqua o sotto lava o nei liquidi in genere; rigenerazione; riceve danni dalla luce solare o da assenza di luce; è terrorizzato/impaurito/intimidito o se è imperturbabile boolean. Danno da trascinamento; paralizzante; può diventare più veloce (?non serve); visione a infrarossi attraverso oggetti; volare o andare sotto terra. Imperium editor, cose che penso di non aver ancora scritto: stagioni, suolo erboso o terriccio, sabbia con erba e terra e da sola, strade e stagioni, altitudine, alberi e arbusti, vari tipi a foglia larga, conifere, alberi secchi, palme, arbusti verdi e secchi, cactus, alghe marine, rocce e pietre, scheletri per terra, legna tagliata (alberi tagliati), carri e carretti, grotte e rovine per accessi sotterranei, locande, templi, accampamenti, fortini, monoliti, fontana, tombe e cimiteri, borse per terra, pozzo, troni, croci(del teschio), pozzo, capanne, lapidi, ponti, recinzioni, falò, tende, torri, panoplia, fessure come abissi, statue, rovine (deserto) come case distrutte, colonne per costruire templi, piramidi, sfingi, bandiere, rovine in Europa, campi coltivati che contengono cibo, fiamma (in altre), roccia in altre per montagne, altre->rovine per monumenti non egiziani ma europei. Ci sono paludi. Tende da campo. Forti, porti. Edifici delle fortezze, edifici dei villaggi. Naufragi e scogli. Parametri voglia/impegno float per descrivere voglia di combattere Personaggio. Ricevi danno uscendo dalla mappa tra 1-5% tra 6-10% tra 11-15% della vita totale di ogni parte del corpo per ogni turno di gioco. Danno da precipitazione diverso da carica, uno verticale uno orizzontale, se precipiti da molto in alto hai bonus, oltre che danni da schianto lol. Baionette, formazione a blocchi, a quadrato (difensiva) sparano su quattro lati, a schiera vanno avanti. Usano un colpo poi lunga ricarica. Variabile boolean per attivare o meno fuoco amico. Azione per cambiare posizione: in piedi, in ginocchio(inteso come via di mezzo), sdraiato: per permettere migliore visibilità a chi è dietro (nella formazione). Altruismo, coraggio, spingere oltre il limite, difendere al posto di un altro, migliorare posizione per avere bonus. Mosse da usare in condizioni psicologiche idonee: mosse estreme per disperazione, bonus unici. Condizioni per situazioni: blocco, spalle al muro, stritolato, confuso, semi parassiti addosso, azzoppato, bagnato d’acqua, lame affilate, corazza indurita, tante copie di me stesso attive, preveggente. Per ambiente:pioggia (torrenziale), barriera a cupola, punte metalliche a terra, blocco di fumo nero. Far volare un avversario/alleato. Tutti possono fare tutto sotto effetti magici o fisici. Un cavallo può volare se viene preso da un uccello e portato in alto.

Da GIOCO 3, 4:

Gioco1,2,3,4: tutto caricato su wikis.

Gioco3: Mosse con caricamento + spostamento (es. kameamea con teletrasporto). Ciclo di interazione principale:crea o combatti. Modalità campagna, che chiede in input da che battaglia iniziare, ma implica tipi battaglie prefissati. Alla morte/sconfitta di un personaggio si possono alterare statistiche (es personaggio può cambiare fazione). Alcune mosse possono lasciare oggetti sul terreno: (ad es, radici di Groth). Ogni oggetto può alterare le statistiche al passaggio sopra, nelle vicinanze. Boolean invisibile per personaggio, diverso da elusione infinita. Se personaggio va in un altro dimensione -> unreachable. Attacco coordinato, se non lo fanno tutti vale lo stesso ma depotenziato opportunamente . Personaggio in modalità maniac (2 mosse per turno) e in modalità depressive (1 mossa ogni due turni); personaggio Flash può fare 10 mosse in un turno. Chiudi con lucchetto oggetto da dentro o da fuori, oggetto ingresso in oggetto casa , più ingressi per un singolo oggetto.nicole aniston. Rimbalzo se ci si schianta contro oggetto da calcolare con parametro. Ryuk e Darkrai.


Gioco 4 23/07/2019: Pula fiction, aracnidi, oggetto: due superfici rettangolari di forma diversa, anche inclinate , collegate. Più pezzi collegati tra loro per forme cilindriche cave, ad esempio, tipo vulcano. Mappa con sprite personaggi, canvas: anche mouseClick? Statistiche con nome gerarchico, es pokemon_attacco. Modalità survival, stile isola di jurassic park gdr; sia in coop che contro; possibilità di fare N turni di fila se non ci sono altri player giocanti nelle vicinanze (ciò però comporterebbe , in modalità contro , di capire quando c’è qualcuno nelle vicinanze perché si andrebbe di 1 turno alla volta, soluzioni: in mod contro 1 turno per volta oppure meccanismo di sincronizzazione turni quando uno vede l’altro (anche furtivo) come c’è attacco 1 turno a testa) .. analogo a Battle royale(?); inizio con starter kit random. Modalità assedio al castello. Inoltre se posso fare N turni di fila si può pensare a più pc , uno per persona , coordinati per fare comandi in parallelo, ma va ben congegnato meccanismo di sincronizzazione. Parti DelCorpo -> Componente/i oppure Parte. La mappa deve essere (x,y); l’altezza viene indicata onMouseOver certi pixel dove è posto il Personaggio; se personaggio dentro edificio/grotta cambio img (es sfocato/tratteggiato). Mosse: astrarre per target; molte mosse sono simili tra loro, somiglianza va sfruttata, hanno magari dei target in comune, o variano solo per un parametro. Creare mappa anche con drag and drop immagini ?(un po’ difficile). Più layout per interfaccia grafica (esempio uno che mostra errori input su text area, uno con alert, uno su box text area separato). Input comandi consumato pezzo per pezzo, alcune parole se prevedono parametri quando riconosciute fanno fetch anche di parola (numero) successiva. Face toon foto? Import parziali di personaggi (tutto tranne/solo questi campi specificati). Texture mappa complete o ripetibili (es per suolo). Anteprima battaglia stile battaglia pokemon (magari per 1/2/3 vs 1/2/3) per rappresentare scontro. Conviene usare xslx (excel) per dati, considerare che può non servire la libreria Java per leggere stringhe per operazioni. Mossa “again” , ripeti la precedenza(opportuna modifica parametri, es mossa spostamento). Possibile gestione contromosse: si usano marker (tag): ogni mossa ha elenco tag del tipo di contromosse che può subire (con probabilità annessa, che può dipendere da pg che subisce mossa congiuntamente a mossa stessa). Ogni mossa inoltre deve essere taggata come possibile contromossa che il pg può usare (per schivare può fare in più modi). A seconda del lancio del dado il pg che effettua La contromossa può anche scegliere tipologia di contromossa o solo la mossa della tipologia che ha beccato (entrano in gioco riflessi ect.). I parametri che fanno attivare unq o un’altra contromossa sono dinamici, posso dipendere ad esempio dalla posizione tra i due pg o altre statistiche. Tag contromosse a fasce (es. coprirsi è sempre più facile che schivare che e più facile di schivare e contrattaccare (?); all’interno dello stesso schivare e contrattaccare ci sono più sotto categorie). Per aggiunta personaggio può essere utili interfaccia dedicata, non linea di comando (o altre operazioni, specie se ci sono tabelle). Mossa “premonizione”: predire il futuro a breve termine, dici che mossa vorresti fare e ti dice esito (o più esiti se uno chiede più mosse). Funziona solo sulla prossima mossa. Contromossa delle contromossa gestione?? Eventualmente nell’esito si prevede ancore contro-contromossa. Ma si innesca reazione a catena, inoltre da gestire scelta contromossa in questo caso. Applicazione tag conoscenza(universo di appartenenza): “Termoli”, “pokemon”, “liceo classico Termoli”, anche gerarchici, per filtrare sui personaggi.target componibili , fattorizzato creazione mosse, hanno un costo magari per indicare quantovoccupano dicuna mossa, relativo maybe a un parametro o più del target stesso. In particolare, non saranno salvate le mosse per un personaggio (o solo alcune “preferite”) ma il suo insieme di target i quali devono dire:statistica che influenzano, “costo del turno” che richiedono al variare dell’intensità del target (che aumenta linearmente, esponenzialmente, generica f(x)) quindi corsa blanda costo 1 , Max corsa costo 5 (max), elenco (string) target incompatibili con tale target (se serve), nota relative ad es per quando uno vuole creare una mossa durante la battaglia (“target corsa, max sforzo dedicabile 4 ect” metti “50 metri corsa” “ok/troppo! Vuoi sforzati di più rischiando effetti collaterali?”). Si può autoscrivere la voce narrante del gioco come “la tua coscienza” mentre che giochi, d’altronde si interagisce con essa. Considerare che un target può appartenere a più personaggi, magari sotto nomi di mosse diversi. Definire gerarchia di personaggi per template (tipo classe e super classe) e template importabili (tipo usa fuoco). Es umanoide non umanoide, tra umanoide maschio- femmina etc. Classe che estende System.out per creare funzioni che aggiungono Header “DEBUG:” etc; due programmi Java , due main: uno delegato a calcoli + gestione Excel; altro legge stdout dell altro per interfaccia grafica. Per allenare PG creare dei PG fantocci con label per fare Q-learning iniziale, più avanti far allenare pg tra loro; creare vari fantocci: tank terrestre fisico, healer volante etc. Excel: si usa css che si può rendere tabellare, più facile da trattare nel codice rispetto a .xslx. Ogni “utente” ed Lostefra ha il suo personale dizionario con sue personali short cut da usare in partita, eventuale login con password (opzionale) x accesso. Vedere license show down. Mappa unica stile giochi di ruolo, si vede tutto da sopra: click o simili su edifici/caverne per mappe interne a tale posto, così ok sprite e per rappresentare “pg in volo” sprite dedicato. Densità aria per dire quando anche un uomo per es può volare. Ipotesi più efficiente per dare un valore stima al pg: AI base che gioca a manetta contro altre AI base e dalle vittorie si fa l’euristica, più vittoria facile/veloce/stracciante più punti, contro vari pg, contro pg standard bench mark.