Buscar

2006/11/07

Herramientas para programar videojuegos

De: anfume.com.

Hacer tus propios juegos?

Con tantos videojuegos disponibles, tanto comerciales como gratuitos, quiza te preguntes: Por que hacer mis propios juegos? a lo cual yo te responderia: y porque no?

Hacer juegos es un proceso creativo, en donde no solamente debes aplicar tus habilidades como diseńador grafico (texturas, sprites, modelos, etc), sino que tambien debes crear niveles, aplicar logica, un poco de matematicas (dependiendo del tipo de juego), diseńar efectos de sonido y de ambiente, crear la musica de fondo, animar tus personajes y objetos (en 2D o 3D), crear historias y problemas a resolver, programar la inteligencia artificial, y mucho mas. En otras palabras, para crear tus propios juegos de video, deberas convertirte en todo un artista multimedia para completar satisfactoriamente tus objetivos.

Sin embargo es posible dedicarse a una tarea especifica cuando se trabaja en equipo, y precisamente esta es la forma en la que cualquier juego comercial es creado, aunque en el caso de un proyecto pequeńo sin afan comercial las desventajas son evidentes, ya que se pierde el control sobre el resultado final basado en la idea original del proyecto. Es por esto que la idea principal en este caso, es el desarrollo de videojuegos por ti mismo. En otras palabras, la informacion aqui presentada esta escrita pensando en individuos que desean crear sus propios juegos por diversion o aprendizaje, y no necesariamente con fines comerciales (sin descartar dicha posibilidad para aquellos que puedan crear juegos de gran calidad).

Debido a lo anterior, debo mencionar un par de cosas respecto a la programacion de juegos (C++, visual basic, etc) y a la 'creacion' de juegos (game makers como gamestudio, etc).
Contrario a lo que los verdaderos programadores te digan, en realidad NO importa si usas un game maker o si aprendes un lenguaje de programacion para hacer un juego. Lo anterior es completamente valido en este caso: la creacion de juegos por diversion.

Por ejemplo, supongamos que deseas crear una pagina web, y haces tu pregunta en un foro de programadores web sobre cual es la mejor herramienta a utilizar (dreamweaver, frontpage, etc). Lo mas probable es que te respondan con: 'Aprende html para que sepas lo que estas haciendo y tengas control total sobre el resultado final'. O supongamos que deseas tener un foro php, y entonces vas con algun amigo (programador de PHP) y le preguntas sobre cual es el mejor script para montar tu foro (phpbb, invision, etc)... a lo cual tu amigo probablemente respondera: 'Todos esos scripts estan llenos de codigo que no necesitas, lo mejor es que aprendas php y hagas tu propio foro de acuerdo a tus necesidades'.

En ambos casos la respuesta de los puristas son absolutamente adecuadas, pero no significa que sea la unica respuesta correcta a los problemas presentados. Es decir, si lo mas importante es el contenido de tu pagina web (lo que tienes que decir), entonces no importa si usas frontpage, dreamweaver, o escribes html con el bloc de notas... ya que lo mas importante es que completes tu objetivo: publicar y dar a conocer esos poemas que tienes en mente.
En el caso de videojuegos, lo mas comun es escuchar a programadores decir que al usar un 'game maker', el usuario se limita bastante en la creacion de videojuegos... lo cual desde mi punto de vista tiene algo de verdad.

Recordemos que este sitio esta creado para aquellos que desean hacer un videojuego solo por diversion o aprendizaje, y no necesariamente con fines comerciales, y con eso en mente yo diria lo siguiente: Al usar un 'game maker' eventualmente llegara un punto en el que el usuario encontrara limitaciones en las capacidades de dicha herramienta. Cuando este momento llegue, el usuario resolvera el problema de manera inusual y creativa, cambiara los planes del juego, cambiara a otro 'game maker', o simplemente aprendera un lenguaje de programacion que le permita realizar lo que desea.

