12 de febrero de 2018

ZX Spectrum: El pack Super 10

En el año 1986 yo tenía 12 años para 13 y mi padre nos compró un Spectrum +2 con este pack de regalo, y la verdad, estuvo 100% acertado.

Como el +2 era un ordenador muy nuevo algunos de los juegos necesitaban ayuda extra para hacerlos funcionar, ya sea a través del modo 48K o con trucos curiosos como el Abu Simbel Profanation. Como en aquellos tiempos no había Internet y casi nadie tenía aún el +2 a mis hermanos y a mí nos tocó buscarnos la vida para hacerlos funcionar :)

El modelo +2 a diferencia del +2A no venía preparado para mover la altura del azimut del reproductor de casete.


Voy a comentaros uno a uno cada uno de esos juegos -brevemente- y alguna de sus curiosidades.

Abu Simbel Profanation: Juego dificilísimo donde los haya, tenías que medir cada salto píxel a píxel, pero con unos gráficos increíbles y un carisma arrollador. Para hacerlo funcionar en el +2 tenías que cargarlo en modo 48 K y lo que es más curioso, para iniciar partida tenías que reproducir sonido en la cinta para que funcionase el menú de opciones, increíble pero cierto :)



Bruce Lee: Es una aventura muy sencilla pero divertida en la que tienes que manejar a Bruce Lee para conseguir pasar una serie de pantallas. Al principio recuerdo que estábamos muy perdidos ya que no sabíamos como abrir las puertas para pasar la pantalla inicial, luego fue coser y cantar. Creo recordar que tenía carga turbo.



Cauldron II: Otra aventura colorista y espectacular en el que tienes que manejar a una calabaza para vencer a la malvada bruja del castillo. El mapa es inmenso, la variedad de los enemigos enorme, la diversión solo comparable con su dificultad. Mi hermano Pepe se lo terminó sin trucos, yo aún alucino. Este juego me marcó.



Rock'n'Wrestle: En aquella época ni siquiera sabía lo que era al lucha libre, venía con una carga turbo horrorosa, costaba mucho cargarlo hasta que descubrimos que metiendo un cuchillo plano y apretando el play con más fuerza metíamos el azimut más adentro y el juego conseguía cargar. Había que cargarlo en modo 48K, en las instrucciones obviamente no venía nada. El juego es divertido una vez le pillabas el tranquillo, pero se hacía repetitivo demasiado pronto.



Saboteur: Juegazo con mayúsculas, otro juego al que sigo jugando a día de hoy. Tienes que manejar a un ninja molón para robar unos documentos y salir huyendo con un helicoptero. Recuerdo todavía el mensaje inicial de recompensa por denunciar la piratería, en aquellos tiempos ni siquiera sabía que se podían copiar los juegos :). Los gráficos geniales, la animación increíble, divertido, emocionante y con un mapa enorme. Fue uno de los juegos donde comenzamos dibujar mapas, y uno de los primeros mapas de los "Patas arriba" de Micromanía que recuerdo.



Spy Hunter: Espectacular juego de coches que recordaba al coche fantástico pero armado hasta los dientes con todo tipo de misiles, aceite, humo, etc. En determinados momentos del juego podías convertirte en una lancha. Divertido, pero algo repetitivo.



Three Weeks in Paradise: Nunca llegamos a disfrutar del todo este juego, en parte porque lo perdimos -o nos lo robaron-, gráficamente era muy bonito pero con una corrupción de atributos bestial. La música era muy pegadiza, todavía podría tararearla :). La mecánica era la de una aventura de objetos con muy poca o nula lógica.



Turbo Esprit: Para muchos el antecesor espiritual de Grand Theft Auto, para mí también. Tienes que conducir tu flamante deportivo Lotus Turbo Esprit para atrapar a los traficantes de drogas que pululan por la ciudad. La ciudad es inmensa, el motor 3D del juego genial dadas las limitaciones de la máquina. El juego es muy, muy divertido, y puedes divertirte no solo haciendo las misiones principales, perderte por la ciudad es todo un placer. Imprescindible.



Way of the Exploding Fist: Juegazo increíble de lucha que transportó el espíritu de Karate Champ a la perfección al Spectrum. Las animaciones, el sistema de combate, la inteligencia artificial de los oponentes, la rapidez de respuesta de los controles tanto para un jugador como para dos, los gráficos de los escenarios... en fin, todo un pedazo de clásico que te permitía creerte todo un especialista en artes marciales. Con este juego nació mi devoción por los juegos de lucha.



Zorro: Un clon de Bruce Lee, muy similar con más toque de aventura. En este caso manejas al Zorro que debe recorrer todas las pantallas eliminando a los enemigos y saltando por sus plataformas. Muy divertido.



