Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics


A member registered Jul 13, 2018 · View creator page →

Creator of

Recent community posts

that's nice to hear thank you :^)

ok i have now uploaded the soundtrack

(3 edits)

thank you 5DaysMourning

the music is by me, i guess i might upload the soundtrack later

thank you Angela He

thank you Carrotree33

this is nice!

(5 edits)


do you completely replace the existing data in the editor with the generated data? if yes, i can see two ways this could go wrong. there is no player avatar in your data at all now (the avatar should always be `SPR A`) which causes bitsy to malfunction. you also need to replace the bitsy version number in the data header to whatever the current bitsy version is (it was a bad idea to generate the header here at all, i should remove this to avoid confusing people, sorry)

i hope this helps!

thank you, really nice to hear that

(1 edit)

thank you

Thank you. Glad you like it.

Bitsy 3d takes a bunch of rooms and renders them on top of each other, so the ladders/stairs are just a series of exits

(1 edit)

Thank you. Tips like what? That's a very vague thing to ask, so I'm not sure how to reply, sorry

Thank you. Well, depends on what you mean by completing, I guess. There's stuff you could miss, but yeah, that was the ending.

i see. well, that was just the camera preset that made most sense to me, that's it

wait, what's the "idea with the camera" supposed to be? i'm confused

this is great, thank you!

(4 edits)

oh, i wrote a temporary fix to make the dialog choices hack work with bitsy 7.0.

it works fine with regular bitsy, but when i tried it with bitsy 3d, i realized that  when the old script tags are replaced, the patched functions are replaced too, so you still need to reapply the patches, or at least that's what i think is happening (a script tag will be executed when it's attached to the document, right? i may be wrong, i'm terrible at this)

see  the screenshot - the dialog choices hack needs to alter the updateInput function (this is in the original hack, not something i added), so it replaces  the tag that contains it, which in turn breaks the patched update function (and also restarts the renderer)

so if i'm right, it'd be safer to find a way to apply patches after the hacks, if i'm wrong, well, that's embarrassing, sorry about wasting your time

(6 edits)

Got the dialog choices working, I think. Looks like the main problem with hacks is that they can overwrite the patched bitsy functions, so you need to make sure that all the patches are still in effect after the hacks are applied. I guess making all other patches happen inside the patched `startExportedGame` might take care of things?

I changed the code to this and  it seems to be working:

document.addEventListener('DOMContentLoaded', function() {
    var interval;
    if (bitsy.EditMode === undefined) {
        // if we are in exported game, patch bitsy with 3d functions
        // if the project includes hacks, then when this runs startExportedGame is doAllInjections
        b3d.patch(bitsy, 'startExportedGame', function () {
          b3d.patch(bitsy, 'update', null, function () {
          // doing this before everything else runs ensures that the intro dialog is cleared
          // in case a hack overwrites bitsy.update (there's probably a better way to do this?
          // like i'm surprised starting the updates before the actual game works)
          // this will leave us with two running update intervals when the game actually starts, 
          // which i guess is bad, so it'll need to be cleaned up afterwards
          interval = bitsy.update_interval = setInterval(bitsy.update, 16); 
        }, function () {
          bitsy.update_interval = interval;
          var py;
          // make position of the dialog box configurable through game settings
          b3d.patch(dialogRenderer, 'DrawTextbox', function () {
              py = bitsy.player().y;
              bitsy.player().y = b3d.settings.positionDialogBoxAtTheTop ? bitsy.mapsize : 0;
          }, function () {
              bitsy.player().y = py;
          // adjust movement direction relative to the camera
          b3d.patch(bitsy, 'movePlayer',
              function () {
                  var rotationTable = {};
                  rotationTable[bitsy.Direction.Up] = bitsy.Direction.Left;
                  rotationTable[bitsy.Direction.Left] = bitsy.Direction.Down;
                  rotationTable[bitsy.Direction.Down] = bitsy.Direction.Right;
                  rotationTable[bitsy.Direction.Right] = bitsy.Direction.Up;
                  rotationTable[bitsy.Direction.None] = bitsy.Direction.None;
                  b3d.rawDirection = bitsy.curPlayerDirection;
                  var rotatedDirection = bitsy.curPlayerDirection;
                  var ray = b3d.scene.activeCamera.getForwardRay().direction;
                  var ray2 = new BABYLON.Vector2(ray.x, ray.z);
                  var a = (Math.atan2(ray2.y, ray2.x) / Math.PI + 1) * 2 + 0.5;
                  if (a < 0) {
                      a += 4;
                  for (var i = 0; i < a; ++i) {
                      rotatedDirection = rotationTable[rotatedDirection];
                  bitsy.curPlayerDirection = rotatedDirection;
              function () {
                  bitsy.curPlayerDirection = b3d.rawDirection;
          // patching onready is useless at this point since it's already been called
          // remove borksy touch control fix that breaks mouse camera controls
          var touchTriggerEl = document.getElementById('touchTrigger');
          if (touchTriggerEl) touchTriggerEl.parentElement.removeChild(touchTriggerEl);

Still can't wrap my head around how cool this is!

Some issues I've ran into so far:

  • child meshes aren't affected by their 'hidden' setting
  • disabling 'follow avatar' in camera setting lets you hold ctrl to drag the camera around (doesn't happen with the dungeon crawler/fixed position follower presets), seems like a potentially undesirable behavior that should have its own checkbox
  • compatibility with hacks:
    •  _reinitEngine in dialog hacks undoes the DrawTextbox patching
    • the dialog choices hack breaks rendering somehow, can't figure out what's going on with that
  • suggestions:
    • it would be nice to have a way to explicitly add a new room to the active stack
    • editor camera's max radius feels needlessly low

Thank you!

Liked this a lot! Couldn't solve the puzzle(?). Was it meant to be solvable?
The bitsymuse hack helps you manage music across rooms & trigger sound effects in dialog. I like the sound here as it is, though!

(2 edits)

thank you, you are too kind

thank you!

oh, i see. thank you!

Downloads counter of my HTML5 game shows that the game has been downloaded several times. I didn't include any downloadable material, the game is browser-only, there are no download links, so what exactly are those stats?

I sort of like it that way. There isn't even much gameplay in there, just wandering around and seeing what happens + a really dumb "puzzle", so idk how it's inaccessible. Glad you liked the visuals, there's a couple of things I'm genuinely kinda proud of in this game, i think.

(6 edits)

Oh, no, that's the only ending there is, sorry. You do have a point, though, there are things about this game that don't fit together too well narratively/conceptually, I just couldn't stand polishing and editing it any longer. Thanks for the response, glad you stuck with it all the way to the end and didn't hate it.