bitsy nuisances? + module/extension system notes

hey y'all, it's adam!

I've got two topics I want to cover in this post: 1) bitsy module/extension research and 2) your bitsy #1 nuisance!

module/extension research  💾

in my post on the bitsy 8.0 beta, I said I'd write more about what I'm thinking about for a potential bitsy module/extension system, so that's what I'm going to write about today ✨

I've been researching this topic as I've had time to over the last few months. I'm deliberately taking it slowly since I think that if I go ahead with this feature, it will be one of the most bitsy's most important updates. I want to make sure I've considered it carefully!

for inspiration, I've been diving deeper into the existing world of bitsy hacks and other tools made by the community. I've also been looking at how tools like twine handle custom javascript, and how the browser's built-in module system works. (if you have suggestions for other tools I could look at that you think have done this kind of thing well, let me know in the comments!)

I currently think there are two fairly distinct types of extensions I'd want to support:

  • editor extensions: these would allow folks to create their own tools that could be installed next to the default tools like the paint tool and room tool
  • engine extensions: modify the behavior of the bitsy game engine that you download with your game

and I have some design goals for the feature:

  • easy to install/uninstall: I want the extensions to be friendly for bitsy authors of all levels of experience
  • easy to share: ideally extension authors should be able to package an extension as a single file that could be distributed wherever they choose
  • written in javascript: bitsy is written in js so it makes sense for extensions to be as well, and it would hopefully make writing extensions familiar for anyone who has already had practice writing hacks
  • compatible with future versions of bitsy: if extensions break after every bitsy version update, I think that will require too much maintenance to be practical for most people to write them

the last goal is probably the trickiest, since it implies some kind of API that would remain stable between bitsy versions, which is something I've never had to worry about before. but I also consider it very important: I care a lot about preservation and portability, and it's always been a high priority to me that bitsy games from prior versions should be able to be opened in newer versions. one of the big risks of an extension system like this is that it could make bitsy games more brittle and prone to bugs.

anyway, that's what I'm thinking so far - thanks for reading! I'll post more updates on this topic as I continue to research and experiment  ☺️

bitsy nuisance open discussion!  🐛

this is something new I want to try: what's your #1 most annoying bug or usability issue that you encounter while using bitsy?

I'd like to take some time fix the little things such as bugs, UI, or general usability issues you run into regularly. let me know in the comments which one bugs you the most and I will try to tackle a couple for the next update (7.3). (the goal for this discussion is to keep it to small things, so please avoid suggesting major new features like a music/sound system or other major engine changes - thanks!)


Log in with to leave a comment.


Most of my irritations are around the text/dialog features, and most of them (buttons/editing in play,etc) have already been mentioned.

One additional one though, is that swapping between the plain text and gui views of dialog seems to throw away anything it can't fit into the gui view, which is a good way to lose a lot of work because you made a typo somewhere near the top (while working in text view). Some sort of error message giving you a chance to fix would be a lot better (or 'commenting out' but retaining the bad bits).

Oh, and while the Preview dialog function is great for simple dialog, for complex, nested or dynamic dialog it doesn't seem to behave right? Or I can't work out how it's supposed to behave!

