Archivo: July, 2007

Cocoball Beta

[ Blog: [Fonet] - The Fonet Corner ]
2007:07:31 16:47:00
Pensaba que este verano no iba a terminar nada, pues aquí está un jueguito que empece hace bastantes meses, empece un poco en blitz, despues lo pase a C++ usando CRM32Pro donde lo avancé bastante, y esta semana en una maratón de 48 horas lo he terminado, diseñando por completo los gráficos y niveles. Es un pequeño minijuego de un monito que tira cocos y tiene que juntar de varios colores, algo así como el frozen bubble, pero con rebotes y con un mono xDD.

Todo bastante simplón, pero laborioso. Y para mi, muy resultón ^_^.

El esta aquí

Bueno, ahora mi siguiente paso sera adquirir en cuanto pueda el Blitz 3D SDK, que permite programar practicamente igual que en blitz, pero en C++, es el paso mas logico de Blitz a C++, y con un poco de suerte los juegos iran mas rapidos.

Salu2

Fregocles: ¡Mejor Juego Amateur en los premios Desarrollador_ES!

[ Blog: [Vil] - Fregocles y la desinfección del Olimpo ]
2007:07:31 12:15:41

Como veníamos comentando en esta entrada anterior, y aún sin recuperarnos mucho de la emoción vivida en el fin de semana; tenemos el gran honor de anunciar otro trofeo para la impoluta estantería de nuestro griego: ¡Mejor Juego Amateur en los premios Desarrollador_ES!

Muchas gracias a todos por el apoyo que nos dais, que es sin duda el que nos hace seguir adelante con esta aventura que es hacer una aventura. Y agradecer especialmente a la Organización de los premios Desarrollador_ES el curre que se pegan para hacer realidad un galardón así en el panorama español.

Podéis leer más sobre la noticia y la entrega de premios en AnaitGames o en Meristation.

Zombie Hero 2º clasificado

[ Blog: errordewin2 - JMRS blog ]
2007:07:28 23:42:45

Sii!!, hemos conseguido quedar los 2º en el concurso de programación rápida de videojuegos 2007! , muchas gracias a todos los que nos apoyaron, y prepararos porque al año que viene no nos conformaremos con el segundo puesto, xD

Campus party 2007

MegaStorm ScrollEngine v0.90(MSSE)- First release

