stelle e rialzo differenziale

Due sono le particolarità degli atterramenti in IK+:
  1. più botte si sono incassate e più si rimane a terra (rialzo differenziale). C'è un solo altro gioco in cui mi ricordo di aver visto qualcosa del genere... Hokuto No Ken: sensei no michi, realizzato anch'esso col MUGEN.
  2. quando il personaggio è "privo di sensi" sono presenti delle stelline... quando queste scompaiono questi rimane a terra sino a che il giocatore non impartisce il comando di rialzo (l'UP). Questo incrementa la gestione tattica dei match, riducendo il rischio che gli avversari si appostino come avvoltoi pronti ad approffittare dei tempi morti del rialzo.
Entrambe queste particolarità sono state implementate in IKK+.

colpo allo stomaco

Due diverse modalità di atterramento non bastavano per Archer McLean, così pensò di inserirne anche un terzo tipo... quello derivante dal pugno allo stomaco...

Poteva mancare in IKK+? No, e infatti ora c'è, anche se mi ha fatto un po' penare...

score e scorebubbles

Aspettare che venga implementato dalla Elecbyte un sistema di gestione dei punteggi potrebbe significare aspettare mesi e mesi, perciò ho deciso di crearne uno io. Al momento viene visualizzato solo per il giocatore umano (in IK+ era presente e funzionante sia per il giocatore che per i char controllatti dalla CPU).


In caso di vittoria del match si riceve il time bonus, che fa incrementare progressivamente lo score.

Inseriti (per tutti i char) gli scorebubbles, indicanti il valore di ciascun colpo effettivamente andato a segno e che vorrebbero spronare il giocatore ad utilizzare le mosse più remunerative (in termini di punteggio), anche se più difficili da utilizzare.

tempi e livelli

La struttura del classico videogioco anni '80 è una sequenza infinita di schermi a difficoltà crescente: l'unico sistema di riproporre questo schema di gioco del MUGEN è usare la modalità Survival.

Il problema sta nel fatto che il MUGEN non permette di utilizzare il timer in detta modalità di gioco... pertanto ho provveduto a crearmene uno, facendo anche in modo che nel momento in cui rimanessero meno di 10 secondi il colore delle cifre cambiasse da azzurro a bianco e rosso alternati.

Realizzato anche l'indicatore del livello, pari pari all'originale presente in IK+.

venerabile maestro

Implementato il venerabile maestro... a differenza che nel gioco originale però non comparirà dal nulla a mo' di ninja a fine degli incontri (o all'inizio dei bonus stage), ma assisterà per tutta la durata dei match.

Sto anche pensando di realizzare qualche frase originale e spiritosa da sparare in caso di game over.

perdere... e vincere perdendo

Nel picchiaduro classico si vince quando l'avversario arriva a zero punti vita, oppure quando il proprio compagno di team riesce nella stessa impresa, anche nel caso a zero punti vita si trovi il giocatore. Semplice.

Provate a spiegare al MUGEN che in IK+ si vince quando si raggiungono 3 punti (6 pallini), ma non si deve arrivare al game over a meno che il proprio punteggio non sia il più basso in assoluto tra i contendenti e che non sia pari a quello di nessun altro? Aggiungete anche che lo score del vostro partner (eventuale) non deve avere niente a che fare col vostro, e che anzi esiste il caso concreto che sia la concausa della vostra eliminazione...

Cercate di fare capire tutto questo ad un engine che è estremamente monolitico in quando a condizioni di vittoria e sconfitta...

In ogni caso, con un po' di fatica, sono riuscito nell'impresa, realizzando anche i contatori di punteggio, molto simili agli originali.

Ovviamente possono essere 2, 3 o 4 a seconda del numero di giocatori. La barra superiore per ora svolge funzioni di debug, ma in futuro verrà utilizzata per... vabbè lo vedremo un'altra volta. Il nome del char (assolutamente provvisorio) occupa per adesso il posto dell'indicatore numerico dello score... Elecbyte dovrebbe implementare l'apposita funzione nelle prossime versioni dell'engine, vedremo.

