La Libreria SDL

Post image of La Libreria SDL

Che cos’è ?
SDL sta per Simple DirectMedia Layer.
E’ una libreria cross-platform che permette di sviluppare facilmente videogiochi ed applicazioni multimediali offrendo un accesso a basso livello di audio, tastiera, mouse, joystick, 3d tramite OpenGL e funzioni 2d “veloci”.
E’ compatibile con tantissime architetture e sistemi operativi, un gioco ben programmato con piccole modifiche può girare tanto su pc windows che su linux che su psp o nintendo gba/ds, che su cellulari symbian os.

Come ci sviluppo?
Il bello delle sdl è che sono cross-platform quindi posso scrivere il codice dove mi trovo più comodo e compilare per la piattaforma di destinazione (vi immaginate a scrivere codice con il pennino del ds XD?).
Fortunatamente esistono delle comode toolchain che permettono di compilare con uno script per piattaforme di destinazione diverse dalla propria in modo che se non si hanno i soldi per un official dev kit per la wii, psp o nds piuttosto che sbattersi ogni volta si ha la possibilità di testare il grosso in locale.
Su come far funzionare il vostro gioco su console torneremo in futuro, anche perché adesso non sapete neanche che forma avrà!

Documentazione
E’ essenziale per ogni programmatore che si rispetti avere sempre sotto mano una reference per i comandi per andare avanti spedito.
Il mio consiglio è quindi di scaricare la SDL Reference e piazzarla sul desktop o dovunque sia a portata di mano!

Windows

C’è l’imbarazzo della scelta riguardo all’IDE, vi scrivo le istruzioni per configurare un progetto con Code::Blocks

  • Installare Code::Blocks con mingw32
  • Scaricare SDL-devel-mingw32 aggiornato (l’ultima versione è la 1.2.14)
  • Porre SDL.dll situata nella cartella bin dell’archivio in C:\windows\system32
  • Spostare la cartella SDL-1.2.14 estratta dall’archivio in una locazione “sicura”, ad esempio dentro C:\Programmi\Codeblocks (se l’avete installato lì)
  • Creare un nuovo progetto
    1. File->New->Project Empty Project
    2. Next…
    3. Scegliere una cartella dove mettere i progetti, ad esempio C:\Progetti
    4. Scegliere il nome del progetto (niente di arzigogolato, il nome del programma sarà possibile cambiarlo in seguito)
    5. Fare attenzione che GNU GCC Compiler sia già selezionato
  • Configurare il linker
    Project->Build Options (o click destro sul progetto e poi Build Options)
    Sulla sinistra ci sono tre etichette, nome del progetto, debug e release, il linking va impostato per tutto il progetto quindi cliccate su nome del progetto, poi sulla tab Linker Settings.
    in Link Libraries dovete immettere le seguenti:

    mingw32
    SDLmain
    SDL

    Cliccare sul Tab Search Directories
    in Compiler dovete aggiungere

    C:\Programmi\CodeBlocks\SDL-1.2.14\include

    o con il percorso dove voi avete messo la cartella SDL
    in Linker dovete aggiungere

    C:\Programmi\CodeBlocks\SDL-1.2.14\lib

  • Aggiungete un nuovo file
    File->New->Empty File
    Cliccate Sì per aggiungerlo al progetto, salvatelo come file .cpp.
    Cliccate su Select All nella finestra Multiple Selection per fare in modo che il file venga compilato sia nella modalità debug che in quella di release
  • Seguire il tutorial per il primo programma

Ubuntu GNU/Linux
In Linux è facilissimo installare le sdl e sviluppare videogiochi grazie alla console, utilissima per il debug, le man pages (documentazione) e make.
Che cos’è make?
E’ un potente tool per automatizzare dei comandi, è usato perlopiù per automatizzare le operazioni di compilazione ma ci si può fare davvero di tutto.
Come funziona?
Si crea un file di nome Makefile in cui si mettono le istruzioni per compilare il binario e lo si colloca nella stessa directory dei sorgenti.
Non ho installato linux su questo computer altrimenti avrei costruito un esempio (non ho voglia di testare con mingw-make, la console è troppo comoda)

  • Installare
    sudo apt-get install libsdl-1.2debian libsdl-1.2debian-alsa libsdl-1.2dev libsdl-image1.2 libsdl-image1.2-dev libsdl-mixer1.2 libsdl-mixer1.2-dev
  • Compilare
    # Senza Makefile
    g++ -o nomebinario sorgente1.cpp sorgente2.cpp sorgente3.cpp -lSDL #-lnomelibreria
    # Con Makefile
    make
  • Avviare
    ./nomebinario

Nota: # sulla Shell viene interpretato come commento come // in C++

Posted by admin   @   24 December 2009

Like this post? Share it!

RSS Digg Twitter StumbleUpon Delicious Technorati Facebook

0 Comments

No comments yet. Be the first to leave a comment !
Leave a Comment

You must be logged in to post a comment.

Powered by Wordpress   |   Lunated designed by ZenVerse   |   Logo by Luminoz