Percorso: ilMac.net > Scuola di Mac > Archivio > Gli Apple Game Sprockets


Gli Apple Game Sprockets

2 - Cosa sono e a cosa servono

InputSprocket

Il giocatore deve ovviamente poter interagire col gioco, tramite joystick, tastiera o mouse. InputSprocket facilita enormemente la gestione di un gran numero di periferiche di gioco. Normalmente, un gioco é compatibile al 100% solo con tastiera e mouse, presenti in ogni computer. Per funzionare, un joystick deve far credere al Mac di essere una tastiera o un mouse. E' una cosa semplicemente ridicola, e terribile per gli sviluppatori che devono spesso scrivere codice diverso per ogni modello di joystick. Ogni gioco avrà poi una propria finestra di configurazione dei comandi, disorientando l'utente con decine di finestre di configurazione. InputSprocket capovolge la situazione, rendendo semplicissima la gestione dell'input. All'inizio del gioco, occorre informare InputSprocket di quanti e quali controlli servono. Per controllo si intende un pulsante, un asse (leva) o un qualsiasi altro mezzo che permetta di controllare un aspetto del gioco. Per esempio, ad un semplice gioco come SpaceInvaders servono due controlli: un bottone per sparare e un asse per spostare la navetta a destra e a sinistra. All'avvio del gioco, InputSprocket trova tutti i dispositivi di gioco installati, e ad ognuno chiede se dispone dei controlli richiesti. La periferica che li supporta meglio viene scelta. A questo punto il programmatore non si deve più preoccupare della provenienza dei dati: per leggere lo stato di un controllo, pulsante, pedale o asse che sia, basta interrogare InputSprocket, che provvederà a rintracciare il joystick o la periferica a cui é assegnato. E' un vantaggio enorme: il gioco sarà sempre compatibile con tutti i joystick e joypad costruiti, se supporteranno InputSprocket. E per quanto riguarda la configurazione dei comandi del gioco? Nessun problema: basta una riga di codice. InputSprocket raccoglie le informazioni da tutte le periferiche installate e le mostra in una finestra. Da essa l'utente sceglie le sue preferenze, regola sensibilità di joystick e mouse, sceglie quali pulsanti associare alle varie azioni e può anche salvare quella configurazione in un file per riutilizzarla in altri Mac. Alla fine clicca su Ok e tutto é pronto: il programmatore, con una sola riga, ha gestito la configurazione dei controlli. Senza InputSprocket, una finestra del genere richiederebbe molta più fatica. InputSprocket é utilizzato moltissimo, anche se non come DrawSprocket; probabilmente, alcuni sviluppatori preferiscono gestire da sé le periferiche di input. In effetti, InputSprocket non ha una fluidità di movimenti eccelsa con alcune periferiche come il mouse, per cui a volte é preferibile farne a meno.

apple,giochi La finestra di configurazione di InputSprocket: a sinistra sono presenti tutte le periferiche di input, a destra le preferenze individuali per ognuna di esse. Tutti i giochi che usano InputSprocket mostrano questa stessa finestra.

SoundSprocket

I giochi dell'ultima generazione sono dotati di effetti sonori notevoli: utilizzano una tecnica detta active panning, che permette di rendere la percezione delle distanze e della provenienza dei suoni. Anche se il risultato é fantastico, sono pochi i titoli ludici che vanno oltre. Per esempio, l'eco in tempo reale (calcolato in base alla situazione ambientale corrente) é scarsamente utilizzato. SoundSprocket contiene funzioni che permettono di modificare i suoni in uscita con effetti molto interessanti. In sostanza é un filtro pre-mixer che modifica l'audio in uscita in base a parametri come distanza della fonte sonora, velocità, e addirittura umidità dell'ambiente. Partendo da uno stesso suono é possibile quindi ottenere molti effetti interessanti e vari: oltre all'active panning c'é l'eco (che varia con il materiale e le dimensioni della stanza!) e addirittura il Doppler (come le sirene che si abbassano di tono quando ci sorpassano). Per avere un'idea di questi effetti potete scaricare un esempio di gioco dal sito degli sviluppatori Apple (DroneZone, a questo indirizzo).

