tag:blogger.com,1999:blog-27394481172163308332009-05-17T21:36:27.936-05:00Gamegine Game StudioBlog de desarrollo para el Gamegine Game StudioRogvarokhttp://www.blogger.com/profile/06917234087416578308noreply@blogger.comBlogger37125tag:blogger.com,1999:blog-2739448117216330833.post-78489609640032811212009-04-04T09:12:00.000-05:002009-04-04T09:12:46.685-05:00Implementando diálogos para mensajesMe he topado con un problema durante el desarrollo de BrainRush, puesto que necesito desplegar información al usuario a manera de diálogos con mensajes. Algo muy simple en realidad.<br /><br />Una alternativa es crear un formulario y utilizarlo cada vez que necesite desplegar un mensaje. La otra, crear un mecanismo en Gamegine para desplegar diálogos. Como se imaginan, opté por la segunda, puesto que eso de mostrar mensajes no es algo que ocurra únicamente en BrainRush, sino en cualquier juego a desarrollar.<br /><br />El caso es que desarrollé este mecanismo (según yo, sencillo) y me encontré con una serie de complicaciones en el camino; sin embargo, creo que ha quedado lo suficientemente funcional.<br /><br />GamegineCEGUI fué el encargado de llevar a cabo el truco, y consta de una clase que tiene una pila de mensajes por mostrar, junto con información relacionada a la instancia que solicitó se desplegara el mensaje. Lo que ocurre, entonces, es que GamegineCEGUI irá mostrando los mensajes uno a uno y destruirá el diálogo hasta que la pila se encuentre vacía.<br /><br /><div class="separator" style="clear: both; text-align: center;"><a href="http://2.bp.blogspot.com/_xR0ogEwZlAs/SddqJZebuuI/AAAAAAAAAo8/moS59ErS6to/s1600-h/cegui_message.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://2.bp.blogspot.com/_xR0ogEwZlAs/SddqJZebuuI/AAAAAAAAAo8/moS59ErS6to/s320/cegui_message.gif" /></a></div><div style="text-align: center;"><span style="font-size: x-small;">Implmentando MessageDialog con Gamegine</span></div><br />Y ha quedado muy fácil de implementar, lo único que tienes que hacer es llamar a la siguiente rutina:<br /><br /><blockquote><span style="color: #6aa84f;">GUI::Dialogs::MessageDialog::show( _Form, "This is a message dialog!", "A dialog title..." );</span></blockquote><br />.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2739448117216330833-7848960964003281121?l=blog.gamegine.net'/></div>Rogvarokhttp://www.blogger.com/profile/06917234087416578308noreply@blogger.com0tag:blogger.com,1999:blog-2739448117216330833.post-85119051545820086112009-03-30T09:30:00.001-05:002009-03-30T09:35:33.488-05:00Elementos básicos con CEGUIHe estado trabajando estos días para extender la funcionalidad de GamegineCEGUI, aunque debo aceptar que es un trabajo que requerirá muchos días (o semanas) para que implemente todas las funcionalidades que nos ofrece CEGUI.<br /><br />Por ahora, he terminado de implementar wrappers para: Label, TextBox, Button, RadioButton, CheckBox y ComboBox. Ha quedado todo muy bien y fácil de utilizar.<br /><br /><div class="separator" style="clear: both; text-align: center;"><a href="http://4.bp.blogspot.com/_xR0ogEwZlAs/SdDWG-9GM0I/AAAAAAAAAoA/I-OIfsNto5E/s1600-h/cegui_elements.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://4.bp.blogspot.com/_xR0ogEwZlAs/SdDWG-9GM0I/AAAAAAAAAoA/I-OIfsNto5E/s320/cegui_elements.jpg" /></a></div><div style="text-align: center;"><span style="font-size: x-small;">Elementos básicos en Gamegine + CEGUI</span></div><br />El problema que tengo ahora es uno a nivel de Link al momento de definir los eventos para los controles. Hay 2 formas de lograr eso: la primera es mediante objetos que hereden de la clase Event, MouseEvent, etc; el segundo es utilizando EventListeners, que son clases especializadas (templates). Con estos últimos, asignar un evento a un control será cosa de niños. Solo falta resolver ese problema... <br /><br />Sin embargo, todo este trabajo nos da la posibilidad de crear interfaces sencillas y tremendamente funcionales, como la que estoy diseñando para <b>BrainRush!</b> (nombre provisional), un juego experimental en el que estaré trabajando las siguientes semanas. Les confieso que llevo apenas unas horas trabajando en el proyecto y me siento emocionado... Esto me permitirá dejar el framework a punto.<br /><br />Les comparto el boceto que hice para el menú principal del juego:<br /><br /><div class="separator" style="clear: both; text-align: center;"><a href="http://2.bp.blogspot.com/_xR0ogEwZlAs/SdDXGVxOpaI/AAAAAAAAAoI/gyfLcv-nQGs/s1600-h/BrainRush_boceto.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://2.bp.blogspot.com/_xR0ogEwZlAs/SdDXGVxOpaI/AAAAAAAAAoI/gyfLcv-nQGs/s320/BrainRush_boceto.jpg" /></a>&nbsp;</div><div class="separator" style="clear: both; text-align: center;"><span style="font-size: x-small;"><b>BrainRush!</b>, boceto del menú principal</span> </div><br /><br />.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2739448117216330833-8511905154582008611?l=blog.gamegine.net'/></div>Rogvarokhttp://www.blogger.com/profile/06917234087416578308noreply@blogger.com0tag:blogger.com,1999:blog-2739448117216330833.post-6355129870304809082009-03-18T23:44:00.001-05:002009-03-18T23:46:09.940-05:00Gamegine + CEGUIFinalmente, una versión compilable de GamegineCEGUI, un wrapper que nos ha de permitir crear entornos gráficos con suma facilidad. Aunque por ahora solo se puede crear etiquetas... Cuando menos, la funcionalidad ya está terminada, lo que sigue es la talacha de implementar los componentes y propiedades que nos ofrece <a href="http://www.cegui.org.uk/wiki/index.php/Main_Page">CEGUI</a>.<br /><br /><div class="separator" style="clear: both; text-align: center;"><a href="http://4.bp.blogspot.com/_xR0ogEwZlAs/ScHId5GRvAI/AAAAAAAAAn4/vAcRgop4qgc/s1600-h/cegui_helloworld.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://4.bp.blogspot.com/_xR0ogEwZlAs/ScHId5GRvAI/AAAAAAAAAn4/vAcRgop4qgc/s320/cegui_helloworld.jpg" /></a></div><div style="text-align: center;"><span style="font-size: x-small;">Demo: Hello world!<br /></span></div><br />He quedado bastante satisfecho con la forma en la que se crean los controles. Es muy sencillo realizarlo y más aún cargarlos de un archivo de template creado con el editor de CEGUI.<br /><br />Por ejemplo, para crear una hoja con controles, será necesario crear un formulario (muy a la Microsoft):<br /><blockquote style="color: #38761d;">Form* form = GameGUIDevice::getSingleton().createForm("Demo");</blockquote><br />Posteriormente, crearemos los controles basándonos en esta plantilla:<br /><blockquote style="color: #38761d;">Label* lbl = form-&gt;createLabel( "Label" );<br />lbl-&gt;setText( "Hello world!" );</blockquote><br />Y, finalmente, desplegamos el formulario en pantalla:<br /><blockquote style="color: #38761d;">form-&gt;load();</blockquote><br />El resultado es el que vemos en el screenshot mas arriba :D<br /><br />Por otro lado, en un mes aproximadamente se vence el dominio gamegine.net, por lo que tengo que decidir si pago otro año más con él, o cambio el dominio a gamegine.org.<br /><br />Se aceptan ideas...<br /><br />.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2739448117216330833-635512987030480908?l=blog.gamegine.net'/></div>Rogvarokhttp://www.blogger.com/profile/06917234087416578308noreply@blogger.com0tag:blogger.com,1999:blog-2739448117216330833.post-57308138466331883232009-03-15T13:37:00.000-05:002009-03-15T13:37:19.391-05:00GUI Device en el horno¿Que se cocina en el horno? Se preguntan. Se trata de un dispositivo para el control de interfaces gráficas. Quienes hayan trabajado con algún IDE (como .Net, por ejemplo) se preguntarán: "¿Para qué? Si puedes crear interfaces fácil y rápido con mi Visual Studio". La respuesta es: Gamegine, al igual que sus componentes, debe permanecer como un framework multiplataforma. De ahí nace la necesidad de implementar un mecanismo de interfaces gráficas.<br /><br />Hay muchos en el mercado, y no todos son gratuitos. La idea aquí, como en otras cuestiones, es permitirte trabajar con un dispositivo y luego&nbsp; cambiar a otro sin tener que reescribir toda tu aplicación. Aquí es en donde entra Gamegine en escena.<br /><br />Por ahora, estoy trabajando con Crazy Eddie's GUI System (CEGUI) que me parece muy bueno, aunque un tanto difícil de acostumbrarse a su modo de trabajar.<br /><br />En fin, falta mucho trabajo en este dispositivo (como en todos los otros), pero poco a poco irán creciendo y madurando. Mientras tanto, deben existir para permitirnos crear juegos con facilidad.<br /><br />.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2739448117216330833-5730813846633188323?l=blog.gamegine.net'/></div>Rogvarokhttp://www.blogger.com/profile/06917234087416578308noreply@blogger.com0tag:blogger.com,1999:blog-2739448117216330833.post-19029353642717331942009-03-04T08:14:00.000-06:002009-03-04T08:14:52.426-06:00nuevas ideas...Gamegine sigue en el horno. Como tal, ha estado muy estable estos días, por lo que nos acercamos al primer beta del framework!!<br /><br />Por otro lado, me he pasado más de 2 semanas creando librerías para cargar heightmaps en Gamegine, así como mejoras al mecanismo de deserialización de una escena. Gran parte de estas librerías (GameginePhysx) sigue sin funcionar adecuadamente. Es bastante frustrante el tener que hacer librerías y más librerías para interpretar lo que otros programas te ofrecen; sin embargo, estoy consciente de que, para estudios de desarrollo de bajo presupuesto, no te queda más que utilizar herramientas económicas y escribir toda clase de importers para tu engine...<br /><br />En mi caso, he estado planeando el desarrollo de un nuevo videojuego creado con Gamegine (si, uno más a la cuenta). No les platico más, porque es algo que aún tiene que madurar bastante. De lo que sí estoy seguro, es que estaría de lujo tener un editor dentro del juego. ¿Un editor para que? Espero pronto poder platicarles más al respecto.<br /><br />¿Me preguntan por JUN? Algún día terminaré de desarrollarlo...<br /><br />Por otro lado, ya he comenzado a dormir un poco más temprano otra vez y mi rutina de sueño comienza a regresar a la normalidad. Han ocurrido muchas situaciones estresantes en el trabajo, lo que me han impedido dormir bien estos días...<br /><br />En fin, el caso es que estoy jugando con la idea de crear un editor para Gamegine. De hecho, estuvo en el plan desde el inicio, pero crear un programa como estos es algo de pensarse. De entrada, porque hay muchos editores disponibles y algunos con un precio muy accesible. Tengo algunos, incluso, pero no logro acostumbrarme a la idea de crear algo en ellos y luego crear intérpretes de los archivos para mis programas. Ya estoy cansado de esa idea y siento que pierdo demasiado tiempo tratando de encontrar los patrones o adivinar el funcionamiento de tal o cual cosa... El punto es que ando evaluando la posibilidad de retomar el desarrollo de un proyecto que llamé WorldMonster, un editor de niveles especializado para proyectos desarrollados en Gamegine. Veamos a que puedo llegar en estos días...<br /><br />.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2739448117216330833-1902935364271733194?l=blog.gamegine.net'/></div>Rogvarokhttp://www.blogger.com/profile/06917234087416578308noreply@blogger.com0tag:blogger.com,1999:blog-2739448117216330833.post-71856759772823469802009-02-06T08:04:00.004-06:002009-02-06T08:08:14.226-06:00Finalmente, GameginePhysx mejorado...Ochocientos mil cambios después, logré compilar GameginePhysx.<br /><br /><div class="separator" style="clear: both; text-align: center;"><a href="http://2.bp.blogspot.com/_xR0ogEwZlAs/SYxEDT8iPnI/AAAAAAAAAno/vDmZSu9YeMU/s1600-h/Gamegine-Physx-NCompile.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://2.bp.blogspot.com/_xR0ogEwZlAs/SYxEDT8iPnI/AAAAAAAAAno/vDmZSu9YeMU/s320/Gamegine-Physx-NCompile.jpg" /></a></div><br />Falta agregar un par de librerías y estaremos listos para unos demos :D<br /><br />.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2739448117216330833-7185675977282346980?l=blog.gamegine.net'/></div>Rogvarokhttp://www.blogger.com/profile/06917234087416578308noreply@blogger.com0tag:blogger.com,1999:blog-2739448117216330833.post-85736493236060202832009-01-17T22:35:00.000-06:002009-01-17T22:45:10.166-06:00Por fin un DLL de GameginePhysxComenzaba a pensar que este día no llegaría... Pero aquí estamos, el primer DLL de GameginePhysx...<br /><br /><div class="separator" style="clear: both; text-align: center;"><a href="http://3.bp.blogspot.com/_xR0ogEwZlAs/SXKxyIRW0wI/AAAAAAAAAnY/E03eRGinPXs/s1600-h/Gamegine-Physx-1stLink.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://3.bp.blogspot.com/_xR0ogEwZlAs/SXKxyIRW0wI/AAAAAAAAAnY/E03eRGinPXs/s320/Gamegine-Physx-1stLink.jpg" /></a></div><div style="text-align: center;"><span style="font-size: x-small;">Gamegine + Physx</span></div><br />Ahora viene una parte muy interesante, además de una mejora. He estado pensando un poco alrespecto y me doy cuenta de que, una vez terminada la simulación en Physx, Gamegine necesita enterarse de los cambios. He estado tratando de encontrar la forma más óptima para llevar esto a cabo, y creo que he encontrado una muy buena; consiste en lo siguiente:<br /><br />1. En GameginePhysx, actualmente tenemos una colección de actores (linkeados a objetos en Gamegine). Esta colección actualmente está representada por un vector. Lo pensé de esta manera para ganar un buen rendimiento al momento de las actualizaciones, pero ahora veo que pierdo dicho rendimiento pues en muchas ocasiones necesito actualizar el estado de los actores y solamente dispongo de su nombre. Por esta razón, la colección la cambiaré a un mapa; de esta manera, podré localizar actores con mucha más eficiencia.<br /><br />2. Como los actores estarán en un mapa, necesito un mecanismo eficaz para recorrer la colección durante una actualización; razón por la cual crearé una segunda colección basada en un vector. En este vector, estarán únicamente los actores que sean dinámicos y aquellos que no estén "durmiendo", por lo que el proceso será eficiente. Para lograrlo, GameginePhysx necesitará llevar un control interno de los actores, sus tipos y sus estados.<br /><br />3. Al finalizar cada simulación, GameginePhysx se encargará de actualizar el estado en Gamegine para cada uno de los actores en el vector de actores por actualizar.<br /><br />Así que, nos vemos en otro rato...<br /><br />.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2739448117216330833-8573649323606020283?l=blog.gamegine.net'/></div>Rogvarokhttp://www.blogger.com/profile/06917234087416578308noreply@blogger.com0tag:blogger.com,1999:blog-2739448117216330833.post-83829291610977497652009-01-15T07:58:00.000-06:002009-01-15T08:26:31.165-06:00Gamegine + Physx compilacion... ya perdí la cuenta...Increíble pero cierto. No he terminado de compilar GameginePhysx...<br /><br /><div class="separator" style="clear: both; text-align: center;"><a href="http://3.bp.blogspot.com/_xR0ogEwZlAs/SW9HfJ6NxiI/AAAAAAAAAnQ/6_qO4JmjGa0/s1600-h/Gamegine-Physx-XCompile.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://3.bp.blogspot.com/_xR0ogEwZlAs/SW9HfJ6NxiI/AAAAAAAAAnQ/6_qO4JmjGa0/s320/Gamegine-Physx-XCompile.jpg" /></a></div><div style="text-align: center;"><span style="font-size: x-small;">Gamegine + Physx</span></div><br />Calculo que habré terminado para este fin de semana y entonces comenzaré con la implementación dentro de Gamegine. Aún me hace falta escriir código para la creación de elementos dinámicamente.<br /><br />Mi idea es que en el archivo que define un escenario también haya información de sus características físicas; de tal manera que sea posible para Gamegine detectar un driver de física y crear los elementos necesarios de forma automática.<br /><br />Por ejemplo, en el archivo de escenario de un juego habrá la siguiente definición:<br /><br /><pre>&lt;<span style="color: blue;">node </span>name="<span style="color: black;">Rock</span>" id="0"&gt;&nbsp;</pre><pre>&lt;<span style="color: blue;">position </span>x="0" y="0" z="0" /&gt;<br /> &lt;<span style="color: blue;">rotation </span>qx="0" qy="0" qz="0" qw="1" /&gt;</pre><pre>&lt;<span style="color: blue;">scale </span>x="1" y="1" z="1" /&gt;<br /> &lt;<span style="color: blue;">actor </span>name="RockActor"&gt;<br /> &lt;<span style="color: blue;">body </span>mass="10" /&gt;<br /> &lt;<span style="color: blue;">shapes</span>&gt;<br /> &lt;<span style="color: blue;">box</span>&gt;<br /> &lt;<span style="color: blue;">dimensions </span>x="15" y="10" z="9" /&gt;<br /> box&gt;<br /> shapes&gt;<br /> actor&gt;</pre><pre>node&gt;<br /></pre><br />De esta manera, Gamegine podrá determinar las características físicas del objeto y crear los elementos que sean necesarios.<br /><br />Gamegine ya puede levantar una escena desde un archivo xml, pero pues hace falta el codigo que interprete precisamente la parte de física...<br /><br />.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2739448117216330833-8382929161097749765?l=blog.gamegine.net'/></div>Rogvarokhttp://www.blogger.com/profile/06917234087416578308noreply@blogger.com0tag:blogger.com,1999:blog-2739448117216330833.post-48348018166031330432009-01-06T07:28:00.000-06:002009-01-06T07:35:51.244-06:00Gamegine + Physx primera compilacionBilly me ha malacostumbrado. En serio, rara vez vemos una cantidad tan inhumana de errores de compilación en un programa hecho en .Net. Si señores, C++ no es .Net, en términos generales.<br /><br />El caso es que hoy, por fin, pude compilar el proyecto GameginePhysx y miren nada más la cantidad de errores por resolver:<br /><br /><br /><div class="separator" style="clear: both; text-align: center;"><a href="http://2.bp.blogspot.com/_xR0ogEwZlAs/SWNcsNXcwmI/AAAAAAAAAnI/SAUYpuwHVgo/s1600-h/Gamegine-Physx-1stCompile.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://2.bp.blogspot.com/_xR0ogEwZlAs/SWNcsNXcwmI/AAAAAAAAAnI/SAUYpuwHVgo/s320/Gamegine-Physx-1stCompile.jpg" /></a></div><div style="text-align: center;"><span style="font-size: x-small;">1a compilación de GameginePhysx</span></div><br /><br />Me esperaba unos mil, pero casi tres mil! Creo que estaré en esta etapa un buen rato más...<br /><br />.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2739448117216330833-4834801816603133043?l=blog.gamegine.net'/></div>Rogvarokhttp://www.blogger.com/profile/06917234087416578308noreply@blogger.com0tag:blogger.com,1999:blog-2739448117216330833.post-79610656124453077772009-01-03T10:32:00.000-06:002009-01-03T11:08:11.421-06:00Gamegine 0.3 en procesoEl segundo aniversario de Gamegine se acerca. No, no se vale revisar post viejos. ¿No lo recuerdan? Ahí les va, 18 de Marzo de 2007 Gamegine vió la luz. Ha pasado mucho desde entonces, y lo que mas esperamos no pasa.<br /><br />Que tragedia...<br /><br />Gamegine llega a su segundo año de desarrollo y aún no lo publico. No intento disculparme, yo mismo me he convencido de muchas cosas estos días, y una de ellas es que este proyecto me ha traído tantas emociones... Es como mi hijo más querido. De hecho, lo es. Hace unos meses me preguntaba si tendría sentido continuar con él. Me refiero a que, en la actualidad, hay muchos motores para el desarrollo de juegos. Muchos de ellos son gratuitos, incluso. Cosas así han rondado en mi cabeza desde hace un año, me atormentan... Luego recuerdo la idea original. De los motores que conozco, ninguno la tiene. Igual y estoy equivocado... Gamegine es un framework!!<br /><br />Ya algunas veces he intentado <a href="http://blog.gamegine.net/2007/04/gamegine-segunda-parte.html">explicar la diferencia</a>, por lo que no entraré en detalles. Lo que sí será justo mencionar es que, aunque la idea principal se mantiene, ha habido algunos cambios en su estructura. Ya les platicaré de esto más adelante.<br /><br />Y a todas estas, ¿que onda con Gamegine? Recientemente inicié el desarrollo de su versión 0.3. Esta, además de algunos cambios estructurales, implementa un dispositivo para control de física. Misma idea: un dispositivo controlable por cualquier motor de física en el mercado. En estos momentos estoy escribiendo un controlador basado en <a href="http://www.nvidia.com/object/nvidia_physx.html">Physx</a>, el cual creo es unos de los más poderosos. Lo mejor es que, bajo ciertas circunstancias, es gratuito.<br /><br /><div class="separator" style="clear: both; text-align: center;"><a href="http://4.bp.blogspot.com/_xR0ogEwZlAs/SV-UxoHMyKI/AAAAAAAAAkM/m1gRtgdXxJw/s1600-h/gamegine-physx.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://4.bp.blogspot.com/_xR0ogEwZlAs/SV-UxoHMyKI/AAAAAAAAAkM/m1gRtgdXxJw/s320/gamegine-physx.jpg" /></a></div><div style="text-align: center;"><span style="font-size: x-small;">Gamegine + Physx</span></div><br />Sobre proyectos con Gamegine, hay uno en puerta; razón por la cual me ví en la necesidad de comenzar la implementación de un dispositivo de física.<br /><br />Como siempre, más noticias pronto, demos y código.<br /><br />.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2739448117216330833-7961065612445307777?l=blog.gamegine.net'/></div>Rogvarokhttp://www.blogger.com/profile/06917234087416578308noreply@blogger.com0tag:blogger.com,1999:blog-2739448117216330833.post-26335628725738460832008-10-17T05:40:00.002-05:002008-10-17T05:58:41.123-05:00Gamegine y el linker se encuentran de nuevo<div class="separator" style="clear: both; text-align: left;">Me encontraba compilando Gamegine, después de meses de no trabajar en él. Me sentía como un extraño en mi propio código. Siempre me sucede algo parecido, ¿saben? Todos los días trabajo en diferentes proyectos, siempre uno de ellos es EL proyecto a desarrollar y los otros son nuevas ideas, experimentos, soporte a otros programadores, etc; y al final del día esta Gamegine y todos los proyectos con los que este trabaja. El caso es que siempre ando olvidando cosas que ya desarrollé y cómo las desarrolle. Al principio me llegó a preocupar bastante, pero como diria mi amigo Wilbert: "es una prueba de que sigo siendo humano".</div><div class="separator" style="clear: both; text-align: left;"></div><div class="separator" style="clear: both; text-align: left;">El caso es que, compilaba Gamegine porque mejoré algunos aspectos del engine. Siempre estoy tratando de mejorar las cosas. Pero esta vez, después de tanto tiempo, cuando superé la compilación del proyecto, me encontré cruzando los dedos para que no hubiese problemas a la hora del link. Wow! si hubiesen visto cuantos errores me arrojó tras la primer compilación que le hice al proyecto, hace ya mucho tiempo de eso (¿como un año no?) Creo que me llevó como 2 semanas dejar el proyecto sin errores y luego otra más depurandolo para que no tronara en tiempo de ejecución.</div><div class="separator" style="clear: both; text-align: left;"></div><div class="separator" style="clear: both; text-align: left;">. </div><div class="separator" style="clear: both; text-align: left;"></div><div class="separator" style="clear: both; text-align: left;"></div><div class="separator" style="clear: both; text-align: left;"></div><div class="separator" style="clear: both; text-align: center;"><a href="http://4.bp.blogspot.com/_xR0ogEwZlAs/SPhrqeQASGI/AAAAAAAAAeU/kaz6_TQZ5zs/s1600-h/gamegine-backrun.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://4.bp.blogspot.com/_xR0ogEwZlAs/SPhrqeQASGI/AAAAAAAAAeU/fw9v1yC6dMY/s400-R/gamegine-backrun.jpg" /></a></div><br />Tras el último mensaje, sentí un alivio similar al de la primera ocasión. Como me encanta ete proyecto. En la oficina no dejo de hablar de esta o aquella nueva funcionalidad y bla bla bla bla...<br /><br />Gamegine ha sido uno de los proyectos que más satisfacciones me han dado en esta mi vida geek, así que tengan por seguro que seguirá adelante. Esta vez un poco más tranquilo y mejor estructurado. Verán, trabajé más de un año para poder compilar el proyecto la primera vez. Para algunos será demasiado tiempo, pero si toman en cuenta que lo estoy desarrollando en mis tiempos libres, para mí es un gran logro. Por ratos me sentí tan desesperado por liberar algo, y aunque aún no lo he hecho, me digo a mi mismo: "mi mismo, llévatela tranquilo y libera cuando tengas que hacerlo". Digo, les funcionó a los de Silicon Knights, por qué conmigo seria diferente...<br /><br />.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2739448117216330833-2633562872573846083?l=blog.gamegine.net'/></div>Rogvarokhttp://www.blogger.com/profile/06917234087416578308noreply@blogger.com1tag:blogger.com,1999:blog-2739448117216330833.post-46842933628777795482008-09-10T19:33:00.003-05:002008-09-10T19:35:48.526-05:00gamegine sigue en pie, nada mas dormidoNada nuevo por aquí. En realidad me ví obligado a abandonar este proyecto por un tiempo, ya que mi vida personal se estaba haciendo pedazos. Pero ya vamos para arriba de nuevo y les tendré al tanto de lo que ocurra con este proyecto, el cual no ha muerto. No señor, está vivo, nada más que algo dormido.<div><br /></div><div>Esperen noticias pronto. Gracias por visitarnos.</div><div><br /></div><div>Un abrazo.</div><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2739448117216330833-4684293362877779548?l=blog.gamegine.net'/></div>Rogvarokhttp://www.blogger.com/profile/06917234087416578308noreply@blogger.com0tag:blogger.com,1999:blog-2739448117216330833.post-36442145580406005332008-05-01T21:57:00.002-05:002008-05-01T22:27:14.374-05:00Parte 2: JUN, el diseño del juegoHa pasado mucho tiempo desde que inicié el desarrollo de este Tutorial. Me han de perdonar esta ausencia, y es que han pasado muchas cosas en estos días y me he visto en la terrible necesidad de meter muchos de mis proyectos a un cajón, en espera de una portunidad de continuar con su desarrollo.<br /><br />Precisamente ahora, mi calendario de trabajo personal está hecho un caos y no se bien lo que estaré haciendo durante los próximos días, pero mientras mi vida entra en balance nuevamente, decidí continuar con el desarrollo de este juego. Espero a algunos de ustedes les sea de utilidad esta información.<br /><br />Ahora si, pasemos a lo bueno de este post: el documento de diseño de un videojuego.<br /><br />Mucho de habla de esta parte del proceso. Muchos han de decir que es una pérdida de tiempo, pero les aseguro que es extremadamente importante, sobre todo si se trabaja e equipo. A lo largo de su vida profesional, se darán cuenta que el trabajo en equipo es extremadamente funcional, si se sabe aplicar correctamente. Incluso ahora, las grandes compañías de desarrollo, no solo de videojuegos, están compuestas por equipos enormes, que se reparten el trabajo de una manera optimizada y funcional.<br /><br />Podemos decir, como se escucha en algunos lugares, que el documento de diseño de un videojuego es el alma misma del juego, o la biblia del juego. Aquí se detallan los elementos más importantes del juego, sin llegar al nivel técnico, para el cual se desarrolla otro documento (el documento de técnico de un juego).<br /><br />Para este juego, he desarrollado un breve documento de diseño, que explica muy brevemente los factores más importantes de JUN. Es importante que no me tomen cada palabra como una regla, sino que investiguen por su cuenta y tomen mi trabajo como una rferencia más para aprender de ustedes mismos. Se darán cuenta, con el tiempo, que el mejor maestro es la experiencia.<br /><br />Por otro lado, no crean que tengo una gran experiencia en esta parte del proceso. Creo que son muy pocas las personas a las que les gusta esta parte, pero créame que vale la pena el esfuerzo.<br /><br />En mi trabajo diario, me ha tocado documentar muchas partes de la plataforma de desarrollo de aplicaciones que utilizamos. He escrito muchos manuales de usuario y de procedimientos, así como videos que explican las técnicas más eficientes para la elaboración de formularios ycatálogos en línea; y cada vez que m encuentro ante Word, con muchas líneas de texto por escribir y detalles que explicar, tengo que ir a tomarme una buena taza de café, pues esta parte puede resultar extremadamente aburrida, pero mucho más importante de lo que parece.<br /><br />Ahora si, ¿que debemos encontrar en este documento? Fácil, una descrpción de cada elemento del juego. Dsde las pantallas, la lógica, la inteligencia artificial, etc. ¿Recuerdan el artículo que les mencioné en la primera parte? también me he basado en ellos para desarrollar nuestro documento de diseño. Les recuerdo la liga para que le echen un vistazo:<br /><br />Link: [inglés] <a href="http://www.gamasutra.com/features/19991019/ryan_01.htm">Tim Ryan's "The Anatomy of a Design Document"</a><br /><br />Por otro lado, también he subido al grupo en google (¿les mencioné que di de alta un grupo en google?) el documento de diseño para JUN.<br /><br />Link: <a href="http://gamegine.googlegroups.com/web/JUN%20-%20Game%20Design.doc?gda=h-AnBUYAAAA6Ct8idopj_jDHulckjfoHeGO2OZYwPFgVwM_S0_S7umG1qiJ7UbTIup-M2XPURDSxhPuPfq_iVKlaYcQvCSiStwjIsKa6dVQmflmuhzwYAA&amp;gsc=VIjrEAsAAAB50rWPGGUn9YPMg8MILsl6">JUN- Game Design</a><br /><br />Les prometo que muy pronto estaré pulicando lo más interesante del juego: como se programa el juego. Por ahora, déjenme darles un adelanto, los siguientes post dividirán el desarrollo en dos fases: el desarrollo de la lógica del juego (incluyendo la inteligencia artificial) y el desarrollo gráfico del juego.<br /><br />Nos vemos muy pronto.<br /><br />.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2739448117216330833-3644214558040600533?l=blog.gamegine.net'/></div>Rogvarokhttp://www.blogger.com/profile/06917234087416578308noreply@blogger.com0tag:blogger.com,1999:blog-2739448117216330833.post-34853633039172064012008-04-30T07:14:00.001-05:002008-04-30T07:14:34.336-05:00juego de talentoEste es un concurso que organiza la FONE (Foro de la Nueva Economía), una institución no gubernamental apoyada por instituciones gubernamentales. El objetivo principal es crear nuevas empresas que se dediquen al desarrollo de videojuegos y animación digital.<br /><br /><br /><span style="font-size:130%;"><span style="font-weight: bold;">Pero, ¿qué es "Juego de talento"?</span></span><br /><br />Ni siquiera los organizadores han logrado responder bien a esta pregunta, pero aquí les comento lo que he entendido hasta el momento: es un Reality show (tipo Big Brother) que se llevará a cabo en línea (de ahí el término Virtuality), durante el cual los equipos concursantes deberán seguir las instrucciones que el jurado les entregará cada semana hasta completar un Storyboard sobre la historia del juego.<br /><br />En total serán 24 los equipos participantes, es decir, de todos los equipos registrados se elegirán solamente a 24 para el Virtuallity. Y claro, puedes participar por tus tanates (solo), pero, en la vida real, un equipo de una sola persona no es equipo y no hace gran cosa, por lo que le darán más puntos al trabajo en grupo.<br /><br />La duración del virtuality es de 8 semanas, comenzando en Julio. Durante el mes de Junio se llevarán a cabo una serie de talleres que te ayudarán en la creación del storyboard durante el concurso. Estos talleres son gratuitos, pero presenciales. Aquí es donde nace mi descontento, necesitas viajar al D.F. para participar en dichos talleres.<br /><br /><br /><span style="font-size:130%;"><span style="font-weight: bold;">¿Qué necesito para participar?</span></span><br /><br />Una muy buena idea y habilidades para narrarla y convertirla en un storyboard. No necesitas conocimientos técnicos y mucho menos de programación. De ahí parte mi escepticismo alrespecto.<br /><br />También tienes que registrarte en el sitio Web. Pero "ojo", el seudónimo que utilices para el registro será el que identifique al equipo entero.<br /><br />Pero antes de participar, hay algo muy importante que necesitan realizar: proteger esa idea en la INDA (derechos de autor). He estado investigando y no parece ser muy complicado el trámite, salvo porque se requiere la obra terminada y, en este caso, no la tienes. Así que tienes de dos sabores: investigas por tu cuenta o solicitas el servicio a los organizadores del concurso. En la primera opción, el costo es más barato (aunque no tengo bien idea de que sea necesario hacer), mientras que en la segunda solo les das tus datos mas $1,000 (mil pesos) y ellos hacen el trámite por tí. Si me entero de algo más les aviso.<br /><br />Posteriormente, debes enviarles una ficha con los datos del proyecto, así como de los miembros de tu equipo.Incluyendo el resumen de la historia que ha de concursar. Otro día les pongo bien la infromación de esto.<br /><br />Tienes hasta el 30 de Mayo para registrar tu proyecto, pero recuerda que el proceso de registro en derechos de autor ya debe haberse iniciado para entonces.<br /><br />Hay 3 categorías en el concurso: estrategia, acción y animación digital.<br /><br />Pueden consultar las bases del concurso en la siguiente liga (pero les aseguro que está mas claro aquí) para obtener todos los detalles que me hiciera falta mencionar.<br /><br />Link: <a href="http://juegodetalento.com/index.php?option=com_content&amp;view=article&amp;id=36">Concurso Juego de talento</a><br /><br /><br />Y si, por si se lo preguntan, ya estamos formando un equipo para participar, con una historia que traigo entre manos desde hace un rato. Por ahora, los integrantes somos los siguientes:<br /><br />- <a href="http://www.christiancoquet.com/">Sharky</a><br />- dK<br /><br />Do u have what it takes?<br /><br />.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2739448117216330833-3485363303917206401?l=blog.gamegine.net'/></div>Rogvarokhttp://www.blogger.com/profile/06917234087416578308noreply@blogger.com0tag:blogger.com,1999:blog-2739448117216330833.post-1214477688941114082008-02-22T19:46:00.004-06:002008-02-26T07:51:50.066-06:00Parte 1: Jun, el concepto del juegoHe estado pensando al respecto y creo que me he apresurado un poco en el desarrollo de este tutorial. No se que piensen ustedes de esto, pero creo que para ser un "curso" completo, debemos tocar cada uno de los puntos que intervienen en el desarrollo de un videojuego a nivel profesional. Así que volvamos a comenzar desde el principio: con el concepto del juego.<br /><br />Todo videojuego debe comenzar con una idea, lo que podemos llamar como el "concepto" del juego. Será necesario documentar esta idea para poder vender el proyecto a un publicista, productor o persona afín. Podrá parecer una perdida de tiempo, pero créanme, en las grandes ligas, esta parte del diseño de videojuegos resulta muy importante.<br /><br />Este documento debe ser muy breve, claro y extremadamente atractivo. Piensen en él como la carta de presentación de su proyecto. Si el día de mañana alguno de sus proyectos pudiese entrar a un concurso o recibieran la entrevista de algún productor, este documento es lo primero que necesitarán presentar. Es nuestra carta fuerte, así que como tal habrá que redactarlo.<br /><br />Los puntos más importantes a mencionar en este documento son los siguientes:<br /><br />* ¿cual es el objetivo del juego?<br />* ¿que lo hace tan atractivo?<br />* ¿cuales son sus características mas importantes?<br /><br />Para desarrollar nuestro juego <span style="font-style: italic;">JUN</span>, he escrito un breve documento sobre el concepto del juego. Este documento, dicho sea de paso, esta basado en una guía escrita por Tim Ryan para Gamasutra, en donde podrán encontrar información mas detallada sobre este importante procedimiento:<br /><br /><a href="http://www.gamasutra.com/features/19991019/ryan_01.htm">Tim Ryan's "The Anatomy of a Design Document"</a><br /><br /><br />Puedes obtener una versión del documento del concepto del juego en la siguiente liga:<br /><br /><a href="http://gamegine.googlegroups.com/web/JUN%20-%20Game%20Concept.doc?gda=CayGC0cAAAAewiUvBO0YaM0MQ_rXyPXeYoudI0Q0gKpFZvE1_i47VGG1qiJ7UbTIup-M2XPURDQnH1Jn1coZDui2OQj6tIz8_dmGWxdbtnnfKrygeWRmXg">JUN: Game Concept</a><br /><br /><br />.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2739448117216330833-121447768894111408?l=blog.gamegine.net'/></div>Rogvarokhttp://www.blogger.com/profile/06917234087416578308noreply@blogger.com0tag:blogger.com,1999:blog-2739448117216330833.post-52880444633038719572008-02-22T08:13:00.002-06:002008-02-22T08:28:09.341-06:00JUN, iniciando el proceso de diseñoSiguiendo con la idea del videojuego, vamos a comenzar por lo basico: el analisis del problema.<br /><br />Este juego consta de 108 cartas (mas las especiales que no forman parte del juego convencional), organizadas de la siguiente manera:<br /><br />Cartas azules:<br /> 0 x1<br /> 1-9 x2<br /> Toma 2 x2<br /> Reversa x2<br /> Salto x2<br /><br /><br />Cartas rojas:<br /> 0 x1<br /> 1-9 x2<br /> Toma 2 x2<br /> Reversa x2<br /> Salto x2<br /><br /><br />Cartas verdes:<br /> 0 x1<br /> 1-9 x2<br /> Toma 2 x2<br /> Reversa x2<br /> Salto x2<br /><br /><br />Cartas amarillas:<br /> 0 x1<br /> 1-9 x2<br /> Toma 2 x2<br /> Reversa x2<br /> Salto x2<br /><br /><br />Cartas sin color (multicolor):<br /> Comodin x4<br /> Toma 4 x4<br /><br /><br />Las reglas del juego son muy sencillas, pero tienen diversas especificaciones, razon por la cual solo mencionare las mas importantes. Pueden visitar el sitio <a href="http://es.wikipedia.org/wiki/UNO_%28juego%29">UNO</a> en Wikipedia para conocer mas detalles y variantes del juego.<br /><br />Para manejar esto, tenemos que definir estas caracteristicas de una forma simple y que nos permita manipular las cartas de forma eficiente, por lo que nos iremos por el camino sencillo y vamos a manejarlo con enumerados.<br /><br />De la misma forma, necesitamos definir una "Carta" dentro del juego, que especifique las caracterisitcas descritas y que nos permita manipular el flujo del juego a placer y con suma sencilles.<br /><br />Tambien vamos a necesitar crear pilas de cartas, que nos permitan controlar las jugadas en mano, cartas jugadas y cartas por jugar.<br /><br />Veo que tengo algunos problemas para poner contenido de codigo en este template, por lo que he de solucionarlo hoy en la noche y comenzare a postear el codigo del juego como va hasta el momento.<br /><br />Nos vemos pronto.<br /><br />.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2739448117216330833-5288044463303871957?l=blog.gamegine.net'/></div>Rogvarokhttp://www.blogger.com/profile/06917234087416578308noreply@blogger.com0tag:blogger.com,1999:blog-2739448117216330833.post-54678484911635310042008-02-20T07:11:00.003-06:002008-02-20T07:23:48.937-06:00Gamegine, ahora con un sistema de GUIMas silencio por aqui, pero no se crean, he estado trabajando en el Gamegine.<br /><br />Ahora que me encuentro planeando el primer juego que empleara el Gamegine Development Framework, me he topado con un problema: no habia manera de definir una interfaz grafica. Claro, hay muchas opciones aqui en la red, pero ninguna que se ajuste a las necesidades del framework; sin embargo, una de ellas se aproxima lo suficiente. Se trata del framework CEGUI (Crazy Eddie's GUI System) que es utilizado en casi todos los demos de Ogre. En realidad es muy bueno, y configurable, y no resulto muy dificil construir algo para el. De hecho, el systema, aunque un poco complicado, ha quedado muy facil de implementar.<br /><br />Por otro lado, hacia falta tambien un mecanismo para definir menus. Hay dos tipos, en terminos generales, de menus que podemos ver en un juego: estan los menus de configuracion y los menus dentro del juego. Los primeros son empleados en gran medida para definir las caracterisitcas del juego, cargar niveles, etc. Los segundos son elementos que se encuentran activos mientras estas jugando, como por ejemplo: un menu de armas, hechizos, etc.<br /><br />Pero bueno bueno, y esto que tiene que ver con el juego? Facil, necesitamos menus para el juego. Este primer juego, como se han de imaginar, es uno muy sencillo que, segun veamos como le va, podriamos hacer mas completo. Este juego no utilizara fisica, que es una caracteristica que aun no he terminado de implementar en el framework.<br /><br />Vamos a lo importante, a partir de mañana comenzare a trabajar en la parte artistica del juego y comenzare a postear detalles de la logica y objetivos del mismo, a la vez que liberamos contenido y codigo.<br /><br />Hasta entonces, espero verlos muy pronto por estos lugares.<br /><br />.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2739448117216330833-5467848491163531004?l=blog.gamegine.net'/></div>Rogvarokhttp://www.blogger.com/profile/06917234087416578308noreply@blogger.com0tag:blogger.com,1999:blog-2739448117216330833.post-58168010915249363852008-02-10T15:35:00.000-06:002008-02-10T15:40:49.376-06:00HUNMucho silencio estos dias no? He andado bastante ocupado con un proyecto para una empresa aquí, en mi localidad. Pero eso ya está por terminar.<br /><br />Este es mas bien un post para comentarles que he seguido trabajando en el Gamegine. Por ahora, dejaré de trabajar en la parte de las librerías de física por dos razones: la primera es que estoy pensando utilizar Ageia en vez de ODE, así que aún no termino de decidir esa parte, la segunda es que quiero comenzar a desarrollar un juego muy sencillo, se trata un juego que se llamará HUN (el nombre esta en Maya, y significa UNO). Esta será una versión simple y, si las cosas marchan bien, agregaremos la posibilidad de jugar en linea y hasta de jugar con algunas variantes del juego.<br /><br />Por ahora les dejo con la idea, comentandoles que estare posteando paso a paso el desarrollo del juego, asi como publicando el codigo fuente. Tambien esten pendientes, por que en estos dias estare liberando la primer version Alfa del framework.<br /><br />.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2739448117216330833-5816801091524936385?l=blog.gamegine.net'/></div>Rogvarokhttp://www.blogger.com/profile/06917234087416578308noreply@blogger.com0tag:blogger.com,1999:blog-2739448117216330833.post-10103431452788231722007-12-20T07:34:00.000-06:002007-12-20T07:46:25.677-06:00Demo: WaterOtro demo mas a la cuenta. En esta ocasión se trata de un simulador de superficies, escrito para Ogre, en el cual podemos observar algunas características interesantes de este motor de gráficos.<br /><br /><div style="text-align: center;"><a href="http://picasaweb.google.com/eduardo.ferron/ImagenesDeGamegine/photo#5146047772211558626"><img src="http://lh6.google.com/eduardo.ferron/R2pvLxPcOOI/AAAAAAAAAS8/UmrBjLWnfM8/s400/Gamegine-Water.jpg" /></a><br /></div><br /><div style="text-align: center;"><span style="font-size:85%;">Water ( Gamegine + Ogre)</span><br /></div><br />Por otra parte, me he dado a la tarea de rediseñar el pipeline de ejecución del framework. Ahora, en Gamegine, es posible trabajar con un <span style="font-weight: bold;">GameController</span> predefinido o escribir el propio e implementarlo en tu aplicación. Un GameController, como su nombre lo indica, controla el programa, o dicho de mejor forma, controla el flujo del programa. Es importante hacer notar que el framework está diseñado para que ustedes mismos armen su motor de la manera que ustedes prefieran, o simplemente usar los controladores básicos.<br /><br />Hoy vamos a hablar del pipeline de ejecución. Este, no es otra cosa que una colección de objetos que se ejecutan secuencialmente, siendo que al terminar la ejecución del último elemento en la lista se termina la aplicación. Más adelante hablaremos de como cambiar este comportamiento, por ahora nos centraremos en definir un <span style="font-weight: bold;">GameHandler</span>. Este es, en palabras sencillas, un elemento dentro del pipeline (cola) de ejecución. Un handler puede ser cualquier cosa que ustedes deseen implementar, siendo su representación más natural un objeto de tipo <span style="font-weight: bold;">GameLevel</span>. Este último es el elemento a implementar si queremos agregar algo a nuestros programas. En próximos tutoriales veremos más información sobre estos elementos del framework.<br /><br />.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2739448117216330833-1010343145278823172?l=blog.gamegine.net'/></div>Rogvarokhttp://www.blogger.com/profile/06917234087416578308noreply@blogger.com0tag:blogger.com,1999:blog-2739448117216330833.post-14648736793336899182007-12-17T18:58:00.000-06:002007-12-17T19:02:57.759-06:00una pequeña pausaSeguramente se preguntan "que ha pasado con el desarrollo de tan no famoso framework?", pues simplemente ha tenido que pasar al cajon por unos dias, porque me encuentro trabajando en un sitio Web bajo en cargo, pero estos dias debo retomar el proyecto.<br /><br />En estos momentos me encuentro rediseñando el sistema de control de flujo en el juego, de tal manera que sea posible cargar al pipeline de ejecucion, cualquier otro objeto que no sea un nivel de juego. De esta manera sera posible cargar pantallas de presentacion, videos, paneles con informacion, etc; ademas de juegos.<br /><br />Mas noticias en un par de dias.<br /><br />.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2739448117216330833-1464873679333689918?l=blog.gamegine.net'/></div>Rogvarokhttp://www.blogger.com/profile/06917234087416578308noreply@blogger.com0tag:blogger.com,1999:blog-2739448117216330833.post-19704067448479126242007-12-12T08:18:00.000-06:002007-12-12T08:49:32.827-06:00demo: CelShadingOtro demo más a la cuenta, este se trata de un programa que explica la forma en la que se pueden cargar efectos al renderer, como el "CelShading".<br /><br /><div style="text-align: center;"><a href="http://picasaweb.google.com/eduardo.ferron/ImagenesDeGamegine/photo#5143098278791791010"><img src="http://lh4.google.com/eduardo.ferron/R1_0oqBOwaI/AAAAAAAAARU/0TYsXM8GYDU/s400/Gamegine-CelShading.jpg" /></a><br /><span style="font-size:85%;">CelShading (Gamegine + Ogre)</span><br /></div><br />Ahora me encuentro rehaciendo la parte de inicialización y liberación de recursos, ya que ha estado tronando. Espero este fin de semana comenzar con un juego-tutorial que se me ha ocurrido.<br /><br />.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2739448117216330833-1970406744847912624?l=blog.gamegine.net'/></div>Rogvarokhttp://www.blogger.com/profile/06917234087416578308noreply@blogger.com0tag:blogger.com,1999:blog-2739448117216330833.post-70563659398806787352007-12-11T08:13:00.000-06:002007-12-11T08:29:56.902-06:00demo: camera trackUn demo más a la cuenta. Esta vez fue extremadamente sencillo echar a andar el demo de Ogre que se llama CameraTrack, cuyo objetivo es mostrarte que este motor es capaz de crear un objeto que pueda seguir una ruta predeterminada (algo así como un riel).<br /><br />Por ahora, continuaré portando los demos de Ogre, de tal manera que sirvan para una base de cómo debe implementarse una aplicación Ogre dentro de Gamegine, pero la próxima semana comenzaremos con demos propios.<br /><br /><div style="text-align: center;"><a href="http://picasaweb.google.com/eduardo.ferron/ImagenesDeGamegine/photo#5142718131236422034"><img src="http://lh5.google.com/eduardo.ferron/R16a5KBOwZI/AAAAAAAAAQ0/5NOvPfCkhb4/s400/Gamegine-CameraTrack.jpg" /></a><br /><span style="font-size:85%;">Camera Track (Gamegine + Ogre)</span><br /><div style="text-align: left;"><br />Ya estoy pensando en la mascota para Gamegine, aunque tal vez aun es muy pronto. Se aceptan sugerencias.<br /><br />.<br /></div></div><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2739448117216330833-7056365939880678735?l=blog.gamegine.net'/></div>Rogvarokhttp://www.blogger.com/profile/06917234087416578308noreply@blogger.com0tag:blogger.com,1999:blog-2739448117216330833.post-14670496824825495822007-12-10T23:48:00.000-06:002007-12-11T00:05:11.382-06:00captura de perifericosFinalmente, he terminado de implementarle control de periféricos al gamegine framework, aunque el único que he probado, hasta el momento, es el del mouse. Mañana estaré probando con el teclado y probablemente la próxima semana podamos hacer algún demo que controle un joystick.<br /><br />La idea principal dentro del gamegine es la modularidad (algunos le dan otro nombre). El otro día venía haciendo cuentas y descubrí que dentro de poco cumpliré diez años como desarrollador de software. Así que sé de lo que les hablo cuando les digo que el éxito de un programa depende, en gran medida, de su habilidad para adaptarse a los cambios. Pero, ¿cuales cambios?, me dirán. En realidad pueden ser cambios estratégicos, como la implementación de una nueva herramienta, o el mantenimiento de la misma, así como poder quitar y poner elementos sin que la aplicación se venga abajo. Así, es posible tener el engine trabajando sin la necesidad de cargar una librería de física, por ejemplo, sonido u otra cosa; y luego echarla a andar simplemente con agregarla al archivo de configuración.<br /><br />El sistema de control de periféricos que he diseñado es un muy buen ejemplo de lo que les digo. Por ejemplo, para poder escuchar cambios en el movimiento del mouse, lo que necesito hacer es crear una clase que herede de una interfaz de nombre "GameInputMouseListener" y sobrecagar el método asociado al evento que me interese escuchar. Esta clase, de forma interna y, portanto, transparente, se inscribe al servicio de escucha del periférico y se da de baja cuando ya no sea necesario. También, depende de la configuración del framework el determinar qué librería se ha de encargar de llevar a cabo esta tarea. Para tí, lo único que tuviste porqué preocuparte es por sobrecargar un método.<br /><br />Vamos a documentar muy bien estas características en otro post, mientras tanto, visiten el sitio oficial del gamegine para ir conocientdo como va el asunto.<br /><br />Por mi parte, estaré posteando más seguido para comentarles el avance del desarrollo del framework, así como plticando de nuevos planes, como el desarrollo de un juego que ha de servir de tutorial para iniciarse en el uso de estas librerías.<br /><br />.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2739448117216330833-1467049682482549582?l=blog.gamegine.net'/></div>Rogvarokhttp://www.blogger.com/profile/06917234087416578308noreply@blogger.com0tag:blogger.com,1999:blog-2739448117216330833.post-23331053066255789582007-12-06T08:32:00.000-06:002007-12-06T08:41:43.234-06:00esta vivo!!Casi un mes desde mi ultimo post, y es que por aca, con Gamegine, ha habido enormes cambios. De hecho, el proyecto se ha transformato tanto que casi debi cambiarle el nombre, pero no va a ser así, en escencia, sigue siendo el mismo.<br /><br />Todo ocurrio hace un par de semanas, leyendo algunos mails del grupo de <a href="http://mexico.vjuegos.org/">IGDA Mexico</a>, cuando me di cuenta que necesitaba hacer algunos cambios.<br /><br />El motor de juegos ha cambiado, así como el enfoque que éste ha tomado, pero la idea sigue siendo la misma: un framework para el desarrollo de videojuegos. Por ahora, falta resolver el modo en el que los jugadores interactúan con los dispositivos de entrada, la forma en la que entran en juegos los menús y las trancisiones entre una escena y otra; por mencionar algunas de las cosas que se me ocurren.<br /><br />Ya les mostraré más avances hoy en la noche, mientras tanto, les dejo con la primera imagen que he sacado del framework. Se trata de un remake del demo "Beizer Patch" que viene con Ogre, pero utilzando el framework de Gamegine. En mails posteriores les explicaré como funciona el framework.<br /><br /><br /><div style="text-align: center;"><a href="http://picasaweb.google.com/eduardo.ferron/ImagenesDeGamegine/photo#5140869804945490242"><img src="http://lh4.google.com/eduardo.ferron/R1gJ2aBOwUI/AAAAAAAAAPE/yuFABA8-5R0/s400/gamegine-first-view.JPG" /></a><br /><br /><span style="font-size:85%;">Beizer Patch Demo (Gamegine + Ogre)</span><br /><br /><div style="text-align: left;">.<br /></div></div><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2739448117216330833-2333105306625578958?l=blog.gamegine.net'/></div>Rogvarokhttp://www.blogger.com/profile/06917234087416578308noreply@blogger.com1tag:blogger.com,1999:blog-2739448117216330833.post-91908787682996297332007-11-08T00:21:00.000-06:002007-11-08T00:47:18.864-06:00retomando el caminoUn mes, quien diria que ha pasado tanto tiempo. Muchos problemas familiares por aca, pero ya todo esta solucionandose poco a poco. Ya estoy compilando otra vez y, a jusgar por el numero de errores, me falta un par de semanas mas para tenerlo completo.<br /><br />Como se ha hecho constumbre ( y so tiene que cambiar pronto) los dejo con la espectativa de una pronta publicacion del Gamegine. Estoy convencido de que al final, habra valido la espera.<br /><br />.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2739448117216330833-9190878768299629733?l=blog.gamegine.net'/></div>Rogvarokhttp://www.blogger.com/profile/06917234087416578308noreply@blogger.com0