La verdad es que este pack fue una gran idea de Erbe, me impactó profundamente y me hizo disfrutar mucho de nuestro Spectrum. Fruto de ello comencé a soñar con programar mis juegos, y bueno, llevo ya desde el año 97 ganándome la vida con la programación, gran parte del mérito -además del esfuerzo de mis padres al comprarnos el 386- viene de este pack que nos regalaron y que cambió mi vida :)






2 de febrero de 2018

ZX Spectrum: Mighty Final Fight

Sanchez, el creador del increíble Castlevania Spectral Interlude acaba de publicar Mighty Final Fight para ZX Spectrum, es una conversión de un juego lanzado para Nintendo Nes en el año 1993.

El juego es una especie de spinoff de Final Fight pero con personajes de estética "chibi" muy adorables que encajaron muy bien con la potencia de la NES.

Los gráficos son muy bonitos y cucos, aunque a veces los personajes se confunden con los escenarios de fondo, es lo que tiene el sistema de colores del Spectrum :)

La música es muy buena, al ser un juego para 128 Kbs utiliza el chip de sonido de Yamaha para generar el sonido.

El sistema de combate está muy bien diseñado y permite una gran cantidad de golpes y de estrategias de combate.

El juego es además muy divertido. En definitiva, si te gusta el Spectrum este es un juego imprescindible.


11 de octubre de 2017

Swift 4: Control de acceso


Como en todos los lenguajes de desarrollo que permiten el desarrollo orientado a objetos Swift tiene un sistema de control de acceso a las clases, métodos y propiedades que permite esconder o hacer público las clases o sus miembros. Se utiliza en torno al concepto de módulos y los ficheros con código fuente.

El control de acceso en Swift 4 se aplica a los siguientes tipos:
  • classes
  • structures
  • enumerations

Los niveles de acceso que podemos determinar son los siguientes:
  • Open: Permite el acceso en el fichero que se importe la clase, aunque sea en una subclase de otro módulo.
  • Public: Permite el acceso en el fichero que se importe la clase, pero no admite subclases fuera de otro módulo.
  • Internal: Permite sólo el acceso dentro de su mismo módulo.
  • File-private: Permite sólo el acceso dentro del mismo fichero de código fuente.
  • Private: Sólo permite el acceso dentro de la misma declaración. 

Open es el acceso más abierto y privado el acceso más cerrado.

El nivel de acceso por defecto es Internal.

Os pongo los ejemplos oficiales de Apple:

  • public class SomePublicClass {}
  • internal class SomeInternalClass {}
  • fileprivate class SomeFilePrivateClass {}
  • private class SomePrivateClass {}
  • public var somePublicVariable = 0
  • internal let someInternalConstant = 0
  • fileprivate func someFilePrivateFunction() {}
  • private func somePrivateFunction() {}


Espero que os sea de utilidad.

12 de agosto de 2017

PSP: Las películas en UMD

El Universal Media Disc es un tipo de disco óptico desarrollado por Sony para almacenar juegos y películas para su consola portátil PSP.

Puede contener un máximo de 1'8 gb de información (o 900 Mb si no es de doble capa). Tiene una protección de plástico externa para impedir que el soporte reciba daños al manipularlo por parte del usuario.

Las películas se codifican con H.264, códec muy avanzado para la época que permite comprimir de una manera muy eficiente películas de calidad DVD, aunque debido al poco espacio del UMD se solían suprimir la mayoría de los extras.

Cuando Sony lanzó la PSP pensaba reproducir en el sector portátil el éxito sin paliativos de sus consolas PS1 y PS2, pero fracasó, la PSP se convirtió en una consola minoritaria que solo teníamos los fanáticos de videojuegos de la época.

Debido a ese paseo triunfal que los directivos de Sony auguraban para la PSP algún lumbreras decidió que además de hacerse con el monopolio de los juegos portátiles la PSP iba a inaugurar una nueva era en el vídeo portátil, por supuesto con el sobrevalorado catálogo de Columbia Pictures (perteneciente a Sony) y cobrando un canon a todo el resto de empresas del sector que quisieran publicar sus películas en este formato.

La pantalla de PSP (la primera versión) tenía muy poco brillo, solo era utilizable en lugares oscuros por lo que no servía para jugar en exterior o en lugares con alguna iluminación, por lo que utilizarla para ver una película fuera de casa era una locura,  el sonido era estéreo (olvídate de 5.1 y esas cosas) a través de auriculares con poco volumen y por último estaba el consumo de batería, el uso de un motor físico para rotar el UMD drenaba la electricidad a una velocidad digna de la Game Gear. En conclusión, que no era una opción portátil para ver cine -ni para jugar, realmente-.

