Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics


A member registered Mar 13, 2016 · View creator page →

Creator of

Recent community posts

Thanks for the demo, I played it on demo but while leave feedback here as Steam comments are not open (as meant for the release).

Settings: it would be nice to get resolution settings, as the only way to toggle fullscreen is to use Alt+Enter apparently (surprisingly, I have better performance in windowed mode with no screen tearing), and even in windowed mode you cannot resize the window. User may also want to be in fullscreen, but at lower resolution to gain performance. But I assume it will be done by the time of Steam release.

UI: it may be more consistent to show an interaction icon whenever an interaction is possible


When giving a flavor to the ice cream seller, you don’t see a picture of the item given, and the dialogue doesn’t always mention what item was given, it assumes the player knows it. In fact, many items can be given, sometimes it’s not obvious that it could even be used as a flavor, so I didn’t understand some dialogues and forgot what item was in my inventory. Showing the picture and name of the item, and/or referring to them precisely in the dialogue would help. As a bonus, the rewarded colored plastic spoon description could recall what item was given in exchange for this.

When talking to the Bird Lady, she basically offers a 2-day mission due to the low/high tide system. However, I happened to only find her on Day 2, having collected both types of feathers. As a result, the dialogue was a bit odd, where she’d ask me to come back later. Fortunately, I was curious enough to talk to her again, and complete the quest on the spot (she was talking as if one day has passed). Maybe checking the current tide level to adjust dialogue would make it better.

Unfortunately, when it comes to time durations during quests, not specifically the tide system, but in general in adventure games, there is always this weird part where the NPC says “Go and find X!” and the player character is like “Okay, I’ll come back!”. And then if you already had X, you talk again and the player character says “Hey, I found those!” whereas in fact they had it from the beginning. A few games, though, detect if you have X on 1st dialogue and will chain with a special sentence “Oh, I happened to have these”. You may do the same, depending on your writing budget. For the specific case of tides, it may be a little more complicated to write, but should be feasible.

Exploration: when using the hoverboard, looks like the 3 color tokens correspond to 3 layers of music added to the dynamic BGM? Does it also give a boost, or is it just the natural acceleration of the hoverboard that makes you faster? At first, I thought they were collectibles, so I was surprised to see them respawn, but if it’s for boost/music then it makes sense. Sometimes, you lose it a bit fast as you turn a corner, but I think it’s not directly related to turning around a corner, but rather just fading out after a given duration?

Okay, that IS confined! Reminds me of Rayman 1 last boss where you must dodge projectiles while walking between moving columns of magic fire!

That was the super nice-to-have feature on the list, but got dropped… Data change (increase speed) would probably be cheap, and it’s super cheap to recolor Sonic’s blue in yellow (as in the original game), but in reality you’d need dedicated sprites for most poses due to hair spikes change, and that would go out of budget (unless it was distributed on a separate cartridge!)


It was in the original plan, but dropped when I hit PICO-8’s code limit and realized the Fly mechanic would go over the limit (also I’d have to adjust levels to make emeralds harder to get, unless I make playing with Tails the “easy” mode).

(1 edit)

The general question is: as a dev, if multiple users are entering conflict in the comments section of my game, how should I handle this? Generally it climbs like this:

  • user 1: low-quality post
  • user 2: small offense
  • user 1: medium offense
  • user 2: big offense

The usual technique in communication is to deescalate… But on my game page, I’d rather be it quick. Ideally, I would hide the whole conflict from the public eyes and handle it in private, flagging posts and getting help from an admin (according to, there is no moderator except community moderators i.e. the dev and people they hired; I have no such community moderators, so it seems that only “admins” will look through flagged comments).

Unfortunately, the only way to hide comments is to delete them, and that prevents any further report/discussion. I am not sure whether it keeps any history for admins/moderators to look at later and decide what to do based on user behavior.

So unless I want to keep the game page super clean at all costs, I would flag the posts. But which posts? Because of the escalation, it’s hard to pinpoint a particular post/user being responsible for all of it.

I could:

a. flag only the low quality post as either spam or off-topic. In this case, if the post is recognized as spam and deleted by an admin, what happens to the conversation tree? Will the other child comments stay and not make page? I guess admins would just do the most meaningful thing and delete any conversation that spawned from it?

b. flag only the first small offense from user 2 as offensive, but then I’ll have to “recognize” the low-quality post, and user 2 will feel down because ultimately, they just criticized a post I would have criticized myself if I were there earlier (I could argue that they were wrong for not using the Report button? and also for flaming, not just kindly backseat moderating)

