Iniciar sesión

Ver la versión completa : El mejor lenguaje para programar juegos según...



jose_andre90
03/03/2013, 19:11
Hola. No sabía dónde colgar esto, así que lo pongo en general y disculpen si no va.
Aunque sé no es un foro de programación como tal; he visto que hay gamers, programadores y gamers-programadores, y qué mejor ayuda de los que ya han trabajado con esto.
Ya sé que no hay ni lenguaje ni biblioteca definitiva para programar videojuegos; pero seguro me pueden recomendar algo que se adapte según mis necesidades e intereses.

Estuve programando con Pygame un tiempo, pero la verdad que no lo encontré difícil no me acostumbraba a su forma de escribir el código. Después probé BennuGD y ahí aunque se me hizo cómodo el código, fácil y rápido; pero el modo de trabajar desde linux me rompió la cabeza, ya que le faltaban (al menos hace unos 8 meses) bibliotecas y herramientas para trabajar desde este en forma nativa, por ejemplo para los FPG y las fuentes. Además que la forma de empaquetar junto a las librerías (DLL's o SO) no me agrada mucho.
Ahora estoy viendo otras librerías y pienso en Allegro, en Löve o en Moia.

Estoy buscando un lenguaje y librería donde pueda escribir en script (tipo Bennu) fácil y rápido desde linux; además que tenga portabilidad no sólo para computadora, sino para otros dispositivos. De preferencia en Lua o C++ que son lenguajes que conozco.
Y si bennu ya tiene mejor soporte para Linux, disculpen mi error pues hace mucho que no paso por allá. Si cuenta con herramientas nativas como los FPG, las fuentes y las mismas librerías para Linux, pues sí pensaría en darle otro oportunidad pues no me mal entiendan, es un exelente engine, pero no apoya mucho a Linux por desgracia.

:))))

GameMaster
03/03/2013, 22:03
a que mejor soporte te refieres ? lo que le falta es un IDE, pero puedes usar notepad++, si quieres algo completito pues eclipse o mono

hardyx
03/03/2013, 22:48
Algunas herramientas de Bennu son para Windows, pero eso no es Bennu, son herramientas creadas por terceras personas. Posiblemente puedas hacerlas funcionar con WINE en Linux, con esto puedes ejecutar aplicaciones Windows en el escritorio de Linux. Incluso creo que en el libro que viene con Bennu hay un ejemplo de un compactador de imágenes en línea de comandos.

Si te gusta Lua pruébalo, pero es un lenguaje un poquito especial. Y si sabes C++, intenta con C++ con la librería SDL, es como PyGame pero con punteros :D. Entornos de programación de juegos hay cientos, cada vez más sin contamos los comerciales. Depende de si quieres dedicarte de forma casera o comercial o para qué sistemas. Si quieres dedicarte de forma comercial, hay entornos como Unity que va en C# o Corona con Lua, pero ve preparando la billetera :D

jose_andre90
03/03/2013, 23:34
Gracias por responder tan pronto.
IDE sí encontré; un script para geany. Y con mejor soporte me refiero a que no había encontrado (en aquél entonces) herramientas para crear los FPG y las fuentes además de bibliotecas como para hacer online, por ejemplo. Ahora viendo la página parece que ya cubren con esto :) Quizá le de otra oportunidad, ya que me parece bastante bueno.

Hardyx, ¿porqué un poco especial Lua?

No pienso llegar a ser profesional, pero sí hacer un buen juego para varias plataformas con engines libres.

;)

GameMaster
03/03/2013, 23:52
para fpg's tienes el fpg edit, que ahora tambien edita fuentes (es 2 en 1)

Drumpi
04/03/2013, 03:10
Y se ha corregido la compatibilidad con Wine.
De todas formas, si quieres dedicarte en serio a los videojuegos, acostúmbrate a crearte tus propias herramientas ;) Con Bennu no es difícil crear un programa que lea gráficos de una carpeta (para eso está la librería image) y los meta en un FPG (comando save_fpg). Yo mismo tengo varias herramientas para trabajar con FPGs (cambiar colores, de bmp a fpg...) pero son para casos de emergencias y no son user-friendly, por eso no se han publicado.
Si te pones en serio, incluso se puede crear un FPGEdit multiplataforma, una vez aprendes a manejar ficheros.

