Il tempo di pensare è finito… abbiamo un’idea vaga di quello che vogliamo fare, abbiamo pensato un po a qualche particolare. Nulla di sicuro però. Questo vuol dire che è tempo di mettere tutto per iscritto o perlomeno iniziare a capire l’importanza degli appunti!

Iniziamo, allora, a stilare un elenco di aspetti del nostro gioco.

  • Il gioco parla di una moglie incazzata che lancia degli oggetti al marito. Il marito deve raccoglierli e questo permette di guadagnare 10 punti per ogni oggetto raccolto.
  • Gli oggetti che cadono seguono il percorso di una griglia 3×3. Nel disegno a seguire è spiegato tutto meglio.

Senza titolo-25555555

Come potete vedere in quest’immagine, l’area in cui gli oggetti cadranno sarà la sopracitata griglia 3×3. Dove leggete il testo “finestra 1″, “finestra 2″, “finestra 3″ c’è l’indicazione per la finestra rispettiva.

La moglie infatti getterà, ogni secondo, un oggetto da una a caso di queste finestre. Il giocatore starà invece sotto la griglia, dove dovrà prenderla. Da questo sappiamo per certo che:

  1. La moglie potrà assumere tre posizioni (finestra 1, 2 o 3)
  2. Il giocatore potrà spostarsi in tre posizioni (sotto la finestra 1, 2 o 3)

E’ scontato ma lo dico per maggiore comprensione: l’oggetto fulmine si trova sotto la finestra tre, in prima posizione (partiremo dall’alto). Per comodità diremo (3,1). La forbice si trova in (2,2).

Ma torniamo ai nostri punti.

  • Gli oggetti cadranno ad intervalli regolari, la cui durata però inizierà pian piano a diminuire. In questo modo si può aumentare la difficoltà del gioco con il raggiungimento di un numero maggiore di punti. Questo evita anche che il gioco sia tremendamente piatto.

Nello specifico, gli oggetti inizieranno a cadere con un intervallo di un secondo. Ogni secondo la moglie si affaccerà da una delle tre finestre e lancerà l’oggetto. Come si può fare ad aumentare la velocità degli oggetti in caduta?

Io ho usato il seguente metodo, che penso possa essere sicuramente affinato.

Innanzitutto, si deve pensare che il gioco ha un’ammontare di Frames per Secondo. Do per scontato che sappiate cosa sono, per cui vi dico subito che è possibile gestire questo aspetto tramite la variabile Events.Fps. Per cui, per prima cosa, le assegneremo il valore 60.

Successivamente, useremo due altre variabili:

  • frames
  • framelimit

“frames” verrà usato come contatore del frame attuale in cui ci si trova, mentre “framelimit” sarà il limite dell’intervallo di cui ho parlato sopra.

Ora facciamo un esempio pratico, non scriverò codice ma comunque in un modo comprensibile.

  • “frames” è inizialmente settata a 0;
  • “framelimit” è inizialmente settata a 60;
  1. Se frames < framelimit
  2. frames = frames + 1;
  3. altrimenti
  4. (qui viene creato un nuovo oggetto da far cadere e viene scelta una nuova posizione per la moglie);
  5. frames = 0;

Dopodichè controlliamo il punteggio: ogni volta che avanzeremo di 300 punti (quindi 300, 600, 900 e così via) diminuiremo di un tot il framelimit (nel mio esempio è 5). Quindi, a 300 punti avremo un framelimit di 55, a 600 di 50 e così via.

Spero di essere stato chiaro. Torniamo ai punti:

  • Il giocatore non giocherà in eterno, ma avrà 3 vite. Una vita viene persa quando non riesce a prendere un oggetto e quando le vite saranno pari a 0 il gioco terminerà.
  • All’inizio, inoltre, mostreremo una piccola schermata che precederà il gioco vero e proprio, illustrando la trama e gli obiettivi.

Ciò ci porta a spendere due parole sulle varie situazioni di gioco. Appena avvieremo il gioco, infatti, non avremo subito a che fare con la moglie incazzata. Ci verrà mostrata la schermata delle istruzioni finchè non premeremo Invio. Dopodichè verremo portati nella scena di gioco: adesso dovremo premere ancora invio per iniziare e solo allora giocheremo veramente. Una sorta di schermata in cui si dice “press start to play”… dovreste averla presente ;)
Per questo motivo ho suddiviso in “stati” le varie situazioni di gioco. Inoltre, ho voluto identificare in modo distinto gli stati del gioco e gli stati della partita (dato che possiamo avere più partite prima che l’utente si scocci ed esca):

Stati del Gioco:

  1. Schermata Iniziale
  2. Schermata di Gioco
  3. Uscita dal Gioco

Stati della Partita:

  1. Prima
  2. Durante
  3. Fine

Passeremo da uno stato all’altro seguendo delle condizioni ben determinate. Eccole qui di seguito.

  • Schermata Iniziale:
  1. Premendo Invio andremo in “Schermata di Gioco”
  2. Premendo Esc andremo in “Uscita dal Gioco”
  • Schermata di Gioco: (qui iniziamo a gestire i vari stati della partita)
  • Stati della Partita:

    Prima:

    • Premendo Esc andremo in “Uscita dal Gioco”
    • Premendo Invio andremo in “Durante”

    Durante:

    • Premendo le Frecce Direzionali muoviamo il personaggio
    • Premendo Esc andremo in “Prima”
    • Finendo le vite del personaggio andremo in “Fine”

    Fine:

    • Premendo Esc andremo in “Uscita dal Gioco”
    • Premendo Invio andremo in “Prima”

    Tranne per quello che riguarda lo stato “Durante” della Partita, potete vedere che tutti i passaggi di stato sono causati dall’input dell’utente.

    Ora che abbiamo tutto pronto e chiaro in mente, possiamo iniziare a guardare il lato del codice vero e proprio… è tempo di sedersi al pc!

    • Share/Bookmark