domingo, 2 de noviembre de 2014

Curso Cube Conference UNAM



VIDEO SWF: Presentacion Cube Conference --- presione el lik


Pongo a su disposicion la platica que dare en el Cube Conference este Jueves 7 Nov/2014 en la Facultad de Ciencia de la UNAM.

Es un curso sobre todas las tecnicas INDISPENSABLES para hacer juegos 3D que compitan en el Mercado Internacional.

Suerte!





martes, 3 de junio de 2014

Como convertirse en un programador de videojuegos






Una pregunta que me hacen los estudiantes en las conferencias, es como hacerle para convertirse en programador de videojuegos.


Finalmente, hice una presentacion de mi experiencia en este asunto, a raiz del Latin Game Conference, donde recibi esta pregunta.

He aqui esa presentacion, en formato WEB o PDF!

Formato Web Como convertirse en programador de videojuegos

Formato PDF Como convertirse en programador de videojuegos


Hey! NOTA: no se les olvide darnos like a nuestra pagina de FACEBOOK! esto nos ayuda mucha! :D

Hollow Games -> Hollow Games Facebook


Suerte!

sábado, 15 de marzo de 2014

Nuestro juego en el GDC 2014

[ESP]

Hola!

Sólo una pequeña nota a los que leen este blog.
Estaremos exponiendo en el GDC 2014, el siguiente viernes en San Francisco. Estaremos exponiendo nuestro juego para PSN y PSVita Murasaki Mist. Aquí dejo un par de imágenes del juego! El GDC es de las conferencias mas grandes que hay para desarrolladores de videogames, eso hace que estemos muy emocionados.


[ENG]

Hi!

Just a little note for those who read this blog.

We will be showing our game at the GDC 2014 next Friday. The game we will be showing is Murasaki Mist, a PSN and PSVita game.


Aqui unas imágenes del juego que mostraremos:







Monkey Island 4 - La producción es lo que cuenta

A los 8 años vivíamos en Xalapa Veracruz, y mi padre, que se ha dedicado a la informática toda la vida compró una nueva computadora ACER, una 386, la primera que teníamos con CD-ROM. Fue grande mi sorpresa cuando vinieron de regalo como 7 juegos, entre ellos Monkey Island 1. Mi madre y yo jugamos ese juego por años hasta que nos atoramos en una de las últimas escenas cuando no supimos como conseguir una segunda cuerda para bajar por un botecito que necesitabamos.


Muchos años después en la Ciudad de México dando la vuelta por Pericoapa, encontré Monkey Island 4, ahora en 3D, inmediatamente lo compré y me dispuse a jugarlo; tanta era mi emoción que lo compré original y en copia para la versión en español. Monkey Island 4 es un juego donde los gráficos tal vez no sean muy complejos, ni los visuales en general, sin embargo es un juego cuya ambientacion global es tan perfecta y cuidada, que sin necesitar las grandes gráficas crea una empatía gigantezca con el jugador. Es sorprendente como una historia cómica, puede parecer tan épica en ciertos momentos, además de tener detalles muy agradables como cuando Guybrush, el personaje principal, tiene que ir a comprar un café a Starmucks, y son estos detalles, que crean una inmersión por parte del jugador. También es sorprendente que un videojuego comercial, sea una crítica tan precisa del neoliberalismo, de hecho, esta crítica es el tema nodal de la historia: resulta que un inversionista australiano esta matando piratas de las islas, para comprar sus propiedades y convertirlas en una atracción turística, entonces Guybrush tiene que luchar contra su viejo enemigo pirata zombie para poder vencer al inversionista australiano y que las tradiciones piratas no se pierdan en las islas. Vaya, podríamos fácilmente transportar esa misma historia a montonal de zonas en México y el mundo.


Cuando jugue Monkey Island 4, yo tendría unos 19 o 20 años, acababa de entrar a la DGSCA (ahora DGCTIC) como becario en el departamente de Realidad Virtual. Para mi fue un punto importantísimo en mi carrera como desarrollador de videojuegos el darme cuenta que lo que hacíamos en el departamento no era visualmente muy lejano a lo logrado en el videojuego Monkey Island. Entender que los gráficos eran logrables con los conocimientos de programación que tenía en ese entonces me hizo preguntarme cual era la dificultad en hacer videojuegos, y hoy día, años después, con una empresa de videojuegos ya formada y con un título por salir para PS3, lo entiendo.


Cualquier programador de gráficos es capaz de lograr gráficos para lanzar un videojuego, no será fácil, sin embargo se puede. Estos gráficos no comptirán, en la mayoría de los casos, con producciones como Uncharted, sin embargo serán lo suficientemente buenos para que el juego no se quede atrás de lo que hay en el mercado. La magia de hacer videojuegos reside en otras áreas. La producción de un videojuego requiere una buena historia o concepto, requiere un diseño de niveles y jugabilidad, música, efectos de sonido, programación de un sistema de IA, de Quests, de Items, de carga y descarga de niveles, requiere que los recursos visuales sean creados por el equipo de diseño, e integrados al programa por el equipo de programación, requiere pagar impuestos y montones de cosas administrativas, y es en estas tareas donde la producción de un videojuego se hace real.