apple,strumenti,guida
In questo semplice gioco ci si muove in uno spazio 3D assieme ad alcuni razzi che emettono suoni filtrati da SoundSprocket. Provare per credere. Per la cronaca, questo esempio utilizza anche InputSprocket e QuickDraw 3D. Anche se SoundSprocket rende molto facile la creazione di questi effetti, non é ancora decollato come gli altri componenti della famiglia. Non sono riuscito a trovare giochi famosi che lo supportino, ed é un peccato, perché permetterebbe al Mac di superare la qualità audio dei PC. Occorre però notare che SoundSprocket é l'unico del gruppo a presentare dei difetti abbastanza rilevanti. Primo, l'esasperante lentezza sui Mac più vecchi.
Su un 7100/80 DroneZone non riesce ad elaborare tutti gli effetti, e dopo qualche minuto si sente un suono stridente; l'animazione inizia a rallentare, mentre l'audio si inceppa. Secondo, l'instabilità, specie durante l'elaborazione di effetti complessi, che provocano a volte la chiusura del gioco. Su Mac recenti come G4 e iMac questi difetti sembrano comunque non presentarsi.

NetSprocket

Ultimamente va molto di moda il gioco in multiplayer. Più giocatori collegano i loro computer (tramite rete locale, ma sempre più spesso anche Internet) ed entrano nel mondo virtuale del gioco, di solito uno sparatutto in 3D. Terminati i livelli "standard" dei giochi, é uno spasso combattere con persone dotate di vera intelligenza. Per i programmatori é abbastanza difficile l'introduzione del supporto multiplayer. Devono scrivere il codice per comunicare tramite Internet e/o AppleTalk, e devono inventare ogni volta un sistema di organizzazione che permetta di smistare i dati provenienti da ogni giocatore. Devono anche creare i dialoghi di configurazione della rete. NetSprocket é veramente comodo: si occupa interamente degli aspetti relativi al protocollo utilizzato, e il programmatore si deve solo preoccupare di spedire i vari dati agli altri giocatori. Inizialmente, il computer che organizza la partita (il server) configura tutte le opzioni e avverte tutti gli altri che é possibile giocare. Ovviamente é possibile connettere i Mac sia con AppleTalk che con TCP/IP. Tutto ciò é gestito da NetSprocket, che fornisce anche finestre già pronte per la regolazione delle opzioni relative alla rete. A questo punto gli altri utenti possono unirsi alla partita (join) tramite una finestra fornita da NetSprocket (e quindi lo sviluppatore é risparmiato anche da questo compito). Se un computer deve inviare dei dati ad un'altro (per esempio per comunicare le nuove coordinate di quel giocatore), lo sviluppatore non deve preoccuparsi del protocollo utilizzato, né di come é fatta la rete: deve solo chiamare in causa NetSprocket, passargli i dati da spedire e il destinatario, e NetSprocket si occupa del trasferimento. Programmare un sistema di computer in rete non é mai stato così facile. Dato che il gioco lascia allo Sprocket il compito di gestire la rete, il gioco stesso funzionerà anche con protocolli futuri, che magari oggi non esistono ancora. Sarà sufficiente aggiornare NetSprocket. Questa libreria é molto usata, ma presenta una pesante limitazione: dato che gli Sprockets esistono solo su Mac, non é possibile collegare Mac e PC per giocare con NetSprocket. I giochi più famosi, che devono necessariamente essere compatibili con Mac e PC, non possono usare NetSprocket.

Queste quattro librerie semplificano enormemente il lavoro agli sviluppatori: Apple deve tenerle in costante sviluppo, e soprattutto portarle su Mac OS X. Nasceranno sicuramente più giochi e, aggiornando gli Sprockets, potranno funzionare al meglio su tutti i Mac futuri, senza bisogno di aggiornamenti specifici di ogni gioco. Non sono le uniche librerie necessarie ad un gioco: anche l'ormai defunto QuickDraw 3D RAVE merita una menzione: é ancora utilizzato in quasi tutti i giochi 3D per Mac, liberando i programmatori dalla fatica di gestire le schede accelerate 3D. Presto sarà comunque sostituito completamente dal moderno OpenGL, che fornisce effetti tridimensionali sbalorditivi con pochissima fatica da parte degli sviluppatori. Ma questo é argomento per un altro articolo...

giochi,strumenti,guida



Data di pubblicazione: 04-06-2000
L'intero contenuto di questo sito è © dal 1998 del Team di ilMac.net, è vietata ogni riproduzione senza il consenso scritto da parte degli autori.