25 de febrero de 2010

Los juegos Freeware para Palm de Monkeydreams

Ayer presentaba la noticia del cierre de mi viejo site monkeydreams.net (post: "Clásicos Monkeydreams" para PocketPC), así que hoy toca hacer lo propio pero en esta ocasión para la plataforma PalmOS.





Si dispones de un dispositivo compatible PalmOS de alta resolución (320x320 px), quizás te interese descargarte estos dos juegos freeware que publicamos hace unos añitos. Tienes a tu disposición un juego/puzzle de formar palabras y un simulador de cosecha propia inspirado en las viejas maquinitas electrónicas.

- Enlace para descarga de WordManiac 1.0.
- Enlace para descarga de Crazy Office.

A disfrutar!!!

Dr. Shiver - Juego para Iphone desarrollado con GLBasic

Este vídeo se publicó en Internet el pasado 19 de Noviembre de 2009. Aunque ya tiene un poco de tiempo, sirve perfectamente para mostrar la evolución del Kit de desarrollo GLBasic en la creación de aplicaciones para Iphone.



Si bien en el foro de GLB se puede encontrar una muestra de código fuente en el que se nos muestra cómo implementar el doble tap, en este vídeo puede apreciarse el empleo del sensor acelerómetro en la rotación de la pantalla. (Aunque el vídeo no tiene mucha calidad atención al detalle de las dos bolitas que van rotando).



Sin duda habrá que estar atentos a los avances del compilador sobretodo si el objetivo principal es programar para la máquina de Apple. ;-)

- Enlace con la información en la página de GLBasic.
- Enlace del juego completo en la AppStore.

24 de febrero de 2010

"Clásicos Monkeydreams" para PocketPC

Este año mi amigo Javier y yo cerramos nuestra vieja web monkeydreams.net. La saturación de juegos en el mercado para Iphone (y otras plataformas) así como la caída de PalmOS nos indica que el sector de juegos para PDA ha tocado fondo. Así que tras casi 7 años online MD cierra el site.





Para aquellos interesados en descargar algunos de nuestros juegos todavía pueden acceder al sitio, pues éste estará activo hasta Marzo de 2010. Pasada esta fecha, los enlaces de descarga para los productos Freeware estarán disponibles en PocketGear.com. Enlace en PocketGear para Freeware Solitario y Monkey Abacus aquí.

23 de febrero de 2010

Montando el esqueleto del juego...

Bien, he iniciado un nuevo proyecto con GLBasic; he decidido que voy a empezar montar la estructura del juego y hacer los test iniciales con tiles sencillos. Una vez esté el proyecto más elaborado ya me entretendré a diseñar los gráficos necesarios.



Voy a dividir el código fuente en varios ficheros para poder separar cada cosa en su sitio. Hay un fichero principal que es Main.gbas, que es el que contiene un bucle principal que se repite constantemente hasta que no se cierra la ventana del juego. Desde este fichero declaro las variables globales que necesitaré para todo el juego.

//Main.gbas

1:  GLOBAL ModoMaquina  
2:  GLOBAL BuclePrincipalMaquina  
3:  GLOBAL FuenteSistema$=GETCURRENTDIR$()+"data/typo/Terminal_Default_Font_6x8.png"  
4:    
5:  IniciaMaquina()  
6:  IniciaVariablesMaquina()  
7:    
8:  WHILE BuclePrincipalMaquina=TRUE  
9:    Render(ModoMaquina)  
10: WEND  

Consultando las funciones e instrucciones del lenguaje GLBasic, se observa que el código es muy sencillo de interpretar. Primero declaro las variables globales ModoMaquina, BuclePrincipalMaquina y FuenteSistema$, que se encargarán respectivamente de:

-Controlar el modo o status del juego en cada momento.
-Repetir el bucle hasta que su valor sea FALSE.
-Almacenar la ubicación en disco de la fuente tipográfica de prueba que voy a emplear.

Las líneas 5 y 6 se encargan de preparar el entorno de la aplicación y las variables mínimas necesarias. Las funciones a las que llama están en los ficheros Sistema.gbas y Variables.gbas. Finalmente, el bucle.

1:  //Sistema.gbas  
2:    
3:  FUNCTION IniciaMaquina:  
4:    
5:    SETSCREEN 320,240,0  
6:    BLACKSCREEN  
7:    SYSTEMPOINTER TRUE  
8:    SETTRANSPARENCY RGB(255,0,255)  
9:    LOADFONT FuenteSistema$,0  
10:   SETFONT 0  
11:    
12: ENDFUNCTION    