c. flag both first “bad” posts of each user (everybody’s bad!)

d. flag all bad posts in the comment tree (pragmatic)

e. reply (without flagging) to each user to point at their bad behaviors and hope for a peaceful resolution (after which I can clean up the bad posts).

f. flag AND reply to notify them kindly that I flagged their posts, but I’m not blocking them or anything, just need to get the irrelevant posts removed.

Which solution would you recommend?

Is it considered common practice to flag posts but still try to discuss?

If a post is low-quality, but technically replies to the previous one, is it fair flagging it as Spam or Off-topic? Honestly a one-liner is generally not a problem, but a post with a picture takes a lot of space and is more easily disrupting. Note that this comes back to the discussion on moderation queue for posts containing images and hyperlinks (

It would help me in gave more instructions regarding low-quality posts and backseat moderation (esp. the more offensive kind). For instance, tell user that “you can criticize another comment but as soon as other users start using insults, call a moderator/admin with the Report button” or something.

I do understand though, that we may need case-by-case handling and that’s why we have human moderators and admins. Maybe I’m overthinking this, because as soon as one post is flagged, admins will just look at the whole picture and make a decision based on it? If so, I’ll just flag the first post and let you do your job.

I have a few technical questions that you can answer objectively though, and that may help me make my decision if there is no general guideline:

  1. are deleted comments stored in some history in case we need moderation on past actions in the future?
  2. any way to hide posts from public eyes while keeping them around for resolution with moderators/admins in private?
  3. how does the moderation process of flagged comments work? Do I get notified of the final decision? Do I take part in it? Is it applied automatically or with my agreement? Of course, the question is for when reporter = page owner!

Thank you.

Here is the specific comment tree for reference:

Hey, just tested the demo, I compiled a list of bugs I think are related to the engine, not the demo. I ignored game-related bugs like typos or enemy misplacement (e.g. the boss sprite is too low on screen) as these wouldn’t be relevant when making a new game. For some, it’s hard to tell if it’s a game-specific setup issue of a framework issue.

EDIT: just after writing this, I realized I was playing the Linux demo which stops at 2.1, so bugs may have been fixed in 3.0 since. I will try again the Windows version, but I don’t want to go through the whole quest again; is there a debug/god mode where I can just warp to the place I want to test? Basically just need a battle with status/buff skills to test all the new features.


  • cannot talk to people from the side
  • can talk to Hollis one last time after he joins, causing “ghost talk” while screen fades as he joins the party (game-specific?)
  • random battle started while I was pushing log, as I was pressing Left but without moving as move was frozen, but random steps still incremented? Or just a coincidence, was I 1 step away from the next battle?
  • After pushing second log to rescue Mozzer, before cinematic starts, by holding a direction I could move by a few pixels.
  • directional input not handled if keep holding during transition from an area to another
  • could not enter first village on world map moving straight into it, had to move slightly down, just bad trigger?


  • last selection not restored after buy item
  • after item bag becomes full, the bottom-left item is stuck is a dark shade (like the selected / highlight color, but without blue outline)
  • can open party menu during title menu


  • cursor flashes an instant after action during battle, before enemy turn. Generally speaking, the menu flashes before becoming inactive again after an action before enemy turn.
  • can select next fighter action (if ally) immediately after retreat failed, while text still appears


  • gold not restored on load after game over, keep value before game over. Easy to exploit (sell all items, die, reload…)
  • if bag is full you can miss key item at end of battle, no change no drop a less important item (in the demo, fortunately the final event is based on whether you defeated the boss or not, you don’t need to mushroom in your inventory to trigger it; but in other games you may get stuck due to lack of key item)

Ah, I thought this was related to the Bullet Hell Jam 2022 but it’s not, in fact. I finished it, it was pretty easy.

Maybe there should be some color coding, though? Stars are collectible, Sun is a hazard, but both are white.

So, this one is nice and right onto the 2022 jam theme, “CONFINED”. Wait, this was made for the 2021 jam, on theme “10 SECONDS”? Well, congratulations, you managed to match both themes without knowing it in advance!

In principle, the up/down progression allows you to take a break to an easier level after a failure, but it can be frustrating when you chain failures on “levels you’re supposed to know”. In fact, I think it’s good for the “campaign” as you don’t even need checkpoints: if you come back to the game later, with everything you’ve learned, you’ll be able to come back where you were as each level is 10 seconds. But that doesn’t take random levels (and small mistakes) into account, so I’ll have to come back another day and see if it’s easy to get back where you were indeed.

And when it comes to “training”, I think a simple “repeat level indefinitely” would be better. But I understand that a jam game rarely has multiple modes…

Bullets are big and the character hurtbox not super small either, so you must really pay attention to navigate between small bullets, and in dash right in front of big bullets if you want to get to the other side.

My biggest complain is the dash input, which only works when dash button is pressed on the same frame as, or after holding directional input. Often, you want to stand still then dash at the last moment. With this setup, you need to either start moving forward a little bit in advance, or move back a little first (assuming you have that leeway) then move forward again and dash.

Sin & Punishment 2, for instance, takes your Dash input into account no matter what, and starts a Dodge maneuver. Then if it detects late directional input, it will apply it to the dash. Of course, S&P 2 is more complex as it allows partial & dynamic dash, where you can change direction mid-dash and even use the opposite direction to decelerate quickly and perform a half-dash. But without going to those lengths, supporting Dash -> Move would help a lot as I died many times simply missing a dash and running into a bullet, even in levels I consider “easy”.

The only place where Dash is not my main issue is random levels, where sometimes I barely have to move, and sometimes the warp zone happens to be filled with bullets when it appears, and if I dash a little bit off it, I’ll fall right into it.

But well, I realized this game was made for the 2021 jam while writing this comment, so it’s less likely to receive an update now. I played Surgevania before and kinda like your concepts, I’ll have to check your more recent games now!

Look up!

How did you know about my secret plan?! It turns out that after Sonic Mania, both Sonic Team and Evening Star will be working on 3D platformers, and I won’t be applying to them any time soon… But I’m glad that what started as a “tech demo for my portfolio” ended up as a proper experience with an actual level to play through.

(1 edit)

Ah, I didn’t see the checkbox, and it works! It was too slow to test with many colors but I could check it with 4 -> 4 colors.

I didn’t know about CIELAB, sounds useful to ensure perceptible contrast indeed. I’ll check out your other tools!

(1 edit)

It’s nice!

I had a few issues when using it though:

As you said it gets a bit long to process everything when there are many colors. I noticed many results are not relevant, just as images lacking contrast making the sprites not “readable”.

Maybe there could be an option to only try a palette color on an initial color with a similar level of brightness? This would preserve brightness contrast (although not hue contrast).

Then we could have another option to make sure that the same color is never used twice, assuming the palette has at least as many colors as the original image.

We could also have a special case where palette colors = initial image colors: in this mode, you only need to input one image. Then it effectively does a color permutation, in the sense that it remaps every color to some color in the initial image, bijectively (two different colors map to two different colors; and since the initial and target number of colors is the same, we also cover all colors in the final image).

Interesting, the problem is fixed on the main page, but not on the dedicated comments page because you’ve limited the height of the black section, which is enough on the main page, while the comments page show comments at the top. But enough for now!

(maybe it would be nice to be able to select a different background on the dedicated comments page? feel free to drop a suggestion on the forum if you cannot find another solution)

Good finding, I fixed the link. I also added a screenshot of the issue, but the only particularity of my situation I can think of is the French interface, which probably doesn’t play a role…

Opened issue:

(2 edits)

I remember having troubles finding some creators by searching their name in the search field at the top of the page.

Right now, the only example I can find failing is “joqlepecheur”, which clearly exists ( ) but is not searchable by their name.

Other creator names, like myself “komehara”, when searched, will properly display the creator and also their created games (if main author, not just collaborator, but it’s enough).

I don’t know why this specific user is not searchable, I remember that others like “FluentlyStudios” were also very hard to find, now I can find them just typing “fluentlys” or “Fluently Studios” with a space. While “joqlepecheur”, “joq le pecheur”, etc. will all find nothing.

I’ll keep trying other names to see if other names are failing and if there is any common point between them.

I think it’s technical enough to deserve a GitHub issue so I’ll also make one.

EDIT: added space around brackets to avoid back link generation

EDIT 2: added screenshot of search failing (French interface)

Pretty cool! I reached 1,400,000 or so. I missed the final result screen as I kept clicking, struggling for my life.

Some suggestions:

  1. Display score (and possibly combo modifier) when rescuing someone. This way you can value rescuing people deeper more, as you can see you get a higher score. Right now you have to check your score before and after rescue and compute the difference, while falling!
  2. Add a special unit to rescue who falls fast at first, but then more slowly (maybe counter-intuitively) as it gives the player more chance to go down and rescue that unit in extremis. Currently you rarely risk your life because it’s hard to hook down units already too low (see *), and not worth the extra points anyway. While it would be cool to see someone you’re ready to risk your life for (since there is not much narration, that would be through point rewards!)
  3. Add a delay before allowing player to skip result screen at the end. You generally click like crazy when you’re about to die, so it’s likely you keep clicking when you do die and the final score appears; causing you to miss it (alternatively, storing high score and display somewhere would work; but only if your last score was your best score so far).
  • Has the hook a very long or infinite distance? I could grab items out of view just by clicking in the direction of the hint arrow. It helped me a lot! It seems that distance is made shorter toward objects below you, to avoid accidentally going down (in counterpart it’s hard to rescue someone who already got past you). You can still do it with units visible on screen and it makes you go down pretty fast, adding some spices!

Nice jigsaw puzzle game! The demo illustration has distinctive features that help like the sword and light shaft, while wood, rock and trees are trickier…

A few suggestions:

  • a way to preview the final picture in case you forgot some parts (e.g. hold Tab or click on a button to show it)
  • a way to visualize lines between puzzle parts, as in real world jigsaw puzzles (e.g. hold Shift to see them, or click on a buttle to toggle them). This helps remembering you did a certain combination but it may not be the right one (with flat colors it’s easy to think a combination matches whereas in fact it doesn’t, and seeing that a junction line exactly matches a color change can help spot these mistakes)
  • possibility to combine puzzle pieces outside the main frame (e.g. hold ctrl to allow sticky combination even outside frame)
  • more intermediate levels; there is a huge gap of difficulty between 8x8 (done) and 16x16 (not sure if I want to try without at least the picture preview feature…)

Red should be near the start of the level, but there is no black and white emerald, just a grey one.

Thanks! Hm… I remember hearing this kind of sentence, but I don’t have a particular reference in mind.

Well, Sonic Mania went the opposite direction, increasing color palette and sprites count, but it also give it its charm.

In fact, I’m still jealous of Sonic Mania walk and run cycle sprites count, which is 2x of Sonic Master System, 1, 2 and pico sonic, and 1.5x of Sonic 3! PICO-8 having limited resolution and color palette, most games stand out thanks to leveled-up animation.

But due to limitations of spritesheet (and my own ability to draw many sprites), I had to stick to Sonic 1 run cycle and art style; which ended up quite nice in the end.

Oh, I meant in a casual event or as part of a class, e.g. “retrogaming history” or “introduction to PICO-8”

Hey, the black banner hides part of the text on the right, including comments. Any way to offset it a little?

Salut, j’étais aussi participant à la GGJ 2022 à l’Enjmin et je voulais absolument tester celui-ci. J’ai remarqué que l’exécutable Windows n’est pas marqué Windows sur par contre, du coup si on essaie d’installer le jeu depuis l’app, on ne voit que la version WebGL. Vous pourriez corriger ça ? Merci

Hm, I didn’t try that. I guess I’ll have to stop holding it just at the right time, which I may not know exactly if I don’t remember where I started the last batch of changes exactly.

But that could help, I’ll try it next time.

We definitely need instant export like other audio editors, I’m gonna work iteratively by tweaking a few things between each export so I need to export a lot without extra delay. I’m not using live/DJ features so I don’t have particular benefits in listening to the whole track. I suspect the application currently actually records what is played and that’s why it needs to play it, but there is probably a way to export the track “headlessly” i.e. processing everything in the background, without having to render audio to the user?

Does this require a separate Feedback thread?

It would be nice to be enable to enable group Undo to batch Undo actions of the same type done together / chained quickly.

For instance, if you pencil draw a line of notes, you often want to Undo the whole batch of notes, not just the notes one by one. This takes more time to undo each of them… However, in some cases, granular undo is desirable, so you may want to survey your users (e.g. in this thread) to decide which behaviour to make default in which case. In any case, this could be made either a preference or a separate button / shortcut so users can still choose between granular and batch Undo.

Personally, I would make batch Undo default in all common cases, then let the advanced users select isolated Undo for specific actions if they really want.

This issue is not specific to 1-bit Dragon. In fact, I saw many apps have them, including code editors like Visual Studio that make you undo every single character change instead of a batch word change (to be fair, in normal usage it’s fine, but plugin writers may forget to batch their actions, leading to this).

I am on Linux.

So, with the last version on Linux, Ctrl+S / Save now opens the path selection prompt at the last location. The dirty save prompt also works.

However, Save is is still bound to a Save as behaviour. Save should just save on the last path without prompting for anything (as in a text editor). So there is still a need to distinguish Save and Save as. Especially as 99% of the time, you just want to save your latest changes at the same file location, without an extra double-click on the existing file + confirm Replace file.

Thank you!

o_O in which context?

As I said on I got it running although with the total equivalent of 3 CPU running at 100% (one fully at 100%), but that may be a graphics card thing.

Otherwise I fail to export GIF, with the following terminal error:

then a popup that doesn’t even have a filename input field nor an OK button to confirm location:

PNG export works fine though, so at least I can export a spritesheet for my game engine.

UPDATE: I can actually save my system and export anywhere on my PC, even outside the WINE file system, so that’s more convenient to work with.

The 100% CPU is the biggest issue, I found some clues on Stack Overflow but could never find a proper fix.


There are many resources available for that, and also schools if you want to go professional. I was doing web programming before, but I started working on standalone games 10 years ago with resources like Game From Scratch ( and later, Brackeys ( I’m on the code side of things but you can find your own field(s) of speciality. But more importantly, stay with the community: in the case of PICO-8, looking at other devs’ work and talking with them about how they do it is very instructional.

I’m working on a shmup so it’s interesting to see how assembling simple components the right way makes it feel like a shooter very fast.

I’ve arrived after the patch, but I’ve read the devlog so I know what you’ve fixed/improved already. My feedback from this point:


  • Cannot navigate in the menus with arrows nor WASD (WASD may even confirm a letter in the leaderboard Enter Your Name screen?). App doesn’t seem to take focus even after mouse click, so down arrow scrolls the page down. Is it a limitation of Phaser, or the template used?

Flow / UI

  • Sequence between levels a bit long, as it’s always the same but nothing special happens, and it’s not skippable? Having a break is nice, but in this case:
  • It would be nice to be able to pause with Escape, Enter or P. A small pause message not hiding the screen even better, so I can take a good screenshot (some games make it blink, so you can actually take a screenshot without the pause message at all).
  • I see the arcade reference “insert a coin” for P2. Just like the old Continue screen you mentioned on the devlog (that I have never seen, just imagine), that may be interpreted as a potential second player mode by the player, while it’s really one-player. I don’t know if you intend to add one anyway, so you kept it in the screen. Either way, the metadata said single player so I didn’t hesitate too much on this one.

Player feedback

  • Missiles lack launch SFX
  • Last boss has no life gauge, no brightness change on hit, no phase change nor different animation played when reaching a certain threshold of life, and repeats the same evade sequence 3 or 4 times. So after some time it gets hard to know which point we’re at and if shooting it the standard way is really effective.


For the simplicity it’s aiming at I think it’s enough. However:

  • 5 levels may be a lot for this amount of content. I still felt the progression, but 3-4 levels may be enough. Or shorter levels, depending on how you want to segment things.
  • Missiles are not exactly weak, but they are spread all over the level, reducing their impact. Usually it’s enough to kill any unit, so why not. But in practice, some units are hidden behind asteroids, while others split on death (and there is only one wave of missile, so the split parts always survive). Targeted missiles (small cone) would be more efficient to fully destroy such units and damage things around. Spread missiles can be useful too, so at least having the choice between spread and targeted mode with a button would help (but I admit that would make more complex inputs)

That said, I see it’s a jam game. And it has a much better feel as a shmup than my current prototype I spent months on! Good job!

I definitely can, with the EXPORT command. The Windows, OSX and Linux executables you see have been produced like that.

In reality, they are just a common PICO-8 runtime executable (+ some shared library e.g. DLL depending on the platform) + a .dat file which contains the compressed Lua script + assets data.

So it’s just the .dat file that characterizes the game, while the pico8 runtime binary is just a common file for all games exported on a given platform, with a certain version of PICO-8.

I finally got some time to listen to it. Thanks for taking the time to cover it!

The two other games you covered on this episode also caught my interest, I’ll check them out!


Ah, sorry for the long explanation then. I can’t guarantee an update after the last things I was already planning, but I’ll see if I find a nice solution!