martes, 29 de abril de 2014

Retromadrid 2014

music: GROSSSTADTGEFLÜSTER -"Weil Das Morgen Noch So Ist"-

El año pasado no pude asitir dado que estaba viviendo fuera de Madrid (fue un año de locos y estupendo, todo a la vez, algo tan demencial como los tiempos que actualmente vivimos), pero dada la situación actual nada podía impedirme acudir a este encuentro.

A su manera, este ha sido uno de los mejores Retormadrid a los que he asistido, pese a que el día comenzó de la peor manera posible: por momentos pensé que no lograría conseguir entrada, y todos los planes que tenía para con este evento los veía vaporizarse. Pero al final pude (pudimos) acceder al evento, y todo volvió a la normalidad.

Había quedado con Thund, fundador y organizador de Quimera Engine, y era la primera vez que íbamos a vernos las caras en persona (Quimera Engine es un proyecto colaborativo que se desarrolla a distancia). Como me esperaba congeniamos bien, como si nos conociéramos desde hace tiempo, cosa que en realidad así era. Y como encuentro "inesperado" -pues lo supe justo el día anterior- pude conocer en persona a L. Rodero, de Frictional Games, con quien ya había intercambiado mensajes a través de LinkedIn, que se había desplazado desde su ciudad de residencia para dar una ponencia sobre Frictional, las sagas Penumbra y Amnesia, y hablarnos un poco sobre el siguiente proyecto de la compañía: SOMA. : )

La cantidad de stands que había en esta ocasión me resultaba mayor que en la edición de hace dos años. En concreto han aparecido más asociaciones/grupos dedicados a las máquinas recreativas y una novedad (al menos para mí, que no asistí al encuentro de 2013): la inclusión de un área de "programadores indie", no necesariamente realizando desarrollos para máquinas clásicas o remakes de videojuegos clásicos.Y así, aparte de nuestro "representante patrio" en Frictional Games, acudieron a presentar sus proyectos la gente de Fictiorama Studios, A Crowd of Monsters y Beautifun Games (había otro grupo más, pero no recuerdo su nombre). :P

Lo que no ví este año (o yo estaba demasiado "en Bavia") fueron máquinas de pinball... :(

Allí me hice con Tachyon: the Fringe (la cantidad de videojuegos disponibles para PC de la década de los 90, formato "caja de cereales", ha aumentado considerablemente en el evento), un genial Combat Space Simulator que llevaba buscando desde hace tiempo, y tentado estuve de hacerme con algún juego más. : ) Aparte, probé una aventura conversacional (El Prisionero) basada en la famosa serie británica de los años 60, The Prisoner. Teniendo en cuenta que sería interesante crear una aventura gráfica basada en esta serie, ya tenemos entre nuestras manos un precedente para probar las andanzas de "Number 6".

No vimos la presentación del señor A.Azpiri sobre las primera imágnes rodadas de Lorna pues nos hallábamos Thund y yo tremendamente ocupados tratando de "desentrañar el final" de la mítica Final Fight (obviamente, a base de "fostiar" a todo macarruncio callejero que se ponía al alcance de nuestros puños). :P

Esto sucedió el sábado. Durante el domingo no salí de la llamada Cineteca, para ver del tirón la presentación del nuevo libro sobre La Abadía del Crímen y el evento más importante: la entrega del Premio conmemorativo a los señores de Made in Spain / Zigurat. Por activa y por pasiva he dicho ya que crearon uno de los mejores juegos que se han hecho en España: Sir Fred, pero dejando momentaneamente a un lado la época de los 8 bits... cuanto más conozco de la época en que esta gente se dedicaron al mundo de las máquinas recreativas, en colaboración con Gaelco, durante los años 90, más sorprendido me quedo. 8 )

En resumen: íba a ser un fín de semana genial, en un instante la cosa se torció completamente... y al cabo de unas dos horas se enderezó completamente hasta alcanzar lo que íba a ser. Cosas de la vida. :P

Hasta otra. :P

miércoles, 22 de enero de 2014

Game Developer Magazine

music: GOTHIC SEX playing "El Templo del Amor (Temple of Love)"

Conocía esta revista desde hace unos pocos años, aunque me hubiera gustado haberlo hecho mucho antes.  Cuando ví, en verano del año pasado, la portada del que fue el último número (toda negra, con el mensaje "GAME OVER" en el centro), me quedé con esta cara -->     : $

Lo que no sabía era que la habían hecho pública; ahora, para deleite de todos los que la seguíamos con mayor o menor asiduidad, y para aquellos que aún lo la conocían, puede descargarse desde GDC Vault.


