A Puzzle Bobble Royale. Hey guys, it's still early days and nothing is finished really but this is what I have been working on. First time showing this to people other than family and friends. If you like it, follow this space and I will update you in here about development progress, topics and questions you might have or test sessions someday, playing vs bots does get old haha!
#Bubbits
597 messages ยท Page 1 of 1 (latest)
How it all started a few years ago and what libraries Bubbits could not live without:
- Phaser3
- Colyseus
- random-js (tons of random libs out there, this one had 2 things I needed: seedability+stateful)
- @mathigon/euclid (everything game logic in Bubbits is done via math and geometry. there is no moving or simulation part to minimize issues with fluctuating framerates, lag, ping and enable lightweight server authorization)
If someone is interested in the math part I will be happy to prepare a bit of info on that side ๐
Hey there @proud violet ! This is looking very good, congrats on your progress :). If you don't mind, I am curious about math side of the project. Can you elaborate a little bit on that? Cheers!
Thank you sir! ๐
Sure thing, I will do some broad strokes but if there is anything in particular that interests you dont hesitate to ask ๐
I started out going the normal way, which means you have some bubble entities, they have circle entities tied to them, you shoot a bubble at a certain angle, that bubble gets a velocity xy, reflects on the outer sides if need be, gets checked for collision, if it does collide calculations are done in which playfield position the bubble should be slotted into, done.
When i thought more about sanity checking client shots on the server, i was convinced that there had to be a better way than to just do the whole simulation on the server. in theory, the whole flight path, collision, and end result of the playfield changes of the shot should be able to be calculated in one go as soon as the shot is fired.
I am happy to report that it did work out and the end result is what you see in the last video. its a graphical representation of the math that makes up the playfield and shots. basically its ray casts, intersections and angle math stuff.
There are a lot of intricacies that you wouldnt think about at the start if you want to calculate the flight path like the side reflections happening a bubble radius sooner because if you cast a ray, you dont take the bubble radius into account by default. same goes with shooting a bubble that flies in between other bubbles. i ended up using 3 rays working in tandem to know where a bubble fits through or not and i can tune that just by changing a value now (it didnt feel good if the bubbles hitbox is the actual bubbles radius!)
The end result of firing a shot now is the whole shebang of data you need:
- Normalized Flight path
- EndPosition
- Bubbles that get Popped
- Bubbles that get Dropped
- data if we fired a powerup bubble that has special behaviour
After that we just need to scale those paths to fit each users resolution and pull the bubbles along on that path to their destination!
i hope that was somewhat interesting to read ๐
I see! You're right there was no point in simulating everything, nice usage of raycasting ๐ช, gave me a lot of thoughts. Thanks for the explanation ๐
Is it a last man standing where you can just watch as others struggle or can you actively mess up their gameplay somehow?
You're welcome!
It's similar to Tetris + powerups. If you clear bubbles they get sent to your current target and there are both, powerups that help you and powerups that distract your target!
I'll be following your progress, feel free to ping me if you need somebody to come and play ๐
Hello!
I'd like to work with you. let me know the details.
short before and after video for new sparkle particles for the cleaner powerup!
Not too interesting to look at but for me personally, it was a huge milestone to get all the tech lined up to have steam integration and go through the whole steam purchase order flow for microtransactions ๐
it isnt rocket science but there is a bunch of stuff in a lot of places that can go wrong if you don't really understand what you're doing and dont line all the pieces up properly
Another Steamy update today. I planned to keep the whole party system ingame across platforms, but apparently you cannot get the friends of a player on steam. not even friends playing the same game.
thus, i tried weaving their lobby invite system into my own and to my delight, i got it working! phaser + native steam friend invites, awesome!
Where did you source the art assets from? I trust you didn't fall foul of Valve's new policy against AI art?
Haha, partially. Some of the backgrounds are midjourney, all the bubbles and stuff have been done by freelancers
I am not looking forward to that battle if it happens to me. I am relying heavily on Midjourney.
damn i can imagine ๐ for me personally i dont worry about it much
Steam Technology implementation wise, I am now feature complete! really happy about that ๐ Also did some groundwork regarding Menu Overhaul and implemented a proper working resolution picker for the electron build.
To put it bluntly, getting that to work properly was a nightmare. Many times during development, using web technology made my life easier and feature iterations were quick. Not this time ๐ I am too lazy to properly write that up but if anybody runs into issues trying to do the same thing i will be happy to help out.
As a side note for anybody using Spine, I sadly had to cut my losses and revert back to the previous phaser spine 4.1 runtime. there were just too many issues in my project that neither mario nor me could fix in that new runtime. Biggest was scaling, but also animation playback and positioning. basically, nothing was working right and it didnt look like i could change that in a reasonable timeframe. really sad about that and it came unexpected as i didnt have any issues going from the older spine phaser runtimes of 3.8 to 4.1.
The resolution picker and scaling work was all worth it to me though, all the sprites and even .text() looks super crisp now and i love it โค๏ธ
hello people, long time no see โค๏ธ
today I have got a little something for you once again! Been working on a little match results screen (big ups for rexUI!) and desync handling. Before the switch from socketIO to Colyseus, i had a pretty thorough mechanism to detect desyncs and force sync the client again if client and server had different truths. however, those desyncs and thus force syncs happened rather frequently so i wasnt happy with that.
In general, i think that Bubbits needs to have a rollback netcode. Aiming and shooting your cannon in general should feel like you play offline and should not feel laggy in any way. that introduces a lot of challenges if you still want to have an authoritative server that can validate gameplay on the fly, or rather, even before it happens on the client.
There are still some kinks to work out here and there but for the most part, the netcode feels pretty robust and desyncs that cause a visible force sync happen rarely.
To get the spectator mode working again, i needed a working force sync mechanism to create a working playfield within an already running game. now that i have that once again, i reenabled the spectator mode. there was one thing i didnt like, you can see it in the first video. its a splitsecond in between switching spectated that can occurr if the playfield switch doesnt happen in the same frame. second video shows a solution that makes sure that the new specated playfield gets created and shown before the old spectated playfield gets deleted, looks a lot cleaner!
for the special people that read my stuff over here, i have turned on all the graphics stuff for a quick video to see how much that makes my fps tank. answer to how much is: yes.
love me some aquatic ambiance.
is that from your game's soundtrack? or just something you had on in the background when you were making the video
haha you heard that right, not my OST https://open.spotify.com/intl-de/track/5pe4MCSrSpOKUrteaZcIKL?si=04b59951945b4611
nice remix though!
the solo overdoes it a bit with the pitch bends, but yeah it's pretty nice
Hi, just joined the party. Amazing job, on every aspect! Just to make it clear, you built a game with a web stack, packaged it with electron and published on steam?
Thanks man, much appreciated! Exactly, it is not published yet though but that's the plan. First steam, then Google Play and possibly app store
and you plan the same approach with other stores? Just package the web app in a container that works with the store?
Yeah, I already conducted feasibility tests least year with the APK export for Android
nice
which means basically, that you have already cross-platform play?
did you have to do any platform specific tweaking for the networking code on the client
?
Yes ๐ Android test was more of a packaging and tooling test I didn't play much.
Don't expect any change in networking code, what will need to work differently is the party system as steam doesn't allow to query friend list data (I first planned to do party invites with an ingame invite system for every platform but that would be cumbersome for steam users)
i meant the gaming code. I saw taht use Colyseus, which I'm not familiar with, but I see it's nodejs. So, the inner works of that will work in any app container? Electron, APK etc?
Colyseus has a nodejs backend library and a Javascript frontend library. ๐ฏ
do you know how valve can tell? do they do manual checks?
Valve doesn't tell. There are a bunch of people in steam dev Forums complaining that their games got rejected or are on hold
Man I got so many other topics to worry about to get to a release worthy state. I don't worry about that one.
If they do reject me because of that, remove those assets, procure new ones, done. It will be pain, it will cost more money but that's pretty much it
I donโt know, nobody seems to know what the process is, which is part of the problem.
It would be funny if they use AI to check for AI assets.
I am not even considering Valve tbh. I can publish the PWA on my own site and market it myself.
not having to worry about exposure is the best possible place to be in, if it was the same for me i'd most likely just build a webapp too ๐
Agreed. I can always pivot later if I need extra marketing.
Wow, congrats on your fantastic progress towards release! ๐ I'm dreading attempting all of the Steam integration on mine. ๐
Thank you
if you run into issues with steamworks.js feel free to get in touch ๐
This will be paid game
Running on Steam Deck 
Hey guys, let me show you what I have been up to this past week. Avatar Fx!
You designed GUI yourself?
Those are pretty!!
First part of the new UI implemented ๐ฅณ
On another note, there has been a huge addition to the gameplay loop which is an event system. at certain points in the Royale mode, the server can start an Event which every player participates in. Events could be anything that makes the game more difficult or more fun, like getting a powerup at every shot or a more drastic change of the rules.
Best event yet: Squid Game. First Game. Love it!
Hello you lovely humans. 2 things:
I would be absolutely delighted to be able to test a real Bubbits match with 25 human players sometime. But I don't know 25 humans. So, if you read this and would be willing to participate (would take ~10 minutes, you can choose if you'd like to get the steam version or just use the web version), please react to this post. I dont know if that many people read this, but you would definitely make my month ๐
On another note, I am currently rewriting how remote playfields get synced. This is a perfect example of why coding in teams or with a sparring partner is the best. Because I'm sure if I did, i would have done that change a year ago or earlier.
Up to now, the colyseus state got sent to the client, in there is data from all players and for important actions like a shot happened, a player used a powerup, etc, i had array with the latest shots, latest used powerup etc tied to shotIndeces to be able to compare what still needs to happen. This approach works most of the time, but it will never be as robust as I'd like it to, no matter how much I polish that.
now, every player has an action log of all the relevant permutations that can happen (shot, receive bubbles, use powerup, receive powerup, event related stuff) which gets written on the server. The Bubbichain. Now the remote playfields just need to make sure, that they 1 by 1 execute these actions (still a bit tricky, but doable) and if need be resync to a working state and then proceed through the log. this should give me the robustness i want to handle how remote playfields get operated by data.
It is obvious. this should have been the way it worked all along. somebody should have told me. have a nice week ๐
Hey guys, long time no video! And no hard feelings that nobody EXCEPT @midnight wedge wants to test, i still love you โค๏ธ
Rework from Spine to SpriteSheets has been almost completed but there is more: Today I brought you some footage of one of the new Events that can occur in the Royale Matches: Red Light Green Light!
in playtests the events were pretty well received because they add variety to the gameplay and make every round different, i think having powerups together with an event system like this is a solid gameplay foundation!
Game logic wise, implementing events like red light green light have been a challenge because they influence both backend and frontend and gameplay wise they need to integrate/change the most inner workings of the gameplay loop. In the end, all worth it I think ๐
PostFX made the newest event Possible: Bubbits Noir. really happy with that one, maybe i can get some footage of that also for you guys!
Its funny no one is interested in your game
May be because it is a old concept
I am interested in testing though
Hey guys, you wanna help out? Tell me your top 3 
top row - cat and bird on the right
middle row - angry bird on the right ๐
your vote has been registered ๐
from left to right, from top to bottom, from top 1 to top 3. number 12, 10, 14.
Top 2nd, top 4th, middle 4th
UI Overhaul powered by RexUI slowly coming together
Hey guys, today i got down into a rather math heavy (simple math) topic: Enabling playing with a dynamic number of Players in the Royale Mode.
Its a mixture of pure math and artistic choices you have to take along the way, but it's a solvable issue: Maximizing the bubble size of the mini playfield for any given number of players up to 25 for a dynamic stage size (how many bubbles are in a playfield horizontally and vertically) for a screen with a varying aspect ratio so they all fit nicely on the screen in a grid of varying size.
I expect that at especially at the beginning and in playtests, there will not be 25 people in the queue at all times to play which made this topic that has been in the back of my mind so important. The people who want to play should be able to, and also if you want to play with just a big group of friends, Bubbits should be able to accomodate. Visually appealing, not with half baked AI to fill up the screen. Its not fully finished, still some issues to tackle, but I'm happy with how its working out already!
Kinda doubt it but if anybody is interested in any specifics or has any questions feel free to tell! Without further ado, here are some screenshots!
Dev Log expansion Announcement: https://forums.tigsource.com/index.php?topic=75290.0
most of it might be similar to what you guys already know from here, but bit more general info to kick it off over there!
Bubbits | Puzzle Bubble Royale
Hello you beautiful human! Revisited my debug draw and added some new features to show off the logic behind the visuals, lots of new things to see in there, hope you enjoy!
sometimes, its the small things that improve a UI, can you spot the changes? ๐
Stroke and margins? Anything else? ๐
exactly! the little things ๐ technically i used setShadow ๐ it really brings more contrast to the white letter on light blue background
Onto the next topic: Implement Keyboard/Gamepad Controls for all the menus.
And yeah, you saw that right you guys, I pondered for a few days and then decided to localize Bubbits ๐ huge decision, a new kind of workload added to the project, but I am really happy that I took it!
Using Rex's Translation Plugin, it took just 1-2 days to adjust most of the text objects to seamlessly translate. That paired together with brand new functions for the @pale quail DropDown List so it can be controlled easily by keyboard/gamepad! โจ โจ โจ
To everyone reading this: I am looking for gaming people from Japan/China who would be willing to help me doing those translations properly, I wouldn't want to have machine translations that sound silly in the end ๐ Please get in touch! (For other languages also if you feel like you'd be happy to help!)
hey guys, its just a small update today but one really dear to my heart. its been some time but now we have finalized the first character concept for Bubbits.
Meet Kitsune ๐
Seamless switching of Input and Control prompts between Keyboard, Xbox and Playstation Gamepads
Steam Rich Presence working ๐
Toasts!
And the final concept for our new Flow her design has changed quite a bit from her initial rugged outfit to better reflect that she is done running and dying and is now living her retirement life on Bubbits Island
Its hard to show, but I have been working a lot on netcode the past few weeks. I think I'm on the right track now to keep desyncing to a minimum and desync resolves as clean as possible, but building a multiplayer game is hard 
๐๐ Locales ๐๐๐
Thank you so much ๐ not released yet, I hope to have closed alpha tests soonโข
As a little something for you awesome humans who watch this space:
45GMC-XKIXT-3GTDQ
5837R-0PEPQ-0DJB5
BYMJH-9WIBI-G56AH
PYYVI-RCG6V-5DTQN
X25BX-00JAP-C6T73
A few steam Keys for Bubbits. The game has bugs. The game is unfinished in various places. If you grab a key, let the others know if you may ๐ And if you have a play, i would love to get some feedback about the game in general and how your first use experience was!
Oh, and please activate the technical test beta branch to get the newest version ๐
I am not able to use my PC (and steam) right now unfortunately, will this ever be available for iOS or the browser?
Dev version runs in browser, mobile is planned after the steam release sorry my guy!
please give a wet welcome to our first finished hero: Felix 
the whole bubbits crew is together now. i didnt do a single of these brush strokes but let me tell you it has been a long way to make that happen ๐ who's your favorite?
bit of juice if you decide to make a purchase
New Bubble Pop Animations!
The VS Mode has not been updated in forever, up to now it basically was a barebones way to 1v1, one round, back to menu. That has now changed! Now the mode is worthy of being called VS. 2-4 players, dynamic Playfield positioning and scaling, and it is now a BO5 style game where you need to get 3 wins to win a match.
it was a bit more work than anticipated because up to now, a match wasnt meant to last for multiple rounds and I took the route to not destroy and recreate all playfields but to reset them without having to recreate them. Both roads would have needed some work to make it look good, but resetting playfields was indeed a big endeavour. a lot of moving parts in there that needed to be resetted properly ๐
Options Key bindings now rendered with the Prompt font according to the currently active input device. Rebinding gamepad buttons would also be nice, but maybe i will wait until someone complains about it to implement it later on ๐
I posted a lot of Bubbits content in here throughout my time developing this game, why not go for something different today. If you are up for a little challenge, read on:
In this block of code is an error. You should be able to deduce what is wrong without any knowledge of other parts of the code. This is a part of the backend code that gets called if a player uses his powerup Best of luck! (it is a silly mistake really and it lead to very strange things in the game haha)
I just came across your Bubbits thread and have been trying to digest all of the great knowledge sharing. Thank you for that! I'm getting back into Phaser dev again after a few years away and I have been staring at my game's codebase often. I'm going to say your mistake was in line 131? Missing 'room' from this.room.state.activeEvent?
I'm glad you found some of the information useful! ๐
line 131 was fine, to narrow it down a bit, error was in the if clause between line 132-140
Ohhhhh, line 138, the last parenthesis is outside the curly bracket! I added an extra period to my code value the other day and took me forever to find the issue lol
hahaha that was extremely close, its a few characters before that. ๐
new SPlayfieldState(player)
should be a new SPlayfieldState(targetPlayer) to reflect the playfield state of the player who got hit by the powerup, not the playfield state of the sender
Ohhhhh! Well, I tried lol.
Does phaser random not able to be seeded?
I needed a solution that I can use in frontend, backend, be seeded and have the option to set the current state ๐
Ahh I see. We may need that as well. Can you bring it into phasers random library somehow. Or will I need to write my own random choose from algorithms as well?
I wrote a small wrapper around it with the functionality I need, has nothing to do with phaser (i dont use phaser in my backend ๐ )
ahh makes sense. Thanks for walking me through that
was just coming back to ask if you had an example XD
I am really happy with my solution, hasn't failed me yet!
Tonight I have the pleasure of revealing the logo for Bubbits to you. Overall it's not an important thing, but feels wise, it feels absolutely awesome to finally have a logo after working on a project for a long time ๐
yoo
How May I help you good sir?
Now this has been a long time coming. I have thought about a UI Element like this for 2 years and now finally implemented it. Every player who logs onto Bubbits for the first time will get their very own Bubbits ID. This document can be customized in various ways and represents their journey. Art is placeholder. With that came a second customization screen tab. Thats awesome because the previous versions only customization tab now has 2 fewer buttons and is a bit less cluttered.
A huge change visible in the video is that a few of the Bubbits ID Customizations allow to have multiple items activated at the same time. the menu was absolutely not made for that and needed some proper convincing to allow for that ๐
lool i was just wowing at your logo, it fits the mood and game very well
Hey guys, I got something for ya! video too big for discord ๐ฆ so youtube unlisted it is!
Video is a bit longer than what you've seen up to now showcasing the new menus, steam mtx integration (looking at that transition from game to steam overlay makes my inner monk very satisfied), and some royale gameplay to top it off! Have a nice weekend!
Hey guys, you know me a bit by now, I really like the small things in life. Like the most recent UI Element I built, art not finished, but i really like the functionality ๐
Hello you beautiful people ๐ long time no see! bad health sucks. what does not suck however is the brand new Bubbits Daily Challenge mode! Really like how the first version plays already, its a survival kinda arcade mode with ramping difficulty and a daily highscore leaderboard ๐
A big challenge to make this mode happen was to find an efficient way to still validate a singleplayer game mode on the server with reusing a lot of the core server functionality without having to create a new game room for every players that plays his daily challenge ๐
Looks really cool!
Hello again you beauties, today I am very happy to show you our first animated Outline Block, Lava Deluxe! I wasnt sure if animating the outline distracts too much from the gameplay but I think this is subtle enough to add to the visual fidelity but not take away from the gameplay, what do you think? ๐
Hi, nice to meet u
Am looking for a phaser developer
Are u a phaser developer?
if so that, plz dm me
What have I done. I finally allowed Bots to use powerups.
Hey @proud violet , how did you end up implementing those Steam microtransactions?
Frontend & steamworks.js + NodeJs Backend & Axios + Info in the steam docs = Mtx!
https://partner.steamgames.com/doc/features/microtransactions/implementation
https://partner.steamgames.com/doc/features/microtransactions
it has been some time since i implemented it but I think I didnt have major issues getting it to work!
its got some bits and bobs though to get a grip on the data flow required for it to work
if you face anything major feel free to reach out!
So you didnโt use a third party library? Did you implement the API hooks in-game or make your own API like they suggest?
Could you be more specific? ๐ฎ What API hooks we talking about?
I have been reading up a bit and there is a third party script that does it for you https://github.com/jasielmacedo/steam-microtransaction-api
Apparently you need an intermediate API like this?
Or did you do it a different way?
ah, at first sight, i think what that is, is what I use my backend for ๐
i implemented the necessary calls for that in my backend myself yeah, no third party anything for that end of the flow
i think what they mean is, you shouldnt call these things from your game itself but rather from a trusted resource (your own server)
start of the transaction flow happens at the client side through steamworks.js, then gets routed to the backend for validation and finalization
Right so given I am using Firebase I should probably look into some library that connects Steam and FB
I guess I need that anyway for user auth
do you use steamworks.js in your frontend? (the user auth server part i also do in my backend without any third party lib)
I havenโt started yet so I am open to suggestion.
well i dont know about you, but for me it was like: Am I comfortable with talking to a WEB API from my backend? sure thing. Am I comfortable writing a wrapper myself around the c++ steamSDK myself? absolutely not. there are not a lot js steamsdk wrappers out there. there is greenworks and steamworks.js really. however, as i was just looking up greenworks because i didnt know the name, it seems they have started updating it again now (when i looked at it last year, it was pretty abandoned since 2018).
Long story short: i dont know if greenworks is a better choice now or not. steamworks.js does most of what i need without any issues.
Fair enough, thanks for the tip.
One more thing: you cannot use these client libs in userland. Need to be used in e.g. electron main process
i might be wrong but afaik xsolla is more of an AIO auth+payment solution rather than a lib that does what the steamsdk does for you
You can use Xsolla as a gateway to Steam for in-game shops. https://developers.xsolla.com/sdk/unity/item-purchase/payments-via-steam/
I have had a Zoom with the local Xsolla guy. Given I will be running MTX on the .io site as well, it makes sense to go through them even though it is an extra cut to pay.
Oh interesting! Please keep me in the loop on how your experience goes with Xsolla, i did think about working with that as well at some point!
Gotta be able to tell the players whats new in the game!
The last weeks have been interesting working together with freelancers to get the ranked crest assets done. wasnt easy (is it ever) but I'm really happy with the outcome, have a look at the diamond rank!
Steamdeck build wasnt launching for reasons unknown to me at some point in the past months, tried to get to the bottom of it today.
Good news: its working again. Bad news: if you launch it, then close it, then launch it again, almost all images display as black boxes. if anybody has any clue what might or could cause such a behaviour, please do tell! I have no idea to be honest.
hey guys ๐ today i got some love for the Bubbits ID Ranked Crest for you, some timelines, some fx
Colormatrix PostFX Freak Frame when trying to create new sprites and instantly color them, maybe it will work when the new fx are out ๐
You are still working on this? Its more than a year?
For sure! Been working on it on and off for 5 years total now and for the past 2+ years more intensely!
Today I got a more dev log kind of post for you guys ๐
Rewriting Gameplay Systems that are tightly integrated into the core gameplay loop that needs to get replicated to other players perfectly is always very scary for me. This week I rewrote parts of the sending bubbles to opponents system to allow for more varied gameplay options. if you take something like that apart, the game does not work until its all put together again, so you can only start testing after quite a lot of changes.
of course, things broke here and there and some fixes were quickly found. other fixes required a more thorough investigation and I found myself in a place no programmer ever likes to be in: race condition hell. needed a bit more diving, logging and thinking to get to the bottom of this one, but it seems like i got it all working again in the end ๐
How to play? The site say is coming soon, any possible date?
Currently still unannounced/unavailable to the public ๐ if you scroll up a bunch, i posted a few steam keys here, maybe some of them havent been claimed yet ๐
Race conditions do suck. ๐ฌ
I'm a very happy boy to show you the first 2 finished character animations for Bubbits, meet: Jackie Pan ๐
Idle is a simple frame by frame animation, the action is a frame by frame animation that works in tandem with timelines influencing him and other sprites ๐
Today I would like to present to you the new powerup ui, you could already see the backdrop in the last video. for the past years i had shitty icons i made myself and i am soo happy to finally be able to get rid of them, have a look!
today i worked on a long running topic, which is the algorithm that calculates all the positions where bubbles you receive are placed.
what you dont want is that it just fills every hole there is from top to bottom. its very boring. what you do want is that you start adding the bubbles to the bottom edge of existing bubble structures. also, you want to add them in random x position places if its just a few bubbles.
did a bit of refactoring, and finally solved an issue that prevented some free places to be filled when possible. however, there is still one kink i'd love to solve, but at least for today, i didnt get a good idea on how to approach that one. it is apparent in the right video, can you spot it? ๐ฎ
I had one more idea and managed to fix it. I am elated ๐
if(x == this.matrixSize.x-1){ // Outer column where only every 2nd row has a position in the playfield
if(y%2 && this.smallLineIsOdd) y--;
while (
this.isPositionInPlayfield(x, y - 2) &&
this.isPositionFreeInPlayfield(x-this.smallLineY(y-1), y - 1) &&
this.isPositionFreeInPlayfield(x, y - 2) &&
!isPosInArray({x, y: y-2}, alreadyReceivedBubbles.map(recBubble => recBubble.pos))
) {
y-=2;
}
if(this.isPositionFreeInPlayfield(x-this.smallLineY(y-1), y-1) && this.isPositionFreeInPlayfield(x-this.smallLineY(y), y)) return undefined
}else{
while (
this.isPositionInPlayfield(x, y - 1) &&
this.isPositionFreeInPlayfield(x, y - 1) &&
!isPosInArray({x, y: y-1}, alreadyReceivedBubbles.map(recBubble => recBubble.pos))
) {
y--;
}
}```
Its the content in the first condition part of this if clause. madness. ๐ฌ
I love it when I fix something that was broken! Nice work!!
On we go, another bit more complex issue that I avoided to work on for 3 years.
It's about handling 2 types of special bubbles properly in edge cases. one of the bubbles is called levitate, another one stone, its the blinking and non blinking "tech" looking object in the playfield. levitate can only be cleared if you clear every other bubble around it, otherwise it keeps levitating all the bubbles its connected to. Previous solution: try to avoid that situation in generation. I did manage that for the most part, but technically, super rare edge cases could still occur.
Issue: Levitates right next to other levitates or stones. if that ever happened, the only way to clear is a certain powerup because they would keep levitating each other.
Solution: Make them pop/drop if the whole cluster they create only consists of levitates/stones. It's of course not rocket science, but because all the functions that have to do with finding clusters are recursive, it's a bit more difficult to fully wrap my head around it. ๐
So, there is this thing I have been working on really hard for the past years and it's almost ready for you to get a first look. I cannot wait to finally share it with you! It's that time when excitement and anxiety meet. Stay tuned!
Ah, refactoring 
what you need to be able to access attributes like that:
interface YourInterface {....., [key: string]: any;}
So stoked to share the first new Cannon design since 2022 with you. I think the artist did a superb job, it looks absolutely stunning ๐ฅน
yeah remember that? When i did that, i created a new feature: Rainbow bubbles could now pop Levitates and stones. They shouldnt. I managed to fix that. ๐ thank god. for bubble logic stuff you really gotta use your brain.
r/mildlyinteresting: Bubbits now has 34000 LOC
Tomorrow for the world, today for my Phaser family: The Bubbits Reveal Trailer. Enjoy, I hope you guys like it!
Obscure electron bug finally solved. https://twitter.com/TeamFlowOfcl/status/1831427922537660757
https://store.steampowered.com/app/2483270/Bubbits/
The Bubbits Steam Store Page is now officially online ๐ฏโโ๏ธ ๐๐ฏโโ๏ธ
It's been a long 5 years since the first lines of code were written. It would literally mean the world to me if you human who reads this considers helping me by putting Bubbits on their wishlist and might also consider sending this along to family, friends and colleagues who might like the game. This game has been my life for the past years and I have tried my hardest to put the very best of me in there, every day anew.
โค๏ธ
I am very grateful for all the help I got on this journey and especially in this discord. A Special thanks goes out to @ocean rover @pale quail @tacit falcon @kind arch @magic sparrow and many, many more who had words of wisdom or guidance for me and helped me A LOT in one way or the other. I appreciate you guys very much.
โค๏ธ
Get ready for a fresh take on the classic Bubble Shooter Genre with Bubbits! Wishlist now and join the bubble-popping revolution today!All Game ModesBattle it out in massive 25-Player online Battle Royale matches or go head-to-head with friends in the intense 2-4 player VS Mode. Take on the world in the Daily Challenge, or embrace the timeless C...
Release Date
Coming soon
But only because the WHOLE world now knows about Bubbits wont mean my Phaser Crew stops getting to see things first. on todays Menu: Snap Bubble Visual overhaul!
I'd like to say I know what's going on there, but I don't have a clue. Very pretty though ๐
This is how they looked before, basically a slightly visible beam of light. Mechanically, the Snap Bubbles itself are pretty interesting for a Bubble Shooter though, let me elaborate!
Usually, even special bubbles just have a certain behaviour they have at all times, no matter when you shoot them. The Snap Bubble pops bubbles in a line when hit, but the line that gets popped rotates every second which introduces an element of timing into shooting that bubble to cut where you want it to cut!
Code wise its even more interesting, because as Bubbits shots are calculated without simulating the flight bit by bit but at once, the shot calculator must take into account the time the bubble flies until it hits the snap bubble (could have already rotated again and again by the time the bubble arrives!)
gotcha! and blimey ๐
I should go to sleep now.
Fingers crossed we make it guys ๐ค
About time that I finally built that. Bots in Bubbits (Bubbots!) now also feel the whale if you whale them and perform worse. Take that AI!
rankText is a number between 1-25, sufftext is either rd, nd, st or th. sufftext should be displayed right next to rankText and the tops of both texts should be aligned. the fontsize of rankText should be double of sufftext and I would like the font for ranktext to be as big as possible so both texts still fit within this.bg with a margin of this.bg.displayheight*0.1```
Cursor understood that and delivered. I am somewhat disgusted and amazed at the same time. we are so doomed ๐ฅน
Oh, and I have been a smart boi this week fellas! Instead of working on very much important robustness things, I built a new powerup. smart!
rewrote some of the mini playfield scaling and layouting service, really happy with the outcome โจ โจ โจ
Guys we going places
my guy no! stay in there! ๐
deciding to overhaul the main menu 1 day before demo release has been one of the more stupid decisions i have made during the development
not fully finished, but what do you guys think? all worth it? (new one is the one with the logo in it)
I would use all caps on the top line, or add some height
as it is the text looks off centre
What exactly looks off center to you? ๐
The capitalised letters are centred but the lower case ones are not
I feel like this is why such links are almost always icons. Camel case text is hard to make look nice, and all caps tends to look shouty.
Numbers are fine but beyond that itโs usually best to keep it minimal with icons imo.
I'm still not sure I understand sorry ๐๐
Battle for the Daily Challenge crown today, INTENSE https://youtu.be/VSFfVr2gyVc
https://store.steampowered.com/app/2483270/Bubbits/
Pop your way to victory in a colorful next generation Bubble Shooter. Perfect for casual and competitive players alike! Compete in a 25 Player Battle Royale, Play VS with friends or go Solo. Customize your Playfield, unleash Power Ups and experience crazy battle events that shake up the game!
VS Mode 2.0 
I may or may not have once again gone on a coding spree to maybe get a new feature in before Steam Next Fest hits. It may or may not be that VS Mode 2.0 thing.What I can say is: Refactoring online systems that were tailored to one player to allow for multiple is hard. ๐ SO HARD JESUS.
I basically overhauled the whole way devices control the game to allow for both keyboard and multiple gamepads to be active and control different parts of the game. to also allow for online vs to have multiple local players on the host: insanity. what i did to colyseus today, nobody can ever know.
Well done! ๐ I had a similar experience when I had to support single player with AI players via Colyseus. I think supporting local play would be too much for me. ๐
thank you ๐ im not done yet though and there is still no end in sight for the overhaul. its one of these projects where you begin not knowing what the whole undertaking really entails haha.
For AIPlayers I basically build an AI Entity i can use in both front and backend. for now i just use them in the backend so for colyseus they are pretty much like normal players except the client+connection part.
What I wanna allow for the VS Mode 2.0 is basically almost everything thats physically possible. the one thing i currently am HIGHLY unsure if i can make it happen is that 2 game clients connected together can both join with 2 local players. right now only the host can add local players.
I hope in the end it will all work out somehow ๐ right now you can mix both, host+ more local players on host + bots + multiple other remote clients. it's a headache topic thats for sure 
Pfew. Busy weeks it have been. VS Mode 2.0 is now live on the steam Demo. Local. Online. VS. Coop. Teams. CPU/Bots. Adjustable CPU Difficulty. Player Customization. Different Playfield Sizes. Keyboard+Gamepad(PS,Xbox,Steam Deck) Support.
It's all there.
I see you live on steam right now ^_^
Yes Sir we doing a little next fest party 
Steam Next Fest Day 1 ๐ฅ ๐ฅ
Is what i say on twitter. however, phaser fam, we can be real here can we not. its still very low numbers, fighting for visibility in the gaming market today is hard as a nobody. but we shall venture on! onwards and upwards!
This is not a promotion, but a genuine reaction by scottish streamer Argick.

