artsoft wrote: ↑Thu Oct 23, 2025 11:45 am
Wow, that's an impressive list of features! :shock:
thank you! ;-)
artsoft wrote: ↑Thu Oct 23, 2025 11:45 am
Did you do the impementation from scratch, or did you use the GDash source code as a reference for the game engine (which is a really mature BD engine that covers a lot of edge cases just like the old original games did)?
yes, i used GDash code to find out how things should work. as the idea was a "BD Clone", not "BD-inspired game", this was the only way to be sure that it is The Real BD. ;-) Zoltan did great work reversing BD and various clones, and i am really happy that we have GDash now.
i even used object names from GDash (basically, copy-pasted O_xxx enum).
artsoft wrote: ↑Thu Oct 23, 2025 11:45 am
Regarding replays, this sounds like you could also easily play replays backwards, which would be a nice feature (not for really watching replays playing backwards, but for freely navigating back and forth in a replay)! :)
the player would still need to "unpack" the replay. replays are basically lists of events happened during the game frame (so it's something like "delta snapshot"), so they are not well-suited for rewinding backwards. but such unpacking is very cheap, and the player can create "key frames" for faster rewind. i deliberately kept replay format simple (it's just a stream of 16-bit integers: command and its arguments, command+arg, command+arg…). 50-150 kb per replay is not that much these days, and simple int stream guarantees that the player (and various replay analysis tools) could be written in any language, without requiring external libs (like zlib, or some binary serialisation libraries).
i will prolly implement vcr-like controls for replay mode later. (when i force myself to stop playing; because for now it is: "oh, i just HAVE to…
test one more cave, what if it is broken?!" ;-)
artsoft wrote: ↑Thu Oct 23, 2025 11:45 am
Interesting feature that reminds me of the cave messages supported in the Krissz Boulder Dash web site! Do you only store these personal comments locally, or are they stored on a central server, so that others can also see those comments (which would be a cool feature)?
i am not a fan of online things. ;-) but it is not that hard to implement "comment sharing". i collected all games supplied with GDash into one SQLite database (that's where the game list on the screenshots came from), so each game there has an unique id. user comments are stored in another SQLite db, keyed by game id. as game db is supplied (will be supplied ;-) with the game, game ids will be the same for all users, so comments could be shared too.
the engine still can load standalone BDCFF files, though, so i will prolly need a way to extend the database later. maybe i will use BDCFF hashes instead of simple integer ids as unique game ids. i haven't decided on this yet.
artsoft wrote: ↑Thu Oct 23, 2025 11:45 am
proper handling of "left+up" and such keys: Rockford will go in zigzag pattern instead of preferring the single direction.
That's something which I added to the Emerald Mine engine in (my own BD clone) Rocks'n'Diamonds
and this is exactly where i've seen this feature for the first time! do you know that you ruined GDash for me?! i couldn't play GDash anymore without this feature. ;-)
some people might argue that this is "cheating", but i don't agree with them.
and while we are here: thank you for RnD! sadly, i couldn't play it much due to two things: "async" nature and graphics. don't get me wrong, please: this is not your (or RnD) fault, it's my own brain. somwhere deep in my brain there is the hardwired thing: "anything that is not based on tile movement and doesn't look close enough to the original BD is a cheap replica. do not want!" of course, i know that RnD is not that (and it is based on EM, not on BD), but… i never played the original EM; i played DOS Supaplex, and was never hooked by it too, due to "smooth movement".
but i still playing RnD from time to time, because it is such a fun game!
artsoft wrote: ↑Thu Oct 23, 2025 11:45 am
I'm curious to see a first playable version of your new game! :D
thank you. i just need to find the way to make it easy for people to try. it was started as simple Miho Scheme test, and Miho Scheme itself is still in heavy development (i found several bugs in the compiler thanks to Miho Dash), that's why i didn't made the game downloadable. the code is GPL, of course (because it is heavily inspired by GDash).
artsoft wrote: ↑Thu Oct 23, 2025 11:45 am
BTW: Will your game run on many platforms, or only on a certain one?
only x86 GNU/Linux for now. maybe i'll be able to make 32-bit windows build of Miho Scheme, though, and upload the game in that form. Miho Scheme doesn't support 64-bit systems, and i have no plans to change that. it's C for core Scheme engine, SDL2 for gfx, SDL2_Mixer for sound, and SDL2_Image for loading png graphics, so it's mostly portable. i simply don't want to make it work on 64-bit systems.