Foros - Stratos

Programadores => Programación gráfica => Mensaje iniciado por: Lucha en 18 de Enero de 2006, 05:11:15 PM

Título: Motor 2d Con C++
Publicado por: Lucha en 18 de Enero de 2006, 05:11:15 PM
 Estoy intentando empezar un juego 2D educativo desde 0 y quiero utilizar solo herramientas gratuitas, incluso si el juego fuese para venta. No puedo permitirme unas licencias como las de visual studio, pero c++ es gratis si uso un compilador gratis.

Por ello, me gustaría saber que motor utilizar para un juego 2D que se pueda programar en c++. Gracias por vuestras respuestas.

PD: ¿DirectX SDK es gratis si lo que hago con él es para venderlo?
Título: Motor 2d Con C++
Publicado por: senior wapo en 18 de Enero de 2006, 06:41:02 PM
 Si, DirectX es gratis. Y hay una versión gratis de VC++ también (la Express 2005).

En cunnto a la libreria 2D, puesto que me da la sensación de que tus conocimientos sobre el tema no son muy amplios, te recomiendo SDL porque hay mucha información y tutoriales, en inglés y castellano.

Hay otras como allegro (otra buena alternativa pero con menos tutoriales actualizados, es la que uso yo), y popcap framework (algo más complejo).
Título: Motor 2d Con C++
Publicado por: javiel en 18 de Enero de 2006, 06:46:46 PM
 Si lo que necesitas es 2d, yo tb te recomiendo SDL. Además si te apetece podrás portar tu juego con facilidad a linux y a macos. Siempre lo puedes tener como alternativa

Te paso este link:

http://www.agserrano.com/publi.html

ahí tienes ejemplos y un libro en PDF muy bueno para empezar a programar en SDL con linux y windows. Es el libro de ediversitas que verás en banners en este mismo foro. El autor lo ha liberado

Como herramienta puedes usar para windows Devc++ y empezar a trabajar con SDL.

http://www.losersjuegos.com.ar/documentos/...alar_devcpp.php

ahí tienes un artículo donde te lo explica todo

saludos y espero que te sirva
Título: Motor 2d Con C++
Publicado por: Loover en 18 de Enero de 2006, 08:48:19 PM
 Ya estamos, ya estamos. ¿Pero esto qué es? Que sí SDL que si patatin que si patatán. ¡Porfavor! ¡Hacer propaganda a la gente del foro!

Tus mejores opciones son estas 3:
- CRM32Pro => Bajo este nombre tan feo se encuentra una muy buena librería para programar juegos 2d. http://www.megastormsystems.com/main.htm

- DXLib32 => Otra con nombre feo de cojones, pero realmente buena si quieres hacer un juego en Visual Basic.
http://dxlib32.se32.com/

- LooverLib => Un nombre precioso, esta, siento decirlo, es la mejor de las 3 (no porque sea verdad sino porque es la mía :D)
http://www.pixelartgames.com/looverlib.html

Y ya hablando en serio, mirate las prestaciones de unas y otras, y usa la que más te convenga. Las 3 te ahorrarán mucho trabajo. Como entorno de compilación te recomiendo que descargues de microsoft grauitamente el VC++ 2005 Express.

Por ejemplo mira que fácil es en LooverLib que se dibuje en pantalla la superficie "sombrilla", en la posición 400, 250 profundidad 1. Escalada al doble de su tamaño y tintada de azúl medio transparente.
mSombrilla.SetSurface (&mSurfaceSombrilla);
mSombrilla.SetPosition (400, 250, 1);
mSombrilla.SetScale (2, 2);
mSombrilla.SetFade (0, 0, 255, 128);


Por cierto que la próxima versión de LooverLib está a punto de llegar :D. Le he metido colisiones, input, solventado bugs, etc.

Te dejo algunas capturas hechas con Looverlib (son de los ejemplos, código fuente y ejecutable en la sección descargas de la web):

Está es una imagen que muestra 3 fondos haciendo parallax y algunos sprites haciendo entintados, rotacioen y alpha. Hasta un bebe de 5 años entendería el código fuente. Son menos de una página de líneas de código. Sino lo crees bajalo y miralo.