fondamenti di intelligenza artificiale

Affidare la gestione dei personaggi di un gioco come IK+ all'intelligenza artificiale standard del MUGEN significa doversi preparare a vedere combattenti ostinarsi a tentare di superare il bordo dello schermo, totalmente incuranti di ciò che succede loro attorno, ignorare il proprio "compagno" di team (che in questo caso deve essere trattato come un avversario a tutti gli effetti) e non arrivare a capire quando è giunto il momento di voltarsi.

I primi rudimentali interventi nello sviluppo dell'AI sono stati rivolti ad eliminare (in maniera molto rozza per ora) i problemi di cui sopra (turn, riconoscimento bordi schermo, individuazione degli altri chars come avversari).

bianco, rosso, blu... e verde ?!?

I contendenti in IK+ indossavano una divisa bianca (player 1), rossa (player 2/CPU) o blu (CPU).

Il MUGEN tenderebbe ad assegnare a caso, tra le palette disponibili, i colori degli avversari, mentre quello dei giocatori umani viene deciso da loro stessi, al momento della selezione... questo in linea di massima non va bene, perchè il maestro non avrebbe modo di declarare le frasette ed inoltre gli indicatori di punteggio sarebbero oltremodo confusionari ("sto vincendo.... no aspetta la CPU è il rosso... ma come è possibile se sono io quello vestito di rosso?...")

Per ovviare a questo problema ho fatto in modo che i colori dei player 1,2,4 siano quelli classici e comunque fissi, mentre l'eventuale player 3 sia di verde vestito (colore provvisorio). Ciò non impedisce in futuro di rendere disponibili mise alternative, che tuttavia non stravolgano lo schema dei colori "base".

...e alle spalle

Implementata la funzione che rende possibile l'atterramento differenziato (e il conseguente rialzo) a seconda che il char incassi frontalmente o posteriormente un colpo.

attraversamenti e glitch

In IK+ i combattenti seguivano un "modello" fisico ben diverso dai picchiaduro dell'era moderna: anzichè spingersi una volta giunti a contatto si oltrepassavano tranquillamente, inoltre il turn non era automatico.

Il MUGEN, anche se lo permette, non gradisce che due sprites si attraversino e genera, in alcuni casi, dei glitch grafici... ho quindi programmato una soluzione che permetta di aggirare il problema anche se i contendenti su schermo fossero 4.

Implementato anche il turn manuale, sia da stand che da crounch (più lento del primo e non presente nel gioco originale).

che personaggio!

Mi sto occupando della conversione degli sprites, palettandoli in maniera da potere differenziare il colore dei pantaloni da quello della blusa. Eliminata anche la fascia sulla testa e messo a punto il sistema che consentirà di cambiare il colore della cintura in base al numero di round superati.

lo scenario di base

Reperito il software per estrarre i frames dalle GIF animate ho convertito l'intero set relativo al fondale (163 immagini), quindi ho creato l'SFF e programmato lo stage, che risulta dotato del notevole effetto di rifrazione sulla superficie dell'acqua.

Per ora mancano tutte le animazioni di contorno (il bruco, il ragno, il pesce, gli uccelli, ecc.)...

"Staccati" su livelli secondari anche il portale, la roccia e la panca: serviranno più avanti, quando si andranno ad inserire le animazioni di cui sopra.

Reperita anche la documentazione riportante i valori originali assegnati a ciascuna mossa.

si parte

Oggi iniziano i lavori... ho optato per il MUGEN, un engine datato ma il cui sviluppo sembrerebbe essere stato recentemente ripreso, e su cui ho una qualche esperienza. Allo stato attuale soffre di bug, poca efficienza e restrizioni non da poco, tuttavia...

Mi sono procurato il materiale che dovrebbe costituire la base di partenza del gioco: sprites, sfx, grafica aggiuntiva e sfondo, tutto roba proveniente dalla versione AMIGA e che deve essere convertita e adattata ovviamente.