Fichero Sistema.gbas: Declarar la resolución de pantalla; pintar todo el buffer de video a negro; activar el cursor del ratón para que sea visible; definir como color transparente R255 G0 B255 (magenta), cargar una fuente de sistema para sustituir el horrible set de letras que viene por defecto.

1:  //Variables.gbas  
2:    
3:  FUNCTION IniciaVariablesMaquina:  
4:    
5:    ModoMaquina=0 //Menu_Principal  
6:    BuclePrincipalMaquina=TRUE  
7:    
8:  ENDFUNCTION  

Fichero Variables.gbas: Declaramos dos variables (de momento), el modo de trabajo de nuestra "máquina" y después activamos nuestro bucle dándole como valor TRUE a BuclePrincipalMaquina, así si en cualquier parte del código del programa, cambiamos su contenido a FALSE, se saldría del bucle y por tanto fin de la aplicación.

Finalmente, en la línea 9 de Main.gbas se hace una llamada a la Función Render (que está descrita en Render.gbas) que pintará en pantalla lo que deseemos, en función del valor de Modo_Maquina, tal como se muestra en el código fuente en las líneas 5 y 6.

1:  // Render.gbas  
2:  FUNCTION Render: ModoMaquina  
3:    
4:    IF ModoMaquina=0 //Menu_Principal  
5:      PRINT "Modo Maquina: "+ModoMaquina,2,12  
6:      PRINT "Hola Mundo!",2,32  
7:    ENDIF  
8:    
9:    DibujaFPS()  
10:   SHOWSCREEN  
11:  ENDFUNCTION  
12:    
13:  FUNCTION DibujaFPS:  
14:    
15:    dtime = GETTIMER()  
16:     fps = ((1000/dtime)+fps)/2  
17:     delay = delay+dtime  
18:    
19:     IF delay>Reloj  
20:       delay = 0  
21:       showfps = fps  
22:     ENDIF  
23:    
24:    PRINT "FPS: "+INTEGER(showfps),2,2  
25:    
26:  ENDFUNCTION  

Incluyo también una función de contador FPS (Fotogramas Por Segundo), muy útil para saber en todo momento el rendimiento del juego con respecto a la potencia del hardware donde se ejecute el programa.



Y bien, ya tengo un entorno sencillo montado con GLBasic, que aunque simple ya tiene algunas cosas interesantes como una fuente propia, la ventana definida en ancho y alto y un bucle principal que controlará en todo momento qué hacer. Próximamente añadiré las funciones de control al teclado y al ratón dentro del bucle principal.

(Para mejor comprensión del lenguaje de GLBasic recomiendo un paseo por su foro ó descargar e instalar el Kit de desarrollo y consultar los ficheros de ayuda que incorpora).

22 de febrero de 2010

LOFI Riguelike Tileset

Hace unos días, siguiendo la página de juegos Indie tigsource.com, encontré los resultados de la competición 1up’s 101 Free Games of 2010, que se publicó a inicios de Febrero en el site. Encuentro que hay muchos juegos RPG en el concurso y algunos emplean el mismo pack de sprites algo básico realizado con estilo Pixel Art.



Siguiendo los enlaces he acabado en el foro descargando estos gráficos, que aunque simples, pueden servir perfectamente para plantear el juego. Está claro que siempre estamos a tiempo de mejorar éstos ó crear unos propios si no llegamos a estar satisfechos.

Oryx publica el pack bajo licencia Creative Commons no comercial.

Tutoriales Pixel Art (I)



Evidentemente un buen juego necesita unos buenos gráficos, y para mi proyecto no quiero tener menos. Estoy buscando algunos tutoriales en internet que me faciliten la labor en el diseño de los sprites que voy a necesitar. Una excelente página que nos enseña cómo "pixelizar" nuestras ideas es ésta que encuentro en vbgore.com.

Probando Twitterfeed.com

Post de prueba; utilizando el servicio que ofrece twitterfeed.com, las nuevas entradas del blogo, deberían publicarse automáticamente en Twitter y en Facebook.

Edito: Casi prefiero hacer un copiar/pegar manualmente para cada post.... me estoy mareando con tanto servicio, mail, etc.

Post de prueba para Twitter

Sencillo post de prueba para testear el funcionamiento de Twitter.

Escogiendo la resolución

He decidido que el aspecto gráfico del programa estará basado en "tiles"; técnica muy empleada en el diseño del mapeado de muchos juegos RPG. Para utilizar esta técnica, es preciso dividir la pantalla en "cuadrados" de XY pixels, en mi caso voy a empezar dividiendo mis tiles en un tamaño de 32x32 pixels. He hecho una pequeña selección de posible resoluciones a emplear en el juego en función del hardware final.



