tag:blogger.com,1999:blog-275544572024-03-14T01:32:21.030-06:00Maya's Game DevelopmentMayahttp://www.blogger.com/profile/17671475895474176964noreply@blogger.comBlogger29125tag:blogger.com,1999:blog-27554457.post-12264558957394350302007-03-06T18:00:00.000-06:002007-03-06T18:03:49.134-06:00<span style="font-family:verdana;"><br />Hola a todos mis amigos y visitantes de este blog. Antes que nada quiero pedirles una gran disculpa a todas las buenas personas que pasan a visitarme y dejar sus comentarios de buena vibra. La disculpa es porque como ya se han de haber enterado, ciertas personas han vandalizado mi blog dejando mensajes en el chatbox. Muy cobardemente se encubrían bajo el nombre de personas inocentes para expresar frases negativas con palabras vulgares y faltando el respeto a todos incluyendome a mi persona.<br /><br />No había quitado todos esos mensajes ya que como varios de ustedes saben, no tengo Internet en casa y casi no lo frecuento en cualquier otro lado. Me doy cuenta que ha llegado muy lejos los insultos por lo que he decidido no poner el chatbox y hacer cambios al blog para no permitir que pase esto nuevamente.<br /><br />Estoy muy desilusionada con todo esto y muy apenada para con mis amigos y visitantes. Es por eso que les pido una gran disculpa. Estoy segura que las personas que dejaron esos mensajes son personas envidiosas y que no pueden lograr nada positivo por ellas mismas en esta vida; así que solo se dedican a vagar y dejar malas vibras. Me da coraje pero más lastima siento por esas personas que al final del día son simplemente cobardes.<br /><br />No estoy segura de seguir con este blog, pero si con mi proyecto el cual prácticamente ya he terminado y que algunos de ustedes, por lo menos la versión beta, ya han probado. Les agradezco todos sus comentarios positivos ya que me han ayudado a mejorar mi proyecto. También quiero agradecer a todos aquellos que me ayudaron directa e indirectamente y que aún lo hacen. Gracias a todo esto, ya cuento con algunas propuestas laborales relacionadas con ello. No los voy a nombrar aquí, pero se que ya saben quienes son todas estas personas. ¡¡Los quiero muchísimo!!<br /><br />¡Saludos a toda la gente de buena vibra!<br /><br />Maya<br /></span>Mayahttp://www.blogger.com/profile/17671475895474176964noreply@blogger.comtag:blogger.com,1999:blog-27554457.post-1168142966738640292007-01-06T21:57:00.000-06:002007-01-06T22:09:54.530-06:00Primer Post<span style="font-family:verdana;"><br />Este es mi primer post del 2007 y mis últimos días de vacaciones <img src="http://i103.photobucket.com/albums/m149/mayaliall/crying.gif" align="absmiddle" /> La verdad me la pasé muy bien con la familia de parte de mi mamá. A pero eso si, como comí; creo que ya subí unos kilitos de más jiji. Así que tendré que invertir unas cuantas horas más en el gym que frente a la computadora jaja.<br /><br />Estos días me la pasé tratando de crear la forma de cargar diferentes niveles del video juego. Hasta ahora tengo solo dos niveles pero tengo que organizar el código para hace una pantallita de título y carga los niveles secuencialmente. No se si exista una forma estándar de hacer esto o es solo ¿hacerlo como va? <img src="http://i103.photobucket.com/albums/m149/mayaliall/doubt.gif" align="absmiddle" /><br /><br />Me habían comentado hacer un módulo que se dedique a cargar únicamente niveles y otro más para pantallas como título, créditos, etc. Bien, bueno, esteeeee, pues creo que me favorece la primera opción <img src="http://i103.photobucket.com/albums/m149/mayaliall/oops.gif" align="absmiddle" /><br /></span>Mayahttp://www.blogger.com/profile/17671475895474176964noreply@blogger.comtag:blogger.com,1999:blog-27554457.post-1167592567300734092006-12-31T13:04:00.000-06:002006-12-31T13:16:07.316-06:00¡¡FELIZ 2007!!!<span style="font-family:verdana;"><br />Este es un post así bien rapido jaja. Para desearles lo mejor en este nuevo año 2007. Que todos sus deseos y metas se logren y a loa que programamos videojuegos que terminemos y hagamos más jugos. Les mando muchos besos a todos mis amigos y visitantes. ¡¡Buena vibra!!<br /><img src="http://i103.photobucket.com/albums/m149/mayaliall/kiss.gif"><br /></span>Mayahttp://www.blogger.com/profile/17671475895474176964noreply@blogger.comtag:blogger.com,1999:blog-27554457.post-1163296514679689312006-11-11T19:44:00.000-06:002006-11-11T19:55:14.680-06:00De guerras y fugas<span style="font-family:verdana;"><br />Como si no me dejaran muchos trabajos y tareas, mi mamá me quiere poner al quehacer de la casa a mi solita. Hayyy Le voy a declarar la guerra. Lo bueno que no lavé platos porque el grifo tiene una fuga de agua jijiji siii sabotajee jajaja. Y hablando de fugas lo que me paso ahora en la semana:<br /><br />¡Sin darme cuenta tenía una fuga de memoria horrible a la hora de eliminar los assets!. El administrador de assets lleva una lista de apuntadores a todos los assets de todo tipo, para ello la mágia de la programación orientada a objetos me ayuda. ¿Cómo? Pues la lista es de apuntadores de la clase base: <span style="font-weight:bold;">class AssetGenerico</span>, de ahí se derivan todos los assets. Así que nada de llevar apuntadores de cada tipo de asset, solo genéricos.<br /><br />Al dejar de utilizar los assets, el administrador recorre la lista eliminando cada nodo (o asset, en este caso) con un simple <span style="font-weight:bold;">delete</span>. El <span style="font-style:italic;">destructor</span> de cada asset es llamado y se eliminan todos los recursos de la memoria. ¡PERO NO! ¡¡El tonto destructor me estaba viendo la cara!! Por alguna razón el destructor de la clase base era el único que se ejecutaba, pero no de las derivadas. Como resultado una fuga de memoria y una burla a mi persona <img src="http://i103.photobucket.com/albums/m149/mayaliall/upset.gif" align="absmiddle" /><br /><br />Pero ya me explicaron mis amigos que debo de poner la palabrita "virtual" al mismísimo destructor de la clase base. De ésta forma se garantiza que el destructor de la clase derivada será ejecutado: <span style="font-weight:bold;">virtual ~AssetGenerico() {}</span><br /><br />Otra recomendación que me dieron es eliminar los recursos de cada asset por medio de un método virtual puro declarado en la clase base: <span style="font-weight:bold;">void eliminar( void ) = 0;</span> Por lo que cada clase derivada debe de implementarla. El administrador llama al método eliminar de cada apuntador y despues lo borra de memoria. La ventaja de ésto es que el código es mas claro y no estamos expuestos a lo fácil que se nos puede olvidar como funcionan los destructores, bueno, al menos a mí jijiji <img src="http://i103.photobucket.com/albums/m149/mayaliall/oops.gif" align="absmiddle" /><br /><br />Bueno, ya declaré mi ignorancia al mundo ahora me voy. Adiós a todos ¡¡y muchos saludos a todos los que han dejado sus post!! Gracias<img src="http://i103.photobucket.com/albums/m149/mayaliall/kiss.gif" align="absmiddle" /><br /></span>Mayahttp://www.blogger.com/profile/17671475895474176964noreply@blogger.comtag:blogger.com,1999:blog-27554457.post-1159921676072946562006-10-03T19:21:00.000-05:002006-10-03T19:27:56.073-05:00Busy, busy, busy!<span style="font-family:verdana;"><br />Hoy no pensaba en postear, pero mi mamá aún no viene por mí. Aquí estoy atrapada en el Internet público jiji. Bueno, como ya pueden pasar por mi en cualquíer momento, les platico rapidín que ya he hecho varios cambios al juego en cuando a gráficos. Se ve mucho mejor y las pantallitas ya están obsoletas jiji. En lo que me he entretenido es en hacer las imagenes para el scroll de fondo. <br /><br />También mejoré mi sistema de partículas y algunas otras partes del código. Aún me me meto a lo del sonido pero ya me voy a poner a leer tutoriales que me han sugerido y en Megabyter también van a poner muy pronto, así que con tantas recomendaciones de todos ustedes ya no te excusa de no terminarlo jiji.<br /><br />Bueno, mejor me voy preparando para irme. Saludos a todos y para los que están programando juegos actualicen sus blog jiji y para los que estan empezando y pues que abran uno (pedrada para aitmanga y art). Bye!!!<br /><span>Mayahttp://www.blogger.com/profile/17671475895474176964noreply@blogger.comtag:blogger.com,1999:blog-27554457.post-1159136579624672592006-09-24T17:19:00.000-05:002006-09-24T17:57:20.936-05:00Que triste sería un mundo sin sonido<span style="font-family:verdana;"><br />El jueves pasado mi hermano compró un amplificador y no se que mas cosas raras para el coche. Se pasó casi todo el día instalando éso y cuando estuvo listo nos invito a Karen y a mi a dar una vuelta. Con el punchis punchis a todo lo que daba apenas y si podíamos hablar ahí dentro jaja. Y de que nos estabamos quedando sordas (él ya esta yo creo) cuando de pronto se escucha que algo truena atrás. Lo único que escuché después fué el motor del coche así muy ensordecido, mis tímpanos no pericibían más. Que risa, jaja, y de que mi hermano ahí buscando que pasó y bien enojado y pues se quemó el ampli o no se que fué, jaja. Eso le pasa por comprar en el mercado negro<img src="http://i103.photobucket.com/albums/m149/mayaliall/oops.gif" align="absmiddle" /><br /><br />Pero ahora ni las jirafas ni el coche es lo unico mudo, también mi juego aún no emite sonidos. Quiero usar OGG para el sonido y música, pero como que no me queda claro como hacer la implementación. En un principio pense en SDL, pero ya no quiero agregar más librerías. Estoy confundida de como se supone deba de usar OGG. Mi idea era usar las librerías de audio de DirectX, pero no se si exista algo para manipular OGG desde DirectX. ¿Igual y tengo que hacer un decoder? Esto del audio lo he dejado un poco porque por lo mismo. Me pregunto si alguien ha usado OGG. Que problema no tener Internet en casa para dedicar más tiempo a investigar eso<img src="http://i103.photobucket.com/albums/m149/mayaliall/upset.gif" align="absmiddle" /><br /><br />También me he dedicado a mejorar algunos gráficos porque tenían muchos errores visuales, como los dejaba a manera de prueba. Pues aquellos que si pasaron la prueba jiji los estoy arreglando y poniendo bonitos antes de liberar la primera versión beta.<br /><br />Por cierto, no tuve pesadillas jiji, pero si me asusté<img src="http://i103.photobucket.com/albums/m149/mayaliall/crying.gif" align="absmiddle" /><br />PD: ¡Saludos a Esteban Manuel!<br /></span>Mayahttp://www.blogger.com/profile/17671475895474176964noreply@blogger.comtag:blogger.com,1999:blog-27554457.post-1159065654913354032006-09-23T21:26:00.000-05:002006-09-23T21:40:54.916-05:00¡Un café expresso para mi!<span style="font-family:verdana;"><br />Este es un post express. Miriam quería que lo titulara "un rapidín" jiji. Pues si, estamos toda la bola aquí en casita de Miriam para ¡¡¡ver una peli de terror!!! Mientras todos se acomodan y las palomitas se preparan en el micro, aprovecho para poner un post. Ya tenia rato que no posteaba, pero culpen a los profes que apenas y si nos dejan respirar; y era por eso, ¡¡¡no estaba encarcelada en ningún penal!!! Como son carretaaaaaaas, malos malos. Pero no crean que abandoné el proyecto. Aún le estoy avanzando aunque no tanto como quisiera; y me topé con problemas técnicos, mañana domingo les platico con mas calma<img src="http://i103.photobucket.com/albums/m149/mayaliall/upset.gif" align="absmiddle" /><br /><br />Y muchas gracias a todos mis amigos de Internet y a todos los visitantes por mantener este blog vivo con sus comentarios y visitas e incluso insultos. Sí, no me importa, yo solo tomo lo bueno jiji, pero muchas gracias a todos en general. Y en esta ocasión mando un saludo especial a Art, Mooth y Aoyama, gracias por su apoyo niños, BIG KISS!! y otro más para Darktiger por votar por mi blog <img src="http://i103.photobucket.com/albums/m149/mayaliall/kiss.gif" align="absmiddle" /><br /><br />Bueno, la peli ya va a iniciar, es El Descenso. No la vi en el cine, a ver que tal esta. Por si las dudas me traje mi cobija para taparme los ojo jaja aummmm ya me voyyyy... a ver como esta la peli, espero no tener pesadillas<img src="http://i103.photobucket.com/albums/m149/mayaliall/doubt.gif" align="absmiddle" /><br /><span>Mayahttp://www.blogger.com/profile/17671475895474176964noreply@blogger.comtag:blogger.com,1999:blog-27554457.post-1156887399036013702006-08-29T16:21:00.000-05:002006-09-01T12:15:46.826-05:00The good habits<span style="font-family:verdana;"><br />Yet another semester has come and my English classes came along. I attended to my first class last Wedensday... actually, it was the second one, but I missed the first one. Don't ask why. I have to do my English homework due for tomorrow. It is all about writing a short story about anything, but I am lacking enthusiasm to come up with a story<img src="http://i103.photobucket.com/albums/m149/mayaliall/doubt.gif" /><br /><br />So, for now on, I will post in English only <s>for</s> because I need to practice and reach the fluent language level. If any of my visitors wants to leave a message, please, do it in English or I will delete it straight away... or at least as soon as I spot it jiji (I think I should laugh even in English) hehe. However, you can type in Spanish in the Chatbox =P<br /><br />I must say that my English level is pretty poor. If you spot any mistake, please, don't keep it for yourself; let me know about it so I can improve. Bueno ya estuvo bueno de esto. Una semana más de clases y ya me tienen hasta el tope con trabajos. Mi juego ha estado avanzando muy lento, pero por lo menos le dedico tiempo. Aquí lo importante es la organización de mi tiempo y la disciplina para seguir mi calendario de actividades y tatuarmelo como buen hábito, de lo contrario nunca voy a terminar el juego y no se ustedes pero yo en lo personal odio dejar las cosas a medias <img src="http://i103.photobucket.com/albums/m149/mayaliall/upset.gif" /><br /><br />Y para todos los que se apuntaron como beta-testers esten listos que ya los voy a empezar a molestar jiji. Algunas veces no puedo contestar los mensajes de mis visitantes, pero cada vez que ponga un nuevo post ire respondiendo los del post anterior, para que los lean y no piensen que no respondo. Me voy que hoy comí MOLE que hizo mi mamá! <img src="http://i103.photobucket.com/albums/m149/mayaliall/coolcute.gif" />y ya me voy que me dio sueñito jiji</span>Mayahttp://www.blogger.com/profile/17671475895474176964noreply@blogger.comtag:blogger.com,1999:blog-27554457.post-1156364447279505372006-08-23T15:18:00.000-05:002006-08-23T15:25:40.493-05:00Más escolar que personal<span style="font-family:verdana;"><br />Y éstos días sin avanzarle mucho a mi proyecto. Tengo mucho que leer para las clases, aummm! Terminaron las clases por hoy, así que aprovecho un ratito en Internet antes de irme a mi casita.<br /><br />Hoy voy a instalar Blender, porque ya no puedo ir al estudio de MrBig para usar 3DS Max. En primera porque tengo que venir a clases y en segunda porque estan mudando el estudio. A ver si me acuerdo de como usar Blender, me acostumbré mucho al Max jiji. No lo habia instalado desde la última vez que se descompuso la computadora de la casa.<br /><br />Acabo de poner mi "wish list", por si alguien quiere contribuir, miren que soy niña pobre y de familia numerosa<img src="http://i103.photobucket.com/albums/m149/mayaliall/oops.gif" /> ñañaña saludos a todos mis amigos de la red y a todos los visitantes. Gracias por hecharle un ojo al changarro mientras no estoy. jaja!<br /><br />Ya me voy a comeeeer!<img src="http://i103.photobucket.com/albums/m149/mayaliall/byebye.gif" /><br /><span>Mayahttp://www.blogger.com/profile/17671475895474176964noreply@blogger.comtag:blogger.com,1999:blog-27554457.post-1156122619878174272006-08-20T19:59:00.000-05:002006-08-20T20:15:06.000-05:00¿Apantallados? ¿no verdad?<span style="font-family:verdana;"><br />El jueves pasado me di una desvelada de esas que entre semana no son aconsejables, pero valió la pena porque platiqué con muchos amiguitos en Internet. ¡Saludos a todos ellos! Y Miriam también la llevó porque yo estaba en su casa. Igual que ahorita como siempre jiji. Esa noche me quedé a dormir en casa de Miriam, ese era el plan. A la mañana siguiente, del viernes, nos levantaron muy muy temprano y con mucho sueño llegamos a clase en calidad de zombis. Mmmm, creo que el profe nos hizo dos o tres preguntas, no recuerdo, pero igual ni respondimos, estabamos dormitando con ojos medio abiertos e hinchados.<img src="http://i103.photobucket.com/albums/m149/mayaliall/asleep.gif" align="absmiddle" /><br />Bueno, cambiando de tema, pues como dice: lo prometido es deuda. Ya puse unas pantallitas de mi videojuego. Antes de que empiecen las críticas a diestra y siniestra, quiero aclarar que los gráficos del HUD (huy, pero si hasta parece que soy experta cuando uso esos terminos jiji) no son los definitivos. Ya funcionan (menos los combos) pero falta darles una maquillada. ¿Qué mas les digo? Las estrellitas no me gustaron, van a cambiar. ¿Les gustan mis nubecitas? ¿A poco no estan bonitas, me costaron mucho trabajo jiji.<img src="http://i103.photobucket.com/albums/m149/mayaliall/coolcute.gif" align="absmiddle" /><br />Los screenshots están en el sitio oficial (al lado derecho esta la liga). La verdad hasta me da pena porque igual y estaban esperando algo que los hiciera decir WOW!! Pero mi videojuego es muy sencillito. Bueno, me dicen que les parece hasta ahora. Pero me dicen la verdad, si no es de su agrado pues para ir cambiando de oficio. Me meto a clases de tejido; pero me dicen pronto porque las clases de tejido a dos agujas ya van a empezar el próximo jueves!<br /><br />Gracias a todos por sus post y sus visitas. ¡Saludoooos!<img src="http://i103.photobucket.com/albums/m149/mayaliall/kiss.gif" align="absmiddle" /><br /></span>Mayahttp://www.blogger.com/profile/17671475895474176964noreply@blogger.comtag:blogger.com,1999:blog-27554457.post-1155601505462394352006-08-14T19:12:00.000-05:002006-08-14T19:25:05.626-05:00Inteligencia Artificial, si no es, entonces ¿es real?<span style="font-family:verdana;">Hace tiempo me comentaron que en la IA en los videojuegos no es realmente IA, bueno, en ésa ocasion se creo toda una polemica sobre el tema; pero lo que yo creo es que depende del tipo de videojuego o más aún del tipo de personaje controlado por la computadora. Por ejemplo en mi caso, tengo unas navecitas que son muy tontas jiji, solo siguen un patrón de movimiento independientemente de la posición y/o acción del jugador, pero son de ésas que salen por montones jeje. No creo que a eso se le llame IA... o sí?<img src="http://i103.photobucket.com/albums/m149/mayaliall/doubt.gif" align="absmiddle"/><br />Pues según yo ya seguían el patrón pero había una navecita que no lo seguía!! y en vez de eso seguía a mi nave!! aayyy! ¿tomaría vida propia? ¿estaba pensando por si sola? No era inteligencia artificial, ¿era real? Por mas que le buscaba donde estaba el problema no lo encontraba... me dio miedo y mejor apagué la computadora por 5 minutos a ver si asi se le olvidaba jaja, pero NO!<img src="http://i103.photobucket.com/albums/m149/mayaliall/grr.gif" align="absmiddle"/><br />Hasta que se me ocurrió revisar los modulos de las navecitas y claro, una de ellas tenia anexado el modulo de IA de los misiles teledirigidos. Que tontis, a lo mejor se han de estar riendo de mi y pensando "así a de tener su código hecho un..."<img src="http://i103.photobucket.com/albums/m149/mayaliall/upset.gif" align="absmiddle"/> Pero bueno, por lo menos ya quedo bien y de todos los enemigos que e diseñado ya todos tienen IA... bueno, por lo menos los lanzamisiles y sus misiles no son tan tontis.<br /><br />Bueno, y ya parezco politiquilla con los screenshot, nomas digo pero nada ¿verdad? Pero les prometo que a la próxima si pongo unas pantallitas bonitas. Bueno ya me voy a hacer mis trabajos escolares<img src="http://i103.photobucket.com/albums/m149/mayaliall/working.gif" align="absmiddle"/>y gracias por pasar a saludar y por todos sus comentarios. Los quiero mucho! <img src="http://i103.photobucket.com/albums/m149/mayaliall/thanks.gif" align="absmiddle"/></span>Mayahttp://www.blogger.com/profile/17671475895474176964noreply@blogger.comtag:blogger.com,1999:blog-27554457.post-1155169696373208402006-08-09T18:59:00.000-05:002006-08-15T15:14:15.936-05:00Buenas noticias!<span style="font-family:verdana;">¡Hola Mundo! Hoy tengo una noticia muy buena para todos los programadores de videojuegos de México que les gusta compartir sus conocimientos y ayudar a la gente que empieza en el gamdev, siii, ¡como yo! <img src="http://i103.photobucket.com/albums/m149/mayaliall/dancing.gif" align="absmiddle"/><br />Mi amigo Jeckil me platicó que en Megabyter.com tienen una promoción para todos los que se animen a hacer tutoriales. ¡Se pueden ganar un Wii! Pero independientemente de los premios, creo que la causa es muy noble, ya que es para beneficio de todos los que queremos levantar la industria del gamedev en México, ¿no creen?. Mmm, todos sabemos que la industria de los videojuegos en México no esta como queremos y es difícil dedicarse a ello (y diganmelo a mi como mujer).<br /><br />Espero se animen todos a apoyar a la causa, no solo los interesados en el gamedev se los van a agradecer, sino todo México y claro, a largo plazo los gamers!! aajaja, ya me siento bien polítiquilla. Sii, vamos a hacer un plantón ahi en la exedra hasta que no se den los tutoriales uno por uno jaja<img src="http://i103.photobucket.com/albums/m149/mayaliall/happy.gif" align="absmiddle"/><br />Bueno, a los interesados <a href="http://megabyter.com/modules/sections/index.php?op=viewarticle&artid=53" target="_blank">AQUI</a> esta la información. Yo voy a ayudar, bueno, aunque estoy muy verde todavía, creo que ustedes van a terminar ayudandome a mi. <img src="http://i103.photobucket.com/albums/m149/mayaliall/oops.gif" align="absmiddle"/> <br /><br />Bueno, ya me voy. Byee </span>Mayahttp://www.blogger.com/profile/17671475895474176964noreply@blogger.comtag:blogger.com,1999:blog-27554457.post-1154656157158074872006-08-03T20:28:00.000-05:002006-08-03T20:50:03.893-05:00De la cama a la computadora<span style="font-family:verdana;"><br />Estas semanas me vi muy lenta y lo peor de todo es que me enfermé y estuve encamada varios días <img src="http://i103.photobucket.com/albums/m149/mayaliall/crying.gif" />. Claro, no me escapé de la regañada de mi mamá. Pero al menos pude dedicar un tiempo al diseño de unas navecitas enemigas.<img src="http://i103.photobucket.com/albums/m149/mayaliall/happy.gif" /> Puse unas imagenes en el sitio oficial, que según yo cambié para bien, pero la verdad no le dediqué mucho tiempo al diseño del sitio. Bueno, eso va a ir lento ya que lo voy a ir haciendo segun tenga ratitos libres.<br /><br />Los enemigos ya tienen código escrito. Aún no tengo imágenes (o screenshots) del juego poque me falta agregar unos fondos bonitos. Bueno, por ahora solo tengo unas cuadriculas jiji, pero es donde van a ir los mosaicos o "tiles". Aunque no todo va a ser con tiles. Estos días voy a darle prisa con terminar al menos uno de los niveles. Ya no me siento tan drogada (por la medicina, claro) y ya estoy agarrando fluidez de nuevo.<br /><br />Estoy muy emocionada<img src="http://i103.photobucket.com/albums/m149/mayaliall/dancing.gif" /><br /></span>Mayahttp://www.blogger.com/profile/17671475895474176964noreply@blogger.comtag:blogger.com,1999:blog-27554457.post-1153767666313633272006-07-24T14:00:00.000-05:002006-07-24T14:01:06.313-05:00code::blocks<span style="font-family:verdana;">Como desarrolladora de videojuegos independiente, ja! me lucí aqui. Bueno, como programadora que no tiene suficiente dinerito para comprarse software curro, pues una busca lo mas baratito, verdad?, pero mi amigo Jeckil (el chico maravilla) me recomendó code::blocks. La verdad yo no sabía de éste IDE, pero me dice que se puede hacer mucho de lo que se hace con el Visual Studio. En megabyter,com, él esta preparando tutoriales de OpenGL usando éste IDE. Así que Miriam!! please! help me to download it! jiji.</span>Mayahttp://www.blogger.com/profile/17671475895474176964noreply@blogger.comtag:blogger.com,1999:blog-27554457.post-1153767564946505122006-07-24T13:56:00.000-05:002006-07-25T17:45:27.973-05:00Perdida en el diseño<p class="date-header"><em>sábado 22 de Julio</em></p><br /><span style="font-family:verdana;">El sabado ayudé a mi mamá a preparar comida para los invitados de mi padrastro. La casa se llenó de gente grande y de una atmósfera aburrida. Solo pedia que llegara alguien y me sacara de ahí, lamentablemente nadie llegó. Así que con la típica mentirilla de "voy a la casa de sutanita a pedirle su libro de física prestado", tomé mi libreta de diseño (la que siempre cargo con mis apuntes y bocetos del juego), mi estuche de lápices de colores, llaves del coche y claro, mis lentes obscuros, esos que mis amigos acusan de ojos de mosca (no saben de modas). Así que si ustedes gustan, consiganse "Beautiful Things" (Gabriel and Dresden unplugged mix) que nos vamos a dar una vuelta por la ciudad!<br /><br />Ahora que el motor de juego en el que e estado trabajando todo este tiempo ya parece tener un poco mas de solides Yes! Puedo dedicar mas ratitos a finalizar el diseño de mi videojuego. Generalmente me gusta salir a la calle, al campo, a parques, etc para inspirarme. Y es porque uno ve tantas cosas que te pueden servir como ideas para el juego, desde su diseño en general como el diseño de personajes, enemigos, etc.<br /><br />Hoy fuí a la exedra y me senté en una de las bancas de piedra que dan a la Catedral. De lo que veía pasar dibujaba pequeños bocetos, básicamente de como serán los nieveles y las navecitas de los chicos malos. Aunque bueno, a fin de cuentas tengo muy metido el concepto de Anime (si, tengo adicción! =D) y el resultado es una mezcla rara, bueno, por ahora solo tengo algunas ideas que iré refinando durante los próximos dias. Por lo menos ya tengo una idea más clara de lo que puedo hacer programáticamente hablando ahora con todos lod avances que hice en el motor de juego.<br /><br />La tarde se me pasó muy rápido y no me había dado cuenta de la hora hasta que un ancianito me sacó de mi estado de ausencia de la Tierra. No se cuanto tiempo llevaba el señor ahi tratando de venderme unas paletas y yo con mi mirada al infinito. Creo que pensó "o esta sorda o dopada"... que pena me dio.</span>Mayahttp://www.blogger.com/profile/17671475895474176964noreply@blogger.comtag:blogger.com,1999:blog-27554457.post-1153767360542461862006-07-24T13:54:00.000-05:002006-07-25T17:44:23.386-05:00El virus del GLSL<p class="date-header"><em>viernes 21 de Julio</em></p><br /><span style="font-family:verdana;">Hace tiempo mis amigos me contagiaron de GLSL jaja, y como todos andan con la moda de los shaders pues yo también me emocioné. Desde entonces e programado algunos shaders a manera de demos y pruebas. La verdad estan muy simples y muchos no tienen una aplicación real. Pero hay algunos que si y estoy viendo como integrarlos en mi motor de juego... mmm... en este momento mi cerebrito esta adormecido... mmm... no se me ocurre como... mmmmm... creo que aquí tengo un problema de integración...</span>Mayahttp://www.blogger.com/profile/17671475895474176964noreply@blogger.comtag:blogger.com,1999:blog-27554457.post-1153767246425017802006-07-24T13:52:00.000-05:002006-07-25T17:42:57.500-05:00Partículas de comida y pixels<p class="date-header"><em>jueves, julio 20, 2006</em></p><br /><span style="font-family:verdana;">Una cosa que me molesta mucho de mi hermano es que siempre esta paseando por la casa comiendo no se que tanta cosa y dejando un rastro de partículas de comida. Y claro, yo soy a la que ponen a limpiar todas su cochinero. Pero hoy no solo me dediqué a ello sino también a mis partículas.<br /><br />Por fin terminé un modulo que funciona como generador de partículas. A este nivel esta muy sencillito pero por lo menos ya pude crear un efecto de nubes para uno de los niveles del juego. El sistema de partículas es una clase abstracta, y en el caso de las nubes, es un objeto deribado de ésta última. Pero mis nubes aun necesitan una maquillada porque estan muy feas =P<br /><br />Mi amigo aitmanga me dió unas ideas de como puedo usar un sistema de particulas, asi que voy a experimentar un poco con eso. Y bueno aquí le dejo porque voy a ejercitar mis musculitos un ratito =D</span>Mayahttp://www.blogger.com/profile/17671475895474176964noreply@blogger.comtag:blogger.com,1999:blog-27554457.post-1153767069600637222006-07-24T13:47:00.000-05:002006-07-25T17:43:27.930-05:00Animando los espíritus<p class="date-header"><em>martes, julio 18, 2006</em></p><br /><span style="font-family:verdana;">Terminé el módulo de Animación para Sprites. Quedó mejor que mi versión viejita jeje. Es muy sencillo, flexible y rápido =D. Aunque todo mundo ya esta programamndo en 3D y hacer un módulo de éstos sea muy fácil para ellos, para mi fué todo un logro jiji.<br /><br />Ya que todo son sprite en mi juego, pues tarde o temprano tenía que hacer algo flexible. Muchos de los objetos en mi juego tienen un sprite asociado a ellos (virtualmente se les puede asociar cualquier sprite debido a la vinculación objeto - assets) y para controlar la animación es por medio de una clase específicamente dedicada a ello. Dentro de sus interfaces, cuenta con el típico "play", "pause" y "stop". Asi como medios para tener una animación tipo "espejo", es decir, una vez que termina una secuencia de animacion se regresa cuadro por cuadro al inicio de ésta.<br /><br />Y entre otras cosas también incluí algunas funcionalidades opcionales como una que no deja que la siguiente animación empiece si se pidió que la presente termine toda su secuencia (ya sea con el efecto "espejo" o no). Esto es más que nada para que no se vea que la animación brinca de un cuadro a otro dejando un efecto visual muy feo... bueno, claro, también depende del número de cuadros que les demos a nuestras animaciones jeje.<br /><br />Bueno, por lo pronto ya lo aplique en la navecita y se ve muy bonita la animación. Yupi! Un modulo más terminado y agregado al motor de juego =D.</span>Mayahttp://www.blogger.com/profile/17671475895474176964noreply@blogger.comtag:blogger.com,1999:blog-27554457.post-1153170858124661022006-07-17T16:13:00.000-05:002006-07-17T16:14:18.126-05:00Cambios pequeñines a mi blog<span style="font-family:verdana;"><br />Hoy dediqué un ratito a configurar y hacer unos cambios a mi blog. Hace tiempo aitmanga dió una idea para condensar post muy largos. Y ya lo apliqué al post pasado.<br /><br />Gracias aitmanga, BIG KISS!!<br /></span>Mayahttp://www.blogger.com/profile/17671475895474176964noreply@blogger.comtag:blogger.com,1999:blog-27554457.post-1153068099433624002006-07-16T11:35:00.000-05:002006-07-17T16:12:25.243-05:00Haciendo buen uso del matamoscas<span style="font-family:verdana;">Ahora que estoy integrando los modulos que llevo creados, el proyecto se esta poniendo mas interesante desde el punto de vista programatico. Y al menos funciona mejor que la versión que tenía hace tiempo. Sin embargo, la integración, si no soy cuidadosa, tiene un precio muy elevado: bugs!<br /><br />Según el manual del programador feliz, assert() hace esto: "Evaluates an expression and, when the result is false, prints a diagnostic message and aborts the program.". Pero la verdad no me da mucha información como el lugar de los hechos, generalmente nos manda a lugares muy siniestros. Recuerdo que uno de mis amigos me paso un tip para "personalizar" el mencionado assert(). Se puede mejorar con el uso de macros y una funcioncita como ésta:</span><span class="fullpost"><pre><br />bool myFunctionAssert( <br /> bool expression, <br /> char *description, <br /> int line, <br /> char *file )<br />{<br /> // Si todo salio bien, continuemos<br /> if( expression ) { return false; }<br /><br /> char message[ 256 ];<br /> char *pfile = file;<br /><br /> // Para mostrar el nombre del archivo afectado<br /> pfile += strlen( file );<br /> while( pfile != file && *( pfile - 1 ) != '\\' )<br /> { pfile--; }<br /><br /> // Mostramos una ventanita con nuestro mensaje,<br /> // en que linea de codigo y en que archivo <br /> // pasaron los acontecimientos<br /><br /> sprintf_s( message, sizeof( message ),<br /> "%s\nLine: %d\nFile: %s\n\nNos detenemos a depurar?",<br /> description, line, pfile);<br /><br /> if( MessageBox( NULL, message,<br /> "Creo que metimos la pata!", <br /> MB_YESNO | MB_ICONWARNING ) == IDYES )<br /> {<br /> return true;<br /> }<br /> <br /> return false;<br />}<br /></pre><br /><span style="font-family:verdana;">Y el macro para llamar a esta función es algo asi, por supuesto, sin olvidar eliminar todo ese codigo cuando no se este depurando:</span><br /><pre><br />#if defined (ESTOY_DEPURANDO)<br />#define myAssert( expression, description) <br /> if( myFunctionAssert( <br /> ( expression ), description, __LINE__, __FILE__ ) ) <br /> { _asm{ int 3 } }<br />#else<br />#define myAssert( expression, description ) ( ( void ) 0 )<br />#endif<br /></pre><br /><span style="font-family:verdana;">Y en algun punto del programa donde quiera verificar, por ejemplo:</span><br /><pre><br />Object *elChicoMalo = crearChicoMalo();<br />myAssert( elChicoMalo != NULL, <br /> "Hay! no se pudo hacer un chico malo!" );<br /></pre><br /><span style="font-family:verdana;">Por lo menos esto me hace la vida mas fácil al correguir los errorcillos. Gracias a mi amigo Feri por el tip, BIG KISS!!</span></span><br /><MainOrArchivePage><br /><br /> <a href="http://mayagamedev.blogspot.com/2006/07/haciendo-buen-uso-del-matamoscas_16.html">leer más...</a><br /></MainOrArchivePage>Mayahttp://www.blogger.com/profile/17671475895474176964noreply@blogger.comtag:blogger.com,1999:blog-27554457.post-1152927085010657702006-07-14T20:29:00.000-05:002006-07-14T20:31:25.016-05:00Un kilo de robots, por favor<span style="font-family:verdana;">Ayer fué la última reunion de G.DevClub y a pesar de que no asistieron todos (si! estamos de vacaciones) estuvo muy interesante. Karen y Kau nos mostraron avances de su juego en red Monolitika, el cual me gusta mucho. MrBig les dió algunas sugerencias sobre programación en red para su juego, y aún cuando no entendí muy bien del todo, es muy interesante; y Paulo llevó su juego el cual también es de naves, como el mio, y bastante impresionante, aunque no pudimos jugarlo bien porque aún tenia unos problemas, los famosos BUGS! Aquí públicamente agradezco a la mamá de Karu por aguantarnos y alimentarnos XD. Muy tranquila la reunion y después nos fuimos de fiesta para cerrar con broche de oro. Razón por la cual hoy me levante tarde, pero aún así me fuí un rato al gym y al regresar mi familia ya se habia marchado al rancho. Claro, les dije que yo no iba esta vez (sabia que no me iban a esperar).<br /><br />G.DevClub queda inactivo hasta que todos regresemos de vacaciones, pero eso me da tiempo para dedicarme mas a mi proyecto. Hoy estuve todo el dia solita en casa y parece ser que así estare todo el fin de semana... tengo ganas de ir al cine pero no tengo con quien. A ver! Los que se quedaron! llevenme al cine!!<br /><br />A pesar del corto dia luz que tuve hoy, fué muy productivo. Aparte de lavar mi ropita jiji, pude terminar lo que me faltaba de la arquitectura del juego. Terminé un sistema administrador de "assets". No conocia el término, pero MrBig nos explicó que son la información relacionada con, por ejemplo, modelos 3D entre otras cosas. Claro, en mi caso son las imágenes donde estan mis sprites, ya que es un juego 2D. La ventaja de un administrador (que es mas bien como una necesidad) es que ayuda en cargar en memoria la información a utilizar digamos, en un solo nivel del juego, sin agregar extras. Además, se encarga de evitar datos redundantes. Funciona de la siguiente manera: al inicio del nivel se le pasa una lista con los objetos a cargar para ese nivel en específico; como ejemplo un Robot Enemigo. La información base del Robot es cargada, datos como Nivel de Resistencia, Nivel de Ataque, Imagen de Sprite, etc. Toda la información "constante" de ese tipo de robot. Después, cuando se requiera que un robot entre en acción, se carga la información relacionada a ése robot como identidad única en el nivel; como su Posición, Dirección, etc. Así, la próxima vez que necesitemos a otro robot en acción, no tenemos que duplicar su información base, ya que es constante para todos los robots de su tipo. Asi que únicamente puede leer esa información en memoria (o memoria de video si es una imagen) y después, de igual forma carga la información individual (como deciamos, Posición, etc.) Ah! que bonito, ¿no creen?<br /><br />Además de eso, al "pedir" un robot, no tenemos que pedir adicionalmente informacion del objeto Misil (suponiendo que dispara misiles) ya que internamente, los objetos estan enlazados entre si, por lo que al cargar la información base del robot, también se cargan todos los assets de los objetos enlazados al robot automáticamente. Para ello, programé un pequeño editor de Objetos del juego donde le doy sus propiedades o información base a cada uno y realizo los enlaces entre ellos. La herramienta compila la información y me genera un directorio de objetos con toda ello. Y finalmente, tiene la opción de hacer los enlaces en tiempo de ejecución, por si se requiere.<br /><br />Este administrador ya es parte íntegra del pequeño motor de juego que poco a poco e ido creando. Ya lo probe y funciona muy bien, y claro, funciona como un Garbage Collector ya que él sabe que carga y que no. Desde el punto de vista del codigo cliente, no hay 'new's ni 'delete's, solo peticiones de objetos. Así que por fin todos las piezas y pequeños demos que llevaba hasta ahora empiezan a tomar forma de... un video juego? ;)</span>Mayahttp://www.blogger.com/profile/17671475895474176964noreply@blogger.comtag:blogger.com,1999:blog-27554457.post-1152574937838550352006-07-10T18:18:00.000-05:002006-07-10T18:42:55.176-05:00Cientos de partículas buenas y dos malas.<span style="font-family:verdana;">En la reunión del G.DevClub de hace dos semanas platicamos sobre algo que me parecio muy interesante: Sistema de Partículas. Yo aún soy muy nueva en esto de la programación de video juegos, pero se me hizo algo realmente lindo. Con imagenes muy simples y (generalmente) en escala de grises, se logran crear efectos hipnóticos, llenos de colores y formas, aunado a eso, los efectos visuales con una música de fondo muy bailable, nos dejo en trance total (ya me quiero ir de antroo! =P)<br /><br />Nuestro amigo MrBig, quien es uno de los que saben más en el club. Nos mostró algunos de sus trabajos; y nos explicó lo simple que es realizar programáticamente estos efectos. Inmediatamente me ilusté y me dí cuenta de como en los video juegos logran hacer muchos efectos como fuego, humo, etc. Básicamente, existe un administrador de partículas conocido como El Emisor (generalmente una clase C++ abstracta), el cual crea y modela las partículas a partir de parámetros como velocidad, angulo de proyeccion, color, tiempo de vida, etc. Después, cada partícula se deja a su propia suerte, llegando a destruirse a sí misma ya sea porque su tiempo de vida expiró o hizo contacto con alguna superficie u otro objeto a su alrededor.<br /><br />Aún más sorprendente, MrBig nos mostró un Sistema de Particulas que básicamente habita en el lado de la tarjeta de video (con shaders), wow! en verdad que quedé maravillada. Es como un pequeño ecosistema trabajando a la par con todos (o algunos de) los elementos existentes en nuestro video juego.<br /><br />De regreso a mi casa me fuí caminando para pensar más sobre ello. ¿Tendrá alguna aplicación práctica en mi proyecto? De vez en cuando me detenía para hacer notas de algunas ideas... hasta que me di cuenta que dos sujetos de no muy buena pinta seguian curiosamente el mismo camino que yo, asi que decidí tomar el camioncito para el poco trayecto que quedaba de regreso a casa, uff, que susto.</span>Mayahttp://www.blogger.com/profile/17671475895474176964noreply@blogger.comtag:blogger.com,1999:blog-27554457.post-1152572837525140652006-07-10T17:28:00.000-05:002006-07-18T18:27:03.966-05:00De alta tecnología<span style="font-family:verdana;">Esta es la nave espacial protagonista. Una chica (aún sin nombre) va a pilotear esta belleza =P. Esta vehiculo de combate cuenta con una tecnología capaz de cambiar el sistema de defenza en tiempo de combate. Haciendola invulnerable a ciertos ataques pero muy vulnerable a otros. Mas delante pondré más detalles del juego y explicare más a fondo esta mecánica.<br /><br />Cuenta con un cañon laser como arma principal. Habia pensado en poner un lanzador multiple de misiles en la parte posterior. Aún cuando realiza las animaciones, decidí no ponerlo al final. En vez de eso, es posible redireccionar el cañon principal para disparar hacia atras, pero es uno o el otro, no ambos a la vez.<br /><br />Mi diseño inicial era crear un tipo de Mecha tipo anime, si, creo que paso mucho tiempo viendo anime =), pero al final decidí por esta nave espacial. Y para aquellos que se les queman los ojos con el rosa, les tengo una sorpresa, la puse en amarillito. =)</span><br /><p align=center><img src="http://i103.photobucket.com/albums/m149/mayaliall/ship3.jpg"></p>Mayahttp://www.blogger.com/profile/17671475895474176964noreply@blogger.comtag:blogger.com,1999:blog-27554457.post-1152489957761737972006-07-09T19:00:00.000-05:002006-07-09T19:06:43.356-05:00Nueva Imagen<span style="font-family:verdana;">Despues de tanto batallar pude actualizar la imágen de mi blog. Y eso de no tener Internet en casa es todo un lío. Varios fueron los intentos, pero al no quedar bien ya que la imagen de fondo no era del tamaño y detallitos, pues me regresaba a casita y hacer cambios y de regreso al cybercafe =(.<br /><br />El verde me gustaba, pero el color rosa es mi favorito =P Aun no tengo nombre para mi juego, asi que voy a dejar el encabezado como esta. Bueno, por fin me puedo ir a casa. Hoy fue un dia muy alocado. Mañana espero subir mis notas de las dos semanas pasadas y mas imágenes.</span>Mayahttp://www.blogger.com/profile/17671475895474176964noreply@blogger.comtag:blogger.com,1999:blog-27554457.post-1151013214512876742006-06-22T16:29:00.000-05:002006-06-22T17:00:37.086-05:00Fast Fordward<span style="font-family:verdana;">Estas semanas me dediqué a programar mucho de lo que había perdido. Por un lado creo que valió la pena ya que pense nuevamente la estructura del juego, programaticamente hablando (en otras palabras la arquitectura). Y creo que esta vez quedó mejor que la anterior. Siguiendo las ideas que me dieron mis amigos, esta vez hice una estructura completa de objetos. Todo son objetos, hasta el mismo fondo.<br /><br />La ventaja de esto es que puedo crear funciones virtuales como las del sistema de colisión y automatizarlo. Por ejemplo, despues de evaluar el movimiento de todos los objetos, cada uno verifica si entró en contacto con algún otro objeto o parte del mismo nivel y enviandose mensajes entre ellos para ver como deben de reaccionar a tal colisión. Como el sistema de colisión se hereda de una clase superior en todo ellos, pues no es necesario ver con que chocamos y llamar diferentes tipos de funciones por cada tipo de objeto que exista en el juego.<br /><br />Estoy siguiendo la misma idea en cuanto a cómo se mueven los objetos; agregando los serviciales apuntadores a funciones miembro. En el caso del jugador, es por medio de dispositivos de entrada como el teclado o el joystick. Para los enemigos es, claro, un algoritmo de IA o algun patrón de movimiento. Lo interesante aquí es que todos usan la misma interface derivada de la clase base. Por lo que virtualmente todo objeto puede recibir instrucciones de movimiento ya sea desde un dispositivo de entrada o un algoritmo.<br /><br />¿En que ayudaría en la práctica? Pues por ejemplo, digamos que el jugador quiere que la nave entre en piloto automatico, simplemente nuestro apuntador cambia a otra función (de, por ejemplo, teclado a algoritmo de autopiloto) y por tener la misma interface, a un nivel mas alto no es necesario hacer nada. Oh! Maravilloso mundo de los objetos!<br /><br />Estoy contenta como quedo el fundamento arquitectónico. Así que pude avanzar un poco mas con el codigo del objeto protagonista (para controlar la navecilla) y también agregé un par de enemigos a manera de prueba. Todo funciona como se esperaba.<br /><br />La semana pasada y lo que va de ésta, me dediqué al arte. Ya tengo varios sprites de la navecilla como va a quedar finalmente. Tambien tengo unos bocetos de la piloto; una niña bonita como yo =P Espero ponerlos aquí para la próxima semana.</span>Mayahttp://www.blogger.com/profile/17671475895474176964noreply@blogger.com