
FLASH-BLIP
FLASH-BLIP
A fast-paced 2D game built with the LOVE framework. Dodge obstacles, survive as long as you can, and get the highest score.
The game is primarily oriented toward endless mode, where players aim for the highest possible score in an infinite survival challenge.
Levels are fully procedurally generated. The game features 100 unique levels, each built using a deterministic random seed to ensure consistent layouts of points and obstacles across runs. This replaces the previous 10 fixed levels with a scalable, replayable progression system that increases in difficulty and required blips from level 1 to 100.
*Inspired by the work of Kenta Cho*
How to Play
Objective
Jump to the next point and dodge the obstacles while jumping, don't let the player's square circle reach the bottom of the screen, collect the powerups and try to achieve the highest score. In Arcade mode, you can try to beat all the levels. For detailed in-game explanations, access the HELP menu.
Controls
- SPACE, RETURN, or left-click to blip/move to the next point.
- C or right-click to ping for powerup collection or phase shift when this powerup is active.
- ESC to pause, show the menu, or quit.
- Use the up and down arrow keys to navigate through menu options, and press Enter or Space to select one.
- R to restart.
- For Android, touch the screen to blip and hold the screen or use two simultaneous touches to ping.
You can also use a Game Controller.
Powerups
There are 6 in total: 3 active that the player activates on pickup, and 3 passive that provide ongoing benefits.
-
Active Powerups:
- Star: Grants 10 seconds of invulnerability, allowing safe passage through obstacles.
- Hourglass: Shrinks and slows the orbiting obstacles around points, slows the player's fall scroll speed, and nearly stops the player below 80% of the screen height, lasting 10 seconds.
- Phase Shift: Enables a larger faster ping that teleports the player to the next point upon contact with a ping or the next point, ignoring obstacles, lasting 10 seconds.
-
Passive Powerups:
- Bolt: Creates a lightning bolt around two-thirds of the way down the screen. When the player touches it, they are instantly teleported safely to the next point, preventing a fall to the bottom. The effect lasts for 30 seconds.
- Score Multiplier: Multiplies the score by 4x while active, lasting 30 seconds.
- Spawn Rate Boost: Doubles the rate of random powerup generation, lasting 30 seconds.
Powerups are collected via pinging (right-click, C key, or holding the screen in Android) or blipping over them.
Technical Details
The endless mode initializes with random obstacle generation for replayability, drawing from procedural algorithms in game.lua. The game uses no external assets; all visuals are rendered using simple geometric shapes (e.g., rectangles, circles) via LOVE's drawing primitives.
Fonts are custom-drawn as pixel-based matrices in font.lua, allowing for lightweight, code-generated typography without bitmap files. Reference text.lua for how text is rendered and positioned in-game.
Background music is generated procedurally using pure Lua code, via LOVE's audio APIs and algorithmic composition(reference music.lua), no audio assets are required.
On Android builds the glow shader strength is reduced to 1, so it runs smoothly, OpenGL ES is not as performant with the glow shader as a PC. The Gaussian blur shader is also disabled on mobile to improve performance.
As the web version is mostly used by people on their phones, the glow shader strength is reduced and the Gaussian blur is disabled (same as the mobile version), pending a way to detect the operating system from the web build.
The web version uses love.js and hasn't been fully tested yet. If you notice any strange behavior, please open an issue on the GitHub repository
Development Status
The game remains in active development. It now features 100 procedurally generated levels with deterministic random seeds, ensuring consistent layouts for each level across runs. An endless mode is also included, with procedurally generated circles, rotating obstacles, and powerups such as slow motion and teleportation. Scoring mechanics and intuitive menus are in place, and future updates may include an online scoreboard for tracking top scores and competitive progression.
License
MIT License. See the LICENSE file for details.
| Status | In development |
| Platforms | HTML5, Windows, macOS, Linux, Android |
| Rating | Rated 4.8 out of 5 stars (5 total ratings) |
| Author | plinkr |
| Genre | Action, Platformer |
| Made with | LÖVE |
| Tags | 2D, Casual, Endless, LÖVE, Pixel Art, Procedural Generation, Retro, vertical-scroller |
| Code license | MIT License |
| Asset license | Creative Commons Zero v1.0 Universal |
| Average session | A few minutes |
| Languages | English |
| Inputs | Keyboard, Mouse, Gamepad (any) |
| Accessibility | High-contrast |
| Links | GitHub |
Download
Install instructions
These are the main binaries included in this release. Use the one that matches your operating system or preferred way of running the game:
-
FLASH-BLIP.love
LOVE2D archive. Run it with the official LOVE2D binary downloaded from love2d.org, for example:love FLASH-BLIP.love -
FLASH-BLIP.AppImage
Executable for modern Linux x86-64. Make it executable:chmod +x FLASH-BLIP.AppImageand run it directly.
-
FLASH-BLIP_Win64.zip
Binary for Windows 64-bit. Unzip the file and run the included.exe. -
FLASH-BLIP_Linux_x86-64.tar.gz
Native binary for Linux x86-64. Extract it and run the binary inside thebin/folder:tar -xzf FLASH-BLIP_Linux_x86-64.tar.gz ./bin/FLASH-BLIP
-
FLASH-BLIP-release-signed.apk
Official Android build of the game. Download it directly to your Android device and install it by opening the APK file. Make sure "Install unknown apps" is enabled for your file manager or browser if required by your system. -
FLASH-BLIP_macOS.app
Native macOS application bundle. Move it to your Applications folder and open it directly. If macOS shows a security warning, right-click the app and select "Open" once to allow it. -
FLASH-BLIP_macOS.dmg
Disk image for macOS. Double-click the .dmg file to mount it, then drag the FLASH-BLIP app into your Applications folder. Eject the disk image afterward.










