Mostrando entradas con la etiqueta Steampac 3d. Mostrar todas las entradas
Mostrando entradas con la etiqueta Steampac 3d. Mostrar todas las entradas

viernes, 28 de diciembre de 2012

SteamPac 1.0.1



Después de todos los avatares derivados de la actualización del Sistema y sus reajustes, he encontrado el momento para preparar los correspondientes archivos de actualización de SteamPac 3D.

En esta versión 1.0.1 se corrigen dos 'bugs': 
- Si el jugador entraba en el área de nacimiento del enemigo, caía a través del mundo virtual.
- Existía un problema con el cambio de apariencia de los enemigos que confundía sobre su estado real. Este problema se ha solucionado añadiendo nuevos 'estados' en las mallas de reemplazo.

Las actualizaciones se encuentran disponibles para Linux y Windows en 32 y 64 bits:



Tras esta actualización, dejo este proyecto momentáneamente en 'standby'  para poder centrarme en el otro juego que tengo en desarrollo: Bartar, el pequeño guerrero.

jueves, 8 de noviembre de 2012

Artículo sobre Steampac 3D en Blendercat


Hola a todos de nuevo.

Ya se ha publicado el número 4 (octubre) de la revista Blendercat, publicación en español que recopila artículos y tutoriales sobre Blender. En este número firmo uno de los artículos donde explico algunos detalles interesantes sobre la realización del juego "Steampac 3D" y hago algunas reflexiones sobre la realización de juegos con Blender en general mediante "logic bricks".

Así que ya sabéis, podéis descargar el pdf con el siguiente contenido:
  • Steampac 3D, un videojuego por Angel Sanchez.
  • Modificador Spin por Abraham CastillaHamusuta Man.
  • Video Editor por Marçal Mora.
  • Software Libre, una cuestión ética por Xavier Gassó.
  • LibreWare, la serie por Marçal Mora.
Saludos y pronto espero publicar algún avance sobre mi actual proyecto.

martes, 2 de octubre de 2012

En primer lugar quiero daros las gracias a todos por las muestras de apoyo recibidas. Me alegra que un proyecto Open Source como éste haya tenido una aceptación (para mí) más que notable.

Esta entrada es solo para anunciaros que SteamPac 3D, además de su correspondiente entrada en este blog, ya tiene su propia página en la que se desarrollan los contenidos exclusivos sobre este proyecto.

De todas maneras, en este blog seguiré posteando las novedades sobre ese proyecto y algunas otras "locuras" en las que acabaré embarcado.

jueves, 27 de septiembre de 2012

STEAMPAC 3D - Videojuego arcade

Tras un tiempo de pausa, estoy de vuelta con vosotros con un juego completamente realizado con Blender y que utiliza su motor de juegos.

Vídeo con SteamPac 3D 1.0 en funcionamiento

steampac01

Características generales:
Steampac es un juego de laberinto inspirado por el popular Pac-man (también conocido en España como "Comecocos"), aunque con una estética diferente (mezcla de estilo "Toon" y "Steampunk") y con personajes y escenas en 3D.
Este juego está totalmente desarrollado con Blender y utiliza su motor de juego.
Salvo un par de líneas de código en Python, toda la programación se ha llevado a cabo mediante "logic bricks".

steampac01 steampac01
Capturas del videojuego en funcionamiento

Características técnicas:
El reproductor autónomo tiene una resolución de 640x480 y utiliza un sombreado GLSL.
El Lenguaje OpenGL Shading (GLSL) necesita una tarjeta gráfica y controladores que lo soporten. Consulta la lista de tarjetas gráficas admitidas en el documento "readme.html" que se incluye en el juego.

steampac01 steampac01
Capturas del videojuego en desarrollo

A título personal:
Tras algún tiempo sin tocar el módulo de juegos de Blender (desde su versión 2.49) y con ganas de probar algunas de sus novedades, me adentré en lo que "a priori" parecía un proyecto sencillo: la realización de un videojuego de laberinto que siguiera el esquema de juego del Pac-man, aunque modificando los elementos visuales y dotándolo de un escenario en 3D.

Esto que parece algo relativamente fácil ha ido complicándose por momentos hasta adquirir rasgos de proyecto inalcanzable (No me quiero imaginar a la gente que se embarca en la realización de juegos tipo FPS en solitario).