Formato / Dispositivo :
- 320x240: GP2X, Wiz, Pocket PC, etc.
- 480x320: Iphone, etc.
- 800x480: UMPC, etc.

Nótese que en el caso de resolución más pequeña tengo una "zona de pérdida", ya que la cuadricula no es 100% múltiple con la resolución que busco; en ese caso he pensado en añadir bandas negras en la zona superior e inferior de la pantalla (16px a repartir).

Tampoco incluyo Win32, OS-X ni Linux en las descripciones ya que las resoluciones comentadas funcionarán en modo ventana sin problemas en cualquiera de los sistemas operativos mencionados.

Para finalizar este post, comentar que el formato a emplear finalmente es 320x240px, dividido en tiles de 32x32px; la idea final es que el look del programa sea bastante retro con unos pixeles gigantescos. Se me ocurre también que con un buen fichero de configuración INI (leibles desde GLBasic), puedo pasar de un formato de pantalla a otro con solo modificar algún parametro.

20 de febrero de 2010

Enlaces actualizados del Blog

He añadido algunas páginas de amiguetes míos que gustan de publicar sus opiniones / ideas / comentarios / fotos, etc. en la Red. Si se me ha pasado por alto algún enlace, no dudes en enviarme un mensaje; ya no tiene uno la cabeza como antes y es posible que se me hayan pasado por alto muchos links. XD

Software(II): GLBasic

Si queremos programar una aplicación (o juego en este caso) que se ejecute en Windows de una forma rápida, que además sea relativamente sencilla y con un Kit compacto, que no ocupe mucho espacio en nuestro disco duro, y que además no resulte cara, la elección de GLBasic como entorno de programación parece la solución acertada. He buscado y probado bastantes entornos de desarrollo que no sean excesivamentes exigentes en cuanto a requisitos de hardware / software, y que a la postre puedan ofrecerme diferentes versiones del juego en diferentes plataformas de hardware, con las mínimas modificaciones sobre el código.



GLBasic es un Kit de programación para Windows que emplea una versión propia del lenguaje Basic, bastante enfocado al desarrollo de videojuegos (realmente se puede programar lo que se quiera, no tienen por qué ser exclusivamente juegos). GLBasic ofrece en un solo paquete el editor de texto, compilador multiplataforma, compactador de recursos (imágenes, sonidos, etc.) así como otras utilidades que podemos necesitar a la hora de desarrollar el juego; convertidor de objetos 3D (sí, permite crear juegos en tres dimensiones), transformador de fuentes (TTF > imagen), un Install Wizard y alguna utilidad más.



Una de sus grandes bazas es que nuestro programa puede compilarse para muchas plataformas: Windows, OS-X (Apple Mac), Linux, iPhone (futuro Ipad también será soportado según Dream Design), Windows CE (PocketPC / Windows Mobile), GP2X, Wiz, Xbox / Linux. Realmente no hay que hacer ninguna (o casi) adaptación de nuestro código para que funcione en alguna máquina que soporte alguno de los sistemas operativos mencionados. Se pueden consultar todas las características de GLBasic aquí.

Para terminar, obsérvese la sencillez del lenguaje de GLBasic frente al código de Visual Basic .Net, software que pertenece al Kit Visual Studio de Microsoft que precisa cinco veces más recursos a todos los niveles. Y solo nos muestra una ventana con el texto "Hello World".

 ' Visual Basic sample
 ' Allow easy reference to the System namespace classes.
  
 Imports System 
 ' This module houses the application's entry point.
  
 Public Module modmain
    ' Main is the application's entry point.
    Sub Main()
     ' Write text to the console.
     Console.WriteLine ("Hello World using Visual Basic!")
    End Sub
 End Module  

 // --------------------------------- //
// Project: Hello World GLBasic
// Start: Saturday, February 20, 2010
// IDE Version: 7.250

PRINT "Hello World",0,0
SHOWSCREEN
KEYWAIT

Así que una vez mostrado (un poco por encima) el entorno final elegido, actualizo el mismo y me pongo ya manos a la obra. Puedes probar tu mismo GLBasic, tiene una versión demo que se puede descargar aquí, así como una licencia comercial muy asequible.

18 de febrero de 2010

Probando Source Code Formatter

