isol8: Build & Isolate
An original arcade game inspired by old-school games like Jezzball and Qix.
How to play
You must build horizontal and vertical walls in order to isolate the bouncing balls from each other. Once all balls are separated, you will proceed to the next level. If a ball collides with your wall while building, you lose a life. An additional ball is added each level, up to a maximum of 15 balls. Continue playing until you run out of lives and
post your highest level reached in the comments below!
- Play with either 1, 3, or 5 lives (Easy, Normal, Hard)
- Try "Endless" mode where you cannot die
- Restart current level in the pause menu, if needed
- Hand-chosen background color and ball color changes every 5 levels up to level 100
- After level 100, the colors are randomized every single level
Notes for developers
- A flood-fill algorithm is used to determine if the balls are isolated. Here is a super helpful resource on different implementations of flood fills: link.
This game was originally designed for the upcoming Playdate device (crank to build walls). I have adapted it for pico8 as my first game on this console.
- Version 3 | 08/25/21
-- Added indicator guide lines
-- Added alternate control scheme (Pause during game and press "Toggle Controls")
--- Toggles between default (X to build vertical, O to build horizontal) and new (Hold either X/O then press Up/Down to build vertical wall or Left/Right to build horizontal wall)
- Version 2 | 08/22/21
-- Added music to the title screen
- Version 1 | 08/20/21
-- Bugfix ball/wall collision issue - fix player position rounding error and additional wall overlap check
- Version 0 | 08/20/21
-- Original release
You get my star. I like this game.
If the player holds down (O) or (X) then they can see the line they are getting ready to add (maybe even flash it) but it is not actually instated until the player RELEASES that same button.
This will make it easier to gauge whether or not you are doing a proper separation of elements and not get confused about whether O or X is a horizontal or vertical line.
Another possibility is if you hold down (O), nothing initially happens. But in holding the button down and the player moves up and down by one pixel, this would create a vertical wall or if they press left and right by one pixel, it would create a horizontal wall.
Thanks for the suggestions and the star :)
I'm certainly open to change but I think some of the fun in this game is trying to gauge whether or not your wall is safe to build. It adds a bit of risk to each build. The flashing "about-to-build" line would diminish some or most of that risk. Perhaps I could add it as an option - or maybe just add it to the "Easy" mode?
That being said, there is another control scheme I was toying with but it felt less immediate than the current game's single button press to build a wall. Here is an example:
The idea is that pressing (X) would swap between horizontal and vertical build modes. Pressing (O) would build the wall. Included near the wall are little indicator lines that help you visualize where the wall will be built. In the screenshot above, the indicator lines show that we are about to build a vertical wall if we press (O). What are your thoughts on this? The indicators are sort of half-way between your flashing line idea and the current game's no-indicator approach.
And finally... I'm still mulling over your other suggestion of hold button + dpad to build. Really great idea - I'll find some time to prototype it soon.
One thing that might be worth considering: The current game allows for single-handed play which feels great on a mobile (phone) device. Changing to a two handed control scheme would sacrifice that experience a bit.
Let me think ... I guess for single-handed play where its the arrow keys only, you could set it so if you press UP for instance, then the cursor goes up slowly and wraps from top to bottom.
If you press DOWN, cursor slowly goes down and wraps from bottom to top.
Left, wrap left to right.
Right, wrap right to left.
Only when you let go of that arrow key does it then add a line. If the cursor was moving up or down, make a horizontal line.
If the cursor was moving left or right, make a vertical line.
Once the game is first started or a line has been drawn, then the input waits to see which arrow key is held and released again.
. . .
For single button control you could have the cursor bounce around on the edges of the screen. Maybe start X at 64, Y at zero. Acceleration is down and to the right.
The cursor will then go down and to the right. Hitting the right edge the acceleration changes to move left, left edge to right, top edge to down, bottom edge to up.
Tap (O) for horizontal, or hold longer for vertical.
Here is an example of bouncing. I trimmed the vertical to 111 instead of 127 so when the cursor bounces it is not stuck in a single loop.
Indicators have been added along the wall edges to help visualize the wall that will be built.
- An alternate control scheme has been added. Pause during play and press "Toggle Controls". The new control scheme allows you to hold any button and then press up/down to build a vertical wall or left/right to build a horizontal wall. Thanks to @dw817 for the suggestion :)
Looks great ! Love the new changes.
If you have code space available I would still add the single key gameplay option as there are a great many good Pico-8 games made that use only a single keystroke for play.
What comes to mind especially is CAVE RUNNERS.
[Please log in to post a comment]