(http://www.pixelartgames.com/looverlib/imagenes/cueva.jpg)

Unos cuantos Sprites animados (las animaciones van por script, así que puedes variarlas sin recompilar tu proyecto :)

(http://www.pixelartgames.com/looverlib/imagenes/animaciones.jpg)

Oh! Un generador de mapas tipo worms. ¿Sabes cuánto tarde en hacerlo con Looverlib? ¡3 horas! Bajate el código fuente que te vas a reir de lo fácil que es.

(http://www.pixelartgames.com/looverlib/imagenes/worms%20map%20generator.jpg)
Título: Motor 2d Con C++
Publicado por: ethernet en 18 de Enero de 2006, 09:11:03 PM
 arg, pensaba que estabas generando el también la forma del terreno :).
Título: Motor 2d Con C++
Publicado por: Lucha en 18 de Enero de 2006, 10:41:00 PM
 ¡Gracias a todos por las respuestas!

Pero voy a aprovecharme de vuestra buena voluntad y voy a darle una vuelta de tuerca a la pregunta:

¿Y si lo que quiero es hacer un videojuego 2D comercializable, pero libre de licencias, y en visual basic en vez de c++?
Título: Motor 2d Con C++
Publicado por: TheAzazel en 18 de Enero de 2006, 11:26:53 PM
 Si quieres usar VB ya te han dado la respuesta: dxlib32.

Por cierto, las tres "librerias" son completamente gratuitas, ademas creo que Loover entrega tambien el codigo fuente.... de dxlib32 no se como esta ese tema... y de CRM32Pro de momento no tengo pensado liberarlo... pero en un futuro lo hare...

Suerte en el desarrollo! y recuerda, empieza por un juego sencillo!  (ole)
Título: Motor 2d Con C++
Publicado por: ZüNdFoLGe en 19 de Enero de 2006, 12:02:55 AM
 decidirte por VB o C++ depende del juego que tengas en mente, ylas ventajas/desventajas creo que no hace falta decirlas  :P  
Título: Motor 2d Con C++
Publicado por: Pogacha en 19 de Enero de 2006, 12:04:01 AM
 Mas bien, en este momento estas obligado a usar alguna de estas librerias, puedes usar VisualBasic o C++, para ambos tienes librerias, y compiladores gratuitos.  
Tienes todo el apoyo de los desarrolladores de estas librerías, y ademas el del foro mismo.
Así que si quieres hacer un juego y venir a este foro lo mejor es que uses una de estas librerías que son de lo mejor.

Saludos.
Título: Motor 2d Con C++
Publicado por: ethernet en 19 de Enero de 2006, 12:13:18 AM
 Si quieres un consejo no pienses demasiado en las librerías, pilla la que más te guste y programa algo divertido que es lo que realmente importa. Estoy seguro que cualquiera de las librerías que te han expuesto sirve para hacer un buen juego, no pienses ahora en lenguajes, librerías, SSOO, máquinas, piensa en hacer un juego y hazlo (sea como sea), que ya es un reto aceptable.
Título: Motor 2d Con C++
Publicado por: Lucha en 19 de Enero de 2006, 02:00:53 AM
 diox! menuda sobrecarga de informacion! este foro  es genial!
ahora bien... ¿y el sonido? ¿va incluido en estas librerias?  
Título: Motor 2d Con C++
Publicado por: [EX3] en 19 de Enero de 2006, 04:10:01 AM
 
Cita de: "Loover"Ya estamos, ya estamos. ¿Pero esto qué es? Que sí SDL que si patatin que si patatán. ¡Porfavor! ¡Hacer propaganda a la gente del foro!
Eso eso, viva la propaganda Stratera xDDD

Cita de: "Loover"- DXLib32 => Otra con nombre feo de cojones
Mientras solo sea el nombre me conformo :P

Weno, mi turno B)
Cita de: "Lucha"¿Y si lo que quiero es hacer un videojuego 2D comercializable, pero libre de licencias, y en visual basic en vez de c++?
Ten encuenta una cosa y es que si desarrollas sobre VB y pretendes luego comercializar tu programa tienes obligacion de pagar la licencia del VB como minimo. Por otro lado, la dx_lib32 es un componente totalmente gratuito. No requieres licencia para usarlo ni pagar royalty alguno, simplemente descargar y usar :)

