martes, 30 de agosto de 2022

Alleyway para Gameboy


 Alleyway para Gameboy

Además de trabajar en el Reino Champiñón como fontanero junto a su hermano Luigi, Mario se ha desempeñado en diversas actividades como boxeo, golf, mecanografía y carreras de karts, incluso, se vistió de médico para eliminar virus con sus cápsulas de colores en Dr. Mario. También se convirtió en un eficiente rompebloques en Alleyway para Gameboy.

Lanzado en 1989 por Nintendo para su nueva videoconsola portátil, Alleyway es un clon del famoso Arkanoid (Breakout , lanzado en 1986 para arcades y consolas. Desarrollado por Intelligent Systems este videojuego ha sido considerado como un Breakout básico en que se utilizó la popularidad de Mario y los personajes de Super Mario Bros para ganar posicionamiento en el mercado.

Jugabilidad

El juego consiste en hacer rebotar la pelota en una paleta para que salga dirigida a una pila de bloques para romper el mayor número posible, cuando la pelota regresa debe ser interceptada con la paleta o raqueta, para evitar que caiga y se pierda en el pozo que hay en la parte inferior de la pantalla, y el jugador pierda una de las vidas de que dispone para completar el juego.

Alleyway para Gameboy tiene una serie de características que van apareciendo a medida que se avanza de nivel, hay bloques que giran y engañan al jugador, también hay un nivel de bonificación que aparece de forma aleatoria, en él la pelota tiene la capacidad de traspasar los bloques, rompiendo todo a su paso, pero se cuenta con un tiempo limitado para obtener puntos.

A medida que se avanza de nivel, la dificultad del juego aumenta, la paleta se hace más chica si la pelota golpea la parte superior del campo de juego. Además, a medida que se eliminen más bloques, la pelota se desplaza con mayor rapidez, lo que dificulta el control. Por cada 1.000 que se logre, se obtiene una vida adicional.


Considerando las limitaciones que presenta una videoconsola portátil fabricada hace más de 30 años, los controles son realmente impresionantes, la paleta puede moverse de derecha a izquierda y de izquierda a derecha con suma facilidad, pero además se puede ajustar la velocidad de la paleta con los botones A y B. El botón A acelera la paleta, mientras que el botón B la ralentiza, lo que permite un mayor ajuste de los ángulos.

El juego incluye muchas características presentes en Arkanoid como las pelotas que se encogen, o las que tienen la capacidad de atravesar los bloques, así como los bloques que son irrompibles y cuando la pelota rebota en ellos tiende a aumentar su velocidad.

No obstante, la capacidad para controlar la velocidad utilizando los botones A y B, es una característica que solo tiene Alleyway para Gameboy, que hace que el juego sea más manejable, ya que puede ser disfrutado por jugadores de todas las edades.

Una de las críticas que generalmente se hace a este videojuego, es que tiende a hacerse monótono y aburrido, lo jugadores consideran que luego de jugarlo por un rato tiende a dejar de ser emocionante. Un aspecto a resaltar, es la física de la pelota, que se comporta de forma adecuada, lo que supera los problemas que se presentan Breakout debido al comportamiento extraño que presenta en algunas ocasiones la pelota.

Gráficos y sonido

Los gráficos de Alleyway para Gameboy son bastante básicos, cuando la pelota se mueve con mayor rapidez las imágenes se tornan borrosas, lo que afecta su nivel de jugabilidad, aunque hay detalles muy interesantes en algunas partes del juego y algunos gráficos de buena calidad.

El juego no cuenta con una banda sonora, su sonido es bastante limitado y repetitivo, lo que no ayuda a atraer el interés del jugador. Cuenta con tres o cuatro BGM (música de fondo) que se reproducen en los niveles de bonificación, el sonido que se escucha generalmente es el de la pelota golpeando los bloques o la parte superior del campo de juego.




Conclusión

En general, se considera a Alleyway para Gameboy como un título débil, que no tuvo gran éxito, si bien su característica de controlar la velocidad por medio de los botones A y B fue innovadora, no tuvo el peso suficiente para superar sus limitaciones a nivel gráfico y en cuanto a calidad de audio.


 

domingo, 28 de agosto de 2022

La edad de oro del software español

 

 La edad de oro del software español

La edad de oro del software español se desarrolló durante la década de los 80 del siglo pasado, los videojuegos producidos en España durante esta época alcanzaron un alto nivel de calidad, logrando ubicar a España como el segundo productor de videojuegos de Europa, sólo superado por Gran Bretaña.

El lanzamiento en 1983 de "La Pulga", marcó el inicio de la edad de oro del software español, videojuego este juego desarrollado por el equipo de programadores Paco & Paco (Paco Suárez y Paco Portalo) y producido por Indescomp, para ser jugado en el ordenador Sinclair ZX Spectrum, vale mencionar que este video juego se lanzó inicialmente en Reino Unido bajo el título "Bugaboo".

Gracias a su creciente popularidad, "La Pulga" fue portado a otros sistemas de ordenadores domésticos como Amstrad CPC, Commodore 64 y MSX, lo que lo intensificó su volumen de ventas, convirtiéndose en todo un éxito., lo cual impulsó la aparición de otras empresas productoras de videojuegos como:

  • Opera Soft.

  • Dinamic Software.

  • Zigurat.

  • Topo Soft.

  • Aventuras AD.

  • Animagic.

  • Erbe Software.

Estas empresas publicaron a lo largo de la década de los 80 una gran variedad de videojuegos de muy alta calidad, por lo que se conoce estos años como la edad de oro del software español. Una parte importante de los juegos desarrollados en esa época eran aventuras conversacionales. No obstante, videojuegos de otros géneros lograron obtener gran éxito, entre ellos:

  • Abu Simbel, Profanation, producido por Dinamic Software en 1985

  • Livingstone supongo, producido por Opera Soft en 1986.

  • Sir Fred, producido por Zigurat en 1986.

  • Army Moves, producido por Dinamic Software en 1986.

  • Las tres luces de Glaurung, producido por Erbe Software en 1986.

  • La abadía del crimen, producido por Opera Soft en 1987.

  • Fernando Martín Basket Master, producido por Dinamic Software en 1987.

  • Desperado y Mad Mix Game, producidos por Topo Soft en 1988.

  • Rescate en el Golfo, producido por Opera Soft en 1990.

  • Lorna, producido por Topo Soft en 1990.

Entre estos juegos, la aventura gráfica “La abadía del crimen” tuvo gran popularidad y una gran cantidad de aficionados consideran a este videojuego como el mejor de la edad de oro del software español.

Estos videojuegos fueron desarrollados para ordenadores de 8 bits y tuvieron gran éxito en máquinas como Amstrad CPC, Commodore 64, MSX y ZX Spectrum. No obstante, la llegada de los sistemas de 16 bits a principios de la década de los 90, marcó el inicio del declive de la edad de oro del software español.

Risky Woods producido por Dinamic Software y lanzado en 1992, se considera como el último videojuego de esta época dorada y, aunque algunos de estos videojuegos fueron portados a los nuevos sistemas de 16 bits, el desarrollo de nuevos videojuegos para estas máquinas fue incipiente.

Como tributo a estos míticos juegos, hacemos una pequeña recopilación de algunos videojuegos considerados como los mejores de la edad de oro del software español.

La Pulga

Aunque fue publicado inicialmente en Reino Unido bajo el nombre de Bugaboo (The Flea), La Pulga se considera como el primer juego de video desarrollado en España. Sus creadores son Paco Suárez y Paco Portalo, quienes inicialmente lo desarrollaron para el ordenador ZX Spectrum, en España fue distribuido por la empresa Investrónica con el nombre de La Pulga

Gracias a su creciente popularidad este videojuego fue portado a otros sistemas de 8 bits como Commodore 64, MSX y Amstrad CPC y fue publicado en diversas regiones del planeta con diferentes nombres, como por ejemplo, Roland In Den Hohlen en Alemania, Booga-Boo the Flea en Estados Unidos y Il Paese Incantato en Italia.

La protagonista del juego es una pequeña pulga de color amarillo que tiene unas patas muy largas, la cual es la tripulante de la nave espacial Cebolla X7, al intentar aterrizar en un plante la nave sufre un accidente, la pulga debe moverse a través de diferentes niveles, para tratar de alcanzar la parte superior de cada gruta y encontrar una salida.

Abu Simbel Profanation

Este videojuego publicado por Dinamic Software en 1985 para diferentes ordenadores de 8 bits, fue la tercera entrega de una trilogía, de la que forman parte los juegos Saimazoom y Babaliba. Sin embargo, Abu Simbel Profanation fue el juego más exitoso.

El protagonista, al igual que en los otros títulos de la saga, es Johny Jones, a quien una maldición ha transformado en Abu Simbel, el objeto del juego es entrar y recorrer la tumba de Abu Simbel en Egipto y conseguir recuperar el aspecto natural de Johny Jones, para ello es necesario sortear distintos peligros en cada uno de los niveles del juego, ya que no es posible utilizar ningún tipo de armas.

Livingstone supongo

Lanzado por Opera Soft en 1986 para los diferentes sistemas de 8 bits, Livingstone supongo, Livingstone, I Presume en Reino Unido. Es un videojuego de acción y aventuras, en el que el protagonista Henry Stanley debe ir en busca de David Livingstone un misionero y explorador que se ha perdido en África.

El protagonista puede utilizar tres tipos de arma: un cuchillo, un boomerang y granadas, cuenta también con una pértiga que le ayuda a salvar distintos obstáculos. En juego está divido en dos partes, en las que el jugador debe enfrentarse a diferentes enemigos, así como a situaciones bastante complicadas.

Risky Woods

Lanzado por Dinamic Software en 1992 para sistemas como Atari ST, Commodore Amiga y PC, y portado a la Sega Mega Drive / Sega Genesis, este video videojuego de plataformas está ambientado en un mundo de fantasía que se asemeja a la época medieval.

El protagonista es un guerrero que tiene que enfrentar a diversas criaturas malévolas que habitan en los bosques y quieren impedir que llegue hasta la fortaleza, donde tiene que luchar contra "El terror", un malvado señor oscuro que domina dicho mundo.

Risky Woods se desarrolla en doce niveles, en los que el protagonista debe luchar contra diferentes enemigos, para lo cual cuenta con distintas armas, pero además debe utilizar todo su ingenio para lograr avanzar a un nuevo nivel.

Este video juego es considerado como un verdadero clásico que marcó el final de la edad de oro del software español.

jueves, 25 de agosto de 2022

Historia de Commodore 64


 Historia de Commodore 64


Commodore, había lanzado en junio de 1980 el ordenador personal VIC-20, Jack Tramiel, fundador de la empresa, decidió que había que lanzar al mercado un nuevo ordenador con 64 KB de RAM, aunque para ese momento el precio de 64 KB de DRAM superaba los $100. No obstante, este empresario intuía que los precios bajarían a niveles aceptables.

El nuevo ordenador fue llamado VIC-40 como sucesor del ordenador VIC-20, que había tenido una buena aceptación en el mercado. Sin embargo, el nombre del nuevo producto fue cambiado a Commodore 64 para adaptarse a la línea actual de productos comerciales de Commodore Business Machine.

El Commodore 64 fue presentado al público en el Consumer Electronics Show de enero de 1982 y lanzado al mercado en agosto de ese mismo año, convirtiéndose rápidamente en el ordenador doméstico más popular de ese momento. Contaba con un procesador MOS 6510 de 1 mHz y una memoria RAM de 64 kilobytes, de ahí el número 64 que acompaña su nombre.

Commodore Business Machine (CBM) lanzó al mercado su ordenador CMB 64 con un precio inicial de $595, pero en pocos meses redujo su precio a $250, lo que ayudó a aumentar ampliamente su volumen de ventas. Una de las ventajas de este ordenador doméstico es que podía conectarse al televisor para usarlo como pantalla, incluía además un sistema de sonido y un puerto de expansión.

Contaba además con un puerto serial que permitía conectar diversos periféricos como teclado, joystick, grabadora de casetes y disquetera externa.

El CDM 64 admitía sprites multicolores para crear imágenes que para su época eran de la más alta calidad. Además, su chip de sonido Sound Interference Device (SID), producía un sonido de excelente calidad, que no era superado por ningún otro ordenador de la época.

El éxito comercial del Commodore 64 se debió en parte a las políticas para su comercialización, ya que además en los distribuidores autorizados, también se vendía en grandes cadenas de tiendas, almacenes y jugueterías.

Este ordenador se produjo por once años y se estima que se vendieron más de 20 millones de unidades en todo el mundo, lo que lo convirtió en el primer ordenador doméstico de precio asequible y que se podía comprar en cualquier lugar. De hecho, el Commodore 64 fue incluido en el Libro Guinness de los récords mundiales como uno de los ordenadores personales más vendidos de todos los tiempos.

Especificaciones técnicas

  • Sistema operativo: Commodore KERNAL / Commodore BASIC 2.0.

  • CPU: MOS Technology 6510. La versión NTSC trabajaba a 1,02 MHz y la versión PAL a 0,985 MHz.

  • Memoria RAM: 64 kB; tipo DRAM (memoria dinámica de acceso aleatorio).

  • Memoria ROM: 20 kB.

  • Puertos: TV, video compuesto, RGB, joysticks (2), puerto de cartucho, puerto serial para periféricos que permitía conectar impresora, módem, disquetera externa de 170K y grabadora de casete (Datasette).

  • Resolución de pantalla 320 × 200 píxeles, gráficos Vic-II (320 X 200, 16 colores, sprites multicolor, interrupción de trama.

  • Chip de sonido: SID 6581 con tres canales de sonido.

  • Dimensiones: 40,64 cm (16”) de ancho, 20,32 cm (8”) de profundidad, 7,62 cm (3”) de altura.

  • Peso: 1,8 kg.

martes, 23 de agosto de 2022

Introducción a la programación en C (XV)

Matrices multidimensionales



Con los arreglos somos capaces de definir arreglos o arreglos multidimensionales. La definición es la siguiente:  <tipo> <nombre> [tamaño_columna] [tamaño_filas];

Una matriz multidimensional es una matriz de matrices, un vector que contiene como contenido otro vector para cada índice. Sin embargo, para llenarlo, debemos prestar atención a la sintaxis, de hecho, si lo inicializamos:

#include <stdio.h>
int principal () {
  int matriz [4] [3] = {{2,1,1}, {3,3,3}, {0,2,0}, {0,1,1}};
}

primero se abre un par de corchetes, luego dentro tantos pares como columnas hay y dentro de cada bloque de llaves se ingresan los valores de la columna uno por fila.

lunes, 22 de agosto de 2022

Seven Kingdoms

 



Seven Kingdoms es un juego de estrategia en 2D diseñado por Trevor Chan el autor de Capitalism , para Windows aunque existe versión linux. Los jugadores eligen jugar como una de las siete civilizaciones humanas, cada una con diferentes características y un ataque especial, Los Normandos, Vikingos, Mayas, Griegos, Chinos, Japoneses y Persas. También comandan a la gente común de las aldeas, soldados reclutados en fuertes, así como barcos y máquinas de guerra que deben investigarse primero.


El poder militar no es suficiente para ganar el juego. Los jugadores deben planificar acciones unos pasos por delante, comerciar con otras razas, desarrollar industrias y nuevas aldeas y establecer contactos diplomáticos, además de usar espionaje. Las ciudades pueden tomarse pacíficamente, por ejemplo, haciendo donaciones a los residentes. Hay dos recursos principales: alimentos y oro.



El jugador tiene un índice de popularidad entre sus súbditos. El juego tiene algunas razas no humanas que no se pueden jugar: Frythans. Son más fuertes que los hombres, pero tienen menos tipos de unidades. Las guaridas en las que residen pueden ser destruidas.


También hay un factor religioso, ya que una vez se consigue un pergamino del poder se pueden construir templos desde los cuales se puede invocar a deidades, aquí nuevamente cada raza tendrá un dios propio y que tendrá una habilidad propia que deberemos de usar sabiamente en la partida para convertirlo en una ventaja.

viernes, 19 de agosto de 2022

Bruce Lee para ordenadores Atari de 8 bits y Conmodore 64

 

Creo que pocas personas no conocen a Bruce Lee, el luchador de artes marciales más fuerte de todos los tiempos que murió prematuramente en circunstancias misteriosas.





Bruce Lee es un juego de plataformas con algunos elementos de lucha escrito por Ron J. Fortier y lanzado en 1984 por Datasoft para ordenadores Atari de 8 bits y Commodore64. Más tarde se convirtió para varios otros sistemas domésticos. Los gráficos son de Kelly Day y la música es de John A. Fitzpatrick.


En el juego controlarás a Bruce Lee y tendrás que atravesar un enorme castillo con sus mazmorras, para alcanzar y matar a un malvado hechicero. En total habrá veinte niveles repletos de escaleras, ascensores, enemigos, trampas y rompecabezas varios. También tendrás un ninja y un guerrero de sumo llamado Yamo. Puedes jugar tanto para un jugador como para varios jugadores con el segundo jugador que controlará directamente a Yamo y tendrá que evitar que Bruce alcance al hechicero.


Es bastante fácil de completar y sigue siendo fascinante cruzar el mapa del juego 30 años después.


Hay una cosa que un jugador moderno debe recordar al mirarlo... En 1984, no se crearon muchos juegos relacionados con las artes marciales. En 1984, no muchos juegos de plataformas incluían armas, y si las había, generalmente rebotaban en pernos de fuego o algo así. Este fue probablemente el primer juego de aventuras de plataformas que ofreció algo parecido a las artes marciales como un medio para enfrentar a tus enemigos. No importaba si no se veía exactamente realista, era un giro en esa dirección.


El juego te hace usar objetos que probablemente nunca sabrás qué deben representar, pero aprenderás a usarlos para progresar. Incluso aprenderás a pensar tácticamente, atrayendo a tus enemigos a trampas subterráneas. Aprenderás la importancia del ritmo.






Bruce Lee, es un juego de culto que se ha quedado en el corazón de muchos. Los gráficos mínimos, la jugabilidad simple y adictiva, el multijugador innovador, todas características que hicieron de Bruce Lee una pequeña joya de los años 80. El juego también fue muy bien recibido por la prensa especializada con calificaciones muy altas en numerosas revistas de la época, practicamente todas por encima del 90%.




miércoles, 17 de agosto de 2022

Emulicious, emulador multiplataforma

 

 Hay toneladas de emuladores. No hay peor o mejor y tener que elegir uno es más una cuestión de gusto personal. Personalmente suelo preferir los emuladores donde la configuración del mando es automática (o semiautomática) y hay pocas, pero buenas, opciones. Por esta razón solo puedo recomendar a cualquier usuario Windows, Linux o Mac Emulicious.


Emulicious es un emulador multisistema de uso gratuito para Windows, Linux, Mac OS (X) y cualquier otro sistema operativo compatible con Java SE.


No necesita instalar Java en su sistema para ejecutar Emulicious. Solo requiere los binarios de Java para ejecutarse. Para los usuarios de Windows hay una descarga que incluye los binarios actuales de Java.



Emulicious consta de los siguientes emuladores:


  • Un emulador de Game Boy de Nintendo

  • Un emulador de Nintendo Game Boy Color

  • Un emulador de Sega Master System

  • Un emulador de Sega Game Gear


Emulicious aún proporciona algunas características y herramientas adicionales:


  • Actualizaciones automáticas

  • Turbo ajustable

  • Acelerador ajustable

  • Aplicación de parches IPS

  • Estados guardados (solo Master System/Game Gear)



Herramientas (solo Master System/Game Gear):


  • Depurador (incluido un desensamblador interactivo con código automatizado/separación de datos)

  • Perfilador

  • Trazador

  • Editor de memoria

  • Visor de paletas

  • Visor de mosaicos

  • Visor de mosaicos

  • Visor de sprites

  • Rastreador de memoria


El depurador proporciona muchas funciones que pueden ser útiles para el ROMHacking y el desarrollo de Homebrew. Proporciona resaltado de sintaxis personalizable, registro de seguimiento, puntos de interrupción y puntos de observación. Una jerarquía de referencia ayuda a comprender el flujo de un programa, el generador de perfiles ayuda a identificar puntos críticos. Una poderosa sintaxis de expresión permite la definición de condiciones útiles para puntos de interrupción/puntos de observación. Los puntos de interrupción que se detienen en los accesos a la memoria no inicializada y los estados inconsistentes después de las interrupciones pueden ayudar a evitar errores de programación innecesarios.



Por esto y mucho más Emulicious puede convertirse en un interesante aliado para nuestros propios desarrollos.


La web del proyecto https://emulicious.net/

lunes, 15 de agosto de 2022

LA LELLENDA DE LA CERDA

 


No, no es un error ortográfico, La Lellenda de la Cerda es un buen ejemplo de juego ROMHack,

una versión modificada del link’s awakening de Game Boy hecha por un grupo de ROMHackers que se hacen llamar Charnego Translations, con el objetivo de darle una traducción gamberra al titulo. Vio a la luz a principios de 1999 y desde entonces es una de las ROMHacks mas icónicas del scene Game Boy. En el en lugar de despertar en una isla rodeados de conchas y palmeras, nuestro protagonista, amanecerá en una playa repleta de jeringuillas de yonkies y en lugar de usar nuestra espada usaremos una autentica navaja de Albacete.

Posteriormente el grupo llamado “Iberic Games” https://www.facebook.com/ibericgames/ saco una edición física con el permiso de charnego translations.



Mucha diversión con un lenguaje no apto para niños en este titulo.




La web de Charnego translations y desde la cual podréis bajaros el parche: https://charnego.krusher.net/

sábado, 13 de agosto de 2022

Montezuma's revenge análisis

 Montezuma's revenge análisis


Creado por Robert Jaeger y lanzado al mercado en 1984 por Parker Brothers, Montezuma's revenge, se convirtió rápidamente en uno de los videojuegos preferidos del público, estaba disponible para casi casi todas las consolas de 8 bits y ordenadores disponibles en esa época como Commodore 64, Sega Master System, Atari 2600, Atari 5200, ColecoVision, ZX Spectrum, IBM PC Apple II,

Este video juegos combina elementos de exploración de edificaciones antiguas, búsqueda de tesoros, combate, saltos de plataformas, superar obstáculos y trampas, resolución de puzles, y animaciones de sprites, una mezcla muy avanzada para su época, por lo que se le considera el precursor del subgénero metroidvania.

La misión del jugador es guiar a Panama Joe a través de las diferentes cámaras de la fortaleza subterránea del emperador Moctezuma II, para lograr encontrar su tesoro. La fortaleza tiene forma de catacumbas que abarcan 9 por 9 cámaras, cada una de las cuales ocupa una pantalla, Panama Joe debe iniciar su odisea en la fila superior y moverse a través de las diferentes salas para encontrar un camino que lo lleve a la habitación donde está oculto el tesoro.

Durante el recorrido el jugador tiene que atravesar las diferentes plataformas utilizando escaleras y cuerdas, teniendo cuidado de las plataformas que desaparecen, los rayos láser y los diversos enemigos que le atacarán y que son mortales, como las calaveras y las arañas.

Panama Joe tiene la opción de ir tomando diversos objetos valiosos como llaves de colores que le permitirán abrir algunas puertas, espadas para combatir y vencer a sus enemigos, antorchas para iluminar el camino, entre otras. El jugador puede llevar hasta 5 objetos, sí Panama Joe tiene las manos ocupadas no podrá recoger ningún otro objeto.

Montezuma's revenge es un videojuego de acción que implica evitar o enfrentar diversos enemigos, subir y bajar por escaleras o cuerdas, recorrer plataformas y esquivar rayos láser, cada nueva pantalla presenta nuevos desafíos, los enemigos y los peligros cambian y se hacen mucho más exigentes. Una aventura épica que se ha convertido en un verdadero clásico que ha superado la prueba del tiempo.

jueves, 11 de agosto de 2022

GB STUDIO, Herramienta gratuita para diseñar juegos de Game Boy

 



Gracias a esta herramienta gratuita, tendrás la posibilidad de crear tu propio Juego para Game Boy. ¡Sin necesidad de conocimiento de programación!

Si siempre siempre has tenido el sueño de crear un juego de Game Boy , pero nunca encontraste el coraje o el compromiso de aprender la programación detrás de los píxeles. Gracias a GB Studio y un poco de esfuerzo, finalmente puedes hacer realidad tus sueños. GB Studio fue desarrollado por Chris Maltby y lanzado para el 30 aniversario de la consola portátil más icónica de todos los tiempos.

Este increíble software actualmente es compatible con Windows, MacOS y Linux . Para construir tu juego, necesitarás un editor de imágenes PNG externo (como GIMP ) para poder crear los sprites para los distintos personajes y fondos, mientras que la música se puede agregar gracias al uso de GB Player.

Luego los juegos que desarrollemos pueden ser compilados y compartidos a través del emulador HTML5 ya implementado en la herramienta, o crear directamente un archivo ROM de Game Boy, capaz de ejecutarse tanto en su emulador favorito como en cualquier consola Game Boy, flasheando en un cartucho o en un cartucho tipo Everdrive.

En caso de que tengas problemas para comenzar con GB Studio, no entres en pánico y deja que Chris Maltby te guíe . De hecho, el desarrollador ha puesto a disposición su primer trabajo con GB Studio, Untitled GB Game . Este título, además de ayudarte con ideas , también será un tutorial mostrándote al mismo tiempo un excelente ejemplo de un proyecto que se puede crear con el software. Con un poco de talento en el arte de los sprites , mucha imaginación e incluso un poco de compromiso, puedes mostrar tu talento en el desarrollo de juegos con esta herramienta muy simple e intuitiva.

Seguramente estamos hablando de un software de nivel de entrada , crear un videojuego es ciertamente mucho más complejo y tarde o temprano tendremos que toparnos con desafíos más difíciles, como tener que aprender algún lenguaje de programación. Lo cierto es que con esta fantástica herramienta podrás dar un paso en la dirección del desarrollo de videojuegos y aunque el camino sea largo, el viaje siempre comienza con un primer paso.


Puedes descargarte la herramienta desde su web oficial:

https://www.gbstudio.dev/

miércoles, 10 de agosto de 2022

Introducción a la programación en C (XIV)

definir una constante 



Anteriormente, cuando usamos una variable entera para definir la magnitud de un vector, usamos incorrectamente la definición de constante. Dijimos que el tamaño de una matriz debe ser constante, pero si usamos una variable, no respetamos completamente esta restricción.

Una de las muchas palabras clave, " define ", nos permite definir constantes.

La sintaxis de define  es la siguiente: #define <nombre constante> <valor constante>

Todas las constantes deben definirse fuera de main y, en general, colocarse bajo todas las inclusiones de la biblioteca.

#incluir <stdio.h>

#define DIM 4

int principal () {

 vector int [DIM];

}

la diferencia con el uso de una variable es que #define define constantes inmutables . De ahora en adelante, usaremos constantes para definir el tamaño de un vector o escribiremos el número directamente.


Introducción a la programación en C (XIII)

Llenado secuencial de vectores





Ahora introducimos un nuevo uso de los bucles, de hecho gracias a ellos podremos llenar nuestros vectores con muy pocas líneas de código. El principio es poner, dentro de los corchetes, el índice utilizado por el ciclo inicializado en la posición 0 de nuestro vector.


En cada ciclo, nuestro índice aumentará y nos moverá a la siguiente posición del vector. Cabe recordar que el número encerrado entre corchetes no es un tipo de dato sino un número constante que indica únicamente el tamaño o el número de vagones de nuestro tren.

De hecho, es posible usar una variable entera inicializada:

int dim = 5;

vector int [dim];

Si bien usar solo una variable declarada será imposible:

int dim;

vector int [dim] // ERROR




    • Uso del bucle for para  imprimir y rellenar

#include <stdio.h>

int principal () {

    int dim = 5;

    vector int [dim];

    

    for (int i = 0; i <dim; i ++) {// llenar

        vector [i] = i;

    }

    

    for (int i = 0; i <dim; i ++) {// imprimir

        printf ("vector [%d] =%d \n", i, vector [i]);

    }

}


Hay poco que explicar, en el primer ciclo se usa la variable incremental del for tanto para tomar el contenido de cada posición en el Array como para llenarlo con el mismo valor. De hecho, "i" tiene el mismo valor tanto a la izquierda de la misma como a la derecha, lo que cambia es el uso.


En el segundo ciclo se imprime el contenido del vector, de hecho el vector [i] define el contenido en la posición i. 

La historia de Atari

 


Pong no fue el primer videojuego, pero inició la industria de los videojuegos, permitió que las computadoras fueran vistas como un medio de entretenimiento, un juego que le dio un nuevo uso a los televisores, convirtiéndolos en un centro de entretenimiento doméstico.

Este mítico videojuego fue lanzado por Atari, una empresa fundada en 1971 en California, Estados Unidos, por Nolan Bushnell y Ted Dabney, cuyo nombre es un vocablo utilizado en el antiguo juego de mesa chino Go y significa "estoy a punto de ganar”, una expresión similar a “jaque mate” en ajedrez.

El lanzamiento de Pong, fue un gran éxito, restaurantes, bares y salas de juego querían tener esta consola. Sin embargo, Atari no pudo lograr que la producción de consolas pudiera satisfacer la creciente demanda, ya no solo fabricaba las consolas de Pong, también se encargaba de gestionar las monedas que se usaban para jugar el videojuego.

La empresa no contaba con el recurso humano necesario para asumir una tarea de tales dimensiones, por lo que al final terminó fabricando solamente unas 12.000 consolas de Pong, dejando de aprovechar una parte importante del mercado.

Además, Atari no contaba inicialmente con la patente de Pong, lo que posibilitó que otras empresas copiaran el juego y lanzaran sus propias versiones. Atari no se preocupó por tomar acciones legales para demostrar sus derechos sobre Pong, sus directivos decidieron crear nuevos juegos de video y captar la atención de más personas que se interesaban por esta nueva forma de entretenimiento.

Contrataron a Steve Jobs y a Steve Wozniak para crear los nuevos juegos de Atari, entre ellos Tank, Space Race y Gotcha.

Consolidación y expansión internacional

Para el año 1974 Atari había comenzado a expandirse a mercados internacionales. Sin embargo una cuantiosa inversión en la consola de arcade Gran Trak 10 puso en riesgo a la empresa, que pudo mantenerse a flote gracias al éxito de Tank un juego desarrollado por Kee Games, empresa subsidiaria de Atari.

En 1976, Warner Communications compró Atari, la transacción fue por 28 millones de dólares, un año más tarde lanza al mercado la consola Atari 2600 – Atari VCS (Video Computer System), el primer sistema de videojuegos que utilizaba cartuchos intercambiables, logrando posicionarse como una de las principales empresas de videojuegos. Se estima que la empresa logró vender más de 30 millones de consolas Atari 2600.

En 1982, Atari lanza al mercado la consola Atari 5200, una versión mejorada de la Atari 2600. Esta nueva consola no logró captar el mismo nivel de atención que su predecesora y solo se vendieron cerca de 1 millón de unidades. Sin embargo, la Atari 5200 se ha convertido en una de las consolas vintage más buscadas por los coleccionistas.

Desafortunadamente, Atari no desarrolló nuevas tecnologías que superan los logros obtenidos por su consola Atari 2600, sino que continuó con su producción. Esto hizo que perdiera su cuota de mercado con otras empresas como Nintendo y Sega que lanzaban consolas con nuevas tecnologías que se adaptaban a los intereses del público.

En 1994, Sega Games invirtió 40 millones de dólares en Atari, obteniendo a cambio todos los derechos de patente. Finalmente en 1998, JTS empresa que había comprado Atari en 1996 vendió todos los derechos a Hasbro Interactive.

Introducción a la programación en C (XII)

 Vectores o arrays



¿Qué son los vectores en C?


Un vector , si queremos formalizar el concepto, es una colección finita de elementos del mismo tipo, cada uno de los cuales está definido por un índice.


Imagina un tren compuesto por un número definido de vagones , cada vagón está identificado por un número y en cada vagón es posible insertar algo. ¡Bueno! En “C” somos capaces de crear trenes que de ahora en adelante llamaremos arrays/vectores.


Su estructura es la siguiente: <tipo> <nombre_vector> [<tamaño>]; Aquí hay un ejemplo de un vector de números enteros de tamaño 5.

#include <stdio.h>

int principal () {

   vector int [5];

}

La declaración es similar a la de cualquier variable. Además, a lo ya aprendido, se agregan corchetes donde se debe ingresar dentro de ellos el número de elementos presentes en el vector.



Inicializar un vector

Para inicializar/rellenar nuestro vector podemos seguir dos formas:



    • El primero es definir el tamaño del vector y luego rellenarlo.

#include <stdio.h>

int principal () {

   vector int [4];   

   vector [0] = 1;

   vector [1] = 2;

   vector [2] = 0;

   vector [3] = -2;

}

    •  La segunda es no definir la cantidad sino inicializarla en la declaración. De esta manera, sin embargo, se definirá una cantidad.

      

Después del igual, se abren los corchetes y se dividen los elementos con una coma. Cuidado con el punto y coma, sigue siendo una declaración de variable.

#include <stdio.h>

int principal () {

    vector int [] = {1,2,3,4}; // inicialización y declaración

}

Sin embargo, el primer caso se puede llenar de la misma manera que el segundo. Lo único que no se puede hacer es no definir que tamaño va a tener.


El número que define el tamaño del vector corresponde exactamente al número escrito, es decir si ingresa el vector se compone de 2 elementos, cuando desea inicializar cada posición con un valor (como en el caso 1) el índice comienza desde 0 y no desde 1.


Entonces, si "vector" está compuesto por dos elementos [2], la inicialización será v [0] = "algo", v [1] = "algo" y no v [1] y v [2]



#include <stdio.h>

int principal () {

  vector int [2] = {22, 33};

  printf ("contenido del vector en la posición 1 =%d \n", vector [0]);

  printf ("contenido del vector en la posición 2 =%d \n", vector [1]);

}


Introducción a la programación en C (XI)

 bucles de bucles!



Evidentemente nadie nos prohíbe unir uno o más bucles aunque sean de distinta naturaleza (for of while, while of while…). Lo único importante que hay que entender es cómo cooperan entre sí.

#incluir <stdio.h>

int principal () {

printf ("para de para \n");

for (int i = 0; i <2; i++) {

for (int j = 0; j <3; j++) {

printf("i=%dj=%d\n",i,j);

}

}

}

La instrucción contenida en el "for" externo es en sí misma un bucle y, como tal, no puede terminar su ejecución a menos que primero haya verificado su condición. El bucle for interno, de hecho, termina cuando ha ejecutado su instrucción 3 veces (j <2). Si observa que la variable “i” permanece durante toda la duración del ciclo interno establecida en 0, solo después de eso se incrementará y solo después de que haya terminado el ciclo interno puede detener su ejecución.


Obviamente, es posible aumentar la profundidad del código insertando más bucles. Mi consejo es no poner demasiados para evitar que el código se vuelva demasiado pesado y lento de ejecutar.


Introducción a la programación en C (X)

for, while o do-while? ¡Este es el dilema!




Comparemos el potencial de las 3 instrucciones realizando este sencillo ejercicio.


Suma de los primeros 10 enteros positivos.

Esto significa que debe realizar la suma 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10. Este cálculo particular se puede interpretar como una ecuación. Si tomamos en consideración solo la suma 1 + 2 se puede calcular como 1 + 1 + 1 o usando las variables:

Si x = 1 e i = 1, la suma 1 + 2 se puede escribir como x = x + (i + 1) . Si insertamos esta operación en un ciclo, aumentando la "i" en 1 en cada reingreso al ciclo, a la décima vez tendremos el mismo resultado que la suma 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 +10.


• for

int principal () {

int x = 1;

for (int i = 1; i <10; i ++) {

x = x + (i + 1);

}

printf ("%d \n", x);

}

• while

int principal () {

int x = 1;

int i = 1;

while (i <10) {

x = x + (i + 1);

i++;

}

printf ("%d \n", x);

}

• do while

int principal () {

int x = 1;

int i = 1;

hacer {

x = x + (i + 1);

i++;

} while (i <10);

printf ("%d \n", x);

}

No hay una diferencia real, los tres son buenos para resolver la mayoría de los problemas que necesitan instrucciones iterativas. El consejo que te doy es que uses el " for" cuando necesites una variable incremental; de hecho, solucionamos este problema en menos líneas de código que usando while y do-while.


Otro posible uso del "for" es poder crear bucles infinitos, pero infinito también significa la imposibilidad de salir del for y cerrar automáticamente el programa.

#incluir <stdio.h>

int principal () {

por (;;) {

printf ("Soy un bucle infinito \ n");

}

}

Uno de los principios fundamentales de la programación en C es que un programa comienza y termina en un tiempo definido (puede ser largo pero tarde o temprano terminará), con este procedimiento el ciclo infinito no permite la terminación natural del programa.

Para detener un bucle infinito, necesariamente debe finalizar la ejecución presionando la tecla "detener" de su IDE.


Sin embargo, estos errores no se dan solo con el uso del for (;;), basta con confundir la condición de evaliación de un bucle (ya sea for o while...) para que por arte de magia se atasque en un bucle infinito.


Pausa y parada de un ciclo.

Para resolver el problema de los bucles infinitos, es una buena idea detener la ejecución manualmente:

Piense en un programa que finaliza su ejecución después de que la suma de un número indefinido de números sea igual a 100. Sin saber a priori los números introducidos por un usuario, es útil utilizar bucles infinitos.

para poder salir del ciclo, se utiliza la palabra clave "break" (ya la utilizamos para salir del "case" del "switch"). Una vez alcanzada la suma == 100 invocaremos "break" que detendrá el ciclo.

#incluir <stdio.h>

int principal () {

int x = 0;

int suma = 0;

printf ("Suma x números hasta llegar a 100 \ n");

for (;;) {

printf ("ingrese un número: \n");

scanf ("%d", &x);

suma = suma + x;

printf ("suma =%d\n", suma);

if (suma > 100) {

printf ("¡ha superado el límite máximo de 100! \n");

printf ("restablecer la aplicación \n");

suma = 0;

x = 0;

}

if (suma == 100) {

printf ("ha llegado a 100 \n");

break; // cuando se llega a 100, el break sale del ciclo

}

}

printf ("Salí del ciclo for porque se invocó la instrucción break \n");

}

La construcción de un menú iterativo en C

 La construcción de un menú iterativo en C



Gracias a la instrucción switch, que vimos anteriormente en el blog, podemos crear una especie de menú que nos permitía realizar ciertas acciones predeterminadas. El defecto de este programa es que cuando termine de realizar una acción (sumar, multiplicar, etc.) el programa finalizará su ejecución.

Con el bucle do-while podemos solucionar el problema.

Ejemplo : Una calculadora que realiza las operaciones de sumar, restar y multiplicar dos números.

#incluir <stdio.h>

int principal () {

int menu_choice;

float a,b,result;

printf("Calculadora v.1.0.0\n");

printf ("1 - suma dos números \n");

printf ("2 - resta dos números \n");

printf ("3 - multiplica dos números \n");

printf ("4 - salir del programa \n");

printf("\n");

do {

printf ("¿Qué acción desea realizar? \n");

printf (">>");

scanf ("%d", & opción_menú);

switch (menu_choice) {

case 1:

printf("\n");

printf ("insertar valor en:");

scanf ("%f", &a);

printf ("insertar valor b:");

scanf ("%f", & b);

printf("\n");

result = a + b;

printf ("resultado:%f\n", result);

break;

case 2:

printf("\n");

printf ("insertar valor en:");

scanf ("%f", &a);

printf ("insertar valor b:");

scanf ("%f", &b);

printf("\n");

result = a - b;

printf ("resultado:%f\n", result);

break;

case 3:

printf("\n");

printf ("insertar valor en:");

scanf ("%f", &a);

printf ("insertar valor b:");

scanf ("%f", &b);

printf("\n");

result = a * b;

printf ("resultado:%f\n", result);

break;

case 4:

printf ("Salí del programa \n");

break;

default:

printf ("ingresó una opción no válida \n");

break;

}

} while (opción_menú! = 4);

}

Explicación del código para las líneas:

• 4 - 7 , instala las variables que necesitará dentro del programa. dos variables (a y b) de tipo float para gestionar todo tipo de números, una variable para elegir la operación a realizar (choice_menu) y una variable que guarda el valor del resultado.

• 9 - 14 , imprime las características de mi menú en la pantalla.

• 17 - 20 , una vez ingresado el "do" empiezo a adquirir los datos del teclado para la operación que desea realizar. Esta adquisición debe colocarse dentro del bucle do-while para permitir que el usuario elija posteriormente otras operaciones para realizar.

• 22 - 63 , una vez adquirida la elección a través del teclado, el switch realiza el case concreto. Tenga en cuenta que el mismo código se repite en cada case, solo cambia la operación que realiza.

• 64 , después de ejecutar uno de los “cases” pasamos al “while” si el valor de la elección es diferente a 4 entonces se seguirá ejecutando a partir del “do” hasta elegir la opción 4.


Introducción a la programación en C (IX)

El bucle For en C



La sintaxis del bucle for es la siguiente:

for (<inicialización>; <condición>; <incremento>) {

<instrucciones de bucle>

}

• <inicialización> Se instancia una variable (se le debe dar un valor) que tenga en cuenta las repeticiones del bucle. generalmente es una variable entera y se suelen utilizar los siguientes nombres "i", "j", "k".

• <condición> La condición por la cual el ciclo sigue repitiéndose. como para el while o el do-while.

• <incremento> Esta instrucción determina el comportamiento de la instrucción instanciada en la instrucción 1. En general, la variable se incrementa o se reduce en cada ciclo según sea necesario. Los incrementos más utilizados son variable ++ o variable -- .

así es como se convierte en el ejemplo en la impresión de 10 "hola mundo" con el bucle for:

#incluir <stdio.h>

int principal () {

para (int i = 0; i <10; i ++) {

printf("Hola Mundo\n");

}

}


Como queremos imprimir 10 veces, nos conviene instanciar una variable en 0. El ciclo continuará hasta que "i" sea menor que 10. En cada paso del ciclo, "i" aumentará en 1. No se debe poner <= porque de 0 a 9 hay 10 pasos.


Nos trasladamos

Blogger se nos queda pequeño, así que este blog migra a  jujubegames.com