Y en cuanto Bennu te resulte superfácil de manejar, y sepas algo de C, puedes dar el salto a C+SDL. Según tengo entendido no hay mucha diferencia, una vez tienes tus rutinas de dibujo, y puedes aumentar la eficiencia respecto a un juego hecho en Bennu (teóricamente).

jose_andre90
04/03/2013, 06:26
Voya revisar bien eso del editor de FPG y Fuentes dos en uno.

Pues sí sé C++ e incluso estoy pensando en ver algo sobre Allegro ya que lo que me interesa por el momento es 2D; pero no sé si lo que hago en Bennu en 10 líneas en Allegro lo tengo que hacer en 50 líneas. ¿Allegro es puede funcionarme para crear juegos de forma relativamente rápida o de plano Bennu en esto gana por mucho?

IronArthur
04/03/2013, 08:55
Con Lua tienes Corona y Moai como alternativas, que están relativamente de "moda"

De hecho me suena que hay hasta interprete de Lua para SFML

Salu2

pakoito
04/03/2013, 10:24
Pues sí sé C++ e incluso estoy pensando en ver algo sobre Allegro ya que lo que me interesa por el momento es 2D; pero no sé si lo que hago en Bennu en 10 líneas en Allegro lo tengo que hacer en 50 líneas. ¿Allegro es puede funcionarme para crear juegos de forma relativamente rápida o de plano Bennu en esto gana por mucho?
GameMaker, aunque la gente de aquí repudie de él. Yo voy a intentar hacer algo con MonoGame (C#) o libgdx (Java) pronto, que te hacen la multiplataforma. En algunos hay licencia de hasta ~150€ pero te ahorras el tener que hacerte tu el motor. Hacerte tu el motor y las herramientas requiere conocimientos y tiempo que no van a ser invertidos en hacer un juego si no en cacharrear y cabezazos para hacer cosas que en otros sitios tienes de serie. Es muy educativo si quieres aprender cómo funcionan las cosas pero nunca vas a trabajar haciendo un juego asi que no tiene sentido.

Que no lo digo yo, lo dicen los de TIGSource, que son la comunidad más grande de gamemakers no profesionales. Si el inglés no es lo tuyo, Stratos-ad es el equivalente español.

josepzin
04/03/2013, 10:31
Los juegos de Locomalito demuestran que con Gamemaker se pueden hacer cosas "interesantes"!

pakoito
04/03/2013, 10:54
Los juegos de Locomalito demuestran que con Gamemaker se pueden hacer cosas "interesantes"!

Hotline Miami también es GameMaker, aun me pregunto cómo consigue ese efecto psicodélico. Y Super Crate Box.

IronArthur
04/03/2013, 13:20
GameMaker, aunque la gente de aquí repudie de él. Yo voy a intentar hacer algo con MonoGame (C#) o libgdx (Java) pronto, que te hacen la multiplataforma. En algunos hay licencia de hasta ~150€ pero te ahorras el tener que hacerte tu el motor. Hacerte tu el motor y las herramientas requiere conocimientos y tiempo que no van a ser invertidos en hacer un juego si no en cacharrear y cabezazos para hacer cosas que en otros sitios tienes de serie. Es muy educativo si quieres aprender cómo funcionan las cosas pero nunca vas a trabajar haciendo un juego asi que no tiene sentido.

Que no lo digo yo, lo dicen los de TIGSource, que son la comunidad más grande de gamemakers no profesionales. Si el inglés no es lo tuyo, Stratos-ad es el equivalente español.

Llevo en esa fase meses [wei]

salu2

hardyx
04/03/2013, 13:23
Hardyx, ¿porqué un poco especial Lua?
No pienso llegar a ser profesional, pero sí hacer un buen juego para varias plataformas con engines libres.
;)
No me hagas mucho caso con Lua, es que vi código un poco raro, pero es sencillo. Aún así Bennu, es bastante completo, y es un lenguaje bastante optimizado y orientado a multimedia y juegos. Sobre el C++ con Allegro o SDL, es posible, pero ten en cuenta que algo que en Bennu es una instrucción por ejemplo rotaciones o escalados, en C++ te puede llevar 50 o 100 líneas. Elige el lenguaje con el que te sientas más a gusto. El hacer un juego bueno depende de la imaginación y de la habilidad del programador o el equipo que lo haga.

Drumpi
04/03/2013, 14:44
Hasta donde yo se, Allegro es algo más complejo que SDL. En SDL todo son surfaces que creas, editas y desplazas, pero como te dicen, cosas como las rotaciones y demás te lo tienes que hacer tú.
En ambos puedes hacer juegos 2D, de hecho, no sé hasta qué punto puedes hacer 3D en SDL sin motor propio o de extraños. En ese caso ya recomiendan motores tipo Unity3D o Yeti3D tirando bien de SDL o de OpenGL.

Ya digo: Fenix/Bennu es SDL sobre C, por lo que muchas instrucciones ya están hechas. La única pega es que le metes una capa en medio y, quieras que no, le quita rendimiento, pero hasta ahora, salvo en Wiz, aun no he llegado al tope técnico. Y si te falta, todavía puedes crearte tus librerías en C... o hacerlo al revés: programar en C+SDL y usar las rutinas de Bennu para orientarte en tu código, las fuentes están disponibles para todo el mundo.

Si no, pues hay muchísimos Game Maker por internet, tanto 2D como 3D (GameMaker, OpenBOR, Mugen...), pero suelen limitarte. Además, yo tuve malas experiencias con uno para hacer FPS, y desde aquel formateo reniego de los GameMaker y de Softonic.

pakoito
04/03/2013, 15:54
Llevo en esa fase meses [wei]

salu2

Yo estaba esperando a tener el PC nuevo, pero parece que voy a tener que hacerlo en el de la empresa :)