Cita de: "Lucha"ahora bien... ¿y el sonido? ¿va incluido en estas librerias?
La libreria de Loover creo que aun no tiene implementacion de rutinas para manejar sonido (o eso creo), pero CRM32Pro si, que yo recuerde al menos, claro. Para mas informacion lo mejor es que entres en la pagina de cada libreria y te empapes con toda la informacion que exponen acerca de ellas.

Sobre la dx_lib32, esta libreria te cubriria la parte de rutinas graficas, de sonido, de lectura de perifericos de entrada (input), de reproduccion de video y un juego de rutinas complementarias que cubren varios campos referidos al sistema y similares. Para mas informacion acude a la pagina del proyecto a la seccion de caracteristicas.

Actualmente se encuentra la version 1.03 publicada en la pagina, es una version algo antigua pero funcional, con algunos errores menores, y sin documentacion, aunque tienes cerca de 20 ejemplos con codigo fuente colgados en la pagina que utilizan la mayoria de las funcionalidades de la libreria.

En cuestion de semanas tendre lista la que sera la culminacion de dicho proyecto y resultado de 6 años de desarrollo y aprendizaje, la dx_lib32 2.0, que es una completa reforma al codigo de la libreria mejorando y optimizando varias de sus funciones asi como ampliando funcionalidades de la misma y con la mayoria, si no todos, de los bugs corregidos. Esta nueva version dispondra de documentacion y algunos tutoriales que facilitaran la tarea a todo aquel que se incie con la libreria o que ya haya trabajado con ella. Para mas informacion leer la ultima entrada en mi "cutre-blog" del msn :P o en la web oficial del proyecto ;)

Salu2...
Título: Motor 2d Con C++
Publicado por: Lucha en 19 de Enero de 2006, 09:44:56 AM
 ¡Gracias de nuevo! (se me van a fundir las teclas que componen la palabra "gracias" a este paso  :D )

Entonces... ¿hay algun compilador VB gratis, que pueda utilizar para una aplicación comercial sin pagar licencias, como dicen que hay una para C++?
Título: Motor 2d Con C++
Publicado por: Loover en 19 de Enero de 2006, 02:20:14 PM
 
CitarQUOTE (Loover @ 18/01/06, 21:48 )
- DXLib32 => Otra con nombre feo de cojones

Jajaja, más feo es LooverLib :D

Y no, no tiene sonido. Aunque igual ya que uso SDL para input, hago una clase wrapper y se lo meto.

Citararg, pensaba que estabas generando el también la forma del terreno .
¡Con lo que mola dibujar tus propias fases y poner tu nombre al estilo worms! :D

Título: Motor 2d Con C++
Publicado por: ethernet en 19 de Enero de 2006, 03:11:28 PM
Cita de: "Loover"
Citararg, pensaba que estabas generando el también la forma del terreno .
¡Con lo que mola dibujar tus propias fases y poner tu nombre al estilo worms! :D
XD, si no recuerdo mal el worms generaba pantallas aleatorias, por eso lo asociaba. Estuve mirando la librería con detenimiento y la verdad es que molan, las demos sobretodo, yo hubiera seguido un poco con la de luchadores para que se pudieran dar ostias xD
Título: Motor 2d Con C++
Publicado por: [EX3] en 19 de Enero de 2006, 10:56:23 PM
 
Cita de: "Lucha"Entonces... ¿hay algun compilador VB gratis, que pueda utilizar para una aplicación comercial sin pagar licencias, como dicen que hay una para C++?
Me temo que para Visual Basic 6.0 y anteriores no existe compilador alternativo y gratuito :( (si alguien confirma lo contrario ya esta tardando en avisarlo :P). Existen imitaciones del VB pero que no son compatibles entre si, vamos, que el lenguaje se basa en el BASIC pero la sintaxis varia en varias cosas, alternativas al VB6: Pure Basic, Real BASIC y los conocidos BlitzBasic y BlitzMax, que aunque se alejan de la filosofia del VB son excelentes herramientas para desarrollar juegos, al menos segun mi opinion.

Por otro lado, para Visual Basic .NET existen tanto alternativas para el entorno de desarrollo como del propio compilador y lenguaje. SharpDevelop un editor open source para .NET, y el Proyecto MONO, alternativa al .NET con soporte multiplataforma.

Resumiendo, si quieres comercializar un programa desarrollado en VB6 tienes que pagar la licencia :P

Para C++ existen varias alternativas gratuitas, open-source, tanto para compiladores, como entornos de desarrollo y librerias de terceros que pienso que mejor que te las comente cualquiera de los pueblan este foro y que las usan y se las conocen de pe a pa sus pros y sus contras ;) (total, solo somo 4 gatos los que programamos en VB en estos foros :P)