La preparación del material que lo compone (personajes, texturas, animación, etc.) quizás ha sido la parte menos pesada puesto que estoy más acostumbrado a manejarme con ello. Aunque, claro, siempre surgen ciertas cuestiones: retoques de modelos para bajar la densidad de la malla, ajustar las texturas en las nuevas mallas, etc.

El apartado de programación en Blender ha sido la parte más "entretenida". A partir de unos esquemas en los que se abordaban cuestiones como el propio diseño y los comportamientos de jugador y enemigos, fui construyendo toda la lógica. Pero el reto más importante era que sólo debería emplear "logic bricks". Quería ver si un juego aparentemente sencillo podría construirse sólo mediante los bloques lógicos de Blender, sin utilizar python (o al menos, haciéndolo en su mínima expresión).

La buena noticia es que, efectivamente, es factible hacer un juego de este tipo empleando sólo "logic bricks" (de hecho, al final sólo he incluido dos líneas de código en python para mostrar y ocultar el cursor en determinados momentos). La mala noticia es que, o tienes las ideas muy claras en la organización y desarrollo de tu proyecto o éste "morirá entre terribles sufrimientos". Es vital utilizar distintos "estados" en los personajes para mantener cierta coherencia en la construcción y, sobretodo, tener un mínimo de organización. Además, como suele pasar con este tipo de trabajos, cuando arreglas una cosa aparecen otros problemas que irremediablemente te conducen a otros en una espiral casi infinita de problemas o fallos (en este punto es donde te darás cuenta si has organizado adecuadamente tus elementos, ya que intentar localizar un problema dentro de un caos de objetos y "logic bricks" puede acabar con tu salud mental).

Otra cuestión que me ha dado bastantes quebraderos de cabeza ha sido la optimización del juego. Efectivamente, en mi equipo (no muy potente, pero con una gráfica reciente) no hay mayores problemas a la hora de ejecutarlo: fácilmente alcanza los 60 FPS y se nota fluido. Ahora bien, al realizar las pruebas con otros equipos de menores prestaciones, los FPS pueden llegar a caer a la mitad. El mayor problema está en la utilización de "GLSL" como "shader" en lugar de "Singletexture" o "Multitexture" para poder visualizar materiales complejos realizados con nodos (el efecto "Toon" de los personajes). Además, tuve que crear librerias de materiales y cambiar el formato de las texturas de .jpg y .png a .dds (direct draw surface) puesto que parece que se mejora la carga de imágenes.
steampac01 steampac01
Esquemas de trabajo

Descargas:
Ahora que ya sabéis algo más sobre este proyecto, podéis descargarlo desde sourceforge.net, o desde los enlaces que aparecen más abajo, en sus versiones para Linux y Windows (pronto espero tener preparada una versión para Mac OS X).

Si estáis interesados en más detalles concretos sobre este él, no dudéis en comentar y cuando disponga de tiempo intentaré resolver dudas o postear más material relacionado con este trabajo.

Saludos.

Actualización con bugs conocidos:
  • Si el jugador entra en la zona de nacimiento de de los enemigos, caerá hacia abajo a través del mundo virtual y se tendrá que reiniciar el juego (corregido, cambios en la próxima versión).
  • Problema en el cambio de apariencia de los enemigos en el momento del parpadeo del "warning" que confunde sobre su verdadero estado. Al añadir nuevos estados en la sustitución de las mallas se soluciona el problema. (corregido, cambios en la próxima versión). 
  • Puede suceder que en ocasiones no se contabilice la colisión del "jugador" con el "punto" de modo adecuado. Si esto sucede, no se alcanza el "marcador" necesario para cambiar el nivel y se quedará atrapado en dicho nivel. Ese fallo de colisión puede pasar cuando la "física" del juego trata de interpretar varios "contactos" con apenas diferencia de tiempo y al juego no le da tiempo a contabilizarlos.

Observaciones:
  • No se trata de un "bug" sino de una característica no implementada, pero en el cambio de nivel NO se produce un cambio de apariencia del escenario, en realidad acorta el tiempo de caza de los enemigos y los hace algo más activos. Si dispongo de tiempo intentaré añadir algún escenario más en la próxima versión.

AddThis

Cookie Consent