(Honestly - and I know this is new feature territory - but I'd love it if bitsy supported live editing, so you could change text or sprites on the fly)

(2 edits)

thanks for the feedback! :D live edit would be super neat, but it might be a bit tricky

the preview feature is a bit hard to understand but basically every time you press play it should be as if you walked up to the sprite again: so all sequences will increment to the next response, etc

the plain text to gui thing is very irritating I agree :(

(1 edit) (+5)

An Undo button could be useful for me. Even if it’s only one step. 

I often accidentally click in a Room and add a Sprite/Item/Tile in a place I hadn’t intended. That’s especially frustrating with sprites, because then I need to re-place it in its original location.

n°1 usability issue for me (hope it wasn't mentioned earlier) is the similarity between room logos and exits logos (add, duplicate, delete). i always add exits after rooms (especially when there are a lot) and sometimes accidentally erase or duplicate a room instead of an exit because of this... maybe a different window color could help?


oh interesting - thanks for letting me know! I can see that being really annoying :(


As I've noticed working on bigger projects that require 100+ rooms/palettes/dialogs, navigation really becomes an issue. Some system for these objects akin to what we have now for images would be super helpful. Also, it would be nice to overall improve image navigation: add an option to create folders and subfolders, sort things alphabetically and by creation date, select multiple items at once, change the size of the miniatures in the explorer, etc.

As of recently, I've also noticed several annoying bugs:

1. can't duplicate dialogue with multiple nested conditions

2. when multiple exits with conditions are placed above each other, only one of them works

3. when adding a lock or a dialog for an exit for the first time, can't select an already existing one and have to create a new one (this one more of a usability issue)


thanks for the feedback! :) did you get a chance to try the bitsy 8.0 beta? I had a prototype of a new find tool that added rooms, palettes, etc.

those 3 bugs are interesting ones - I'll look into them! :)

(1 edit)

I did not! But it sounds cool, where can I try it?
I'll gladly leave my feedback on it too!


Plus one for this, love Bitsy but it's a bit of a nightmare when your project has a lot of rooms for you to flick thru in the room editor


I have a very minor bug where I have sometimes needed to refresh my browser before loading a game for edit. Bitsy ignores the game load otherwise. This has only happened a very few times. To comment on others, I agree that there might be a better indication of when in play versus edit. I remind my students that when the grid is off, they are in play mode. One thing that occurred to me when I taught Bitsy online last week was that there could be a way to minimize Bitsy tool panels, as opposed to closing them altogether, to temporarily save room when working on a game. 

I've seen the game load issue I think, but very rarely - I don't suppose you've noticed any patterns with when it happens?

could you tell me more about the minimizing idea? is the main benefit not losing the order of the tools, or something else?

I have seen the “doesn’t load” issue in loading a previous version of a game I’m working on. As far as the minimize idea, it is as you suggest to keep tools in a particular order.


For me, having some clear indication of whether you're in play or edit mode would be super helpful, like the play mode tint in Unity. The other thing that comes to mind is I find it a little unclear how to add new options to lists in the dialogue window - could the 'add option' button always be visible under the list?

thanks Claire, these are good suggestions! :D seems like a lot of people would like that play mode

yeah I don't love the current layout of dialog list controls.. when I added nesting the quantity of buttons started to get out of hand, but I agree that hiding them isn't the best solution. this one requires some thought!


Phew... Answering for my students, that's a close race between:

  • Accidentally editing while the game is running. (greying out boxes?)
  • Tooltips not being translated :P
  • A missing overview for rooms (like there is for drawings)
  • (Small issue:) the "move" button at two exits is not the same (one is translated, the other not - one has a different tool tip, but they do the same) --> my students get confused on how to place an exit in a room not currently shown in the room-window.
  • (Also small issue:) For nearly every screen I have to tell them to use their browsers to zoom out to 80 or 90% to fit one complete box and to press F11 for fullscreen. Maybe a +/- and fullscreen-button would be helpful?

oh yeah these are all good ones! :D

  • yeah a few folks have mentioned this.. I like how mosi automatically goes into full screen when in play mode - what do you think of that solution?
  • I want to add tooltip translations! I need time to go through and catalog all the tooltips though
  • did you get a chance to try out the bitsy 8.0 beta? I had a prototype of a more general find tool in there that included rooms
  • ah hmm that move button issue should definitely be fixable
  • for the screen size issue - are you able to share generally what kinds of devices they're using? and is it all the tools that are too big, or just the room tool?

I wouldn't like a forced fullscreen. While it seems a good fix to hide the editing, the variables window is important to hunt for bugs. Adding zoomlevel and fullscreen as buttons (rop right maybe) would be more of a convenience update. Most students work with a fullhd or 1366x768. I just found that there are actual statistics about that, wow: It's mostly the room tool, where they didn't notice the bottom row.

I didn't know there was a beta until I saw your last post here. :) Is it still available somewhere?

Seeing other feedback, I also have to second the sorting of drawings in folders. It totally gets out of hand when they start building real intense stuff with objects consisting of multiple drawings. ^^


The Avatar and Sprites sharing the same color... I know this is not a bug but I think it's a small change (different colors between them) that could open many design possibilities.


thanks for the idea! :) it's actually possible to set bitsy up so the avatar has its own color but it requires hand-editing the game data which is not exactly user-friendly :( I'd like to fix this someday though


I'd love to see expanded editor support for tablets. My personal setup involves a desktop computer and iPad for couch/bed, but at the moment the editor is broken and unusable on an iPad. Would be awesome to see that fixed so I can make games on the couch/bed/lawn/etc!

(And as a matter of fact, I have a PR on Github that should do just that, cough cough 😎


oh that's definitely a bug! it used to work but I noticed recently it's broken :( I'll check out the PR


hey btw, I just merged your PR! when you get a chance, do you mind replying over there to tell me what name or handle or other credit you'd like on the credits page?

thanks for your help! :)


Sometimes I can't edit text, if I want to edit it I can highlight and delete/copy and paste; after a while it works but I don't know why/how. (this problem happens for all of the text editing, where I can't edit the code in the code module or the dialog in the dialog module); it may happen due to me liking to put the application in fullscreen? Otherwise I don't know why it happens.

Also you may want to look at how Sand: A Superfluous Game works with prefabs! I think it is made in Game Maker so it may not translate 1:1, but it does have a discord server that you may want to join to talk to the coder (if he also has the time of course) about having stuff translate between updates

thanks for the feedback! :D

do you know if the text editing issue happens when the game is running? it seems like that's a common issue people run into

Yes it happens while the game is running, but also before and after it does, though I think it may resolve itself after running it? I will have to fiddle around again with it to see when/how it pops up; thanks for continuing to round out the edges of the game engine!

Quick update, you can type and such in the dialog editor while test playing; however, if you use the WASD keys your character moves, along you you not being able to move the cursor in the text (it only moves your character)

(2 edits) (+2)

the record gif thingy, i don't understand it... i would like it to be simple

also, sometimes i by mistake, while playtesting my game, i edit text, and it does not show up in my game, so i would like it if nothing can be edited while in game...

also i think the text thing is a bug

FYI; i have been wondering, it bitsy pure javascript or was it made with a engine?


Bitsy is plain javascript :)

yup, that's right! plain ol js ☺️

(1 edit)

thanks for suggestions! :) accidentally editing while the game is running definitely seems to be an issue many people have run into

do you think you could tell me more about the gif recording tool? what would you expect or want it to do vs. what it currently does?

(1 edit)

ok, the gif recording tool, it only records the game scene! it would be a little more  easier if we could choose what we record, that would be pretty helpful!

also (not sure if it already does this :o umm) but,  it would be helpful if the gif recording thing records when you start playing/editing the game! (but not IF sprite recording becomes a thing, it would (in my mind) just record the two frames or animation)



Occasionally I get an extra space or two in my dialogue scripts, which, if I'm using the page break function, gets turned into an empty dialogue box that can be pretty annoying.

oh yeah this one bugs me a lot :( it's definitely my to-fix list!


#1 annoyance for me is that the grid view is on by default, and turning it off is not persistent. I basically never use it, so I have to turn it off every time!


oh interesting, somehow I've never thought of making this persistent! thanks for the suggestion :)