Lezione 00: Introduzione e strumenti

Uno degli obiettivi che mi ero prefissato quando ho deciso di metter su questo portale Italiano sul Mega Drive era sicuramente quello di avere una sezione dove parlare di sviluppo, sezione dove consentire a chiunque avesse un minimo di basi di vedere qualche primo risultato sul 16-bit SEGA, attraversando l'intero processo che porta fino all'ottenimento di un gioco su cartuccia fisica.

Questo mini-corso vi accompagnerà quindi in una implementazione basica di un clone di Breakout (Arkanoid) e su questo tema toccherà i seguenti argomenti:

  • Configurazione di un ambiente di sviluppo
  • Scrittura delle prime righe di codice
  • Gestione di grafica tileset e sprite
  • Gestione dell'input da joypad o mouse
  • Gestione del sonoro
  • Scrittura di una ROM fisica
  • Confezionamento di un gioco con cartuccia, copertina, etc...

Nella foto il SNASM Mega-CD, un sistema di debug completo sviluppato da Cross Products e ufficialmente concesso in licenza da Sega per il debug e lo sviluppo di Sega Mega-CD. Nel nostro corso ci faremo bastare un PC con Windows :)

Chiuso questo primo ciclo di lezioni sicuramente sarà poi possible sviluppare nuove lezioni su argomenti specifici nelle diverse aree, come ad esempio lo scrolling, si potrebbero proporre esempi di altre tipologie di giochi, oppure si potrebbe scrivere quale lezione sull'uso di add-on come il Mega-CD.

Oggi i sistemi di sviluppo amatoriale/semi-professionale su Mega Drive sono essenzialmente due, o via Second Basic, un BASIC proprietario, semplice ed evoluto e modellato sulle capacità del Mega Drive, o l'SGDK, che utilizza il linguaggio C con opportune librerie di supporto specifiche per la console SEGA, che richiede una base di conoscenza maggiore ma consente risultati più professionali.

Ho deciso di improntare il corso sull'SGDK per diversi motivi. Non sono simpatizzante di linguaggi dedicati ad un solo hardware. Ritengo che lo sviluppo ed il supporto dell'SGDK sia più costante (anche se Second Basic ha ricevuto proprio in questi giorni un update dopo un lungo silenzio) ed, infine, trovo più proficuo investire in una direzione dove il linguaggio non rappresenti un domani un limite al risultato.
Va comunque ricordato che, entrambi i sistemi di sviluppo, consentono l'aggiunta di codice Assembly 68000 qualora questo rientri nelle vostre capacità e si voglia ricercare l'ottimizzazione massima di alcune routine.

Direi che le premesse sono state chiarite. Partiamo subito col reperire i primi strumenti essenziali e ricordate che, nel corso delle lezioni, specie per quanto concerne l'audio e la grafica, introdurremo man mano strumenti aggiuntivi.


Cosa ci serve per cominciare

Innanzitutto il tutorial si basa sull'utilizzo di un computer Windows ed a questo fa riferimento per tutti i passi soprattutto di configurazione.

Premesso ciò dobbiamo innanzitutto scaricare:

  • Java Runtime: è necessario all'SGDK. Al momento della scrittura del tutorial la versione disponibile è Version 8 Update 241 del 14 Gennaio 2020. Qui un link dove scaricare: https://www.java.com/en/download/

  • Emulatore Mega Drive/Genesis: ce ne sono diversi in circolazione.
    Per motivi didattici la mia preferenza va in assoluto al Gens col Kmod (di Kaneda) perchè offre grosse possibilità di debug che sono utilissime a farci capire come funzionano molti degli aspetti specie del VDP.
    Non consideratelo quindi il miglior emulatore per compatibilità o giochi ma solo il migliore come strumento didattico.
    Vi lascio il link alla pagina di Kaneda.
    Gens con Kmod: http://gendev.spritesmind.net/page-gensK.html

  • Editor di testo: questo ci servirà per scrivere il codice ed il tool che propongo è un vecchio open-source che è più che adeguato al nostro scopo, il Crimson Editor. Estremamente leggero, completamente free e capace di riconoscere la sintassi C.
    Lo potete scaricare a questo indirizzo: http://www.crimsoneditor.com/. L'ultima release è la V3.72 di Maggio 2008.

A questo punto avete tutto quanto va installato prima di iniziare ad installare l'SGDK.

Procedete quindi con le installazioni di Java, dell'emulatore e dell'editor e riavviate il PC se necessario.

Quando avete fatto, recatevi su GitHub alla pagina ufficiale dell'SGDK e scaricate l'ultima versione disponibile. Al momento è la versione 1.41 di Settembre 2019 (18.8MB).
Link a GitHub: https://github.com/Stephane-D/SGDK/releases

Appena scaricato potete proseguire con la prossima lezione dato che il setup dell'SGDK è leggermente più macchinoso e quindi gli abbiamo dedicato una lezione specifica.

Prima di chiudere, ricordatevi che l'SGDK è ancora in sviluppo e se volete supportare il suo creatore, potete farlo tramite Patreon. Supportarlo non solo gli consentirà di poter dedicare ancora tempo ad evolvere questo strumento ma vi consentirà anche di avere anticipazioni di funzionalità ed influenzare le priorità di sviluppo.
Qui il link al Patreon: https://www.patreon.com/SGDK/posts