You are V-7, the last firewall of a computer network overrun by a virus, seen from above in 480 by 270 pixel art. The gun aims itself; your job is to steer through waves of crawlers, brutes and spitters and dodge their outlined red, pink and purple bullets. Kills drop gold, and each gold threshold gives a choice of three upgrade cards (weapon boosts, bullet patterns and summoned helpers). A full energy bar unleashes an overdrive, and a three-stage boss arrives at 2:30 and every three minutes after. It ends when you fall, and the game keeps your best time. The interface is in Chinese. Its first commit credits Devin as the tool that generated it, and the author says in a post on X that he made it in one go with Opus 5.5.
终焉防火墙 · LAST FIREWALL (the Chinese title means roughly "Final Firewall") is a survival shooter in the bullet-hell style, drawn in small pixel art and seen from above. The story on the title screen is one paragraph: in 2099 a virus called "Void Code" has swallowed the global computing network, you are V-7, the last firewall not yet wiped, and you must hold out until dawn. In practice you are a small figure in a dark circuit-board arena, slowly surrounded by virus creatures, and you last as long as you can. When you fall the game gives a rank and remembers your best time.
It plays differently from most shooters. You do not aim: the game always locks the nearest enemy and fires at it. You only steer, by moving the mouse pointer (the hero runs toward it), and dash with Space. What makes it hard is what comes back at you: enemy bullets are outlined red, pink and purple orbs, and after a few minutes the screen holds dozens of them. Kills drop gold, every gold threshold offers a choice of three upgrade cards, and by the fourth minute the hero is firing a build you assembled from those cards, and the screen is a storm.
Who made it, and how, is the reason this page says more than usual, so here it is in the order we could check it. The game is by the GitHub user GordenSun (profile name Gorden Sun; the site's editor told us he posts on X as @Gorden_Sun). The repository, gordensun/last-firewall, was created on 23 September 2026 and has five commits over 74 minutes. Every one of the five commit messages ends with "Generated with Devin" and a Devin co-author line. Devin is the name of a coding tool, not a model, and nothing in the repository, the README or the game names a model. Separately, the author posted on X on 24 September 2026 (about 02:03 UTC) that he made this bullet-hell survival game with Opus 5.5, in one go, and that it can be played, with the play link. The site's editor pointed us to that post and we read it on X (a video is attached; we did not watch it), so this is the author's own claim and it is what the "Made with Claude" and "Made with Claude Opus 5.5" tags rest on. The two statements are not obviously at odds, since a tool can run a model, but we cannot see how the game was made, and we cannot tell you what the repository's Devin lines mean for which model did the work. The repository's history also shows the game we host is not the first commit: a first version at 22:24 (UTC+8), then four follow-ups, including one that replaced keyboard movement with mouse steering and one that fixed a memory leak that froze the game after about three minutes.
How to play 终焉防火墙 · LAST FIREWALL
- Open it: after a short LOADING screen there is a title menu with three buttons, 开始守夜 (Start the watch), 背景故事 (Story) and 操作说明 (Controls, a one-screen help). Enter or Space also starts. The first time, a typed-out story plays (any key skips the typing, and a second press starts the game); once you have seen it, later runs start straight away, because the game remembers that in your browser.
- Move the mouse. The hero stands at the middle of the screen and runs toward the pointer; the farther away the pointer, the faster it runs, and with the pointer on the hero it stops. In our test, with the pointer about 60 screen pixels off to the side the hero covered about 30 game pixels in a second, and with the pointer about 560 pixels off, near the screen edge, about 90. It fires by itself, and a bracket marks the enemy it has locked. In six seconds with no clicks at all, our kills went from 5 to 12. The left mouse button does nothing.
- Dash with Space or Shift. In our test a press set off a 0.2-second dash with a 1.1-second cooldown (upgrades shorten it). The README says the dash has invincibility frames; we read that and did not test it by taking hits. Fire the overdrive with the right mouse button or E when the blue EN bar is full: the README says it clears the screen with a shockwave and gives double fire and a spiral of bullets; in our test it lasted 8 seconds. The bar fills from kills and from grazing bullets.
- Gold decides your build. Each threshold (the first is at 10 gold, which came about ten seconds in for us) stops the game and offers three cards, chosen from 20 upgrades, plus an emergency repair if nothing else fits: eight stat boosts (damage, fire rate, crits, health, regeneration, pickup magnet, speed and energy), five bullet changes (spread, piercing, ricochet, explosive rounds, rear fire) and seven summons (a drone, orbiting blades, chain lightning, a turret, swarm missiles, a frost nova and an orbital cannon). Press 1, 2 or 3, or click. R rerolls, three times per run. The cards ignore you for the first 0.7 seconds so that a click meant for the fight does not pick one: in our test a key press and a click inside that window both did nothing, and R after it spent a reroll, 3 down to 2.
- Esc or P pauses. The pause panel lists your upgrades with their levels, your time, kills and gold, and has Resume, a sound on/off toggle, Restart and Title buttons. M mutes too. The code also pauses the game by itself when the window loses focus or the tab is hidden; we read that and did not test it. When you die, a screen lists survival time, kills, best combo, gold, boss kills and grazes, and gives a rank by time: under 90 seconds is 见习守夜人 (apprentice), then 钢铁防线 (steel line) at 90, 不灭火种 (undying spark) at 180, 赤焰壁垒 (blaze bulwark) at 330 and 黎明之光 (light of dawn) from 510, which is 8:30. Enter starts again, and the best run is shown on the title screen.
Controls: Move the mouse: the hero runs toward the pointer, faster the farther it is, and stops with the pointer on the hero. It aims and fires by itself at the nearest enemy. Space or Shift dashes (the README says the dash has invincibility frames); the right mouse button or E fires the overdrive once the energy bar is full. The left mouse button does nothing during play. Esc or P pauses, M mutes. On the upgrade screen press 1, 2 or 3 or click a card, R rerolls (three times a run); cards ignore input for the first 0.7 seconds. On a phone: press and drag anywhere to steer, use the round buttons for dash and overdrive, and tap an upgrade card once to select it and again to confirm.
Click Fullscreen above the game for the largest play area. If the game does not load, use Open in new tab to play it directly from our copy.
Why it's worth your time
The freeze fix, checked. The last commit's message says the game froze after about three minutes because glow sprites were cached by transparency, so every pulsing halo made a new canvas, thousands of them, until graphics memory ran out. We wanted to know whether the copy people are served now holds up past that point. On the live GitHub Pages site (not our copy) we ran the game at normal speed for five minutes of wall-clock time, 4 minutes 42 seconds of game clock, in a Chromium window with a real graphics chip, using the game's own ?bot=1&god=1 auto-play, because our scripted player lasted only about two minutes without it. The frame rate stayed between 59 and 60 the whole time, the JavaScript memory stayed between about 3 and 24 MB, a boss appeared at about 2:38 and was beaten, the screen was full of bullets by the end (the last picture we took shows well over a hundred), and there were no errors. The counts we read out of the game show why: the text cache peaked at 575 entries and is emptied by the code when it passes 600, the glow cache reached 63 and the circle cache 5. The total number of canvases the page has ever created kept rising, to about 6,000, but that is the text cache being cleared and rebuilt, not a leak, and the number alive stayed small. What this does not show is a run without the god-mode switch past two minutes, where the hero takes hits and the damage effects run; our own scripted run, playing by mouse and keys, reached 60 frames a second for its whole time but died at about two minutes each of the two times, and we did not get further by hand.
It is small. The game is seven files, 0.7 MB: a 5 KB page, an 8 KB stylesheet, three scripts (86 KB of game, 9 KB of sprites, 8 KB of sound) and a 602 KB pixel font, Fusion Pixel 12px, which the README credits with its licence (SIL Open Font License 1.1). The 480 by 270 picture is drawn on one canvas and scaled up to the window, so it fills a 1280 by 720 window at about 2.67 times. Every sprite is a string of colour letters in a script, and the sound, per the README, is made in the browser with Web Audio: effects and a chiptune soundtrack, and the code has a separate boss version of the music. We ran everything muted, so we cannot describe how it sounds; we did see the audio engine start on the first key press.
It works with the network off and asks nothing of it. Loading it made six requests, all to its own site, and we made none that went anywhere else; there is no analytics or other third-party script in it. With the network cut after loading, the game carried on playing, so it has the "Works offline" tag, although it is five files, not one. The only thing it stores in your browser is your best run (the key is lf_best) and a flag that says you have seen the story (lf_story). In our copy we made no change to the game apart from the small script every copy here carries.
What it looks like after a few minutes. The start is quiet: in our runs there were 3 to 8 enemies on screen in the first 45 seconds, and 20 to 40 by the third and fourth minutes. Our five-minute auto-play run had taken 23 upgrade cards by 4:30 and was at wave 10, with over 1,800 kills and a combo counter over 1,800 at 4:42, and its last picture shows a lightning bolt, an explosion, damage numbers and over a hundred pink and purple enemy bullets. The code defines six enemy types (crawlers, brutes, spitters, chargers, splitters and their small offspring); we did not tell them all apart on screen. The README says the danger curve steepens sharply after 7:00 (终焉时刻, "the final moment"), and that a boss comes at 2:30 and every three minutes afterwards, with three forms: 零号病毒母体 (Patient Zero), 深渊协议 (Abyss Protocol) and 终焉之核 (Omega Core). We saw the first boss come and go and did not see the others, and we did not play past 4:42.
Phones. It is built for touch as well: on a touch screen the game switches on a floating stick where you press, and shows a pause button and two round buttons, 冲 (dash) and 燃 (overdrive). In an emulated iPhone 13 all of that worked, and the two-tap rule for upgrade cards (tap to select, tap again to confirm) is there so that a thumb does not pick the wrong one. Held upright, the game is a 16:9 strip in a black screen and the buttons are small (about 28 pixels, the pause button 16 by 13); turned sideways it fills the height and they are about 49 pixels. We tried no real phone, so the feel of the stick and buttons is unchecked.
Language and text. The whole interface is Chinese, with English in the logo, the HUD (HP, EN, WAVE, COMBO) and the title screen's subtitle. It is not hard to play without reading it, because the cards have pictograms and short descriptions, but you will not know what a card does unless you read Chinese; the descriptions above come from the cards we drew and the README's lists.
What else is in the repository. Beside the game there is an AGENTS.md file: project notes for a coding assistant (how the sprite caches must be kept bounded, a rule for keeping bullets readable, debug switches). It does not name a model. It says the game is a static site with no build, and lists debug options in the address (?bot=1 for auto-play, &god=1 for invulnerability, &fast=N for faster simulation) that are still active on the live site; we used two of them above and said so. Our copy does not include that file or the README, but the original repository does.
Licence and why our copy is here. The repository has no licence file and the README states none, so the author has not said we may copy it and has not said we may not, and we do not call it open source. The font has its own licence, which we keep in our copy next to the font file. We host a copy of the published site, byte for byte as served on 24 September 2026 (we checked all six files against the repository's latest commit, a65922c), plus a small script every copy here carries, because it is a free game and so that it stays playable if the repository moves. If you are the author and would rather we linked to you than hosted it, the address in the footer reaches a person and the copy comes down. The original stays linked from this page, and so does the repository at github.com/gordensun/last-firewall.
How it was made and where it lives
Published on GitHub Pages from a public repository. The author publishes as gordensun. Original: https://gordensun.github.io/last-firewall/. The Play button above runs our own unmodified copy, so the game keeps working here if that page goes down — which on free hosting usually has nothing to do with the author. Nothing about the game itself is changed, and the original stays linked from every page.
If you like 终焉防火墙 · LAST FIREWALL, try these
For another game about outlasting a growing crowd, try ODD ARMS, a three-minute survival shooter with a toy hero. For a faster pixel-style arcade shooter, Iron Echo is a vertical shooter, and NOVA LANCER is a three-minute 3D rail shooter whose README credits Claude Opus 5.5.
Frequently asked questions
- Is it free, and do I need an account?
- It is free, with no account and nothing to install. It runs in the browser and stores only your best run, on your own device.
- How do you control it?
- Move the mouse and the hero runs toward the pointer. It aims and fires by itself. Space or Shift dashes; the right mouse button or E fires the overdrive; Esc or P pauses, M mutes. On a phone you press and drag anywhere to steer and use the two round buttons.
- Does it work on a phone?
- Yes, in an emulated iPhone 13 (both ways up): stick, buttons and the two-tap upgrade cards all worked. Turn the phone sideways, because upright the picture is a small strip and the buttons are tiny. We did not try a real handset.
- How long does a run last, and can I win?
- There is no ending that we found. You survive as long as you can. The game's ranks go up to 8:30 and beyond, and the README says the difficulty ramps up sharply from 7:00. We did not play past 4:42.
- Does the freeze after three minutes still happen?
- Not in what we ran. On the live site we ran it at normal speed for 4 minutes 42 seconds of game time at 59 to 60 frames a second with steady memory. That run used the game's own invulnerable auto-play switch, so it does not prove a run where you take hits, and we could not get our own scripted player past about two minutes.
- Who made it, and was it made with Claude?
- The author is the GitHub user GordenSun, who posts on X as @Gorden_Sun. He said on X on 24 September 2026 that he made it with Opus 5.5, in one go; we read the post ourselves. The repository's five commits each say "Generated with Devin", a tool name that does not name a model, and nothing in the game names one. We cannot see how it was made, so the Claude tags rest on the author's own post.
- Is it open source?
- We cannot say so. The repository is public but has no licence file, so nothing says what you may reuse. The pixel font in it is under the SIL Open Font License.
- Is it in English?
- No. The menus, cards and story are in Chinese, with English in the logo and a few labels. Playing does not need reading, but choosing an upgrade card does help.
- Why does this page play a copy and not the original?
- So that the game keeps working if the repository or Pages moves. The copy is identical to the original apart from one small script, and the original stays linked; ask through the footer contact and we take our copy down.
- Is 终焉防火墙 · LAST FIREWALL free to play?
- Yes. Everything on Floating Arcade is free, with no account, ads or downloads.
- Can I embed this game on my own website?
- Yes — copy the snippet below. The embedded player links back here, which is how we ask to be credited.
Embed 终焉防火墙 · LAST FIREWALL on your site
Paste this where you want the game to appear: