2009-02-28 15 views
22

Por un tiempo he estado pensando en intentar hacer un puerto de uno de mis juegos de PC clásicos favoritos, The Ur-Quan Masters (también conocido como Star Control 2) para el iPhone. UQM usa SDL para todos sus gráficos, sonido, entrada y otras cosas gamey y parece que hay un puerto de SDL a iPhone pero no parece muy maduro en este momento.¿Qué tan maduro es SDL para iPhone?

¿Alguien ha puesto el puerto SDL de iPhone a su ritmo? ¿Qué tan bien funciona? ¿Qué tipo de problemas puedo esperar al tomar este proyecto, que ya es un código multiplataforma para iPhone?

Si SDL no es una opción, ¿alguien puede recomendar un marco de trabajo alternativo que pueda cerrar la brecha entre SDL y las bibliotecas nativas como OpenGL ES y Core Audio? ¿O la codificación de esos marcos es la mejor opción?

Editar para agregar: Aquí hay un enlace a un forum thread en el foro de UQM sobre cómo hacer un puerto de iPhone.

+0

Estaba pensando lo mismo (que debería haber una versión para iPhone de Starcon), pero me obsesioné al tratar de descubrir cómo podrían funcionar los controles cuerpo a cuerpo. De todos modos, en tus zapatos solo codificaría directamente en OpenGL, pero no tengo suficiente experiencia en iPhone para responder con autoridad. – Crashworks

+1

Eche un vistazo al hilo del foro al que me he vinculado, hay alguna discusión sobre los posibles esquemas de control. –

+0

De la nota a otros es que "SDL" es la Capa DirectMedia Simple: [http://www.libsdl.org/](http://www.libsdl.org/) –

Respuesta

21

ACTUALIZACIÓN
Esta respuesta es realmente fuera de fecha, para que pueda dejar votando él!

Ya no uso el desarrollo de SDL para iPhone porque no se ajusta al modelo de iPhone. p.ej. SDL insiste en tener main(), el subsistema de audio no sabe sobre AudioSessions, es difícil retomar los cambios de orientación de la vista, etc. Fue agradable ver una cara familiar, pero al final SDL introdujo más problemas de los que resolvió.

2009 respuesta
de la versión SVN funcionando bien para mí.

Tuve un problema y fue un bloqueo en atexit(SDL_Quit).

Desactivé la limpieza.

Además, los nombres de la biblioteca no son razonables, pero puede cambiar eso.

Lo más difícil para mí fue transportar mi código SDL a SDL-1.3 y transferir mi código OpenGL a OpenGLES.

OpenGLES funciona como era de esperar, el acelerómetro se muestra como un joystick de 3 ejes, y el sonido es sólido.

Doy el iPhone SDL 4.5 de un posible 5 estrellas.

+0

¡Buenas noticias, gracias! –

+0

He leído en otra parte que el puerto SDL no maneja bien los SDK más nuevos. ¿Qué versión de sistema operativo está usando? –

+1

Actualización: Estaba usando 2.2 en ese momento y al final tuve que reemplazar SDL porque no manejaba bien los viejos SDK de audio, y realmente no "encaja" en el modelo de iPhone. Sigue siendo una buena rampa para principiantes de iPhone. Debería actualizar mi respuesta. –

2

El puerto de iPhone funciona como se esperaba, y tiene un poco de sensación sin aislamiento. Tal como se entregó no es tan fácil de integrar con el SDK, eso puede estar bien para algunos juegos, pero creo que la mayoría de los usuarios esperan más de los juegos de hoy, como las conexiones de redes sociales.

Afortunadamente, con un poco de esfuerzo puede usar la mayoría del SDK de iPhone con SDL.

Ver mi tutorial aquí, Bridging the Gap.

y blogs en el Simple DirectMedia Layer Forums.

SDL tiende a estropear los eventos táctiles en las tablas, pero puede solucionarlo al ejecutar con un cfrunloop por separado.

El rendimiento está cerca de funcionar con simple vainilla OpenGL.