New dynamic animation for Yui โจโจโจ
the points of impact of the bubble are random spots on her umbrella realized through getting random points of a triangle that matches her umbrella
Steam Next Fest has come and gone and in the meantime I have been cooking up something new!
I wondered how much work I'd have to put into Bubbits to mimic how every single Mobile Bubble Shooter works today:
To break it down, it's basically a Playfield thats a lot higher than whats visible on screen and as you clear stuff, it descends until you can eventually see the top row and clear that.
Of course, it didn't just work, I had to adjust some systems here and there, but nothing too special (except I have now finally come around to adjusting the playfield layout algorithm to be 100% dynamic. Before, it worked well enough for all the playfield sizes I used in the game, but didnt work on some bigger ones. I will attach ugly whiteboard sketch below!)
See in Video: The new Bubbits Puzzle Mode!
It's absolutely no rocket science, but fully dynamic playfield scaling and layout of everything in it is not as straightforward as one might think. If I have something like that at hand, it really helps me to visualize it to be able to fully think it through ๐
Just a really small thing i simply didnt do for years: Outline Resize memory. Before, if a playfield got resized, the outline blocks got recreated and every block was a random block id again. now, every block gets the same id again, looks a lot more clean ๐
I don't wanna go too far with analysis takeaways as players numbers were low, but it does say something. whats your take guys?
I cannot upload the video here because my nitro ran out, but have a look over here for some World Map Prototyping I did the last 24 hours! Nowadays I show you rather polished features most of the time, this one is a lot different.
https://twitter.com/TeamFlowOfcl/status/1851659016893497371
I think every programmer will know this very well in one way or another: If you develop a product and you are in the second half of development, you work a lot of hours and have only little visible progress most of the time. It's not that satisfying, but necessary if you try to shoot for a certain level of quality and complexity. It felt great to once again just prototype something, get your hands dirty and have that rapid progress for every hour you put into it ๐
How it starts when I'm working on something new? Singleplayer 2.0 Brainstorming Session: Adventure Mode
This? Oh thats nothing. Just Bubbits running as a Discord Activity. 
Very nice! ๐ I looked at the guide for getting started but it looks like too much work for me.
thank you ๐
It took me 3 days to get this far. 1 day to get it to run, 1,5 days to implement some discord api features like auth, nicknames, avatar images, party management, and 0,5 days to get it to run on cloud infrastructure
Man that sounds so good. I do have Discord auth separately but this is so tightly integrated which is really nice. Most days I barely have the energy to open my code editor... but maybe one day I will look at this again. ๐
I build a whole app a while back,honestly found Disc awesome. They use circular Defs, so like, there is no global this, just a Discord object. I guess Phaser does the same thing, but different? this.scene.parent.scene == this.scene
Bubbits got mentioned in a Phaser Announcement in the Announcement Channel am I fame now 
We had some good rounds of it! Was fun ๐
I am getting Connection error - Wrong Version on Steam even after restarting and DLing latest version
Yall so deep, where's the 1/2/3 for starting a Bubbits game in Disc, lol
@ Flow, just post the link every so often in here so peeps don't have to scroll up ๐
Yeah Steam Version is currently disabled. Next fest Playtest has concluded so I need to switch it all back to the normal game version ๐
What link? Steam? ๐ค
Bubbits Saturday Daily Challenge! Take a shot at me! ๐ The Daily challenge is a one attempt per day mode that gives everybody the exact same Challenge to compete for the highest score! For somebody thats not familiar with how Discord activities work:
- Join the games voice channel on this Discord
- Click the Start an Activity button on the bottom left
- Look for Bubbits!
Pop pop
Working on overhauling the Level Editor. I really dont like it much to spend time on building tooling for myself, but now that Singleplayer Content will be a thing, it's a necessity to have a not pretty but working environment to create content ๐
on another note: you think i got enough exit buttons?!
0/5 Stars, "couldn't find exit button!!!"
Level Editor 2.0
from sketches to another completed set of animations! Todays star of the show: Leo ๐ฆ
Hey fam ๐ Lets start the year off with something fun! Something unnecessary! Something you shouldnt spend precious time on but do it anyway because your inner voice told you so.
So the cool cannon have an effect called ripple pop. it leads to bubbles not popping all at once but after one another.
For V1, the pop delay was calculated via distance from start bubble to popped bubble.
For V2, the pop delay is calculated based off the numbers of connected bubbles in between which leads to what you see in the second part of the video. My inner voice told me I needed it to be that way.
Transition 
First Cannon that brings their own Special fx with them ๐ I really like that ๐
it is much more satisfying this way!
listen to your inner voice ^^
just some testing
did a little Bubbits supercut for socials 
Seeing that everybody uses midjourney/ buys assets I am beginning to think I am the only idiot who draws his own stuff...
Great thread tho. Lots of info especialy i learned a ton about steam side of things which does not look so 'easy peasy' after all!
glad you had some stuff in there for ya ๐ Nothing idiot about drawing your stuff. If I could, I would ๐ finding freelancers and working with them takes quite a lot of time (and money) these days
That supports what my colleague (from work but we both are into gamedev) said lately... "Discord and forums are flooded with artists who dont draw but use midjoruney or stable dif spinned locally" .
I mean I don`t say I am great artist. Most of my games look just tad better than the flash games I used to play as a kid haha
but it`s cheap.
btw @proud violet do you have some exp in posting game on platforms like itch.io or lets say kongregate? I am thinking of those to post my 'blood and sweat' and if it happens to generate some tiny income that is even better.
"That supports what my colleague (from work but we both are into gamedev) said lately... "Discord and forums are flooded with artists who dont draw but use midjoruney or stable dif spinned locally" ."
yeah people wanna make a quick buck. if you used those things yourself before you can see pretty quickly though when you look at portfolios.
sadly cant help you with itch or sites like kongregate. even though i only ever built an endless runner and a bubble shooter, the only platforms i have experience with are Steam, Google Play and the App Store :9
i was considering to release my game to mobile too but:
- i suck at **implementing **the nipple (ok that sounds odd)
- scaling the ui gonna be a *itch since developed mianly for desktop
- performance is key. I am really afraid game wont work well on mobile forcing further caping of objects in the scene
I think if you look for them you will always find more than enough reasons to not go for something. If your game would be a great fit for mobile, maybe think about it once more ๐
hah, good advice.
I truly cant wait to find out what causes that. I tried to hook into everything that has to do with color and play animation and still dont see it. houdini bug.
happens evritim? or my favoruite kind of bug (random)?
Not every time. seems to start after pooled objects have already been used. I couldnt track it down. i fixed it by letting that still bubble behave the same with a 1 frame animation. 
guess we will never know what it was
Very odd... Haha yeah well if you got a WA then it aint a severe bug like we used to say
testing a new feature on how to project receiving bubbles. currently you just had that ui on the bottom right with red and yellow bubbles like the old bust a move titles.
The new feature projects where bubbles would be added to the playfield. IF it stayed the same. As the bubbles get added after each shot fire and added to the playfield, it never stays exactly the same. taking all that fact entails into account was quite an intricate matter, but I think it works pretty well now 
Working on Bubbits Light currently. Project 5%. Normal asset size is around 250MB, for Bubbits light I am down to 25MB now. Gotta go lower. Resized the base images for my 3 slice Button solution. they do look kinda funny now ๐
yeah well
in case you might be watching this space: https://bubbits.io/
The Daily Challenge is out now, 1 try per day, playable on web, 25MB package size down from 250MB+ package size. was a wild past few weeks, but I think I didnt compromise too much on quality ๐
so that happened. thanks to @rigid forge for that one 
New background with some fancy 
hey guys! I rarely wanna ask for something thats not phaser me stupid issues, but today I would like to ask for something: Your Help. If you'd like to help a dude who spent the past 5 years and a chunk of his life savings on his phaser project, read on 
So I talked to marketing humans in the past couple of weeks and got some more insight into various topics and with one thing, I need your help! For the Bubbits Steam Demo to get considered by the Steam Algorithm, it needs to have at least 10 reviews.
So if you'd like to help out, it would be superb if you:
- Download the Bubbits Demo
- Have the Demo active at least 30-60 minutes
- Go to https://store.steampowered.com/app/3238070/Bubbits_Daily_Challenge_Demo/ and write a review with some fluff
That would help me out greatly ๐ โค๏ธ thank you so much!
I need to remember to not show it to my wife or she will get sucked into the game!
I will give it a shot tomorrow
New Loading Transition
The developer of Bubbits (@TeamFlowOfcl) sent me a custom build of their neat bubble shooter & we got it working with my cardboard Puzzle Bobble setup! It's got some fun mechanics & I'm sure they'd appreciate a wishlist on Steam if it's your thing:
https://t.co/a4CAl6b8e3
whoa just saw this thread -- this is nice! definitely the type of game i would have gotten addicted to as a child (and probably now if I didn't learn how to moderate myself lol)
Sooooo I programmed my ass off for the past month and participated in the Reddit Hackathon 2025! Reddit x Bubbits - Puzzle Challenge. head on over to https://www.reddit.com/r/Bubbits/ and have a play will you







๐ฅ
What's the motivation here?
I'll leave a review, actually @Phaser would maybe be cool to have a review sharing channel, like, so we can all do this for each other? Sounds awesome actually!
Let me first address the review ๐ That would make me very happy! Also: This is literally the only place I have publicly asked for help. This discord and more specifically this thread has been the place where I have been sharing my Bubbits development journey with you guys for the past couple of years. I don't have the funds to run big ad campaigns and not the wit to go viral. But you know what, you just added the 300th Post to the thread ๐ฅณ Who would have thought it would get that long?! haha, I certainly didnt. That said, up to now, nobody helped. Which is fine ๐ (No really, it's fine.)
Now onto the good stuff: Motivation: Bubbits lacks visibility. Both overall and on Steam.
What can I do? What could work? Idea: Leverage what phaser actually is and does best: Web. Build something that people can play wherever whenever (that includes not having to load 300MB for the game to start).
First Step was: Bring the asset size down. Completely remove customization (asset heavy) from the game. Only enable Daily Challenge Mode. That was the Bubbits Daily Challenge Demo
Second Step: Try and optimize asset size while bringing back customization and more. I am not where I wanna be size wise, but size to first load is now at ~33MB. Customization is back with ~40% of the full customization options in there. I rebuilt how music is loaded (from preload all tracks to dynamic loading), built a way so full and Demo players can both play in the same royale matches despite having different customizations.
That all lead to the third step: Release Demo 2.0 on https://bubbits.io/ 25 Player Royale Mode included, Customization, Daily Challenge, and Adventure Mode. And not just that, Bubbits is partnering with https://playlight.dev/ and has been one of the launch titles for the Playlight launch 2 days ago! There never was a better time to play Bubbits 
(wait what, IS THAT THE NEW BUBBITS KEY ART IN THERE?!??!
)
Started working on a controls Tutorial that integrates into the game without hindering gameplay
Awesome stuff! So, idk, it's inspiring to watch you work....it's like the opposite of LinkedIn techhustle motivational canards, but it has the exact intended effect: your devlogging inspires me to keep thinking about the future in realtime. I think that's what fights creative burnout, you set goals and see them through and there's some friction to setting more goals that didn't exist when you first had the idea. Integrating controls and demos and just the incredible slog of adding allllllll the art
So,ya, thanks!
PS: great answer, but I meant what were you thinking with "lightweight" and reducing stuff...were there issues or you're just optimizing for load sake?