Actualmente es Elías Kuri Pinzón, mi socio, el que se encarga de cuidar los detalles de la producción, y aunque somo un estudio joven me siento muy afortunado de que sea el quien cuida los detalles.


Con toda esta diatriba de ideas, derivada de Monkey Island 4, quiero explicarles a los nuevos programadores de videojuegos, que lograr gráficos competentes es solo el comienzo, que es la producción de un videojuego lo que crea ese videojuego; pero también quiero decirles, que en el momento en que tengan la capacidad de lograr gráficos competentes, se vayan DE INMEDIATO a generar una producción.




Vean que gran set, es obvio que la magia está en lo cuidado de la producción

Guybrush es un tipazo



Esta imagen no deja duda de cuál es la intención del ambiente,

Esta parte me hizo reir horrores.

lunes, 3 de febrero de 2014

Final Fantasy X - Veracruzano como yo.

**Soy veracruzano como Final Fantasy X

Yo crecí en Veracruz, en la bella Xalapa; entonces gran parte de mi niñez se resume en ir con mi familia a la playa, jugar futbol allí y oir las historias de las maestras sobre fantasmas y chaneques. Realmente hay un lado oculto a Veracruz que solo los que vivimos allí conocemos: no importa que tan educado seas, ni que tan científico o doctor, si haz vivido en Veracruz, te encantan las historias de fantasmas y de muertos, de como regresan los espiritus de la tumba para ahogarte en los rios; y no importa que tan científico seas, si haz vivido en Veracruz estas historias te dan miedo, porque en algo les crees.



Desde que viví en Veracruz y era un chamaco, mis videojuegos favoritos eran la serie de Final Fantasy, en ese entonces para NES y SNES. Los Final Fantasys de esa época eran historias con tendencias medieval-japonesa como el resto del anime.

Fue muy grande mi sorpresa, cuando 15 años despues, el nuevísimo (en ese entonces) Final Fantasy, con la última tecnología de punta en renderizado y los CGIs mas impresionantes que había visto en mi vida, retrataba de manera exacta la cultura y la forma de vida veracruzana. Los personajes vivían en la playa, parecían poco preocupados, eran devotos a la religión y pasaban todo el día jugando blitz-ball en la playa. Es impresionante como algunos de los personajes, parecen incluso veracruzanos, por sus ropas y peinados. Incluso había una liguilla de blitz-bal!!!

Las primeras 5 horas del juego, me impresionó lo veracruzano que era un juego con la tecnología mas poderosa y que venía de una serie de juegos puramente europeo-japoneses. Sin embargo, conforme avancé en el juego, me di cuenta de una similitud aún mas interna. Así como la muerte esta hendida en la cultura veracruzana, y las historias que se cuentan, y los temores que se tienen siempre estan relacionados con ella, así, en Final Fantasy X, es también la muerte, y los que regresan de ella, el punto focal de la historia. Ese mismo temor preternatural hacia las fronteras de la muerte existe en Final Fantasy X como en Veracruz.

Como todos los juegos Final Fantasy, hay mounstrous por todos lados, que hay que ir matando para continuar el juego, pero en Final Fantasy X estos mounstros tienen razón de ser: son las almas de aquellos muertos que no tuvieron un sepulcro digno, que regresan envidiando a los vivos para destruirlos. En algún punto del juego, una aldea es destruida por un pulpo gigante que representa la muerte misma, y antes de poder llorar los caídos, los sacerdotes tienen que apresurarse para darles un sepulcro, que si no se levantarían odiando a los que quedaron vivos. A este sepulcro, a este rito, se le llama en el juego “the sending”. El momento mas escalofriante del juego es cuando te das cuenta que los dirigentes de la religión que rige al mundo, no son hombres, sino espíritus de esos hombres que han regresado con odio hacia los vivos y están haciendo todo lo posible por matar al mundo entero.

Revivir mi infancia, la cultura en la que crecí, por medio de un videojuego que vendio 1 millón de copias en sus primeras 24 horas solo en Tokio me ha dado fuerza para querer hacer una empresa de videojuegos, que logre transportar la cultura en la que vivo día a día, de una manera tan certera como lo hizo un videojuego japonés hace 10 años.



**una boda
** a poco no parencen las cascadas de Xico
 **ambiente playero hasta en las peleas

 **este compadre esta jugando blitz ball en la playa con todo el look veracruz
**la hermosa escena del rito "The Sending"


Los Videojuegos que marcaron mi carrera desarrollador de Videojuegos Mexicano

 PRESENTACION