Los UMDs de películas eran además muy caros, en una época en que la piratería de internet ya estaba descontrolada pagar un dineral por un UMD que solo podías ver en la PSP en tu habitación conectado a la corriente no era una buena inversión. Decenas de UMDs de películas de Columbia se amontonaban en las estanterías de las tiendas de videojuegos sin que nadie les hiciese ni caso. Ya me imagino los maravillosos Powerpoints que mostraban en las presentaciones con esas gráficas de beneficios siempre hacia arriba :).

En conclusión, el fracaso fue absoluto, de hecho este tipo de películas no le interesan ni a los coleccionistas, ayer mismo me compré una por 50 céntimos para ilustrar este post.

Cuando Sony se pone soberbia pasan estas cosas, no es tan fácil hacer creer al consumidor que necesita algo en su vida que no le aporta nada. Como siempre, sobrevalorando el valor de su catálogo de propiedad intelectual :|

Os adjunto unas fotos de mi compra de ayer para ilustrar el post, no voy ni a usarlo, no tiene sentido:







17 de mayo de 2017

MS DOS: Los últimos vídeos de juegos que he subido a YouTube

Hace tiempo que no publico nada en el blog así que aprovechando que últimamente estoy jugando bastante a juegos antiguos de MS DOS aprovecho y os pongo aquí los vídeos de los juegos a los que estado jugando, seguro que alguno de ellos os trae buenos recuerdos.


15 de abril de 2017

ZX Spectrum: He terminado Flappy, The Ghost

Bueno, pues he terminado por fin de desarrollar el juego Flappy, The Ghost, para ZX Spectrum, y no me puedo sentir más que satisfecho, no por la calidad del juego en sí, si no por haber sido capaz por fin de terminar mi primer juego para Spectrum, después de tantos años he podido sacarme la espinita de dentro.

Flappy, The Ghost, es un juego de plataformas en el que manejamos a un simpático fantasma, Flappy, y tenemos que ayudarle a pasar todas las fases del juego, para ello hay que ir recogiendo una serie de llaves -una por escenario- para abrir la puerta de final de fase y pasar al siguiente nivel.

Tienes 3 vidas y teniendo en cuenta la dificultad de algunos enemigos y de un par de plataformas tendréis que practicar para llegar al final.

El juego puede ser jugado tanto en emulador como en un spectrum original. Lo he desarrollado utilizando la herramienta Arcade Game Designer.

Espero que os guste, este es el enlace de descarga del juego: https://www.dropbox.com/s/zg09dlvo3amutui/flappy.tzx?dl=0

Aquí van unos cuantas cuantas capturas de Flappy, The Ghost:






12 de abril de 2017

iOS: Datos accesibles desde la agenda de contactos


iOS nos da la posibilidad de poder acceder a los datos de la agenda de contactos, para ello el usuario en primer lugar de aceptar la solicitud de permisos de acceso.

Una vez el usuario ha concedido su permiso la app puede acceder a los siguientes datos:

  • CNContactEmailAddressesKey: Email 
  • CNContactPhoneNumbersKey: Número de teléfono 
  • CNContactFamilyNameKey: Apellido 
  • CNContactGivenNameKey: Nombre 
  • CNContactPostalAddressesKey: Dirección Postal 
  • CNContactUrlAddressesKey: Url 
  • CNContactNicknameKey: Apodo 
  • CNContactOrganizationNameKey: Empresa 
  • CNContactNoteKey: Nota sobre el contacto 
  • CNContactThumbnailImageDataKey: Thumbnail de la imagen de contacto 
  • CNContactImageDataAvailableKey: Imagen de contacto
  • CNContactNamePrefixKey: Prefijo del nombre 
  • CNContactMiddleNameKey: Middle Name 
  • CNContactPreviousFamilyNameKey: Apellido familiar previo 
  • CNContactNameSuffixKey: Sufijo del nombre 
  • CNContactDepartmentNameKey: Departamento de la empresa 
  • CNContactJobTitleKey: Puesto de trabajo 
  • CNContactPhoneticGivenNameKey: Nombre en fonético 
  • CNContactPhoneticMiddleNameKey: Nombre medio en fonético 
  • CNContactPhoneticFamilyNameKey: Apellido en fonético 
  • CNContactPhoneticOrganizationNameKey: Nombre de la empresa en fonético 
  • CNContactBirthdayKey: Cumpleaños 
  • CNContactNonGregorianBirthdayKey: Cumpleaños en fecha no gregoriana 
  • CNContactImageDataKey: Imagen en formato datos 
  • CNContactTypeKey: Tipo de contacto 
  • CNContactDatesKey: Fechas de contacto 
  • CNContactRelationsKey: Relaciones del contacto 
  • CNContactSocialProfilesKey: Social profiles 
  • CNContactInstantMessageAddressesKey: Mensajería instantánea del contacto
Espero que os sea de utilidad.