He encontrado una utilidad online excelente que permite introducir Código Fuente en los post de Blogger. Se trata de Source Code Formatter, un blog en el que se encuentra un Script que convierte nuestro código a formato Html compatible con nuestro bitácora. Me irá de perlas para poder postear mis programas.

 // --------------------------------- //  
 // Project: Ejemplo  
 // Start: Tuesday, March 24, 2009  
 // IDE Version: 6.174  
   
   
 FUNCTION IniciaMaquina:  
   
    SETSCREEN 320,240,0  
    BLACKSCREEN  
    SYSTEMPOINTER TRUE  
    SETTRANSPARENCY RGB(255,0,255)  
    LOADFONT FuenteSistema$,0  
    SETFONT 0  
   
 ENDFUNCTION  

De obligada utilización, sobretodo si no quieres que tu fuente sea interpretada y ejecutada en el navegador, en lugar de ser mostrada al lector (que es lo que al fin y al cabo nos interesa).

Una gran herramienta, sin duda.

Software (I): GraphicsGale Free Edition

Sea como sea que monte el proyecto, lo que está claro es que necesitaré un editor de imágenes. Podría utilizar el Paint que ya viene con el sistema operativo, pero prefiero decantarme por algo con más prestaciones.



Afortunadamente existe un programa shareware que cumple con creces; GraphicsGale Free Edition. Esta sencilla aplicación permite hacer bastantes más cosas que el obsoleto Paint del sistema; Entre otras características cuenta con un editor muy sencillo de emplear con herramientas de pintado pixel a pixel, capas, efectos / utilidades para ficheros multipágina / animados (GIF), capturador de pantalla y algunas cositas más.

Además la versión Freeware puede grabar ficheros en formato GAL (propio), BMP, DIB, ICO (perfecto para nuestros iconos), JPEG, PNG, TGA y AVI. Nótese que no incluye GIF, ya que ésta prestación de guardado corresponde a la versión comercial (bastante recomendable la adquisición por el precio que tiene el programa).

En mi caso, como voy a trabajar con ficheros PNG con una paleta de 256 colores, el programa me sobra y me basta. Por cierto, que GraphicsGale Free Edition permite también modificar la paleta de colores, exportarla e importarla... perfecto para unificar los colores de los diferenctes ficheros a emplear en el proyecto.

GraphicsGale Free Edition está disponible aquí.

17 de febrero de 2010

Comentando el Hardware (UMPC)

Hace unos años adquirí un UMPC, también conocido como Ultra Mobile PC (ordenador personal ultra móvil, si seguimos la traducción literal del inglés). Este equipo cuenta con una pantalla táctil de 7 pulgadas como característica principal, no dispone de teclado y su mayor baza es que se puede emplear en cualquier lugar, ya que su peso es de unos 800 gramos. Su mayor defecto (al ser un producto de primera generación) es el consumo de la batería, que resulta ser demencial. Más información sobre el ordenador en Xataka.



El sistema operativo que ejecuta es Windows XP Tablet Edition 2005, configurado (y recortado) para poder obtener el máximo tiempo de duración de la batería, aunque ésta es un modelo de 7400 mAh con más capacidad.



Con anterioridad utilicé un PocketPC Ipad 3970 para escribir mi primer juego shareware para PDA, por lo que en esta ocasión, al disponer de una pantalla de 800 x 480 pixels, un procesador más potente, un entorno de programación y utilidades de equipo de sobremesa real, el proyecto debería terminarse antes, aparte de ser más cómodo. Se acabó el sufrir con una pantalla pequeña.




Realmente el empleo de este equipo para el desarrollo del proyecto es más una cuestión de gustos, ya que lo que realmente me interesa es escribir en cualquier lugar. ; )

Eligiendo el entorno...

Antes de empezar a diseñar nada de nada, he decidido ya el hardware y el software que voy a emplear en el proyecto; dispongo de un UMPC modelo Asus R2H que tengo un poco "abandonado". Con él estoy dispuesto a escribir el código desde cualquier lugar de la casa (sofá, mesa, cama ó incluso desde el mismo WC, XD).



Para el tema del software, me decanto por GLBasic, un entorno sobre el que en breve expondré las ventajas que a priori le encuentro con respecto a otros Kits de desarrollo.

Iniciando el Blog...

Bienvenid@ a LitioPixel, un rinconcito en la web donde voy a publicar mis avances en el diseño y desarrollo de un videojuego desde cero. Este post inical es de obligada creación, más que nada para poder organizar entradas, etiquetas, diseño del Blog, etc.

Sin más, agradecer tu visita y ...

... empecemos con el desarrollo del proyecto en si mismo.