A way to make NES game of only '40 KB'
Family computers released by Nintendo in 1983 produced a number of masterpiece games, but these are low image qualities that are not comparable with current games, and the data capacity is kept quite low. When thinking about making games for such Nintendo, it seems that it is necessary to store data only about 40 KB, and game secrets Morphcat Games explains the secret for that.
How we fit an NES game into 40 Kilobytes - YouTube
8-bit wind retrography screen
From the controller, you can see that the NES of the overseas version NES is playing.
Such NES and NES have game capacity of only about 40 KB. Even though it is said that "40 KB" in the era of smartphone storage is several GB, I think that some people do not come with pins ......
Speaking of MP3 music data, it corresponds to just 2 seconds.
The data capacity of NES game released in Japan 25 years ago from now is only a little bit.
That masterpiece game " Super Mario Brothers " also had only 40 KB. There are many people who have experienced playing once because it is a game appearing on various game machines, but I do not imagine that this is just composed of only 40 KB of data.
Morphcat Games, a game developer, thought about developing a new game for such Nintendo. It seems that we aimed to make it possible to correspond to run & gun , and multiplay though the game type that we conceived.
When you disassemble the NES cassette, there are boards and memory inside.
The CPU of NES adopted "6502", and it worked with assembler . The capacity of 40 KB of cassette ROM is " CHR - ROM (charcter ROM)" containing character data of 8 KB, " PRG - ROM (Program ROM)" containing code and other data for the remaining 32 KB.
The data that needs to be contained within 8 KB can be divided into two, " sprite " with motion and "background". If you think that both "sprite" and "background" data can record 256 kinds of dot picture of 8 × 8 pixels.
If the capacity of the 16 × 16 256 square on the left of the screen allows you to save the sprite, you can record a pixel picture of 8 × 8 square on the right side of the screen per square ... ...
By synthesizing four pixel pictures, it becomes possible to express one character. This is a metapright.
In NES, four colors can be specified for each sprite, so if you reflect color information in metapright, you can also prepare color variations as below.
However, there is a technical restriction that "Nine sprites can be displayed on the same horizontal line" in the NESCON, and if you display 4 characters + enemy character as follows, it is the same There are 10 sprites on the horizontal line, which makes it impossible to display.
So, Morphcat Games decides to display characters in sprite instead of displaying them in metaprice.
Even when you are playing 4 people, there are only 5 sprites on the same horizontal line, even enemies, so you will be able to play games without worrying about technical limitations.
Taking Super Mario Brothers as an example, when expressing a character with metapright, Mario's graphics alone occupies about one-third of the data capacity to sprites ... ...
If it is a method of "expressing one character with one sprite" taken by Morphcat Games, it is possible to drastically reduce the data capacity of the main character as follows.
Enemy character becoming important in the game of action things. This is of course also included in the sprite. As expected, the enemy character is bigger than the character operated by the player, and it is represented by big metapright with 4 meta sprites combined.
This enemy character is represented by 15 kinds of pictures as follows ... ...
If you try to save this as is, it is certain that you will exceed the data capacity allocated to the sprite.
So divide the enemy character vertically into three as follows ...
Check the difference for each part. It is a picture of 15 types of enemy characters, but the difference is 3 ways when looking at only the head part.
Furthermore, this is broken down for each sprite. The left end of the head is all the same data ....
It is ok if only one is left.
Furthermore, if you invert left and right, you delete data that will be in the same shape ....
The movement of the head part of the enemy character can be expressed with how many four sprites.
In the same way, with face parts ......
Hirahira parts also delete useless data.
It is obvious that enemy characters can be represented with only 21 sprites.
Given that you can only save 256 different sprites, it's obvious that you are saving a lot of data, so you can add more characters and objects.
Next, about the "background" part.
Representing the background using 32 × 32 kinds of picture of 8 × 8 pixels ...
Including color information requires 960 bytes of procedure.
However, when using 16 × 16 pictures of 16 × 16 pixels, it is 240 bytes. If you use 8 × 8 pictures of 32 × 32 pixels, it will cost only 60 bytes.
In this way, you save the amount of data needed to display the background.
Still 60 bytes in the background alone means that it is too big for the whole game ... ...
It is proposed to cut data by cutting the map in half in the left and right and inverting the left and right like a mirror. That way it takes only 30 bytes to take 60 bytes ... ...
It is rejected that all maps are symmetrical and not interesting.
8 × 8 kinds of pictures (meta tile tile) constituting the map ... ...
It is represented by 1 byte, that is, 8 bits.
8 bits can be represented by eight numbers of 0 or 1.
For example, the following meta tile can be expressed as follows.
However, because the number of meta tiles used in the background is small, even if all kinds are represented by 8 bits, I notice that one bit of the head is unused.
Therefore, in the case where the total of eight basic positions of the four meta tile tiles arranged on the same horizontal line and the mirrored meta meta tile represented by left-right reversal are set as follows ...
Morphcat Games comes up with an idea to create a background that is not symmetrical by shifting the background sideways using 1 bit x 4 that was not used.
As a result, a map which is not symmetrical is completed while saving data.
By saving the data so far, Morphcat Games is now able to add hard mode to just 40 KB of games. Speaking of normal hard mode, enemies become strong, but ....
Morphcat Games decides to express the hard mode by changing the color palette to use and changing the level design.
And by focusing only on the parts that make changes on the map, we succeeded in eliminating the need to recreate the map from a moment.
Then the completed map for the hard mode is the map on the right below.
Like this, while Morphcat Games conserves data, it created a new game for NES, "Micro Mages", created at the time of article creation and Kickstarter at the cloud funding site is recruiting investment at the time of article creation I will. The target amount of the project was 15,000 euros (approx. 1.9 million yen), but already more than 40,000 euros (about 5 million yen) has gathered, so it is nearly certain to commercialize it. The download version of Micro Mages is available with a capital of 8 euros (about 1000 yen), and there are also other investment plans that can obtain physical cassettes.
The investment in Micro Mages is until October 5, 2018 17: 23.
Micro Mages: A new game for the NES by Morphcat Games - Kickstarter