Nací en 1984, para 1989 mi padre me había enseñado los comandos básicos de DOS para poder prender la máquina yo sólo y accesar el único juego que había instalado, TMNT. En 1991 mis padres me regalaron la consola NES, consola que para el 2002 yo seguía utilizando para jugar un par de juegos que me encantaban. Muchas de las reuniones con mis grandes amigos, tenían el pretexto de jugar juntos los nuevos juegos que salían al mercado. Los videojuegos, presentes en la cultura de mi generación hicieron que yo decidiera montar una empresa de videojuegos propia, pero algunos de esos videojuegos, fueron especialmente importantes y me guiaron a no sólo hacer una empresa de videojuegos competentes en la industria internacional, sino hacer Hollow Games, que exportara la cultura latinoamerican como una cultura rica en tradiciones, llena de magia y capaz de ser disfrutada por gente de todo el planeta.
En los siguientes POSTS de este blog, platicaré de estos juegos que me alentan hoy día para intentar exportar la cultura latinoamericana a todo el mundo, para intentar, por medio de los videojuegos, que en Japón sepán que significa romper una piñata o comer una torta de tamal en una mañana fría antes de ir a la oficina.

Los siguientes POSTS, no serán técnicos, y realmente pueden ser entendidos por cualquiera, así que si los videojuegos los han marcado tanto como a mi, sea cual sea su profesión, pueden darle una hojeada.


yo en 1991 jugando como enajenado.

miércoles, 29 de enero de 2014

Deferred Lightning

A few months ago I gave a talk in the National University about game programming.
I asked the attendees a few questions, and was amazed that none of them had
heard about Deferred Lightning. They were still students, so its completely
normal they didnt have a clue about it, but being Deferred Lightning
such a cool thing, I thought on posting an introduction to it, for all
those game programmers that still havent heard about it.
In OpenGL and DirectX you have a limit as to how many lights can
lit an object, in PC and mobile phones, this limit tends to be 8, (in SGI
it used to be 16). Though you can have more than 8 lights in your scene,
the system has to decide at every frame and for every object which 8 to render.
For complex scenes like an indoor scene, where you have candles an torchlights
8 is never enough. Also, the rendering of 8 lights is VERY expensive, because
for every lit object the object has to be rendered once for each light. So you
end up rendering your scene 8 times.
This is where Deferred Lightning comes in. Deferred Lightning is a technique
where lights are not rendered through the normal fixed function pipeline, but
as a postprocessing effect AFTER the scene has been rendered with no lights.

To give you an estimate, without deferred lightning I used to render a scene
with 2 lights at 60 FPS, with deferred lightning that scene had 120 lights
at 60 FPS.

So Deferred Lightning is very cool. BUT its quite difficult to implement. It took
me in PhyreEngine 1 whole week to get it running the way it should. And it
has a few drawbacks, for example, Alpha Objects, must be rendered separetly
and to a different Render Texture and the composed at the end of the
rendering pipeline.

How does it works?

Well, actually, its very clever how it works.

First, the scene is drawn WITHOUT lights (that means everything is lit as if
it had a WHITE Ambient Light) to a render texture the COLOR BUFFER 
(that means, we render it to a separate texture NOT the back buffer)
We render the NormalDepthBuffer
to ANOTHER texture. The normalDepthBuffer is a texture which holds all
the Normal and Depth information of every pixel written to the Color Buffer.
That means after the scene render, we end up with two textures, the 
COLOR BUFFER and the NORMALDEPTHBUFFER
The Color Buffer holds the diffuse
color of the pixels rendered, and the NormalDepthBuffer holds de DEPTH
and NORMAL information of the pixels written in the Color Buffer.

When we have this two textures, we render the lights on top of them.
A Point Light is rendered as a Sphere, a Spot Light is rendered as a CONE
and a Directional Light is rendered as a PLANE.

We render this objects, on top of the COLOR BUFFER, accessing the
NormalDepthBuffer in the Light's Shader. With the informtion in the 
NormalDepthBuffer we know the Depth and Normal, of the Pixel
being rendered to, so we can calculate how much do we have
to LIT that pixel.

For example, if we are rendering a Point Light, we render a sphere
on top of the Color Buffer, and in the PointLight Fragment Shader
(that is being executed for every pixel written) we read the NORMAL DEPTH
BUFFER so we can calculate now much that particular pixel is being lit
(if its in the Point Light Attenuation range), and if it should be bright
because of the normal, because of specular effects.

After rendering all the lights, we end up with a COLOR BUFFER
that is lit by all the lights.

We then copy or postprocess that COLOR BUFFER to the Back Buffer
and voila.

Why is it so FAST?

Well, with normal lightning, we end up rendering:

Number of Objects X Number Of Lights(max 8)

With Deferred Lightning:

Number of Objects + Number Of Lights(any number)


Cheers!


 Deferred Lightning 120 lights running at 60FPS
 NormalDepthBuffer Texture
Normal Lightning, 1 Light running at 60FPS