Salu2...
Título: Motor 2d Con C++
Publicado por: Pogacha en 20 de Enero de 2006, 12:24:11 AM
 
Cita de: "[EX3"]
Cita de: "Lucha"Entonces... ¿hay algun compilador VB gratis, que pueda utilizar para una aplicación comercial sin pagar licencias, como dicen que hay una para C++?
Me temo que para Visual Basic 6.0 y anteriores no existe compilador alternativo y gratuito :( (si alguien confirma lo contrario ya esta tardando en avisarlo :P). Existen imitaciones del VB pero que no son compatibles entre si, vamos, que el lenguaje se basa en el BASIC pero la sintaxis varia en varias cosas, alternativas al VB6: Pure Basic, Real BASIC y los conocidos BlitzBasic y BlitzMax, que aunque se alejan de la filosofia del VB son excelentes herramientas para desarrollar juegos, al menos segun mi opinion.

Por otro lado, para Visual Basic .NET existen tanto alternativas para el entorno de desarrollo como del propio compilador y lenguaje. SharpDevelop un editor open source para .NET, y el Proyecto MONO, alternativa al .NET con soporte multiplataforma.
El Visual Basic Express 2005 como entra ? pregunto por que ni idea ...
Título: Motor 2d Con C++
Publicado por: [EX3] en 20 de Enero de 2006, 02:38:48 AM
 Hablando desde un nivel algo desinformado del tema ya que en realidad no estoy puesto al 100% con las tecnologias .NET (solo controlo en lo referente a VB6 :P), que yo sepa el VB.NET 2005 "deberia" ser soportado por MONO, total, todos los lenguajes de .NET dan como resultado un mismo codigo, el mismo que se generaria al programar con C#, no?. MONO es compatible con el FrameWork .NET 2.0 segun lei en la pagina, aunque no al 100%, claro. Los que esteis al tanto del tema corregidme, por favor :P

No se si era esto a lo que te referias :ph34r:

Salu2...
Título: Motor 2d Con C++
Publicado por: Loover en 20 de Enero de 2006, 12:23:27 PM
 Ethernet:
CitarXD, si no recuerdo mal el worms generaba pantallas aleatorias, por eso lo asociaba. Estuve mirando la librería con detenimiento y la verdad es que molan, las demos sobretodo, yo hubiera seguido un poco con la de luchadores para que se pudieran dar ostias xD

En el worms se generaban aleatoriamente, sí, pero también había un editor. El típico en el que dibujabas marranadas y luego jugabas en esa fase :D
Mi generador tan solo coge esa imagen en blanco y negro, y coloca el terreno. No genera la imagen en blanco y negro, aunque podría ser interesante y no demasiado complejo hacer lo anterior. Unos cuantos random... jeje

Si que molaría que pegaran leches, sí. ¿Que tal si esperas a la LooverLib 1.2 que llevará input y tu mismo lo implementas?

Los ejemplos quise dejarlos lo más despejados posibles. Ojala alguien se animara a hacer un jueguecillo y publicar el código fuente a modo de tutorial.

La documentación, que acutalmente es una API reference me gustaría ampliarla a un Manual y un Wiki con tutoriales. Pero eso lleva taaaaanto tiempo :P
Título: Motor 2d Con C++
Publicado por: Vicente en 20 de Enero de 2006, 12:58:21 PM
Cita de: "[EX3"] Hablando desde un nivel algo desinformado del tema ya que en realidad no estoy puesto al 100% con las tecnologias .NET (solo controlo en lo referente a VB6 :P), que yo sepa el VB.NET 2005 "deberia" ser soportado por MONO, total, todos los lenguajes de .NET dan como resultado un mismo codigo, el mismo que se generaria al programar con C#, no?. MONO es compatible con el FrameWork .NET 2.0 segun lei en la pagina, aunque no al 100%, claro. Los que esteis al tanto del tema corregidme, por favor :P

