MAIN | ABOUT | PROJECTS | FILES
The Domain of Silanael
2025-08-01-WIP
SART | FHC/FS | Project R26 | Chaos Warehouse | MadCar | CPG | TDOS |

PROJECTS

SART

TypeContent discovery, statistics and management-utility for Arweave
PlatformWeb
Written inJavaScript
StateIN DEVELOPMENT

SART is web-based Arweave-utility for content discovery, statistics and management (CDSM) designed to suit the needs of tech-savvy users. Its current capabilities are limited to querying transactions (albeit with advanced sorting and filtering) and do some basic data-analysis on the results.

What I envision the project to be is a versatile utility that can be used to explore and analyze content in Arweave in a dynamic, extendable fashion (think of WASM-based plugins for viewing file formats) as well as used to publish your own in a controllable fashion (with full control over the transactions posted along with a staging-area). While it would be nice if the upload-features brought some profit, I'm primarily developing SART to meet my own needs, as a stepping-stone and support for more advanced Arweave-related projects.

Inspired by frustration originating from ArDrive's technical deficiencies, I originally started the project to be able to view my ArFS-formatted files on Arweave when the aforementioned service not only failed to show them, but lost entire drives (due to no one in the design team having stopped to think what would happen if only one transaction of the metadata/data pair was successfully mined - this was before bundles were a thing).

Starting its life as a node.js console program, I eventually moved the project aside when ArDrive's most prevalent issues were attended to, but once it started failing to load my drive listing once again, the work was resumed - this time with web as its platform. It's still very much in its infancy, but 0.6.0 (that I will publish after going live with this new iteration of TDOS) can already be used to get some analytics-related work done and even act as a rudimentary replay-viewer for StarGrid - how kewl is that?

FHC/FS

TypeGame
GenreArcade
PlatformAndroid
Written inJava
StateOn hold

Reaching for the stars proved to be the one of the worst mistake the humanity had ever made...

Starting out as the most simple unique game concept I had in my head just to get started with game development on Android, the project ended up bloating significantly to the point of being on the way to become my magnum opus. Originally being a mere particle accelerator -themed arcade game with some added tactical elements, FHC ended up becoming the vessel of the most important story I want to tell along with the emotions that I want to convey - the emotions most strongly connected to my fractured soul. With this, the concept expanded to be a story-driven venture where player choice matters.

Along with this ultimate capsule of my soul, I'm also envisioning to leave a living world behind, one that would continue along its own path even after I'm gone. This world might end up being a dark and terrifying place, yet also carry some hope and meaning where there was none before, this darkness making the light shining in it even more beautiful, even if the consequence for your defiance was meeting your companions in a place where no shadows fall.

???
Awakened
All is well now (.flac)

Project R26

TypeGame
GenreArcade
PlatformWin32 (XNA) / Android
Written inC# / Java
StateOn hold

