(MSX Game Series, part 2. Original in Spanish HERE)
The “game” has turned into an “Engine”!
Instead of hardcoding the levels and scenes of the game, I made it adaptable where the game is written in an easy and interpretative language, and the game engine will execute the trans-coded game in bitcode (machine code). Here’s some infographics I did for the game then:
The next step was to add the Start Screen. Something provisional, but allowing the game to start the sequence of scenarios, also check the VRAM status. Also, I improved text printing, adding line-breaks between words and not between characters.
Next is to implement the functionality to run sequences (game levels) one after the other, and let automatic level succession.
Aside, the “game compiler” (to encode descriptive language to bitcode) now includes an optimizer for bitcode placement in ROM, packing level’s code in fewer pages, reducing ROM size. Next step is optimize assets placement (images).
And last for today, I made a first attempt of splash image, using the mini-tile encoding used for backgrounds, creating a 500 Bytes image from a 12 KBytes of the original. now I’m trying to compress it even more.
And up to here today’s updates on the game development. More in the next weeks.
(MSX Game Series, part 1. Original in Spanish HERE)
Since some time ago I had in mind to create a game for MSX machines. Obviously a game with “funny cartoon animals”, this is, “furries”. And after more than 90 days in lock-down (around June 2020), I decided to learn the architecture of those old computer, and now things started to work.
(Note: I’m dumping here what I published then in Twitter, for keeping record of this, out of the whirlwind of sh*tposts on that social network.)
Everything started in the last meeting of the Reunión de Usuarios de MSX (RUMSX, January 2020), where I met incredible people developing games for that machine, that even being that machine old and having more years than myself, they still create content with those limited CPU, memory and sound resources. So I started creating a game too. From reference manuals, the first thing was to create a “core library” with standard functions in Assembly and C, and from there build the game. Just to mention that @PresidentFubu was also behind this, providing me examples and links of MSX stuff.
Here some examples of character creation, using a 16 color palette, with 4 bit per pixel in “Screen 5” mode (aka “Graphics 4”). I only have 32KBytes to store code, assets and music, so images must be compressed as “tiles”, although screen mode 5 is bitmap oriented. All saved tiles must be uncompressed as BMP in RAM to be copied into Video RAM (VRAM).
First advance: Toying with VRAM I can already upload encoded images as tiles, occupying less ROM space but using CPU time to expand in RAM and upload to VRAM. For this, I had to do tests on data moving ROM – RAM, ensemble the images, then copy to VRAM. All using extensions of the core library, also optimized tile functions and a memory heap.
Second advance: Putting background scenarios, that will be larger than character BMPs, but can be simpler. For the one in example, 3 different tiles are used, each one with 1 color + transparency, simplifying the number of bits for encoding the full image. Also, Huffman compression and symmetry can be used, and the here shown background uses 150 Bytes instead of 450 Bytes for the BitMap file.
Asside, I’m creating more characters. Here I intended to create a chinchilla, but I got a hamster instead… I’m trying different color patterns for the characters, making her clearly different from the other characters.
Third advance: I’ve been busy trying to expand the core library to use a third page from ROM (+16KB), and now the ROM allows 48KB, where I can use a full 16KB page for images and sound!
I’ll be updating with more stuff as the development advances.
I wanted to use some time to draw another issue of JRS (my webcomic), but instead drew Regina Firefox. (All my capacity, energy, attention, time… are taken away in my 24/7 job, and have no time to think on story lines, practice, etc…! Help!)
Bon Any Nou / Happy New Year / Feliz Año Nuevo 2021!
After 2020, hope for a better 2021! Let’s make ‘saving throws’ on ‘strength’, ‘constitution’, ‘intelligence’… (but also ‘wisdom’, ‘charisma’, ‘dexterity’, ‘sanity’… and everything!!!!) for each thing that happened this past year.
I’ve been playing DnD recently, and my character Linden (a Tabaxi, Cat-Folk) has a notepad to take notes and sketch the adventure… So this had to happen! The adventure records will be all NITW style…ish
Those are from the 1st session (if we can consider a “session” on a Discord asynchronous play). Players/Characters arrive and present themselves, also the bad guys.
Third (point five) scene of the “Squirrel Girl awakening”, continuation of the third scene. “This… is me… now?” moment. Here’s the normal and NSFW version (I should find a plugin to hide by default and show by demand the second version Fixed).
I’m keeping on the “study” on poses and scenes, at my own pace (as life dictates day by day). I’m going to prepare the fourth scene, as a continuation in the kind of “conformation/desperation/confusion”.