Mostrando entradas con la etiqueta Juegos. Mostrar todas las entradas
Mostrando entradas con la etiqueta Juegos. Mostrar todas las entradas
domingo, 23 de septiembre de 2018
Nuevo proyecto: Juego para Android
Hola. Esta entrada la escribí en mi antiguo blog de WordPress, en marzo de 2013. Tristemente a la fecha no he siquiera iniciado el proyecto, e incluso ha sido reemplazado por otros... pero quién sabe, tal vez algún día retome la idea. Por completitud, les dejo la entrada original a continuación (con algunas notas nuevas en rojo 😅):
Después de algunos sucesos, me he sentido motivado y animado a iniciar un proyecto a mediano-largo plazo, que consiste en un juego para Android. El único detalle está en que jamás en mi vida he hecho un juego, y mucho menos un programa para Android, jejeje... Lo más que hice fue una guardar una tabla de resultados para un proyecto en la materia de Gráficos por Computadora de la universidad. Pero me gusta correr antes que caminar (en este caso en particular), así que quiero hacer un juego 3D. A continuación describo mis ideas.
El juego
De momento, mi idea es que el juego sea más o menos estilo Star Fox 64, pero solamente en el espacio. ¿Por qué? Primero, porque me gustan los aviones. Segundo, porque creo que es más fácil que la nave siga una ruta predefinida, en vez de un mundo abierto. Tercero, porque creo que es difícil hacer un terreno y que el avión interactúe con él, así que mejor contar con la libertad del espacio.
![]() |
| Star Fox 64 |
Por otra parte, quiero tomar las partes más adictivas que se me ocurran de juegos como Space Invaders (variedad de enemigos con dificultad variable), Asteroids (asteroides, jejeje) y Fury 3 (múltiples armas agotables), para hacerlo entretenido. Finalmente, quiero que parte o todo el juego sea de código abierto (open source), pero hasta el momento en que lo termine, o que ya esté considerablemente maduro.
![]() |
| Asteroids |
![]() |
| Fury 3 |
Algo importante que quiero es que las misiones no estén quemadas en el juego, sino que sea posible programarlas mediante algún metalenguaje, como YAML o XML o JSON, o bien un lenguaje de programación, pero de forma completamente externa al juego. Es decir, el kernel sería el juego, y las misiones serían como plugins. E incluso, me gustaría que los usuarios pudieran programar las misiones a su creatividad, dejando abierto todo un mundo de posibilidades. (Se me ocurrió un año antes que anunciaran Super Mario Maker 😮😮😮)
¿Por qué para Android?
Bueno, porque creo que para esta plataforma los gráficos no son lo principal, y considerando que soy un principiante (o menos que eso, jajaja...), creo que es adecuado. En segundo lugar, me llama la atención los juegos en dispositivos móviles, y creo que hay muchas posibilidades. Tercero, espero algún día poder publicar el juego en Google Play, y creo que los usuarios de Android están más abiertos a juegos pequeños.¿Cómo hacer el juego?
Bueno, usualmente me gusta reinventar la rueda, y hacer todo desde cero, pero para este caso creo que sería muy difícil, así que mejor probaré primero con algún motor de juegos ya existente. Las características que espero del motor son las siguientes:- Idealmente que sea de código abierto, y gratuito. Si no es gratuito, que al menos pueda usarlo gratis para la etapa de desarrollo, pruebas y uso personal, y que adquiera la licencia (relativamente barata) en caso de que lo quiera publicar.
- Que permita importar modelos 3D desde programas como Blender, o bien algún programa CAD gratuito.
- Que no sea muy pesado o sobrecargue la memoria RAM de los dispositivos móviles.
- Muy ideal sería que fuera multiplataforma, es decir, que no se limitara a Android, sino que también permitiera desarrollar juegos para computadoras, e incluso para consolas.
¿El plan? ¡Cuál plan!
Son bromas. Ahorita, el plan es simple: conseguir un motor de juegos para Andorid que cumpla los requisitos previos. Una vez lo encuentre, veremos que estrategia seguir...Saludos.
Publicado originalmente el 2013-03-24, en https://itsouvenirs.wordpress.com/2013/03/24/nuevo-proyecto-juego-para-android/.
martes, 6 de marzo de 2018
Baúl de los recuerdos: Gravity Well 2
Saludos a todos. En esta ocasión quería compartirles acerca de un viejo juego que de casualidad recordé un día de estos, de la nada. O bueno, no tan de la nada: hablando con un compañero del trabajo, estaba recordando las cosas que solía hacer cuando al regresar de la escuela, y recordé que en 8o o 9o grado, luego de almorzar, jugaba un rato en la computadora (una Compaq Presario con Pentium 4 y Windows XP, que fué la segunda computadora que compraron mis papás, la cual todavía está guardada en mi cuarto). Uno de esos juegos era Gravity Well, un juego Shareware que venía incluido en un disco llamado The House of Games for Windows 95.
Este disco venía incluido con la primera computadora que compraron mis papás, por allá por 1998 (hace casi 20 años, y creo que aún tengo el disco por allí), la cual era una clon que traía Windows 95. Este disco traía un montón de mini juegos en la modalidad Shareware, lo que quiere decir que eran más que todo demostraciones o juegos completos con limitaciones de tiempo. Muchos de ellos no los comprendía, pero entre los pocos que logré comprender estaba el juego tema de esta entrada.
Gravity Well es un juego arcade y de estrategia, de combate espacial, desarrollado por Cactus Software Productions (Colorado, EE.UU.), en el año 1995. La descripción del juego dice:
Gravity Well es un juego arcade y de estrategia, de combate espacial, desarrollado por Cactus Software Productions (Colorado, EE.UU.), en el año 1995. La descripción del juego dice:
The age old conflict rages onward, spreading into another previously uncharted region of space. The race is on once again to establish strategic footholds and vital supply lines. Four separate races struggle for dominance in a continuing battle for the stars. Planet by planet, sector by sector, the galaxy is claimed by those who can take it.
Traducido:
El viejo conflicto se continúa y se extiende a otra región del espacio anteriormente desconocida. La carrera es una vez más para establecer puntos de apoyo estratégicos y líneas de suministro vitales. Cuatro razas separadas luchan por el dominio en una batalla continua por las estrellas. Planeta por planeta, sector por sector, la galaxia es reclamada por aquellos que pueden tomarla.
Suena bastante épico, ¿verdad?. Esta sinopsis da una idea de qué se trata el juego, la cual extenderé a continuación con mis experiencias. Diría que Gravity Well es una especie de combinación entre el clásico Asteroides con Aterrizaje Lunar, en esteroides. En este juego formas parte del equipo azul, y conduces una nave de combate, la cual aparece estacionada en el "puerto espacial" que orbita tu planeta. Tu misión es explorar y conquistar otros planetas en el sector del espacio que estás asignado. Para ello, debes aterrizar en los planetas, para "marcarlos" como sitios de aterrizaje. Luego de ello, naves de carga son enviadas desde tu planeta hacia el nuevo, para completar su colonización. Sin embargo, el sector no está solo, ya que hay otras razas (roja, morada y amarilla), las cuales también lucharán por poder conquistar los planetas, e incluso podrían destruir toda tu presencia en el sector. Pierdes el juego si todas tus naves y colonias son destruidas.
Para los estándares actuales, el juego parece bastante simple, pero examinándolo detenidamente, creo que es un bonito ejemplo de los programas de su época, por las siguientes características:
- Poseía varios ejecutables, que dependían de la versión de Windows que se usara, y las características de la computadora: si tenía o no co-procesador de punto flotante, si la computadora poseía Win32 en la instalación de Windows, etc. En estos tiempos, al menos a un alto nivel, solo nos preocupamos en saber si el procesador es de 32 o 64 bits. Cabe mencionar que el ejecutable para Windows de 32 bits aun funciona en Windows 10, aunque no del todo bien, al menos en lo que pude probar yo.
- Es un juego vectorial. Cada objeto se define por un conjunto de puntos, incluidos en un archivo llamado SYMBOLS.DAT, que no es mas que texto plano con un formato particular para listar los elementos y los puntos. Esto quiere decir que no sería muy difícil modificar la forma de los objetos en la pantalla.
- Cada objeto en el juego se maneja de forma individual, y posee características distintas. El desarrollador afirma en sus notas haber probado hasta 300 objetos en una sesión de juego en la versión de Windows de 32 bits. Cabe mencionar también que la posición de los planetas se determina de forma aleatoria, y estos no son estáticos, sino que orbitan alrededor de alguna estrella.
- Todos los planetas y estrellas poseen gravedad, por lo que tu nave es atraída hacia ellos. Las estrellas poseen mayor fuerza de gravedad que los planetas, por lo que su atracción es mayor. Controlando la propulsión de la nave, es posible orbitar los planetas, y aterrizar en ellos.
- El juego posee manejo de colisiones. Tu nave es destruida si tocas una estrella, o te acercas demasiado rápido a un planeta. Si intentas aterrizar con un planeta en una posición incorrecta, tu nave es dañada. También, aunque puedes atravesar otras naves espaciales, tu nave sufre un porcentaje de daño al hacerlo. Por otra parte, tu disparas y tus enemigos también, así que los contactos de los proyectiles también son tomados en cuenta. Con un motor gráfico no ha de ser tan difícil manejar esto, pero codificarlo a mano, aunque sea en 2 dimensiones, no ha de ser una tarea tan sencilla.
- El ratón es opcional, pero si se tenía uno, se permitía seleccionar los objetos en el sector, para ver qué estaba pasando cerca de ellos.
- El juego soporta múltiples resoluciones, y parece ser que ajusta el tamaño de los objetos de acuerdo a la resolución.
- Posee una especie de inteligencia artifical básica, ya que uno puede escoger el caracter de las razas contrincates, y esto determina la forma en que estos se comportan: agresivo, cobarde, tenaz, etc.
- Todos los archivos en conjunto utilizan un espacio de solamente 273 Kb, siendo solamente el ejecutable 170.5 Kb. El resto de archivos incluyen los sonidos (en formato WAV), el archivo de objetos, el archivo leéme, y un archivo de ayuda de Windows.
Estuve intentando correr el programa en Windows 10, en modo de compatibilidad con Windows 95, pero parece ser que el fondo negro no se pinta, sino solo los objetos. Solamente cuando se mueven estos objetos, se pinta de negro los píxeles donde antes estaban, produciéndose el siguiente efecto:
Por otra parte, lo intenté correr también en Linux (una distro basada en Arch) utilizando Wine, pero corre demasiado rápido. Creo que se puede deber a que usa el procesador para dibujar la pantalla, basado en las notas y debido a que intenté reducir los frames por segundo con strangle, pero no obtuve ninguna reducción. Así que ni modo, tal vez pueda en otra ocasión.
Sin embargo, es sorprendente que a pesar de tener más de 20 años, ¡aún corre! Aunque puede ser un poco corto, es bastante entretenido, y cada sesión de juego será diferente gracias a su AI y los elementos aleatorios. Lo recomiendo bastante.
Si alguien sabe como correrlo agradecería mucho sus comentarios. Saludos, y hasta la proxima.
Con la tecnología de Blogger.









