domingo, 3 de noviembre de 2013

Mi relación con Nokia y Symbian S60 (parte 2)

Una vez un amigo me digo que nunca escribiera “continuará”, “parte 1 “ o similar en un post, ya que según él lo normal es no tener tiempo para escribir la continuación. Cuando escribía para xnoccio me pasó, y aquí he intentado estirar el tiempo para continuar con la historia Mi relación con Nokia y Symbian S60.

Tal como os comentaba, tenía un plan de negocio, preparé un viejo ordenador Pentium 120 con os2 warp, y me puse a currar. Al principio fue bastante duro, ya que partía de cero. Nunca había trabajado en un proyecto similar, no tenía experiencia ni nadie que me ayudara.

El primer paso fue decidir qué tipo de juego quería hacer. Personalmente me apasionan las aventuras tipo Myst, así que la elección fue fácil. Desarrollé un motor gráfico que permitía meter imágenes de fondo, sprites encima y diálogos. Además permitía meter lógica condicional para poder acceder (o no) a ciertas partes del mapa. En unos meses tuve lista una versión beta. La cual he recuperado y subido a youtube.


Versión beta de las chronicas de Ludwig s60. Disculpad la calidad de la imagen, pero fue grabada con una “creative webcam video blaster” hace más de 8 años :D

También he recuperado un trozo del código en c++ , el relacionado con el vídeo.


/*
* ============================================================================
*  Name     : CLudwigAppUi from LudwigAppUi.cpp
*  Part of  : Ludwig
*  Created  : 01/09/2005 by Carlos G. González
*  Implementation notes:
*     Initial content was generated by Series 60 AppWizard.
*  Version  :
*  Copyright: 2005
* ============================================================================
*/

TKeyResponse CLudwigAppUi::HandleKeyEventL(
    const TKeyEvent& aKeyEvent,TEventCode aType)
    {

	TInt iavanzado = 0;
	if(aType != EEventKeyDown)
       return EKeyWasNotConsumed;
    


     switch(aKeyEvent.iScanCode){

		case EStdKeyUpArrow:


				// Para el control del habla múltiple
				if (iAppContainer->ihabla == 1)	
				{
					if (iAppContainer->iEscenaa == 3) // Cabaña
					{
						if (iAppContainer->iguion[0] == 0)
						{
							iAppContainer->iguion[0] = 1;
							break;
						}else
						{
							iAppContainer->iguion[0] = 2;
							iAppContainer->ihabla = 0;
							iAppContainer->imapaactivo = 1; // Activo el mapa al empezar.
							break;
						}
					}  // Fin de la cabaña
						
					else if (iAppContainer->iEscenaa == 4) // Bosque
					{
						if ((iAppContainer->iPosicion.iX == 2) && 
							(iAppContainer->iPosicion.iY == 8) &&
							(iAppContainer->iBa == iAppContainer->iBs))

						{

							if (iAppContainer->ife[0] == 0)
							{
							if (iAppContainer->iguion[1] == 0)
							{
								iAppContainer->iguion[1] = 1;
								break;
							}else
							{
								iAppContainer->iguion[1] = 0; // Por si quiero repetir
								iAppContainer->ihabla = 0;	
								if (iAppContainer->imapacondi == 1)				
									iAppContainer->imapaactivo = 1;	
								break;
							}

							}


						} // Fin de la posición de Ludóvico
					}  // Fin del bosque 

					else if (iAppContainer->iEscenaa == 5) // Ciudad
					{
						if ((iAppContainer->iPosicion.iX == 5) && 
							(iAppContainer->iPosicion.iY == 1) &&
							(iAppContainer->iBa == iAppContainer->iBw))

						{

							
							if (iAppContainer->iguion[3] == 0)
							{
								iAppContainer->iguion[3] = 1;
								break;
							}else
							{
								iAppContainer->iguion[3] = 0; // Por si quiero repetir
								iAppContainer->ihabla = 0;	
								if (iAppContainer->imapacondi == 1)				
									iAppContainer->imapaactivo = 1;	

								iAppContainer->ife[3] = 1;
								break;
							}

							


						} // Fin de la posición de Baldovino


Los meses pasaron y al final obtuve un juego bastante decentillo. En esa época, no había plataformas de pago como itunes, android market, etc. Así que para distribuirlo me uní a la comunidad developer de Handango. No recuerdo a qué precio salió a la venta, pero sí algunas de las condiciones. La más molesta era que los juegos debían llevar un código de activación, y el control debía hacerlo el desarrollador, no el vendedor.

Así que desarrollé un simple programa en c++ en el que dado un imei devolvía la clave. Cualquiera que lo lea podrá ver que es un poco tonto, pero es que ya llevaba meses y no tenía muchas más fuerzas ni ganas, lo que quería era publicarlo.

//-------------------------------------------------
// Programa creado por Carlos Gonz lez Gonz lez
//
//   Generador de claves para el juego Ludwig
//-------------------------------------------------

#include 
#include 
#include 



void main(void)
{
   int imei[18];

   clrscr();

   printf("\n*******************************************************\n");
   printf("*                                                     *\n");
   printf("*    LL      UU   UU DDDD   WW W WW  III   GGGGGGGG   *\n");
   printf("*    LL      UU   UU DD  D  WW W WW   I    GG         *\n");
   printf("*    LL      UU   UU DD   D WW W WW   I    GG         *\n");
   printf("*    LL      UU   UU DD   D WW W WW   I    GG   GGG   *\n");
   printf("*    LL      UU   UU DD  D   W W W    I    GG    GG   *\n");
   printf("*    LLLLLLL UUUUUUU DDDD     WWW    III   GGGGGGGG   *\n");
   printf("*                                                     *\n");
   printf("*******************************************************\n");


   printf("\n\n\n Introduzca n£mero IMEI a registrar: ");

   


   for (int j=0;j<18;j++)
   {
      imei[j] = getche();
      if ((j == 1)||(j == 7)||(j == 13)) printf("-");
   }

   printf("\n El n£mero de registro es: ");

   putchar(imei[13]);
   putchar(imei[8]);
   putchar(imei[9]);
   putchar(imei[12]);
   putchar(imei[11]);
   putchar(imei[10]);


   printf("\n Pulse una tecla para continuar");
   getch();


}

Una mañana me desperté y me había llegado un email de Handando. El juego estaba a la venta. Unos días más tarde me llegó otro email, había vendido una copia y el comprador se ponía en contacto conmigo para obtener la clave. Le respondí con la clave solicitada. Parecía que todo iba bien, pero… Handango decidió cambiar la política de claves. Me enviaron un email diciendo que tenía que hacer ciertos cambios a la aplicación, entre ellos para facilitar el control y que el juego dejaba de estar a la venta mientras no aplicase los cambios…

Desde hacía unos meses trabajaba en Viavansi, y no tenía tiempo para nada. Así que así terminó mi aventura como desarrollador de juegos symbian.

Como anécdota os dejo unos cuantos enlaces que acabo de buscar por la red:

Quedan muchas cosas por contar sobre este tema, pero creo que como homenaje a nokia está bastante bien. Desde hace un tiempo estoy desarrollando una aplicación en Android que espero ver a la venta en breve, y con suerte con un poco más de éxito que esta.

Saludos.

No hay comentarios:

Publicar un comentario

Related Posts Plugin for WordPress, Blogger...