que es mejor usar???, allegro o SDL...
eso si SDL te deja manejar mas acciones... pero hasta al instalar
allegroGL puedes hasta hacer 3D...
por eso:
SDL????
ALLEGRO???
O LA MEZCLA???(me pregunto por la mezcla de comandos es un poco
confuso)
respondan
xau
Yo comencé haciendo cosas en Assembler y lenguaje C, con el famoso
modo13h y el modo X. Luego conocí Allegro y la encontré genial. Esto
fue en una época donde solo usaba DOS para programar.
Luego de un par de años encontré SDL, y definitivamente decidí usarla.
Al poco tiempo me puse a estudiar OpenGL, y encontré la dupla perfecta
para hacer videojuegos SDL/OpenGL.
Bueno, otra posibilidad es que uses algún Engine, los comerciales son
bastante caros, así que conviene mejor usar uno OpenSource, hay muchos
buenos! Recomiendo Irrlicht tanto para 2D como 3D. Y para algo
completamente 3D, Ogre.
Pero siguiendo con la pelea, Allegro vs SDl, primero, las dos
bibliotecas están orientadas al desarrollo de videojuegos, aunque SDL
no principalmente a aquello, sino que es más genérica, se podría
decir
que está orientada a cualquier tipo de aplicación multimedia en
general. Como dato adicional hace poco se lanzó un editor de imágenes,
similar a Photoshop, llamado Pixel image editor, y esta construído
bajo SDL (el programa es comercial).
Allegro inicialmente se hizo para DOS, así que quedan algunos rastros
de esto aun en el código. Allegro ya trae incorporado funciones para
trabajar con primitivas, transformaciones como escalado y rotaciones,
manejo de fuentes, sonido y musica, etc.
SDL no tiene incluye esto, pero podemos usar bibliotecas adicionales
como SDL_gfx (aunque personalmente lo encuentro bastante lento en el
escalado y rotaciones, prefiero hacer todas estas operaciones con
OpenGL).
En general todos los módulos que no incluye SDL nativamente, se pueden
agregar con bibliotecas externas (SDL_mixer, SDL_ttf, SDL_image,
SDL_net, SDL_gfx, ...).
En el caso de Allegro, no tiene soporte para red, en cambio SDL
dispone de una biblioteca muy completa para esto, SDL_net (basada en
la biblioteca de sockets de Linux).
Si queremos características 3D en nuestros juegos y estamos utilizando
Allegro, tenemos a AllegroGL, si usamos SDL, tenemos a OpenGL.
Al final el uso de OpenGL ya sea con Allegro o SDL, será el mismo, se
utilizarán las mismas funcionas básicas, lo que cambia solamente es su
inicialización. Después de todo seguiremos usando las típicas
funciones para cargar texturas, los típicos bloques de dibujado de
Opengl, glBegin/glEnd, etc.
Otra cosa, Allegro tiene algunos problemas para integrarse con otro
tipo de bibliotecas. En SDL no ocurre esto, podemos usarlo sin
problemas con GTK, wxWidgets, etc. Se habló también que tenía
problemas para usarse con STL.
Algunas personas dicen que los ejecutables producidos con Allegro son
muy grandes, esto no es un gran problema, recordemos que existe una
utilidad llamada UPX, para comprimir ejecutables.
Otra ventaja para SDL, es que es altamente portable, además de
funcionar en varios Sistemas Operativos, se han hecho varios ports
para consolas, como: GP2X, Dreamcast, Nintendo DS, PSP, etc.
SDL lo puedes usar con varias lenguajes: C, C++, C#, PHP, Python,
Java, etc.
Algunos dicen que SDL es más profesional que Allegro.
SDL posee un prefijo en todas sus funciones, Allegro no.
Personalmente prefiero SDL.
Usar SDL con Allegro mezclado no se puede, ya que no son compatibles,
y además para que? no existe razón para hacerlo, ya que cada una de
ellas tiene su propio sistema para manejo de video y eventos.
Pueden existir más ventajas y desventajas, estas son las que recuerdo
y conocía. Hace mas de 4 años que no utilizo Allegro :P
Saludos!
bueno compadres, si tienen mas opiniones diganlas con toda confianza
se despide Rodrigo
XAU