After two years of the crowfunding attempt to be able to manufacture one hundred units of The Banketh, this April I have finally returned to the project.
As you know, the aforementioned crowfunding stayed at a thousand euros to achieve the goal and had to give up. After this, I disregarded the project and got involved in others of lesser depth, although equally difficult and laborious, where I was able to learn new things and develop better in the programming techniques to take advantage of the console.
Right now the Banketh project has been redone, taking advantage of the original code as much as possible, but making very important base restructurings.
IMPROVEMENT OF BACKGROUNDS CREATION:
Among the improvements we have the metatiles inclusion to form the scenarios. Before I used the tool to create backgrounds and sprites NEStool, from Shiru. This tool made it possible to create our graphic tileset easily, and allowing to save raw and compressed backgrounds, than the CC65 compiler, understood and then expressed in our final development. The downside is that in the end consumed a lot of space in the ROMs we have for our video game, and used again and again tiles that we repeated constantly in each background. Come on, that everything less optimal.
Now we have created a system of METATILES of 16x16, where we use the tiles that we need to create these metatiles. This generates an address file forming a hexadecimal array that represents these metatiles, which we can then use to create our screens thanks to the Tiled map editor. This gives us a range of possibilities and we managed to compress A LOT the space destined for backgrounds that The Banketh had.
In addition, the space for the marked lives, points, etc ... that was repeated on each screen, now only read once and repeated where we want, which helps to further compress the space.
To show an image:
This was the space reserved for the five original levels of The Banketh's beta in 2016:
This is the current space using the same five levels taken from the beta of The Banketh using the metatile system:
As you can see, the space used is WOW, which allows it to be used to create even bigger and more complex levels, add new ones, improve them, put better cutscene, etc ... Whatever comes to your mind.
Now I'm still using the NEStool tool from Shiru, but only to create the tiles and in any case capture backgrund tests to see how the graphic creations are on the screen, before creating an array of final metatiles. Apart from this, I still use it for the creation of sprites and frames of animations, which is very good.
IMPROVEMENT OF COLLISIONS:
The collision system has been partially changed. The way in which our sprites interpret the map where they have to move, but with improvements is preserved.
The mapping of collisions, which was previously a file independent of the background that was loaded after this in memory, now with the same fate, associating each metatile created a data type of "colision", "no_colision", of so that it is read only once, it gets into memory and the machine already knows that metatiles collide and which do not.
In addition, thanks to the library nesdoug
we use the function chek_collision(), written in assembler, for the collision between sprites. Before I used a code written in C for this same function, but it consumed many resources and gave some problems (sometimes, it is not known why, there were invisible collisions in the map) that have now been solved.
IMPROVEMENT OF BOSS LEVEL 2:
Right now I'm going with this on my hands. In the original beta of The Banketh, the boss was a helicopter with three attack routines. This did not make much sense, since all the enemies are mere mutants, even the bosses, and the helicopter was an easy way out that I found at the time to finish the project on time.
Now it has been changed by a giant city pigeon, which... I think you'll like it. It is not finished yet, but it looks very good:
NOTE: This text is translated with Google Traslater from Spanish