-----Actualizado-----


Si no, pues hay muchísimos Game Maker por internet, tanto 2D como 3D (GameMaker, OpenBOR, Mugen...), pero suelen limitarte. Además, yo tuve malas experiencias con uno para hacer FPS, y desde aquel formateo reniego de los GameMaker y de Softonic.
Wat. Estamos hablando de EL GameMaker (http://store.steampowered.com/app/214850/), no hay otro, ni mugen ni RPGMaker ni otro con relación a nivel técnico o empresarial. Los más cercanos son Constructo y Multimedia Fusion 2. Y no se qué relación tiene softonic aquí.

Y desde cualquier experiencia que tuvieras con lo que fuera hasta ahora hay un tramo...el programa está muy lejos de ser perfecto y se atraganta a menudo pero sirve para lo que se le quiere.

Si quieres que alguien con poca experiencia se ponga a hacer sus propias librerías, reimplementaciones y wrappers de SDL para trabajar le vas a tener 8 meses experimentando y sin ver código de juego. Además que eso es precisamente en lo que están basadas los frameworks estos, en SDL, han hecho ya todo el trabajo por ti. Ya hemos visto suficientes ejemplos en el foro de gente que iba a hacer su juego pero como tenían que implementar el motor acabaron en nada.

-----Actualizado-----

Esto de rant en twitter, pero es como si le decís que aprenda boxeo en un combate con Mike Tyson o Hebreo leyéndose La Biblia.

jose_andre90
05/03/2013, 04:49
Gracias por todos sus comentarios y sugerencias. Todas las tomé en cuenta y pues Bennu y Love2d siguen siendo las opciones más viables. En tanto a Allegro por ahora lo dejaré de lado, pues no es exactamente lo que estoy buscando. GameMaker es buena opción para novatos como yo pero no me agrada que no se pueden hacer juegos para Linux y que para portarlos a otras plataformas haya que pagar cuando hay motores gratuitos y con soporte en linux :)

panreyes
05/03/2013, 12:10
Holas jose_andre90

Yo te recomiendo que le pegues un vistazo a cómo hacemos las cosas en PiX Juegos.
Todos nuestros juegos son software libre, y con sólo descargarte el SVN y un par de clics (en Windows, a base de scripts BAT) puedes tener todos nuestros juegos compilados y exportados para la plataforma que prefieras.

Pégale un vistazo a nuestra organización, probablemente te interese si lo que buscas es hacer juegos en 2D sin demasiado esfuerzo.
https://code.google.com/p/pixjuegos/

Saludos!

josepzin
05/03/2013, 13:25
Yo te recomiendo que le pegues un vistazo a cómo hacemos las cosas en PiX Juegos.

Reportado por spammer!! :P

-----Actualizado-----

Pix: ¿como haceis vosotros? digo, para los que no tenemos idea del tema ni de mirar repositorios, cuenta un poco más