Comments
Log in with itch.io to leave a comment.
I got a High score of 3560. What's the wr?
Hey! I’m guessing this is the one :D
I finished the last level, it took around 12 minutes to finish. I added 100 levels and will upload an update shortly with a new release.
I had to play and finish all the levels to test them, around level 80+ they get very hard. Also adjusted the powerups so they now spawn more frequently to make the game easier.
I think a leaderboard would be a nice addition.
Cheers!
Wow you're good!
Yeah a leaderboard would prob be best
I'll keep grinding; I got nothing better to do : D
Hey!
At high Arcade levels, the game starts with a higher difficulty multiplier, and at some point it becomes practically impossible to blip between two points because the speed is too high. In those cases, powerups are the only option, so the focus becomes keeping a powerup active as much as possible, without them it's very hard to land a blip.
For reference, the starting difficulty is calculated as:
This gives a base difficulty of 1.0 at level 1 and a max of 3.5 at the top level (100) in yesterday's update. The rate of increase depends on Settings.MAX_LEVELS. Difficulty also rises within a level as time passes.
In endless mode you start at 1.0 and difficulty increases over time. I haven't tested the theoretical maximum survival time using only perfect blips without powerups, but I'd guess around 15 minutes before it becomes virtually impossible to survive.
I'll start thinking about a leaderboard once I have time.
Thanks for playing!
Hi there, I love the game, this game is perfect for mobile phones because you can play it with just one finger so I ported it to Sailfish Os. Feel free to distribute my build if you want: https://codeberg.org/glitchapp/flash-blip
Shaders are disabled because porting them to Arm is hard and probably won't perform well.
Hi. thanks for the interest and the work you put into the port. I definitely will try it when I have time.
Yeah, I figured the shaders would be problematic on mobiles. On my phone the performance is abysmal and it's impossible to play with the shaders active, but I made the game for PC where I spend most of my time ;)
Also, first time I've heard of Sailfish OS, I'm very glad to see a Linux-based mobile OS.
I'll make sure to check out your port later. Thanks again.
No problem, there's not much differences on sailfish from other arm systems so you can use it as a base for any other ARM mobile phone. I may experiment with other shaders but I like how smooth it moves without them on the phone. I changed a few things including the music but feel free to take what you want and do your own fork, it's your game after all, and thanks for the great game, it's a lot of fun!
Just so that you can have access to the repository where I published the game: https://openrepos.net/content/glitchapp/flash-blip
I added in the description a link to this site, if there's any other site you want me to link feel free to ask.
Thanks
Hey! I've been very busy with work and haven't checked your port thoroughly, but it looks like you forked an earlier version. There are some fixes in the current version on the GitHub repo that could help your port.
I'm interested in getting the game to work on Android and, by extension, ARM, so I need to see whether I can fix the shaders to work on that architecture. Hopefully I'll have time this weekend.
If I make changes to better support ARM, I'll let you know. Thanks for your interest and your work on the port!
sounds great to me, I will check the git version and see if I can merge it with mine to get latest version with my tweaks, thanks! Feel free to contact me if there's anything I can help with.
hi Plinkr, I discovered something you may be interested on. Shaders do work perfectly well on Arm as they are, the problem is with sailfish os which may use an older version of opengl? I don't know the reason but the game works with all shaders on Postmarket Os (althoug performance suffers a lot).
I added a video showcasing the optimizations I added for mobile phones. I fundamentally reduced resolution to 20% and this way it render fast and with all effects on mobile phones.
Hey!
I've been very busy with my day job and haven't been able to spend time on FLASH-BLIP. I have a half finished rewrite of the text generator so it's resolution independent, hopefully I'll have a bit of time this weekend to finish it.
I haven't been able to dig into the shader issue yet, I want to first make sure the game renders correctly on any mobile resolution, and then look into the shaders.
In the video you shared, is the game running at 60 FPS?
Very nice work, plinkr! Love the post-processing effects, I could never do that :P. Keep going!
Hey! Thanks for your kind words!
the post processing effects are using the shaders inside lib/shaders/*
in
main.luayou can see the configuration:```
effects = moonshine(moonshine.effects.glow) .chain(moonshine.effects.gaussianblur) .chain(moonshine.effects.scanlines) .chain(moonshine.effects.crt)
effects.glow.strength = 20 effects.glow.min_luma = 0.1 effects.gaussianblur.sigma = 1 effects.scanlines.width = 4 effects.scanlines.opacity = 0.2 effects.scanlines.color = colors.light_blue
```
These shaders are part of the moonshine project https://github.com/vrld/moonshine
Oh wow
I'm lost for words.... :P
Lemme check out the git project to see for myself :)