[ Blog: TheAzazel - TheAzazel - Development's blog ]
2007:07:25 02:03:01

Finalmente aqui teneis la primera version publica del scroll engine funcionando sobre CRM32Pro v4.98 (esta version aun no esta terminada asi que solo incluyo la version para VisualStudio).

El scroll engine es completamente funcional y aunque me quedan realizar algunos cambios internos, lo mas importante y complicado ya esta. Si alguien se pone a probarlo o incluso utilizarlo y se le ocurre alguna mejora o descubre algun problemilla que me lo diga y lo corregire para la v1.0.

He tardado un poco mas porque he preferido documentar todo y crear unos cuantos ejemplos de uso. Por ahora no va el codigo fuente, solo la libreria estatica para linkar pero en la v1.0 la idea es dejar todo el codigo libre bajo alguna licencia para que podais agregar lo que querais.

dot Native support up to 5 layers. Easy update to n layers.
dot Full and customizable parallax scroll support.
dot Independent or group fixed, with scroll or with parallax scroll layers.
dot Viewport and target surface can be selected in realtime.
dot OnUpdateEnd event which will be called at the end of each layer update.
dot Manual layer creation.
dot Import any external image file(BMP or PNG) and convert it to a valid layer.
dot Export any layer to an image file(BMP or PNG).
dot Level loading and saving on native format to an XML or to a DPF file.
dot Easy custom maps management to create almost any kind of game.

Aprovecho tambien para comentar que la idea de crear este engine vino a raiz del grupo PKM06 y nuestro proyecto de un shooter espacial en 2D con scroll vertical al estilo clasico. Por el momento la cosa esta bastante congelada y no se si la cosa se reactivara o se quedara donde esta ahora pero es justo nombrarlo ya que sin el, este engine no existiria.

Volviendo a CRM32Pro… espero tener lista la v4.98 antes de que termine Julio y rapidamente vendra la v4.99 que utilizara la recien estrenada SDL 1.2.12 corrigiendo muchos bugs y glSDL 0.8. Ambas versiones seran muy probablemente las ultimas antes de SDL 1.3/2.0 asi que CRM32Pro esta cerca de llegar al final de su evolucion y pasara al modo mantenimiento, aun y asi el plan sigue siendo el mismo, la v5.0 tendra soporte total con aceleracion OpenGL y el scroll engine como tal se aprovechara de todo ello.

Por ultimo, aqui teneis el enlace: MegaStorm ScrollEngine v0.90(MSSE) for VisualStudio

Y bueno, esto es todo por el momento!

Hasta la proxima actualizacion!

Game characters of CO

[ Blog: Loover - Indie Rover ]
2007:07:23 12:25:50

Long time without posting… sorry! But I have good news: I will be full time for two months in order to finish the game. So the people of Devilish Games, Over and me will be working hard in order to finish this project and take part in the “Art Futura” contest.

I let you with a great drawing of Devilish Art, the game characters.

Escenarios paso a paso (II)

[ Blog: [Vil] - Fregocles y la desinfección del Olimpo ]
2007:07:19 23:43:51

En la anterior entrada “Escenarios paso a paso“, se abordó el diseño conceptual y artístico de esos mundos griegos por los que nuestro personaje decide pasear cada vez que pulsamos “Nuevo” o “Cargar”. Ahora nos centraremos en los problemas técnicos que fueron apareciendo en la implementación del modelo 3D en el motor de la aventura.

Cada escenario del juego posee, a parte de lo que es el modelo 3D y sus texturas, una serie de propiedades y entidades que deben definirse mediante un editor de niveles. Como no se tenía tiempo ni ganas de crear un editor propio, hubo que ceñirse a la limitada información que proporcionaba el exportador del programa 3D usado y completarla mediante archivos de texto.

Usando el nombre de los objetos

Tras la exportación al formato .B3D desde el programa de modelado (del que ya se comentó alguna limitación en este post), se pierde toda la información sobre las cámaras o luces, así como la metainformación de los objetos (que podría asignarles propiedades específicas como ser colisionables o animables). Lo único práctico con lo que se contaba tras la exportación era el nombre asignado a los objetos.

De forma que para poder exportar algo de información interesante en el caso de las cámaras y luces, se usaron objetos pivote (dummies, que sí se exportaban) y diferentes palabras o caracteres clave, que insertadas en el nombre de los objetos permitían al engine reconocer su naturaleza (luces, cámaras, etc.)

Las palabras clave son:

  • Luz” + número: Para indicar la posición de las luces puntuales (luces en tiempo real, que afectan únicamente al personaje).
  • LuzAmbiente” y “LuzAmbienteP“: En este caso, se usan dos objetos para indicar el vector dirección de la luz ambiente (la del sol, luna…).
  • Cámara” + número y “CámaraP” + número: Posición y vector dirección de las diferentes cámaras de la escena.
  • Salida” + número: Para las diferentes ubicaciones en las que puede aparecer Fregocles al entrar en la escena.
  • Objeto” + número: Define los objetos que tienen un script asociado, ya sea para cogerlos, usarlos, animarlos, etc.

Los caracteres:

  • Ejes de coordenadas/“: Colocado en el nombre de cualquier objeto, lo hace colisionable para Fregocles. En la entrada sobre la búsqueda de caminos ya se habló de las colisiones en los ejes X y Z. En este caso se refiere a la colisión de Fregocles con el suelo, para saber a que altura tiene que estar, se podría decir que es la colisión con el eje Y. Es la que le hace subir rampas o escaleras, o simplemente evita que se caiga al infierno más profundo.
  • *“: El asterisco hace a un objeto sensible al ratón. De forma que al hacer click encima, Fregocles se acercará lo más posible. No tienen que ser necesariamente objetos que se reconozcan en la frase de acción (Ir a maceta), por ejemplo, todo el suelo tiene esta característica para poder andar por él y en ningún momento se identifica Ir a suelo.

Nombres de objetos
En la imagen de ejemplo (extracto de un escenario de la primera parte del juego) podemos ver los siguientes nombres de objetos:

  • Cámara03” y “CámaraP03“: Dummies que definen el vector de la camara 3.
  • Colisión*/“: Objeto no visible que define el suelo de la escena. Se utilizó un objeto diferente a los visibles (la tierra y las baldosas) para suavizar el terreno y usar menos polígonos en la detección de colisiones. Además, tiene el carácter “*”, de forma que detecta cuando se hace click encima para mover al personaje a ese punto.
  • Salida01“: Fregocles puede aparecer en esa posición y con esa orientación al entrar en la escena. En este caso no necesitamos un vector para definir la orientación, con el ángulo del objeto nos basta.
  • Objeto023*“: Otro objeto no visible que identifica al objeto “matojo”. Se usa un cubo transparente para simplificar la detección del objeto y que no sea complicado seleccionarlo. No detecta la colisión ya que un simple matojo no impide que Fregocles pase por encima. Al tener la palabra “Objeto”, tiene la posibilidad de ejecutar scripts; de forma que puede mirarse, usarse, cogerse, etc.

Completando la información

Para terminar de completar la información que se escapaba a la exportación y los nombres de objetos, se usaron ficheros de texto plano (ASCII). Ahora que XML se usa hasta en la sopa, algún espabilado podrá decir “¿y por qué no usaron XML que es mejor y más chachi?” y nosotros diremos “¡mirad! ¡¡un ñu con tres cabezas!!” … ejem… En fin, hay muchas mejoras en mente para el engine, algunas realizables ahora, otras para más adelante.

A continuación la lista de archivos más importantes que acompañan a cada escena (no tienen extensión):

  • ambient: Contiene una lista de las luces en tiempo real y el color de cada una.
  • ===Ambiente===(r,g,b)
    99
    120
    187
    ===luz01===(Rango,r,g,b)
    20
    125
    25
    45

  • cameras: Matriz que determina que cámara enfoca a Fregocles en las distintas zonas del escenario.
  • characters: Personajes que hay que cargar en escena y sobre cuál se tiene el control.
  • collisions: Mapa de durezas para la búsqueda de caminos.
  • fovs: Contiene el FOV con el que debe enfocarse cada cámara (ya se habló algo en este post).
  • sounds: Lista de sonidos que deben cargarse para usar en la escena.
  • transitions: Marca la velocidad de transición con la que una cámara se moverá. En caso de ser 0, la transición será instantánea. Un ejemplo:
  • ["Ncam1 to Ncam2=Velocidad"]
    1 to 2=350
    3 to 4=250
    1 to 3=0
    2 to 4=0

  • objects: Lista de archivos con los scripts asociados a los objetos e información sobre el estado visual y de animación de éstos. Estos son los archivos que más información del juego contienen, todos los puzzles, conversaciones, etc. están aquí.
  • #usar
    if ( $MaderaAtrancaPuerta = 1 )
    .iracoor ( blo=1, int=0, per=-1, x=13, y=7, a=-90 )
    .muestra ( obj=31 )
    .animaper ( blo=0, int=1, per=-1, mod=3, vel=0.25, seq=5, trn=10 )
    .animaobj ( blo=1, int=1, obj=10, mod=3, vel=0.25, seq=1, trn=10, fra=0 )
    .colision ( x=12, z=6, est=0, cam=4 )
    .oculta ( obj=13 )
    endif
    if ( $SaltaMuro = 1 ) and ( $MaderaAtrancaPuerta <> 1 )
    $SaltaMuro = 1
    .iracoor ( blo=1, int=0, per=-1, x=13, y=7, a=-90 )
    .dice ( blo=0, int=0 )
    (-1)La puerta sigue cerrada
    endif

Al final el proceso de creación de una escena es algo tedioso al no tener toda la información bien centralizada en un editor, que además empaquetara todo en un sólo archivo, etc. Pero en un principio no se esperaba que el proyecto creciera tanto y seguramente el tiempo empleado en hacer dicho editor de niveles habría retardado el desarrollo hasta el infinito, como ya ocurrió en otra ocasión que quizás comentaremos en un futuro.

MSVCP80D.dll error en Visual c++ 2005

[ Blog: ZeruGiran - ZeruGiran ]
2007:07:19 18:29:33

El siguiente error de VC++2005 Express y Full de vez en cuando. Ocurre que a veces cuando estamos debugueando el compilador no rehace el archivo .res de nuestro proyecto, es un bug de VC++ lo unico que debemos hacer es borrar el archivo /debug/*.res

Error al iniciar la aplicación porque no se encontró MSVCP80D.dll. La reinstalación de la aplicación puede solucionar el problema.

En realidad el archivo MSVCP80D.dll no existe físicamente como un archivo. Así que ni siguiera intentes buscarlo, no esta en tu HD, ni tampoco hay de donde descargar el archivo. Cosas raras que hace MS...

Tambien se presenta cuando distribuimos un ejecutable compilado en modo Debug a alguien que no tiene VC++. Solo debemos compilar en modo Release y listo.

Por cierto que en Windows Vista da un error rarisimo:

LA CONFIGURACIÓN EN PARALELO NO ES CORRECTA

No se que significara eso... Pero si en lugar de distribuir la aplicación en modo Debug lo haces en release ya no aparece el error.

MSVCP80D.dll error en Visual c++ 2005

[ Blog: ZeruGiran - ZeruGiran ]
2007:07:19 18:29:33

El siguiente error de VC++2005 Express y Full de vez en cuando. Ocurre que a veces cuando estamos debugueando el compilador no rehace el archivo .res de nuestro proyecto, es un bug de VC++ lo unico que debemos hacer es borrar el archivo /debug/*.res

Error al iniciar la aplicación porque no se encontró MSVCP80D.dll. La reinstalación de la aplicación puede solucionar el problema.

En realidad el archivo MSVCP80D.dll no existe físicamente como un archivo. Así que ni siguiera intentes buscarlo, no esta en tu HD, ni tampoco hay de donde descargar el archivo. Cosas raras que hace MS...

Tambien se presenta cuando distribuimos un ejecutable compilado en modo Debug a alguien que no tiene VC++. Solo debemos compilar en modo Release y listo.

Por cierto que en Windows Vista da un error rarisimo:

LA CONFIGURACIÓN EN PARALELO NO ES CORRECTA

No se que significara eso... Pero si en lugar de distribuir la aplicación en modo Debug lo haces en release ya no aparece el error.

Elga

[ Blog: ZeruGiran - ZeruGiran ]
2007:07:17 05:38:24

Hace unas semanas mi madre nos regalo esta gatito a Caty y a mi, se llama Elga (El ga-to).

No hace mas que dar lata, moder todo lo que encuentra y rasguñar a sus padres adoptivos.  Esperaremos a que cresca un poco mas, para decirle que no somos sus padres biologicos.

Elga

Elga

[ Blog: ZeruGiran - ZeruGiran ]
2007:07:17 05:38:24

Hace unas semanas mi madre nos regalo esta gatito a Caty y a mi, se llama Elga (El ga-to).

No hace mas que dar lata, moder todo lo que encuentra y rasguñar a sus padres adoptivos.  Esperaremos a que cresca un poco mas, para decirle que no somos sus padres biologicos.

Elga