¿Cómo se desarrolló la primera generación de juegos de Pokemon?

En primer lugar, no he trabajado personalmente con nadie en Pokémon, por lo que todo lo que digo es especulación.

Dicho esto, hay bastantes cosas que podemos inferir en función del funcionamiento del desarrollo en ese momento. Los juegos originales de Pokemon fueron escritos en lenguaje ensamblador, lo que, para aquellos que no están familiarizados con la programación, está apenas a un paso de la codificación en binario puro: es decir. los pequeños 1 y 0 que componen cada programa de computadora.

Tuve un poco de problemas para encontrar información sobre el espacio de almacenamiento, pero por lo que puedo decir, la capacidad de almacenamiento de cartuchos de Game Boy apenas excedió los 2 megabytes (si alguna vez), con una estimación más precisa de alrededor de 1.125 megabytes. El espacio aumentó con la llegada de Game Boy Color, pero los juegos de Pokémon son anteriores al GBC en dos años. Pokemon Red tiene un tamaño de aproximadamente 375 kilobytes, que en realidad es relativamente grande cuando miras otros títulos lanzados para Game Boy. Link’s Awakening solo pesaba 296 kilobytes, y Final Fantasy Legend III solo 192 kilobytes. Estos juegos, junto con muchos otros títulos, utilizaron un sistema gráfico basado en mosaicos para ahorrar espacio.

Puedes apostar con bastante seguridad que gran parte de ese espacio se destinó a los sprites del juego. El juego tenía que presentar los 151 sprites originales de Pokémon (parte delantera y trasera), 46 sprites de entrenador, muchos sprites del mundo exterior (piense en sprites para caminar en cuatro direcciones diferentes para aproximadamente 40 personajes diferentes), así como todos los sprites utilizados para los diversos Efectos de ataque. Todo esto estaba por encima de lo que era común a otros juegos, como el mundo basado en mosaicos mencionado anteriormente, íconos de elementos, un sistema de mapas y menú.

La mecánica del juego también era bastante compleja, con efectos de estado, ventajas de tipo y desventajas para 15 tipos distintos, 165 movimientos diferentes y una versión aproximada de lo que se convertiría en el sistema EV para el entrenamiento de Pokémon en juegos posteriores.

Todo esto se suma a montones y montones de líneas de código en lenguaje ensamblador. Para comprender por completo lo difícil que puede haber sido esta tarea, busque en Google “lenguaje ensamblador”, lea un poco, vuelva aquí y vuelva a leer todo lo que los juegos de Pokemon tenían que incluir, y debería poder dibujar su conclusiones propias

Como dije antes, no trabajé con el equipo de Game Freak para hacer estos juegos, así que no puedo hablar de cosas como el entorno de trabajo, acostumbrarme a las tecnologías emergentes, cuántas personas había en el equipo, etc. Personalmente, me encantaría saber de alguien que estaba en ese equipo, para discutir estos temas. Pero en cuanto a responder preguntas sobre lenguaje de programación y espacio de almacenamiento, esto debería tenerlo cubierto.

Fueron escritos en la Asamblea Z80. Ahora, algunas personas le dirán que esto significa que lo escribieron en código de máquina, que es casi tan difícil como escribir los 0 y 1 literales del programa binario compilado; esto es una mentira.

Sin embargo, no está lejos. El ensamblaje es lo más parecido al idioma nativo de una máquina determinada, ya que un humano puede escribir razonablemente, ya que generalmente le da un comando o palabra para cada operación que el procesador puede realizar naturalmente. Sin embargo, puede usar atajos. Puede, por ejemplo, definir variables en el ensamblaje, etiquetas que hacen referencia a valores específicos. Puede definir etiquetas para bloques de código a los que se llamará cuando se haga referencia a ellos. No necesita saber la dirección en la que terminará un bloque de código; en el ensamblaje, puede apuntar a la etiqueta, pero en el código de máquina necesita saber la dirección.

Además de esto, hubo muchos desafíos. Jun’ichi Masuda ha dicho: “… fue una lucha contra la capacidad, una lucha contra lo que podíamos encajar en el cartucho”. Por ejemplo, había más de 200 Pokémon diseñados para los juegos originales, muchos de los cuales fueron descartados por razones de espacio y tiempo. Y luego, después de todas las luchas por los datos del mapa, los gráficos de pokemon e incluso la historia se resolvieron, llegaron a un nuevo inconveniente poco después:

Cuando Nintendo quería lanzar el juego en inglés, tuvieron que luchar nuevamente con el script y las limitaciones de datos, ya que iba a tomar casi el doble de memoria, usando un cartucho aún más grande, que el lanzamiento original. Por supuesto, esto les permitió refinar algunos de los gráficos (muchos Pokémon habían mejorado significativamente las ilustraciones en Pokemon Blue, y los juegos internacionales construidos sobre su motor y gráficos actualizados) gracias al tiempo, pero ahora tenían que encajar un nuevo script en , y actualiza el juego con casi todos los textos que ocupan más espacio del que tenía que comenzar.

Pasaron 6 años luchando contra el sistema para obtener todo lo que querían en el juego, luego lo refinaron y luego lo prepararon para idiomas no japoneses.

Estoy bastante seguro de que fue escrito en C.