Me están encantando las primeras, publicadas en los años 1994/95. Hubiera sido la caña haber podido tener algo así aquí en aquella época.

R.I.P. Game Developer Magazine. :'(

Hasta otra. :P

miércoles, 25 de diciembre de 2013

Volviendo a dar de comer a la Quimera. :P

music: CREAMING JESUS -"Celebrity Cannibalism"-

Ya es oficial: regreso al proyecto Quimera Engine.


Hasta otra. :P


martes, 4 de diciembre de 2012

Más modelado.

music: MERCYFUL FATE -"Room of Golden Air"-



Por aquí dejo otra cosilla de modelado; con esto estuve liado hace unas semanas.

Hasta otra. :P

viernes, 2 de noviembre de 2012

Modelando (que también es gerundio). :P

music: ALASKA Y LOS PEGAMOIDES -"Mundo Indómito"-



Mi particular "Hello World!" dentro del mundo del modelado 3D y texture mapping.

Hasta otra. :P


martes, 9 de octubre de 2012

Refactoring, refactoring...

music: DEVO -"Beautiful World"-

...y más, y más refactoring.

Y vuelta a empezar.

Pero al fín el proyecto tiene una estructura de directorios cohesiva (y coherente). Aparte, ha quedado actualizado a DirectX SDK (june 2010).

Y ahora tocará... limpieza y más limpieza de código. En fín...

Hasta otra. :P

martes, 28 de agosto de 2012

Bye, bye, warning C4921...!!!. :D

music: MASTODON -"Seabeast"-

La perseverancia a veces da sus frutos, ¡pardiez...!.

De nuevo, otro tema ha sido arreglado. No era un problema grave pero era algo que me estaba tocando la moral desde el principio (y de hecho, todavía me cuesta hablar en términos de pasado, como algo que ha desaparecido, que ya se ha solucionado). :P

Se trataba de una serie de warnings que aparecían durante la compilación del juego, cuyo código era C4291. Se limitaban a "aparecer", a estar ahí, dando un mensaje que hasta ahora me resultaba ilegible, cada vez que reservabas dinámicamente memoria para crear un objeto teniendo en funcionamiento el sistema de control de memory leaks. Y varias veces a lo largo de todo este tiempo me había puesto a intentar ver por qué se producían y qué hacer para que no salieran... sin éxito. Hasta ahora. : )

Y no, la solución no ha venido añadiendo al código  #pragma warning ( disable : 4291 )  :P

El asunto es: cuando activamos el sistema de control de memory leaks en el engine se realiza una sobrecarga de los operadores new y new[ ]. En concreto la sobrecarga 'Placement Form' de éstos, adoptando una cabecera así:

void* operator new      ( uint uSize, char* pszFile, uint uLine );
void* operator new[]    ( uint uSize, char* pszFile, uint uLine );

Pues bien, dado que estos son los operadores new y new[ ] que se sobrecargan, hay que hacer también las sobrecargas de delete y delete[ ] con esta misma estructura, es decir, así:

void  operator delete   ( void* p, char* pszFile, uint uLine );
void  operator delete[] ( void* p, char* pszFile, uint uLine );

La razón argumentada es que, si se crea dinámicamente un objeto y en el constructor de éste salta una excepción, se pueda liberar la memoria que había sido reservada para el objeto empleando dichas sobrecargas de delete y delete[]. Pero las únicas sobrecargas que había definidas hasta ahora eran:

void  operator delete   ( void* p );
void  operator delete[] ( void* p );

Pues... por eso daba los cansinos warnings. :P Al añadirle las otras sobrecargas de delete y delete[ ] a éstas últimas al fín han desaparecido, ¡joas, joas...!. :D

Mas información aquí.

En mi caso lo anterior nunca se va a producir pues, dada la arquitectura del engine, en los constructores de las clases no se hace nada "raro" que pueda provocar el lanzamiento de una excepción, no se hace nada más allá que inicializar a NULL, false ó 0 algunos atributos de la clase... dejando la "auténtica" inicialización del objeto en el método Init, llamado inmediatamente tras la creación del objeto, que todas las clases poseen. Por ello las nuevas sobrecargas quedan como una mera formalidad, pues no son empleadas dentro del engine (no se necesitan, y se siguen empleando las que ya había). Pero como digo siempre: El problema es no saber, y ahora que sé por qué se producía el tema, no me apetece quitarlas para no olvidarlo. XD

Hasta otra. :P