💾 Archived View for gem.billsmugs.com › gemlog › 2022-03-08-bitsy.gmi captured on 2022-04-29 at 12:48:25. Gemini links have been rewritten to link to archived content
⬅️ Previous capture (2022-04-28)
-=-=-=-=-=-=-
Quoting from the tool's official description:
bitsy is a little editor for little games or worlds. the goal is to make it easy to make games where you can walk around and talk to people and be somewhere.
It's an open-source, web-based, zero-code editor/engine for small narrative games, with a set of rigid constraints/limitations:
(There are various Bitsy-inspired tools, forks and modifications, which in some cases remove or alter the above constraints)
Currently it's only possible to create or play Bitsy games via a web browser, although the games themselves are described entirely in a relatively simple plain-text format and I believe the creator is looking into creating a native offline 'player' application.
Here's a screenshot of the editor
I'll write a little bit below about why I like Bitsy, but first I want to describe how I found it.
I first found Bitsy via a tool called Pulp that was heavily inspired by Bitsy. Pulp is one of the tools available (alongside a more traditional C/Lua SDK) to make games for the soon (hopefully) to be released Playdate handheld console.
Pulp can be used in the same way as Bitsy (for small, simple, narrative games/interactive fiction), but it can also do quite a lot more via its scripting language 'Pulpscript'. The interface for the Pulp editor is much easier/slicker to use compared to Bitsy, but it does have its own drawbacks (e.g. much more limited font support). Pulp games can be previewed in a web browser, but the 'proper' way to play them is on the Playdate console. I was lucky/fast enough to be among the first batch of pre-orders for the Playdate and will probably post here about the console itself when it arrives (they haven't shipped any yet, but are apparently on track for shipping the first batches in 'early 2022', so theoretically soon).
When it was first announced, I initially wasn't that interested in Pulp and was more interested in playing around with the full SDK and playing the games other people create. They released Pulp first, however, and so I decided to take a look. It then occurred to me that the 'zero-code' feature, (which I had initially seen as a reason to discount it), was in fact a major positive, even for someone like me (coming from a programming background), for reasons I'll go over in the next section...
I really enjoy my job (as a developer at a small software company): I get paid a very good salary to work on interesting projects (that I genuinely believe make a positive difference to the world), alongside a great team of colleagues (including management and non-technical roles). Even just based on posts I've seen here on Gemini, I'm aware that this combination makes me extraordinarily fortunate! The one (and pretty much only) negative point is that my employment contract forbids me from releasing any code that I write in my spare time (whether in source or binary form).
I'm aware that this sort of thing, while certainly not universal, is actually relatively common and I do understand the reasoning behind it (a combination of concerns over 'stealing', (even accidentally/subconsciously) ideas, designs and implementations that give us an advantage over our competitors and worries that employees will focus more on their side project than their actual work, or leave the company to start their own business). At least as a software developer this sort of clause makes some degree of sense - I have family members who have similar things in their contracts despite their jobs not involving any creative/engineering/development work of any kind!
Although I understand the reasoning behind this sort of contract clause, from an ideological perspective I am very much against it. My personal belief is that it should be illegal or at least unenforceable - anything created in your own time should be owned by you and your employer should certainly not be allowed to restrict you from working on projects that have nothing to do with their line of business. I'm sure some people reading this will be able to think of multiple reasons why I'm wrong and why this system is the right way to do things; luckily for you and for business owners (and, probably, for everyone), there's very little chance of me ever being granted any sort of political power!
I personally interpret these rules in a way that I feel makes sense and adheres to their spirit, even if stricter interpretations might be possible: I'm happy to create simple tools and scripts for my own personal use, including releasing the output of those tools (e.g. posting an image created/processed by use of a script or hosting a web or Gemini page using a custom server or CGI script), but any code (or binary compiled from code) that's simpler than a trivial bash script should not leave devices that I control (so a custom static webserver would be OK, but a web application using client-side Javascript would not). This rules out ever releasing any game that I might make using the full Playdate SDK and means I wouldn't be comfortable even releasing a Pulp game that made heavy use of Pulpscript, but a simple Pulp game, in the same vein as a typical Bitsy game is OK. Technically this often still includes some 'code', which in the most complex case might look like the below:
# In Pulp, you would place this into the 'code' box for a sprite. # When the player walks into the sprite they will be shown something like the following: # | How are you? # | > Good # | Bad # Picking one of the options then shows a dialog box saying either "That's good!" or "That's not good" # All of the logic for actually showing text boxes on screen, handling collisions, etc is just part of the Pulp runtime. on interact do ask "How are you?" then option "Good" then say "That's good!" end option "Bad" then say "That's not good." end end end
In reality, this is just copied and pasted from the official documentation - my only personal input is to write the strings that will be displayed, so I don't consider this the same as writing actual code. On the other hand, if I used the full features of Pulpscript to make something that goes beyond this simple style (people have already made clones of games like Breakout or Pong, as well as original games with complex custom logic), then I wouldn't be comfortable making that available to anyone else.
To summarise this somewhat rambling tangent: tools like Bitsy and Pulp allow me to create interactive content that I'm able and happy to share with other people, in a way that 'real' game engines like Unity or Unreal (or the Playdate SDK) do not. This isn't a benefit to everyone, but it might be to some people reading this post.
At first glance, the strict limitations I described in the first section might seem excessively limiting. It's easy to look at a Bitsy game and be put off by the low resolution graphics and limited colour palette. But these limitations actually provide a lot of scope for creativity.
One important point for me (someone with extremely limited artistic talent) is that the low resolution and limited colours actually somehow make it easier to create good-looking characters and tiles. You don't have to be good at detail, perspective or shading, you just need to arrange 64 pixels into something that gives the impression of a character/item/piece of furniture/whatever. Sometimes just scribbling semi-randomly can result in something that inspires you and requires only a few small tweaks to look recognisable.
A combination of the way the engine and editor works and the expectations of the community of creators and players mean that a Bitsy game really doesn't have to be very long. This makes it much easier to create something from start to finish in the course of even just a single day, without necessarily worrying about creating complex plots or worrying about how to pad things out.
The restriction on controls and game mechanics means you are forced to focus on the story you want to tell, without having to think about (let alone implement) any kind of unique gameplay features. This doesn't stop you from exploring novel ways of presenting that story, but it gives you a framework to work around and start writing.
If a particular restriction appears to you to be a barrier I would strongly recommend first trying to work around it - you might be surprised at what you can achieve as a result of working around the lack of something you thought was impossible to do without! If you do need some additional feature to realise your concept, someone has probably already found a way to modify the engine to achieve it. These modifications are usually called 'hacks', although their use is encouraged and supported by the creator of the tool.
A collection of common Bitsy hacks that can be automatically applied to any Bitsy game
Lettuce's favourite no-code and low-code game tools
Videogame Engines as Tools for Mass Art
Bitsy is the Small Video Game Engine With a Big Community
How Small Game Makers Found Their Community With Bitsy
Even if I haven't inspired you to create your own Bitsy games, I recommend you play a few - they generally only take a few minutes of your time to play from start to finish!
Playable in English or Toki Pona
Every month there's a Bitsy Game Jam on indie game distribution site itch.io, with a new theme each time.
The latest jam, with links to all the previous ones
At the time of writing, there are 4,807 games on itch.io that are tagged as having been made with Bitsy (not necessarily using the original, unmodified, Bitsy editor):