lunes, 18 de octubre de 2010

Listado de recursos para el desarrollo de juegos

Esta es una lista de distintos recursos que considero interesantes para el desarrollo de juegos y explicaré cuáles me resultan más interesantes:

NOTA: Conforme encuentre mejores recursos o utilidades nuevas, las pondré aquí. Los motores están enfocados para el lenguaje C/C++.

MOTORES GRÁFICOS

Mi valoración: Mi favorito es Irrlicht Engine. Es un proyecto con muchos años a sus espaldas pero sigue evolucionando, tiene una documentación aceptable y sus posibilidades son bastante buenas. En cuanto a rendimiento es muy rápido y además es el que tiene una sintaxis más sencilla (dentro de lo que cabe, claro está), por lo que para un proyecto sencillo entre nosotros es una opción muy buena.

MOTORES FÍSICOS

Mi valoración: PhysX y Newton son mis favoritos. Del primero, poco más se puede decir de sus bondades: es el motor físico más famoso y por suerte nVidia nos proporciona su SDK de manera gratuita. También es el más potente y como es de esperar, tiene un excelente soporte. Sus puntos negativos es requerir (aparte del propio SDK, claro está) del software de PhysX para hacerlo funcionar y el hecho de no ser multiplataforma (sólo admite Windows y consolas). Newton también es un motor muy potente (sorprende sabiendo su naturaleza "open source") y con muy buen soporte. Los dos los tengo muy en cuenta. Chipmunk es un recurso ideal si queremos físicas realistas para juegos en 2D.

MOTORES DE SONIDO

Mi valoración: Excelentes librerías de sonido, me cuesta decantarme por una de las dos. irrKlang está realizada por el creador de Irrlicht y eso es una garantía de facilidad de uso y calidad. OpenAL (de Creative Labs, conocida por sus increíbles sistemas de sonido) es otra gran elección, muy usada además (VisualBoy, Dolphin, Unreal Tournament...). Cualquiera de las dos opciones es buena.

MOTORES DE INTELIGENCIA ARTIFICIAL

Mi valoración: Aquí es muy complicado escoger. Los motores de IA son muy escasos (imagino que por su complejidad y su ambigüedad), por lo que considero que lo ideal es escoger cualquiera y a partir de él, crearse uno propio con la combinación de los comportamientos ya implementados (esto es una teoría). Lo que sí recomendo como ayuda es consultar este libro. Está en inglés pero es un apoyo importante, una referencia importante en el tema de la inteligencia artificial. Da muchos consejos de cómo enfocar la IA según el género del juego, técnicas de programación, ejemplos de código de juegos ya existentes... Verdaderamente recomendable: http://hotfile.com/dl/45951001/0db3f6c/AIGame_Engine_Programming-BrianSchwab.rar.html

MOTORES DE JUEGO EN RED

Mi valoración: Todas son geniales librerías de juego en red pero mis favoritas son RakNet y sobre todo, ENet. Son potentes, fiables y relativamente sencillas de usar.

HERRAMIENTAS DE DESARROLLO

Mi valoración: El mercado está lleno de motores de gran calidad como estos (mi lista inicial tenía muchos más). Los tres escogidos son muy buenos, cada uno con sus muchos pros y sus pocos contras. Si hubiera que destacar alguno, quizás Leadwerks por tener física de las librerías Newton (lo malo es que este programa requiere demasiada potencia para ejecutarse) y Unity, por ser el primer software de este estilo que usamos y tenemos algo de conocimiento de él (aunque tenga la desventaja de no permitir lenguaje C++). También me gusta bastante Torque, tiene muy buena pinta. La lástima es que todos estos programas son comerciales salvo Panda3D.

LIBRERÍAS MULTIMEDIA

Mi valoración: Es difícil escoger a una de las dos, pero si acaso me decanto por SDL. SFML se considera su sucesor, su versión moderna (y por méritos propios, ya que mejora a su original) pero prefiero SDL por su más que demostrada robustez y por su abundante documentación, entre otras cosas.

OTROS RECURSOS IMPORTANTES

  • TortoiseSVN: http://tortoisesvn.net/ (Sistema de control de versiones, necesario para subir código a un repositorio).
  • Blender: http://www.blender.org/ (Software de modelado en 3d, útil para crear escenarios, personajes, objetos...).
  • Code::Blocks: http://www.codeblocks.org/ (Entorno de desarrollo muy bueno, preparado para alguno de los motores mencionados anteriormente).

MI COMBINACIÓN DE LIBRERÍAS PREFERIDA:

Cualquier combinación es buena, pero mi preferida sería la siguiente: Irrlicht - Newton - IrrKlang - IA propia - ENet.

No hay comentarios:

Publicar un comentario