"PS: great answer, but I meant what were you thinking with "lightweight" and reducing stuff...were there issues or you're just optimizing for load sake?"
oh! im not sure i understand ๐ I mean like for Steam, a Package size of 300MB is barely anything. For web, a 300MB Package size to load on site visit is crazy, at least if its not a big game where people expect that size when loading up the game (even then, 300MB I think is very big).
Remember us when you are famous and ridiculously rich!
So its not only me who has reddit living in their thoughts process rent-free lately
๐
Remember me when you take home that 20k this week 
Fingers crossed!
For what you might ask dear reader? For this beauty: https://www.reddit.com/r/riddonkulous/
thanks again @simple hedge , i might hit you up tomorrow for some tuning help ๐ still WIP, but its coming together. see design vs in engine
Looks great 
haha thank you sir. the dot pattern is very different to the design, im not sure yet what i like better. so many things that can be tuned differently (and i still havent fully understood all my possibilities in that update function lol)
math can be pretty cool!
hello! do you have an idea on how I might discern whether all dots are currently invisible? the way i see it is i should be able to empirically determine a value area that if i modulo it, it should always match that point of the animation?
It's about math, really. If you use a custom timer variable that starts at 0, you have to think about the cycle in terms of pi. If you for instance only want to display the wave N times, you'd want to clamp the timer+offset to something like 2N*pi such that the sine stops spinning
at a certain point, i wanna reverse the direction and then stop it as soon as its all gone ๐
i might be close enough, thank you 
Another possibility is that you pull out the time variable and tween it, allowing you to decide the wave movement yourself using easing or yoyo
You could think of it as variable T determining where the peak of the wave is
no tween ๐ i did take all your lovely ideas to not have tweens involved in this one ๐ i made it a little simpler even as the overall timeline isnt dynamic time wise, i think im alright with simple ๐
or not. different aspect ratios different timings. well, cant always be perfect ๐
No, I mean you use one tween for the time variable used in the sine. Time normally just ticks up so it's linear
But yeah, first thing to look into would be the sin(clamp(time+offset, 0, n*pi)) or such
Still starts that 3rd cycle and then aborts it
Should be fixable if you limit whatever is inside of the sin to like max 4 pi since then it won't do more than two "rotations"
Looks fantastic though โจ
oh yeah thats some videogame bgm mix. i often listen to those while coding. here is my favorite one. so gud https://www.youtube.com/watch?v=_pEdP-zCwbw
Recorded from Sega Genesis, Model 2 w/discrete YM2512 + line out mods + MegaAmp via Tascam US-1x2 @ 24/44
00:00:00 Valis - Deja-Vu
00:00:54 Arcus Odyssey - Map
00:02:21 Final Zone - After the War
00:06:47 Mega Anser - Bank Menu 2
00:09:05 Light Crusader - Status Screen
00:09:56 Tanglewood - Storm Warning
00:12:32 Batman - Ending Theme
00:15:05 ...
it doesnt look great because it doesnt go into the third cycle enough, then the "reverse" run until its gone would look better. but if i wanted it to go further that would change the overall timing with the text and all at the beginning ๐ฆ
i will keep that in mind, hard capping the overall value is smart!
It's all about the timing, yeah. Like if you want to cycle through exactly two waves, you just need to time it with the total duration of your thing
yeeea and i dont even know if i wanna keep the current soundscape or redo all that as well. so many decisions ๐
Today I have something else prepared for you guys though. I have had that piece of UI in my mind for a year now since i implemented cannons that work differently. up to now that did all work, but players could really see it on paper whats up. that is finally different now ๐
guys pls respect my personal space I just arrived here!!
So I built this cool feedback system so players can easily send feedback to me! It gets used very rarely ๐ but this morning i woke up to new feedback 
It's a great game Flow ๐ญ
I mean come on, this person assumes you are a whole studio, plural!
Lmao "dogshit"
I did the same thing in my actual dogshit not live but literally live game, and I do expect to get literal ASCII dick pics. ๐ฏ
It's the bravery of accepting feedback. Keep it up.
Again this "dogshit" is a constant inspiration to us all. #1111032126217912400
For the record, I'm a huge Bubble Bobble fan. TAITO for life.
You're keeping that spirit alive and well in this century, better you than some rando third party "remastering it" for a one time IP-stripmine.
Anyway, facts are facts:
0/10 Feedback Integrity
10/10 dudeman there played the game
10/10 Feedback Functionality
Maybe he was calling me fat. 
The next big thing
it's very normal for io games, for bubbits, the thought of doing this came pretty late. It will be a major undertaking but I hope that it will bring players together as long as there are not enough players to effortlessly meet them when queuing for a royale.
btw, that text gradient animation does look pretty sweet if i might say so myself 
The Live Join feature is slowly coming together ๐ the amount of stuff that the game needs to do for this to work is absolutely crazy.
I work with Colyseus and use Colyseus Schemas for the net sync. Fun number: a single Player Object has around 95 top level data points. the whole playfield matrix is just 1 of that.
Interesting Topics in the live join:
- Creating a playfield from a data snapshot at the current latest entry in the action log of a player (that entails all the current power ups like active whales, perfect aim visuals, special bubbles like two face and their current state, etc)
- updating the whole playfield customization visuals seamlessly
- Being able to create playfields properly that are already game over and adjust the nameplate and rank for that
- Biggest thing: Making it possible for a Bubbot AI Player to get transferred to a human Player
- adjusting various parts to map that player to a new colyseus session id, making sure all calls to the old session id are still routed to the new one and don't just disappear
- seamlessly hand over control to the player with a full sync at that point in time where the hand off needs to perfectly switch from AI on server to Human on client
Guys I love a good Training Montage in movies. This is not that, but maybe a little bit. Live Join Feature Code Montage. sound on for vibes
Bubbits has cracked the 1000 Wishlists mark on Steam 
After lots of integration work, I am super happy to share with you that Bubbits is now featured on https://www.crazygames.com/game/bubbits 
Bubbits is a vibrant bubble shooter that blends classic popping fun with fresh, high-energy twists. Compete in a 25-player Battle Royale, tackle unique daily puzzles, or dive into a solo adventure. Use power-ups, customize your playfield, and adapt fast as wild events keep every round exciting and unpredictable.
Whats that look like for you, is it a store or do they pay you outright?
You can run ads or facilitate IAP In App Purchases through them ๐ (right now i'm doing neither, later on IAP)
Are there plans for ads on a platform like this for bubbits?
No ad plans for bubbits as of yet. It might be somewhat stupid and based on personal preferences, but if I can, I would love for Bubbits to never run ads but solely rely on IAP.
Launch Day. 611 Players. 1930 Singleplayer Levels Completed. 96 Royale Matches. 
Hey so, is this right?
absolutely
v1.0 is some time away!
Ok, bad news first:
Seemed to happen after beating stage 1 in solo, after doing the Daily and my internet is being spotty, so on me maybe. Hitting Exit shutdown Steam.
Thats it, everything else was absolutely amazing.
Music, graphics, the wave screen wipe.
I did have some like, granular feedback if you wanted a DM!
if there is a log in %appdata%com.teamflow.bubbits/logs please send it over
also: of course! always interested in hearing what players have to say ๐
thank you!
Hrmm, Windows search... Is it in Steam or in my user folder?
like C:\Users\daran\AppData\Roaming\com.teamflow.bubbits
Ill get it in an hour or so.
Crazy Day 2
Is the folder hiddern?
I get nothing on Search.
Windows File Exploer is garbage for decade now ๐ฆ
go to your windows explorer
Users just has like, the Docs/Videos/Pictures etc folders
Yeah, my bad, I bailed after 2 minutes of searching ealier.
The only so far is this
Ok, there it is
4 minutes later.
But thats where I looked, so, it must be hidden.
your windows does strange things haha. you should not put it in a search bar
but in the address bar ๐
So, thats the path
yes
And I checked properties, but I cant see how to find hidden, let me go ask the robot
it should just go there
Ok, we're even. I reinstalled a while back and it hid hidden files, because rEaSoNs???????
You gotta go to this menu, and then options, because hey, why would we have settings like this in PROPERTIES of the actual folder, where they've been for 30 years. /rant
@proud violet
Alright, in your folder, what you want?
I could zip/email the whole thing if thats preferred?
thank you 
Lmao oh no
dangit
๐ thank you!
Good luck!
Want me to delete all these messages in here about it?
I'm gonna go beat that singleplayer!
Is there an end?
IDK if I'm ready for BR yet lol.
yeah ๐ right now the first half of world 1 is included 
hahaha, no worries! Comeback powerups will help you!
Finished the Demo!
Where to leave a review for the Steam?
Got three high scores, one Time Attack by 10 seconds (Leo!) and two Least Shots, one by four shots.
Hell yeah ๐๐
Get ready for a fresh take on the classic Bubble Shooter Genre with Bubbits! Wishlist now and join the bubble-popping revolution today!
All Game Modes
Battle it out in massive 25-Player online Battle Royale matches. Take on the world in the Daily Challenge, or embrace the timeless Classic Bubble Shooter experience in the Singleplayer Adventโฆ
Review to you:
-
Is it intentional to not have at least the first bubble visible on round start?
-
Are the controls remappable?
-
Where to learn about game mechanics?
-
Specifically, how do paddles and rainbows work?
1: I dont think I understand, could you elaborate? When the game starts, all the bubbles in play should be visible.
2: Serious question: Did you try? If so, where did you get stuck?
3: In Singleplayer, the game introduces the special bubbles and basic powerups. For the rest, it's learn as you go as of now. Which parts did you have a hard time understanding?
4: What are paddles? Rainbows are special bubbles that act like they have all colors in 1 bubble
-
The first and or second bubbles you'll be shooting.
-
No, just wanted to remap for personal preference
-
Sure, just kinda wanted to browse and make sure its fully understood
-
The Special Bubble that looks like a paddle spinning around?
Playstyle update is out now and first numbers from new players choices are in.
Classic: 53
Modern: 109
Not sure if I should cry or be happy ngl
30 ๐ฅ ๐๐๐๐ฅณ ๐๐๐ Thank you guys โค๏ธ
Let me show you something special today. I'm working on something super unique, I think it has never been done before
haha. It would be very funny if I wasnt the guy that now has to track down what happened and fix it.
Bit of social media shenanigans ๐คญ
Hey, how does the Least Shots + Time high score work?
its a 2 tier grading. first is who got the least shots, if 2 players got the same amount of shots, the one with the quicker time to clear wins ๐ ๐
Is the last level of every stage timed?
no it can be this or that ๐
Within the rounds of a stage?
The high scores are always for the whole level (be it a 3 stage one or a 1 stage one), the platinum challenge is about the last stage of the level
I'm not sure if I understood the question ๐
Im not sure I understand it while in game.
What differentiates a 1 stage and 3 stage level?
yeah it is not ideal :/ the game doesnt do a very good job teaching for that one. let me first tell you the why, maybe you got a good idea ๐
why: gameplay variety. a stage that takes 15 seconds to complete would be no good as a whole level. however, it can still be fun to play if it flows nicely. hence 3 stage levels, so small stages like those also have their place in the game.
what: every level has a 3 star grading. for 3 stage levels, beating all 3 stages grants the 3 stars. for 1 stage levels, there is a challenge like least shots, time etc that gets you a 3 star grade on completion ๐
So, hard agree on game theory: I get it, level design, 100%.
That being said, its like, just let me go into "LOVE THIS GAME, user mode":
I just want to shoot bubbits man. I want the game to make that as cool as possible, and, confusion is not cool. I don't mean stage or board to board, like, I just need to really be effortlessly aware of how to succeed.
If every stage has 3 stars, then thats that.
If every star is worth your performance on that level of that stage, then, banging.
Its just about the confusion: You select levels from the world map, right? Thsoe have one scoreboard. That scoreboard should be super clear about what it represents....I don't mean how you calculate ties between X and Y, but more like as a player I know what I'm aiming for when I'm playing?
I don't know if having combo "time/move" levels wihtin stages is a good user experience. Theres no limit to stages, right? I'd completely separate those, and only have three timed stages on Time levels, and three no-time stages on Lowest Move levels.
I went into the demo with the intent to get #1 on every stage.
The best experience would be me being aware of why I succeeded or not on each stage.
I'd say it was like <50% where I felt aware of what I was being judged on, time vs move count.
Amazing game, and, I hope this rambling feedback helps! You're the best!
Or any number....once you separate Move Count and Timed, then....if I trust the world selection info, I don't care how many stages there are, I know its either Rush or Aim?
The user doesn't care about how many levels there are, I'd offer, at any point in time? The user is always just playing their best level to level. This would be bubbit to bubbit but you've created the powerups/nerfs + hold that make it deeper than shot to shot, but the user is only ever playing the screen theyre on, right?
Thanks a lot for your feedback! Really appreciate it ๐คโค๏ธ
Still WIP, but I have been cooking for quite some time on this: The Launch Capsule. Enables combo wombo and also addresses a long running issue: players not really knowing whats going on. I feel really good on this one ๐
Match Results Overhaul WIP
Sooooo polished! Really crazy awesome!
more polish
slowly getting there. at first i thought i will base everything off an arc but then i pivoted to using a cubicCurve as base and then specify several tuning thresholds to move, rotate and scale the line on it. now i need to rework the arc mask to instead be produced by the curve line data and i think that might all work out in the end!
i use a path follower again and have run into the same freak frame on start follow issue 
there's gotta be something im doing wrong
and thats a wrap for the difficult part of this endeavour, sweet!
(apart from that freak frame bug)
Difficulty Meter - Flame Edition
Bubbits Royale Mode Gameplay - July 2025
ladies and gentlemen, we got lift off
Great stuff!
Sparky Power Up Overhaul. I love the new sounds for it 
I present to you: an abomination of a commit message. I post this so you may not be too hard on yourself the next time you do something you know might not be the best way to go about something.
Refactors sounds to only be in light folder, add async loader (working semi good) change remote playfield state picking, fix xp backend bugs, fix shield sound bug, sparky overhaul, fix bubbits id level not visible in customization screen, change showmessage to RevealBounceText, add new voice over sfx files, roll out trail to all sent bubbles, fix launch capsule outside positions wrong y, fix Match Results pre match EUP fetch
Sounds good to me....
the divsion star path follower rewrite is done, sweet! big ups to our resident phaser magician @acoustic copper for the idea to go from path followers to tween chains to avoid all these issues i was having, was a great idea! now i just gotta stop these stars from rotating like they are drunk. but sadly, that is an issue i cannot solve myself ๐
always a great feeling to go from something more complex to something more simple that does the same job as good or better
our view vs their view ๐
difficulty ui progression
demo patch 3 gameplay. so many new sounds!
Feature Trailer for Demo Update 3 
Gorgeous! Really awesome looking!
we got a server tag now at bubbits island. it is pretty cool. you might wanna get in on that
BUBB
WIP bit of ui and flavour to choose final bgm before the royale final kicks off
Order or Chaos? ๐
I like the second one - if that's what ur asking - chaos.
15.000 players played the Bubbits Demo
sorry for happy post, next post will be proper content again!
Wow that's great - tho not surprised seeing how polished and beautiful it is.
You charming man you 
๐
I wish I never had to spend time on stuff like this ๐ (look at top left bar and then look where the particle emitter thats supposed to match the bar actually is)
I already used this whole setup on another screen. only difference being is that for the other screen, the bubbits id gets added to a container (the container did not get moved in any way).
Just curious, did you find the problem or a solution?
Sadly I did not find the real issue. instead of doing a root cause analysis I opted to just fix it without understanding ๐ฌ
Been there many times...๐
It does not feel good. I do feel like if I always went the "good" route though, i would spend another 5 years until release ๐ what can you do ๐
WIP Time! Building out a new system to create cutscene like sequences. that is a lot of building things and then fiddling with it for what feels like AGES until it starts to look like what you want it to look hahaha
Day 2
Day 3
Hey nice you got some nice water movement?! Looks great!
hi there! I do, thats the animated water that I am not fully happy with ๐
Day 4
(I also did something thats not in the video though! which is making it possible to trigger dialog within a cutscene that plays alongside or pauses the cutscene until its done. tricky!)
I didnt try to build it like this, but i take it ๐ (first is current item selected border, second is new version). with the old one it was sometimes not easy to see where your selected item cursor is, this one is apparent enough I think!
new bubbits demo update is out now ๐ come play, see animated water and tell me its not gud enough
https://bubbits.io
today I got to finally implement a fullstack feature that was on my bucket list for half a year now: Island Champions. For each level of the singleplayer adventure mode there is a highscore list, buuut wouldnt it be cool if all of those highscores lead to something more? become an island champion, your name on a billboard that just stands around somewhere in the world map (visuals still WIP)

First look at what I've been working on for the past week: The Bubbits Quest UI.
https://cdn.discordapp.com/attachments/913885706164777020/1423276216130994347/Desktop_2025.10.02_-_13.51.02.02.mp4?ex=68dfb8c5&is=68de6745&hm=80b60ffc3ee246f42de44731e83fc38280164b6faab5ac4de0b160a8a831daa5&
My goal for the whole quest ui is to make it as simple as it could possibly be while being as juicy and entertaining is possible. Having played the CoDs and other F2P titles, the menu diving you gotta do to get to and claim stuff can be pretty insane. I don't want that for Bubbits. Starting the design as simple as possible, only get more complicated if its truly needed.
Overall, fullstack designing a flexible quest system with questlines, quest rewards, and tasks ranging from surviving a certain amount of time in a royale match to just customizing your avatar has been pretty challenging and a lot more complex than I hoped for/anticipated ๐
Bubbits Daily Challenge for my fellow game devs
why is the resize working on level 2 but broken on level 1? ๐
Island Leaderboards with design and shaders 
80% finished on the final transition turntable setup
Bubbits Quest UI ๐ง
Polished Final Transition and a final longplay 
Great stuff.
Bubbits Demo Update 4 - Starter Quests, Rewards, Island Champions and new Avatar FX
Big features:
Starter Quests
Customizations overhaul, grab yourself something nice with your quest rewards!
Adventure Mode - Island Champions leaderboards
Small features and Bugfixes
New Avatar FX
Shop music (!!!) and a shiny turntable
A ton of quality of life enhancements and bugfixes
I am very curious about your experience with the starter quests if you have a play! Ran into any issues? Feel like something is missing from the Island Tour? Loved it? Do Tell!
We even have a special phaser discord member in our Island Champions right now! Big ups @stark sierra ! 
I left some comments in showcase - but as I got through the quests I did feel that difficult ramps up pretty significantly. They first 6 or 7 I think were pretty trivial, then it jumped quite a lot.
Leaderboards are cool, but the values on them were not clear to me... as in - how do I get on to them.
And feature request - I'd like to be able to pan aroundt he island, see how big it is, how many quests do I need to get through to finish the section
Great experience overall though - strong feeling of power and early mastery as I started with the quests, very satisfying to quickly power through the early levels.
Would be interested to see how it feels to zoom out on the map a little, the leaderboards/scores do obscure a lot of the screen.
Heyyy my scores holding up, huh?
โค๏ธ
Ill take it for a spin later again
Thanks for the feedback my man! Really appreciate it! Would you be able to pinpoint where the quests started to "feel different"? the questline does ramp in difficulty but I want to try and ease players in as good as possible without things feeling repetitive ๐ I can also provide a quest list with all the objectives if that helps!
As far as the world map camera goes, I did have discussions with my peers about that a few times. being able to zoom in/out by choice would be kinda cool I think, for the panning its a bit more complex. I think you can make a case for both, being able to view and spoil yourself of what awaits, or not being able to and seeing the things you see when you get there. I'm not exactly sure where i stand on the matter
what I do know is that it all needs to function very intuitively for it to make it in the game.
I'm thinking about moving the leaderboards into the "start level info" screen thats currently not implemented, basically an info dialog about the level that pops up when you hit enter on a level before actually heading into it, that way you'd not obscure a big part of the screen while traveling ๐ค
my life on bubbits island these days: lazy load EVERYTHING. When I have done everything I possibly can to the brink, initial load might get even down to 10MB. absolute crazyness considering i started out at 300+MB for the Steam version to be carefree afterwards in loading images and animations like i want to.
Edit: Just measured, I'm at 13.2MB initial load now with more and higher quality assets in than ever 
Guys. Today I have a confession to make: I stole. I stole something from the number 1 Web Bubble Shooter: Arkadium Bubble Shooter. I regret nothing.
Biggest Bubbits Playtest ever is live right now ๐ฅณ Come play! https://bubbits.io
Bubbits
Play Bubbits - The #1 free bubble shooter game online! Experience 25-player battle royale, daily challenges, adventure mode & multiplayer. No download required!
Wow had a lot of fun considering im not a fan of these games that much. and loved the controller support. super sick and well made!
you kind man
thanks a lot! Super cool that you went with a controller instead of mouse aim, especially if it's not your genre!
Well it was unintentional ๐คฃ, my controller is plugged jnto my PC and I noticed my keyboard wasn't working on the game. Only to realize that the on-screen controls look geared towards a controller, which was the moment I realized you made the game with controller support. I never would have imagined PC games using it so it was a cool surprise. Controller support for web games really makes it feel like we are making the jump from little fun apps, to immersive console-like titles which helps with player satisfaction and retention. Will want to add it to my game down the line after my experience with yours!
oooooo okay I see! The keyboard not working does not sound good though, that should always be working, no matter if a controller is plugged in or not ๐ค was it the choose your playstyle dialog that was not working? main menu?

Best news for me: We had only 1 server crash and since then, smooth sailing. there was not a single client desync, which does make me really proud ๐ฅน it was a really long path this year to overhaul the netcode with a lot of hardships and headaches, but now, there are fewer desyncs than ever AND the controls are way more responsive which would have been impossible with the old design. 
No I choose the classic controls dialog then noticed since my controller was plugged in, only that was the preferred control method, not my keyboard
33 Players online, that's a new record!!

Why not mobile on Crazy Games? It seems to work well on https://bubbits.io/
Haha I appreciate it Pat!
The current mobile experience isnt living up to my own standards. it sort of works okayish at some sizes, but the buttons are old placeholder buttons, no portrait mode, i dont currently test on mobile, etc. My plan is to go for a proper mobile version next year!
(and i dont want my rating there to suffer because of mobile players not being happy if something is broken
)
It make sense ๐
And congratulations for this game, it's really well polished.
If you had a play, I'd love to hear the thoughts you had within the first 5 minutes of playing! Any friction? confusion? things that stuck the landing well?
2MB Bubble Sprites vs 10MB Bubble Sprites Comparison
2MB Bubble Sprites vs 3.7MB Bubble Sprites Comparison
Bubbits Phaser 4 Migration Log - in progress
Breaking Changes & areas of interest:
-
Math stuff (Phaser.Geom.Point.GetCentroid->Phaser.Math.GetCentroid)
-
Masks:
e.g. Rex RoundRectangle/Sprite/Image + Geometry Mask based on a Rectangle
this.levelProgressBg.setMask(mask1)```
Instead of creating a mask beforhand and setting that, you directly use the rect in an external filter addMask as param ```this.levelProgressBg.enableFilters();
this.levelProgressBg.filters.external.addMask(this.levelProgressMaskRect);```
Edit2: Masks applied to Sprites as filters.internal need to be treated very differently to masks that are applied to a container or a camera. Masks Applied to sprites have the following rules (afaik):
- position 0,0 of the rect used to mask is the center of the sprite, not in world/on screen coordinates, but local coordinates. sprite origin 0.5,0.5, rectangle origin 0,0 leads to the rectangle beginning to mask the sprite at the top left corner of the sprite
- scale of the sprite matters, if you change the display size of the sprite, you cannot use that size to size your mask rect. the mask rect needs to be sized according to the base size of the sprite (if you resized, you can use e.g. displayHeight/scaleY of the sprite to mask in the correct sprite height)
Edit3: Before, you could mask with a rectangle that had alpha = 0. now, alpha gets taken into account for the masked objects, so alpha = 0 will lead to the masked object being invisble at all times.
Edit4: I had issues with internal container masks stopping to work correctly after resize. this is what I did to fix it:
```this.maskBufferContainer.filters?.internal.clear()
this.maskBufferContainer.filters?.internal.addMask(this.arcGraphics)```
- PostFX:
e.g. Glow
`const bloom = star.postFX.addGlow(0xffffff,3,2)` becomes `const bloom = star.enableFilters().filters.internal.addGlow(0xffffff,3,2)`
For Glow the params have changed a little so they were rendering very noisy for me. The quality param was previously different. Adjust that param to 10(default) to fix! Caution: if you are setting distance property after the filter has been created, it errors now!
Some of the PostFX I am using like shine or bloom do not exist with the new filters yet ๐ Apart from that, it feels easier than what it was before as long as you know what you need to do now! Directly using Images or rects as a source of a mask, even for e.g. a container feels great!
Edit1: One needs to be very mindful of using filters.external because they can get very expensive when used extensively.
- Particle Emitter:
This one took me way too long to find. I had an emitter i only use with .explode() and where I set a customized config before exploding. my init looked like `this.overlayFxEmitter = this.scene.add.particles(0, 0, "img")` with "img" being a big textureMultiAtlas
That lead to a still image from my atlas being displayed on screen on scene start and it took me way too long to find out that you now need to `this.overlayFxEmitter = this.scene.add.particles(0, 0, "img", {emitting: false})` This will most likely be a non issue for most, but for my particular config, I was baffled what my Desync Warning Image did on screen and where it came from haha.
List of sites I found helpful:
- https://labs.phaser.io/phaser4-index.html
- https://github.com/phaserjs/phaser/blob/v4.0.0/changelog/4.0/CHANGELOG-v4.0.0.md (and other mds next to that one, i dont know if there is one md with all the relevant p4 info, I couldnt find it)
- https://www.npmjs.com/package/phaser4-rex-plugins
- https://phaser.discourse.group/t/masks-in-phaser-4/15268
- https://phaser.io/tutorials/phaser-4-shader-guide
okay it will need lots more work, but this power up has been sitting here for 1.5 years waiting for it to be technically possible to render in phaser. now it is
(phaser 4 filter humans i need helps
right now, that magic works with a separate layer with duplicate images. if there was a way to do it without managing duplicate images....please tell me!!! that would make this a lot LOT easier to maintain)
seeing this idea i thought up so long ago rendered in engine now makes me really, really happy
(and it fucks with your mind A LOT when actually playing. might need to find ways to tone that down a little)
Edit: I had the idea to use multiple cameras and use a filter combination on one of those. I hope that works!!
i think im onto something there

Edit: YES. It will need more work, but I think this approach will work. Sometimes you just need the right idea ๐ก


Dimension Rift 


My first impression was: whao! it's nice!
The animated bubbles are really cute and give the whole thing a "living" feel.
My second impression is that the playing zone is small compared to the whole screen surface. The animated backgrounds are very nice, and this disposition make sense, regarding the battle royale mode. But that doesn't take away my feeling that I would like to expand the playing area.
That being said, the tutorial is well done, and the controls are OK (I play with mouse).
The adventure mode is perfect and I'll slowly progress this way.
My firsts battle royale was chaotic and, I was confused by all the mechanisms, it seems very rich in features, bonus, power ups...
I was too early for me, I'll be back ๐
Keep up the good work! (wishlisted) ๐
I need to try the Steam demo now.
PS: "invite invalid" on bubbits.io/play/ when clicking on Discord icon in main menu, same result with the bottom banner "Join Our Discord", "Say Hi" ...
oh damn you're right!! thank you for bringing that up, I must have messed up something with that invite!!
Awesome, thanks a lot for your feedback Pat, I really appreciate it
we're currently working on some stuff that will teach some of the mechanics in a short form to hopefully help that overwhelming feeling you can get when seeing it all for the first time ๐ there will be some tutorial panels showing something like this https://cdn.discordapp.com/attachments/1341403944735477902/1444705708032397395/bb_stone_v1.gif?ex=692e574a&is=692d05ca&hm=e26792ff44ab21a1f46ffb8137f38559cf5768a507f712b7532247865c2a4f13&
also, I am really glad you appreciated the bubble visuals. it's been some time since we worked on these sprites, but when i started out this project and had a look at all the other bubble shooters currently on the market, I felt like they somehow didnt care much about how the star of the show - the bubbles - look and that I wanna do better ๐
Dimension Rift - Early Version vs Final Version. Powered by Phaser 4! what do you guys think? I'm pretty happy with it! 
short bit why it is as large as it is and moved down:
I tried playing with it being inside the playfield only. It was impossible, at least for me. having the bubble in cannon not match what you need to check in the playfield was extremely difficult for me. That was a hard hint for me to not do it that way. moving it down so the bubble in cannon is changed as well made it playable again ๐ if you now need to make the mental leap from changed cannon color to real color in the upper playfield, chances are that your playfield is pretty clean and you are not in distress, so it's not as bad if you mess up ๐
perfect 
Adventure Mode Island Overview. Early draft
It doesn't look like much yet and the programming part of course did not take long, but designing 6 of these mini islands was quite a challenge that took months to complete 
Ill take it for a spin later.
yo, I'm back
first step in 2026: make a dropped daily connection be resumable even if the cat ran across the keyboard and closed or refreshed your browser (also featuring some of the p4 blendmode issues)
Hi! Bubbits ID finally getting their Badges and Seals. the seals didnt look good with the placement i planned with sooooo I thought maybe we can dangle them down. looks better composition wise I think! still not 100% happy with how it behaves, but it's gotta have to do for now i can't get it to look better 
Bloopers:
if you know your matter constraints and ropes and think we can get better results, hit me up 
yeah okay i couldnt stop. subtle idle sway looks good now i like it!
Sneak Peek at a new special bubble (visuals not finished): Frozen. It's a mainstay in pretty much every modern bubble shooter in one way or another and I think I might have found an interesting take on how to integrate it to Bubbits! Further thoughts: Maybe also have a Frozen power up that can freeze an area of bubbles...could be interesting!
Overhauled the frozen bubble behavior. Like silk 
VS Mode has been deactivated and back in the workshop...until now! I think I'm happy now. The state of VS Mode was okay a year ago, but i had a few things on my wishlist and went for pretty much all of them. to name a few:
- remote player join/leave when you are already in the vs menu screen
- join via lobby id
- staying in party after a match
- being able to have battle events from royale
- being able to use the heat system from royale
- mouse controls for the menu
- add mouse only player so 2 people without a gamepad can play together on a single pc
To put it into short words, my mantra has become to strive for one thing for the user experience: "It just works".
I think you can call my working on these strips obsessive now 
Snap bubble Visual Overhaul. A bit more clarity by design hopefully 
Wow, I didnโt realize you had already released a demo. I just played it for about half an hour โ itโs really polished and I couldnโt spot any obvious issues.
Did you only release it on CrazyGames and your own site? Iโm not sure if this is the right place to ask, but could you give me some advice on self-publishing a game?
I want to release it on itch.io, but Iโm worried no one will actually see it.
Yes, thank you! Demo has been online for roughly a year ๐
A few more smaller portals like webgamer.io also as well as Steam ๐
Well, let me put it like this: Maybe I can give advice because I might have a bit more experience but am I the right person to ask? No. As of today, Bubbits is no success and there are no signs of that changing. Do I still believe in it? Of course I do, I think it's special 
That said, I will share my views of self publishing a game these days. Is it possible? Absolutely, 100%. The most important thing is visibility. Market is oversaturated, like way oversaturated. People who dont specifically search for it have no clue how many games are actually released on Steam each day. Some days its 100+ games.
You need to find your audience. It will most likely not work the other way around. Foot traffic on steam or crazygames is minimal if you don't bring your own traffic, or at least big sparks of traffic at some point. I bring as many people onto my steam page as steam organically does, and I am a nobody. my 12 year old game on steam still gets as much traffic as bubbits does (basically none). I have seen countless titles in that nomansland, then 1 bigger influencer picks it up, instant change of organic traffic. and not just for that short burst, but in the long run also!
Having seen your game, my advice would be to give it your best shot to do tiktoks, youtube shorts or instagram. ad money from a place like crazygames (i dont have ads turned on) for a game with the current traffic of Bubbits on there would be enough for a package of yumyum a month maybe. I feel like visibility is everything, no matter how you manage to get that spark. Finding it is the main priority if you want to make a business out of it
Thanks a lot for the advice, I really appreciate it. It gave me a lot of insight.
English isnโt my native language, so Iโve always felt a bit lost when it comes to promotion. But your explanation about visibility helped me understand it much better. Iโll definitely try some of the things you mentioned.
And honestly, I think Bubbits is special too. I hope it reaches more players in the future๐ฅ
I am in the same boat, but i think especially for short form content, its much more about having a great hook, few words and a good video rather than having lots of english knowledge!
Ping me if you play and want some competition 
Bubbits Demo Update v0.9 is out now! VS Mode, Double Adventure Content, Bubbits ID Badges & Seals, a new Announcer and a lot more
Big features:
โข VS Mode is back! It supports up to 4 players (Online and Local), Bubbots, Customization, Royale events, multiple stage sizes and the Heat difficulty system
โข Adventure: Leo's Beach is fully unlocked! (Play it now, it will be completely overhauled in v1.0!)
โข Collect Bubbits ID Badges & Seals
โข We got a new announcer: Hi Jacob! 
โข Accessibility Mode (turn it on in the Option Controls)
โข Reconnect after your connection gets interrupted (even when your cat runs across your keyboard and closes your game!)
โข Chill Mode (no highscores, no fluff, just you shooting bubbles)
โข 300% more translations
โข Cross Platform Parties (Join friends via LobbyID or share link!)
โข Big Engine Upgrade(Gameplay 1500% more smooth!)
โข New power up (Dimension Rift)
โข New special bubble (Frozen)
โข New Sound Effects
โข All new tutorial panels
โข The Duel Battle Event is back!
Small features and adjustments:
โข Visual overhaul for K.O. Badge, Levitate, Stone & Bubble Hold
โข Moved set username to click on Bubbits ID in Main Menu
โข Overhauled bubble shield deflect
โข Pixel Power Up visual overhaul
โข New Daily Game Over screen
โข Daily link share to challenge your friends
โข Extra dangly strips to attach your new Bubbits ID Seals
โข Remove ready check from Royale
โข Add Environment customization and Yui's Retreat environment
โข Added Adventure Island Overview Screen (Work in Progress)
โข Performance improvements
โข Further control enhancements
โข Dialog button overhaul
โข First time playstyle pick overhaul
โข Further load time improvements (a lot more gets loaded in the background!)
โข And a whole lot more!
Developer Thoughts:
This Update got a lot bigger than anticipated! Enjoy VS Mode! Instead of talking more about all these features, I would like to briefly talk about something that was not planned: Accessibility Mode. I met somebody who works with kids and creates custom devices so kids facing certain challenges can still interact with a PC and e.g. click a mouse button. I found that amazing and together we thought about what it would take to make Bubbits work for these kids. Welcome: Accessibility Mode. My goal for Bubbits is to bring smiles and laughter to everybody and this was a moment to live up to that.
art matters.
Thanks for the advice, always interesting to read you ๐
Sooo I think I have come to the conclusion that for this project, I will not stop being a little stupid. This time, it lead to a multiplatform accountmanagement including linking to different auth providers and account merging. And Statistics are back. they have been gone for a long time. let me show you the last time we had those
whoa this was made in Phaser? It looks incredibly polished. How'd you get the tree backgrounds to animate so smoothly?
Yes
Thank you!! The trees are animated with Spine https://en.esotericsoftware.com/
Spine is 2D skeletal animation software for video games. Bring your Unity, C#, cocos2d-x, iOS, Android, C++, HTML5, JS and other games alive with 2D animation!
When you push an update but forget to add a new atlas to your cache processing 
King Ping reborn
Score Popups! 
I'm not good at spending time at something that is not enhancing the game itself, but for this plan I managed to convince myself that its really important to give it an honest try and spend the time necessary on it.
So: I spent the past weeks giving it all I have to overhaul the bubbits.io website and do one major push to have a chance at organic traffic. it's not live yet, but I would like to show my phaser peeps (
) a before and after sneak peek at the frontpage
I hope you like it
New Bubbits Update is out! The Daily Challenge has been completely overhauled. And from a Phaser tech side: Bubbits now supports Shader Backgrounds ๐ come play! https://bubbits.io/play/?daily=1&style=modern
Looks fire ๐ฅ
The man said it looks fire, and the difficulty meter took that personally.
the castle is so happy to see you 
๐ซง Bubbits Daily โข May 12, 2026 ๐ซง
I got 18,221 points on Modern โก
Can you beat my run? ๐๐ฅ
https://bubbits.io/play/?daily=1&name=Flow&score=18221&style=modern
there is a share button now too to challenge your friends 
It's been a long time
Getting the whole cast of Bubbits characters thought up, designed and animated was a lot more trouble (headaches x20), time (2.5 years) and money (
) than I would have ever imagined, but man am I happy to see all those guys in there now. To celebrate, here is an animation showcase of the whole cast for you 
Bubbits Demo Update 9 is out now ๐ฅณ Adventure Mode 2.0 with a new info screen, slick looking platinum trophy, more platinum challenges and a new secret stage ๐คซ .Oh, and all 6 characters are now in the game! 
P.S.: For my Phaser family, if you take a liking to the game and like one of the characters, send me a dm with your id # and username and I will deliver your favourite (currently in no way obtainable) character directly to you
โค๏ธ
Spectator Mode UX - just click on who you wanna spectate ๐