Drumpi
05/03/2013, 17:28
Wat. Estamos hablando de EL GameMaker (http://store.steampowered.com/app/214850/), no hay otro, ni mugen ni RPGMaker ni otro con relación a nivel técnico o empresarial. Los más cercanos son Constructo y Multimedia Fusion 2. Y no se qué relación tiene softonic aquí.

Y desde cualquier experiencia que tuvieras con lo que fuera hasta ahora hay un tramo...el programa está muy lejos de ser perfecto y se atraganta a menudo pero sirve para lo que se le quiere.

Si quieres que alguien con poca experiencia se ponga a hacer sus propias librerías, reimplementaciones y wrappers de SDL para trabajar le vas a tener 8 meses experimentando y sin ver código de juego. Además que eso es precisamente en lo que están basadas los frameworks estos, en SDL, han hecho ya todo el trabajo por ti. Ya hemos visto suficientes ejemplos en el foro de gente que iba a hacer su juego pero como tenían que implementar el motor acabaron en nada.

Y yo hablaba del conjunto de programas diseñados para hacer juegos, comunmente llamados "game makers". Preguntaba por posibilidades para hacer juegos, pues en ese estilo hay unos cuantos. El GameMaker considéralo dentro de esa categoría.

¿Que una persona se puede tirar meses escribiendo código para crear sus propias rutinas? Por supuesto, nadie ha dicho lo contrario, y sinceramente, es la mejor manera de aprender (yo nunca cursé una asignatura de compiladores ni leí del tema, pero tras hacer Venturer, cualquier cosa que leo del tema lo entiendo mejor que muchos alumnos que memorizan los apuntes que les pasan, aunque sean más completos).
Pero para ahorrar tiempo siempre pueden buscar las técnicas por internet, o rutinas determinadas ya hechas (que es lo que decía de leer el código de Bennu). Y por supuesto, lo que ya hemos dicho: buscar un motor ya hecho.

Nunca se dijo que hacer juegos fuese fácil y rápido. De un tiempo a esta parte hay muchísimas utilidades para trabajar a golpe de clic, usando scripts o símplemente escribir el código del juego olvidándose de cosas como el refresco de pantalla, pulsar botones o la colisión de polígonos, pero si me preguntan a mi, nada mejor que empezar con un motor hecho e ir aprendiendo poco a poco a no depender de él en favor de tu propio código.

pakoito
06/03/2013, 15:49
Me he encontrado hoy este PDF de una conferencia espa semana para los C apologists http://www.pvv.org/~oma/DeepC_Scandev_Mar2013.pdf


It is important to understand that C (and C++) are
not really high-level languages compared to most
other common programming languages.
They are more like just portable assemblers where
you have to appreciate the underlying architecture
to program correctly. This is reflected in the
language definition and in how compiler deals with
“incorrect” code.
Without a deep understanding of the language, its
history, and its design goals, you are doomed to fail.

hardyx
06/03/2013, 20:04
Me he encontrado hoy este PDF de una conferencia espa semana para los C apologists http://www.pvv.org/~oma/DeepC_Scandev_Mar2013.pdf

Llevo programando en C y C++ bastantes años y me estoy quedando a cuadros con esto. :loco:
Lo que está claro es que al autor no le gusta un pelo el C.

GameMaster
06/03/2013, 20:30
Bueno, en un futuro tendrás esta tool funcionando el Linux, con lo cual podrás hacer juegos en Bennu mucho más comodamente al tener editores de todo tipo para ayudarte en los distintos apartados de un videojuego, todo en 1, sin necesidad de buscarte mucho la vida.

31868

swapd0
06/03/2013, 20:54
Llevo programando en C y C++ bastantes años y me estoy quedando a cuadros con esto. :loco:
Lo que está claro es que al autor no le gusta un pelo el C.
El Olve Maudal es un punto, hace tiempo vi esto que viene bien para escribir mejor codigo.

http://www.slideshare.net/olvemaudal/solid-c-by-example (http://www.slideshare.net/olvemaudal/solid-c-by-example)

IMHO debes de ser muy estricto a la hora de programar en C/C++, o te encontraras con codigo malo que no hay manera de entender que leches haces. Eso lo veo a diario en mi curro donde muchas veces se adoptan soliciones guarras y ahi se quedan para la posteridad.