It’s been a while since i made a true “update” on this blog post. Truthfully, a long has changed since then.
AI is now commonplace and myself as a programmer would be foolish not to make use of it, even if the output is sometimes totally unreliable (which is not hard to check).
Still, this is better than posting on a forum thread that may not even get a response back.
This is a homebrew game for NEC PC-FX and Casio Loopy that i’ve been working on for several months now. I wrote a basic 3D renderer at first that would render a cube on screen to determine performance and thought it should be possible to make a game out of it. My first thought immediatly was to make a Tetris game out of it because :
I made a few mistakes while designing the game, namely the fact the source code is not flexible enough to work with IO mapped hardware buffers like the PC-FX. I since made another 3D test which showed significant gains doing so while having more complex geometry onscreen. Unfortunately the game’s design makes it somewhat unsuitable because the hardware isn’t really capable of rendering more than 40 faces without choking.
Granted, my 3D routines are far from perfect, and the PC-FX’s multiply is 13 cycles long. I only managed to avoid the division’s 38 cycles cost with a LUT but that brings me only a boost of 2 FPS on the CPU side of things…
On Casio Loopy, the lack of 32x32 multiplier really hurt performance… This is why i went with Q8.8 in the first place but i was still using 32-bits integers. I have since added an option to use 16-bits integers for most of the game and it brought back the performance a bit, though it’s still behind the PC-FX, partly because i don’t know how to use DMA on that thing.
I’m experimenting with an Amiga CD32 port but currently, it reaches 6 FPS on titlescreen with spinning cube. The CD32 is so bad that even my text routine would have a big enough performance hit to halve performance of the spinning cube. I had to render the text below it and only once after titlescreen is rendered to avoid the performance penalty.
After i released Alpha3 build of Cascade FX, i was wondering how an actual 3-D Tetris would play out. I had briefly played 3-D Tetris on Virtual Boy and thought it was a huge mess. But maybe it could play better on a modern platform ?
This is my answer to it. The game makes use of three.js library and also features a small story mode. The game is part of codelwarus’s recent game compo and guess what ? My game and another unfinished one are the only entries ! Oh well, i may do a full release once juju reviews the game.
(It does require WebGL2 and optionally WebGPU)
This one hopefully may become a bigger project someday… But right now, it’s able to execute a few basic Canvas examples that use drawImage and stuff. It’s also capable of reading the HTML file, gathering the main javascript file and executing it along with doing a list of all document images and fill out the array (which a few games do make use of it).
This doesn’t implement the DOM API and a few games do make use of it but i’m not sure if i should bother. (Using DOM back then was very common and used for performance reasons, Canvas was not yet performant. Obviously, this changed.)
It’s also able to boot into a stripped down build of Rubby Bird HTML5, there’s no input or sound but that will be my priority next.
A port of llama.2 to the Dreamcast, it is provided with TinyStories 262K model. It currently runs at about 37~50 tokens/s while making use of FMAC/FSSRA instructions, not bad.
Not bad but this is more of a toy and the Tinystories model is a bit meh and sometimes generates giberish.
This is a basic r34 downloader/interface for the rule34.paheal.net website. They broke it recently as they started spinning up their own proper domain for images so i had to update the program accordingly and also took the time to improve some of the routines. Be warned however as currently there’s no way to detect the file extension without downloading pieces of it first. (i’m assuming JPEG right now)
I worked on this last year and while it doesn’t feature VMU saves, it does feature the full EasyRPG engine. I got some help from Ghabry on the performance side of things and it greatly helped with performance on the Dreamcast. Unfortunately, this will someday need an OpenGL backend for best performance because we’re running out of RAM and the VRAM basically sits unused.
Download some of the games here
There’s also other stuff like Anarch for Casio Loopy being updated to work properly, retro8 getting a slight update, skifree port with 960x960 resolution support, Quake for the PC-9821, the Kidnapped Innocence game (i already talked about it previously) and probably some i forgot as well.
I invite you guys to check out my github, thanks for reading and bye !