2009-02-28 16 views
22

Per un po 'ho pensato di provare a eseguire una porta di uno dei miei giochi per PC classici preferiti, The Ur-Quan Masters (ovvero Star Control 2) su iPhone. UQM utilizza SDL per tutti i suoi elementi grafici, audio, input e altri elementi di gioco e sembra esserci una porta SDL per iPhone ma a questo punto non sembra molto maturo.Quanto è maturo SDL per iPhone?

Qualcuno ha messo alla prova la porta dell'iPhone SDL? Quanto bene funziona? Che tipo di problemi posso aspettarmi dall'assumere questo progetto, che è già un codice cross platform per iPhone?

Se SDL non è un'opzione, chiunque può consigliare una struttura alternativa da guardare che colmerà il divario tra SDL e le librerie native come OpenGL ES e Core Audio? O è la codifica di quei quadri l'opzione migliore?

Modifica per aggiungere: Ecco un collegamento a un forum thread nel forum UQM su come eseguire una porta iPhone.

+0

Stavo solo pensando la stessa cosa (che dovrebbe esserci una versione per iPhone di Starcon) - ma sono stato appeso a cercare di capire come i controlli in mischia potrebbero funzionare. Comunque nei tuoi panni mi limiterò a scrivere direttamente in OpenGL, ma non ho abbastanza esperienza iPhone per rispondere con autorità. – Crashworks

+1

Dai un'occhiata al thread del forum a cui mi sono collegato, ci sono alcune discussioni su possibili schemi di controllo. –

+0

Di nota ad altri è che "SDL" è il semplice strato DirectMedia: [http://www.libsdl.org/](http://www.libsdl.org/) –

risposta

21

UPDATE
Questa risposta è davvero fuori moda, in modo da poter fermare fino votare esso!

Non uso più SDL per lo sviluppo di iPhone perché non si adatta al modello di iPhone. per esempio. SDL insiste nel possedere main(), il sottosistema audio non conosce AudioSessions, è difficile capire i cambiamenti di orientamento della vista, ecc. È stato bello vedere un volto familiare, ma alla fine SDL ha introdotto più problemi di quanti ne abbia risolti.

2009 risposta
della versione svn lavorando bene per me.

Ho avuto un problema e quello è stato un incidente in atexit(SDL_Quit).

Quindi ho disabilitato la pulizia.

Inoltre i nomi di libreria non sono sensibili, ma è possibile cambiarlo.

La parte più difficile per me è stata il porting del mio codice SDL su SDL-1.3 e il porting del mio codice OpenGL su OpenGLES.

OpenGLES funziona come ci si aspetterebbe, l'accelerometro si presenta come un joystick a 3 assi, e il suono è solido.

Offro iPhone SDL 4.5 su un possibile 5 stelle.

+0

Ottime notizie, grazie! –

+0

Ho letto altrove che la porta SDL non gestisce bene gli SDK più recenti. Quale versione del sistema operativo stai usando? Aggiornamento –

+1

: stavo usando 2.2 al momento e alla fine ho dovuto sostituire SDL perché non gestiva bene gli SDK audio più vecchi, e non si adattava veramente al modello di iPhone. È ancora una bella rampa per i principianti di iPhone. Dovrei aggiornare la mia risposta. –

2

La porta per iPhone funziona come previsto e ha un aspetto un po 'sfocato. Dato che non è così facile da integrare con l'SDK, questo potrebbe andar bene per alcuni giochi, ma credo che la maggior parte degli utenti si aspettino di più dai giochi di oggi, come le connessioni ai social network.

Fortunatamente con un piccolo sforzo è possibile utilizzare la maggior parte dell'SDK di iPhone con SDL.

Vedere il mio tutorial qui, Bridging the Gap.

e blog su Simple DirectMedia Layer Forums.

SDL tende a rovinare gli eventi tocco nelle visualizzazioni di tabella, ma è possibile correggerli eseguendo con un cfrunloop separato.

Le prestazioni sono simili a quelle della semplice vaniglia OpenGL.