No se si era esto a lo que te referias :ph34r:

Salu2...
Hola,

contestando a lo de VB.NET y tal. Usando VB.NET (con el Visual Studio Express) si que debería ser gratuito, sin royalties, ni nada del estilo.

Respecto a integar VB.NET con Mono: que yo sepa, Mono aún no compila perfectamente archivos de VB, pero si los compilas desde windows y luego usas la dll en Mono (desde C#), no debería darte problemas. Lo que no entiendo: si al final vas a tener que usar C# en Linux, porque no lo usas en win? :P

Usease: una cosa es que todos los lenguajes de .NET se lleven bien una vez compilados (esto Mono no debería tener problemas) y otra es compilarlos (en lo cual Mono para VB.NET no está todavía 100% operativo). Espero haber aclarado un poco la duda ;)

Un saludo!

Vicente
Título: Motor 2d Con C++
Publicado por: Lucha en 20 de Enero de 2006, 02:24:47 PM
 Entiendo. Entonces, si desarrollo un programa comercial en VB usando SharpDevelop + directX no tendré que pagar licencia de ningún tipo, ¿verdad?
Título: Motor 2d Con C++
Publicado por: [EX3] en 20 de Enero de 2006, 11:29:57 PM
 
Cita de: "Lucha"Entiendo. Entonces, si desarrollo un programa comercial en VB usando SharpDevelop + directX no tendré que pagar licencia de ningún tipo, ¿verdad?
Siendo Visual Basic .NET no tendras que pagar nada, siendo Visual Basic 6.0 si, ya que ni si quiera podras desarrollarlo con SharpDevelop al no tratarse de un lenguaje .NET, VB6 utiliza su propio FrameWork o Runtime.

Cita de: "Vicente"Usease: una cosa es que todos los lenguajes de .NET se lleven bien una vez compilados (esto Mono no debería tener problemas) y otra es compilarlos (en lo cual Mono para VB.NET no está todavía 100% operativo). Espero haber aclarado un poco la duda ;)
Este apunte no lo sabia, gracias por la informacion (ole)

Cita de: "Vicente"Respecto a integar VB.NET con Mono: que yo sepa, Mono aún no compila perfectamente archivos de VB, pero si los compilas desde windows y luego usas la dll en Mono (desde C#), no debería darte problemas. Lo que no entiendo: si al final vas a tener que usar C# en Linux, porque no lo usas en win? :P
Para que programar en VB.NET en Windows si luego tengo que programar en C# en Linux para usar lo compilado en Windows con VB.NET? A esto te refieres, no? xD Weno, aun falta tiempo hasta que me decida a saltar a .NET (y a Linux 3 cuartos de lo mismo :P), seguramente antes entre con C/C++ que con C# o VB.NET incluso, asi que aun tengo tiempo para ver como evoluciona MONO en cuanto a compilar proyectos de VB.NET xDDD

Un ultimo apunte, Vicente, entonces solo se paga por el entorno de desarrollo y el compilador, osease el Visual Studio, y no por las runtimes o FrameWork? Siendo esto asi, podria ocurrir lo mismo con VB6, que la runtime sea gratuita? aunque claro, todo esto con VB6 de poco me vale saberlo si no existe compilador e IDE alternativo tipo SharpDevelop y ya que el usuario final de la libreria tendria que pagar igualmente la licencia de VB6 (que a estas alturas debe estar por los suelos el precio) al usar el compilador e IDE (nooo)

Salu2...
Título: Motor 2d Con C++
Publicado por: Vicente en 21 de Enero de 2006, 12:10:05 AM
 Hola,

el compilador de .NET (C#, VB.NET, Managed C++) a MSIL (el código intermedio de .NET) también es gratuito (viene con el Framework). SharpDevelop por ejemplo usa ese compilador. Lo unico que pagas si quieres es el IDE (porque las versiones express del Visual Studio son gratuitas).

Proyecto Mono

En ese enlace hablan de VB.NET para Mono (muy poco). Parece ser que permite usar DLLs compiladas en Windows, pero la compilación en Linux todavía está en alfa. Si quieres más información yo creo que podrías probar a tirarles un mail a ver que te dicen...

Un saludo!

Vicente