Un 'game maker' al igual que un lenguaje de programacion, son completamente inservibles a menos que los utilicemos adecuadamente. Es decir, el tener una copia de GameStudio Pro o el saber programar en C++ no garantizan absolutamente nada, ya que el exito de un videojuego y el grado de diversion que proporcione, dependen de muchas cosas mas que el 'game maker' o lenguaje de programacion utilizados.

Mira la lista de herramientas para crear videojuegos.

2 comentarios:

Anónimo dijo...

Hay muchas paginas dedicadas a la programacion en c++, vb, etc… con el tipico ejemplo del arkanoid o ping-pong, pero ya no vienen mas ejemplos o el codigo del programa esta hecho para la version del 2000 y tu tienes la del 2001 o te falta una libreria que instalar, etc…
Un monton de complicaciones que te terminan quitando las ganas de seguir.
Hay otra alternativas como el blitzbasic3d, con muchos ejemplos y manuales en español muy completos, pero que no dispone de un engine que nos permita obtener resultados a corto plazo y esta un poco desfasado (utiliza directx7, aunque para hacer un juego casero sobra).
Hasta que llegamos a mundovilla.es, que enfoca el tema de la programacion de videojuegos desde un punto de vista de “ocio”, no de estudio ni de profesion sino de pasar una rato ameno frente al ordenador y obtener algun resultado, mediante los GAME ENGINES mas conocidos (FPS Creator, 3D GameStudio, 3D WorldStudio y FreeWorld3D) con enlaces y tutoriales de estos con los que podras empezar a trabajar en poco tiempo. El inconveniente es que son programas comerciales (es decir, no gratuitos) aunque existen versiones de prueba, o free muy recortadas en cuanto a prestaciones.

Por eso, si lo que te propones es hacer un juego casero y quitarte la espinita de haber hecho un juego, existe otro GAME ENGINE “gratuito” y “completo” para su uso NO comercial llamado NeoAxis Engine que utiliza librerias GPL como:
-OGRE 3D
-OPEN DYNAMICS ENGINE
-Ageia PHYSX
-FMOD
Algunas no son GPL pero se autoriza su uso NO comercial.
Este engine utiliza directx 9.0c y la tecnologia .net con C#(No es necesario instalar Visual C#, pero si el .net Framework 2.0), tiene editor de mapas (tipo WED del 3DGameStudio) y un editor de recursos (tipo MED del 3DGameStudio).
El procedimiento es similar a otros game engines, creamos nuestros escenarios y colocamos los personajes y objetos mediante el editor de mapas, y le damos vida mediante codigo en C# que ya tenemos hecho de otro proyecto o que hacemos/modificamos nosotros.
Considero que aprender C# es mas recomendable que aprender un -script language- que te vale solo para un programa. Ya que se hace el esfuerzo en aprender un lenguaje creo que merece la pena aprender C# y encima sobre lo que nos interesa, los videojuegos. (aunque para hacer nuestro juego no es necesario ser un programador C#, un copiar/pegar y un poco de maña sobra )

Mas informacion: http://www.neoaxisgroup.com/description.htm

Yo tengo instalada la version “completa” para uso NO comercial y he probado el proyecto DEMO donde viene todo lo que puede hacer este engine (FPS, RTS, TPS,…) yo creo que de todo.
La descarga esta al FINAL de esta pagina: http://www.neoaxisgroup.com/download.htm

(IMPORTANTE REQUISITOS tener instalado para que funcione: Microsoft .Net Framework 2.0, Microsoft Runtime DirectX9.0c, y los ultimos drivers de vuestra tarjeta grafica. Los enlaces estan al principio de la pagina de descarga del engine) Luego ejecutamos el instalador del NeoAxis Engine y ya esta (no hay que enlazar librerias ni nada de eso, ya podemos a empezar con el manual incluido) Como tengo actualizado el sistema constantemente no hizo falta instalar nada, aparte del engine claro.
Os animo a todos a que lo descargueis y lo probeis(cuando veais la demo quedareis impresionados), y que pronto haya una comunidad hispana sobre este engine que no tiene que envidiar en nada a otros engines comerciales.

Espero que esta informacion haya interesado.

Anónimo dijo...

http://programovideojuegos.jimdo.com/