Being the first game I had a working prototype of since MadCar, PR26 started out running on win32 on XNA (a C# framework), completely rewritten from scratch three or so times as I ported it to Android and then rewrote it a few years ago - my projects have always suffered from this along with project-hopping as I've found myself spending more time refactoring things (though most often SILAXE) than working on the actual gameplay.

This one would fall into the arcade-genre as well, sporting an unique game mechanic I came up with back when I was most interested in nuclear reactors (still am), yet I'm hoping to use it to tell yet another story; while FHC takes place in distant future, the setting of PR26 is more related to the current times, and, if I go along with the plan, would act as my political statement and warning of how wrong certain things can possibly go.

It would seem that people have started to awaken to this already, voices louder than mine having reached their ears, yet I feel the desire to do my part nonetheless.

Chaos Warehouse

TypeGame
GenreArcade
PlatformAndroid
Written inJava
StateOn hold

CW was my first game prototype on Android, the gameplay-concept originating from my time of working at a warehouse. Things were rather hectic and unorganized to say the least, having to suddenly deal with a delivery of dozens of pallets when the warehouse was already so full that even the corridors were occupied. Stressful times, but at least it turned into a fun game that I will one day finish.

This one has the least story elements when it comes to the three unique game concepts I have, so it would make sense to finish it first, yet it is also the one that I'm planning to have the most Arweave-interaction with (excluding the two games completely based on it) in form of player-made content (maps and tilesets) that might even be sellable, so we'll have to see.

MadCar

TypeGame
GenreArcade / Driving
PlatformMS-DOS
Written inBASIC (QBASIC dialect)
Compiled withQuicBasic 4.5
Year released1998

This is the first proper game I've ever made (if not counting a few text adventures and other BASIC-scribbles), one that is about driving over fat guys - a product of the mind of a 12-year-old, a concept rather tasteless especially in light of what some members of a certain religion have been doing - but if you look past that, the gameplay is pretty fun, the game having managed to attract a playerbase consisting most of my class (there was a computer in the classroom that we were allowed to use during breaks).

For the longest time, I sought to erase my deadname from the existence, going as far as to recompile this thing just to get rid of it, but I've since then come to prefer historic accuracy over such shenanigans - at the end of the day, that name was an undeniable part of my past.

HOW TO RUN

  1. Download the disk image and save it as madcar.img.
  2. Start DOSBox (download from dosbox.com)
  3. Run as follows:
    Z:\>imgmount -t floppy a: <path to the disk image>
    Z:\>a:
    A:\>madcar
  4. Set the CPU-cycles to anything between 10000 and 52000 using CTRL+F12 or equivalent


The game should be playable on other software emulating MS-DOS as well as on PC/x86-emulators that are capable of doing mode 13h.

A Win32-version also exists (that compiled from the original source code with only a few modifications, I think with QB64?), but I'm not going to reward the laziness of not wanting to go through those few steps with a direct link.

For the truly curious ones though, here's MADCAR.BAS (QB45 binary format) and MADCARTXT.BAS (might work on QBASIC) - inspect at your own peril.

TRIVIA

  • Being unable to stop the car was originally a bug, yet it became the defining gameplay-mechanic.
  • The high scores -system is rather unique as well as it overwrites entries instead of pushing the old ones down :P
  • Even while the game doesn't use any pre-made bitmaps, rendering everything with QBASIC's graphical commands, it does make things a bit faster by buffering the graphics for game objects into arrays that it then blits into A000 (might have used some draw-command); you can see the game drawing it onto the screen briefly before entering the main menu - it's easier to see when setting low CPU-cycles (100 or so).
  • The car, on the other hand, is a vector-based, drawn by rotating four points with SIN and COS (I felt so smart doing this), drawing lines between them and filling the inside, the same done for the windshield and rear window.
  • Another performance-optimization was to only draw the changed things (as was a common practice back then) by storing what's under objects in video buffer before rendering them, restoring that graphical data before redrawing in the new position. I somehow messed this up so that the offset is wrong, so the car distorts the graphics (such as blood and the game border) when hitting them. Now that I think of it, the inadvertently-created bending/blood-scattering effect is pretty nice to have.
  • 'WAIT &H3DA, 8' was supposed to wait for VBLANK, yet I can't remember if it ever actually worked on real hardware - on mainline DOSBox (v0.74), it seems to cap the frame time but doesn't do anything to the flickering. On DOSBox, both the dynamite and the palette rotation for the explosion are also yellow for some reason - it was intended to fade to white, which I'm pretty sure it did on a real system (ET4000?). The "game over" text, however, is supposed to cycle all the colors.
  • Before I got my hands onto QuickBasic 4.5 (QBASIC was a limited interpreter-only version that came with DOS), MADCAR.EXE was actually a BAT-file converted to an executable (the name of the utility escapes me), which temporarily renamed two (.DAT?) files, one of which actually being QBASIC.EXE with the other one MADCAR.BAS, running the game and then renaming them back afterwards. I did this little bit of obfuscation to prevent people from checking and altering the source code.
  • Speaking of the mallard, the variable and function names are rather.. unique. If you want to see what I saw when writing it, the correct encoding is CODEPAGE 850 - one should see characters 'Ä' and 'Ö' here and there (but not 'Å' or any other accented ones).
  • The game was written on a Pentium 90MHz ("Sephiroth"), so 52000 CPU-cycles in DOSBox should result in equivalent speed, though running it at 10k cycles feels more like how I remember it - maybe the school computer was a 486 or so, or it has just been too long since I ran it on actual hardware. For fully authentic experience, run the thing on 6.22.
  • Bulis is totally a fictional character, absolutely not inspired by a guy that was in a habit of sitting on top of people (don't ask).

Kvantumia

GenreMMORPG
PlatformWeb / Arweave
Written in???
StateTo be announced.

A Compilation of Promiscuous Garbage

TypeWeapon
PlatformWeb
Written inJavaScript
StatePHASE I PHASE II PHASE III

CPG (or the "trash-finder" as a certain someone branded it) is a project that seeks to bring some long-term consequences for the actions of a certain demographic infesting an online world that I once upon a time used to belong to of as something other than hate-driven spectral entity haunting it.

The project is effectively an energy source - one that, in absence of better ones, should be capable of sustaining me long enough to get more meaningful things done. It also acted as a practice-project that provided me with valuable practical experience in Arweave/web development. And at this point in time, accumulating further material for it has become something of a hobby.

Despite of being abhorrently slow when working with large amounts of data, the site sported some advanced features such as a media viewer capable of sharing the user's custom-filtered fileset with parameters passed in the URL (I originally planned this viewer for SART but ended up implementing it in CPG first) and a custom indexfile-format that merges the new data on top of a base JSON to keep the upload costs down on small changes.

The website-portion of the project is currently on hold as I've been focusing to get the minimum viable product of SART ready, but some performance and usability-improvements are planned still.

The project has an ArNS-name erp-gallery, but most of the mainstream gateways (arweave.net, arweave.dev, g8way.io etc) eventually stopped serving it - I was curious of whether they'd go that far; indeed, one of the project-goals was to test how well Arweave lives up to its censorship-resistant design-principles in practice.

Even despite of the ArNS-name being blacklisted, the site can still be accessed with its TXID UY6BnI1XlcGsi9VSrOsjfVmWHXvGxu3Ix_p9kaZFdGo for version 1.3.0 - a mirror might also exist at https://silanael.com/cpg/, though even that fetches all the content from Arweave.

The Domain of Silanael

TypeHomepage
PlatformWeb
Written inJavaScript
StateLive

I've always fancied having some kind of webpage to act as a hub for my content, creating my first homepage on AngelFire during the late 90s and building and running a dedicated webserver (Ruins of Midgar) with some friends not too long after.

As the mechanical power-switch sent out its final click, I relocated my personal page into my Cobalt RaQ4 for a while, eventually registering silanael.com, that along with a VPS, served my data for a good decade.

The actual page/site I rewrote from scratch multiple times, the latest of which took place in 2024-2025. It was this latest rewrite that brought it to Arweave, where it will hopefully prevail for long after I'm gone as an echo of a soul that lost too many of its shards.

Planning to archive the old sites to Arweave as well once I add a path-manifest builder to SART and dig up the original files with proper timestamps (a SFTP-transfer without the -p flag messed them up when migrating to my current ZFS-pool).