It's Friday evening, and you've already been crunching the whole week. Now, how hard can it be to just get up from your desk and go home?
Office Hell is a fast-paced bullet hell, inspired by Touhou Project games. The balance of the stages is meant to be hard, but you can always just continue your struggles, if you are not aiming for a high score.
▶ Play it on itch.io: abbradar.itch.io/office-hell
Created for Bullet Hell Jam 7.
- Z — fire
- X — bomb
- arrows — move
- Shift — focus mode
- ESC — pause / back to menu
- Touch — drag to move, tap the ✱ button to bomb (on mobile)
Have you ever been to the office? Have you felt like your mind is SHRINKING with every second you spend there? Have you thought that you could touch the grass and run around the park, but instead your muscles are SHRINKING? Have you thought that a significant amount of your hair is SHRINKING because of constant stress? If the answer is "yes", there's a chance that you'll like our game.
Built with Phaser 3, TypeScript, and Vite. Targets WebGL; runs in modern browsers on desktop and mobile.
Binary assets (.png, .mp3, .wav, .ogg, .woff2) live behind
Git LFS — install it before cloning, or the
checkout will land with pointer files instead of the actual media.
git lfs install
git clone https://github.com/abbradar/office-hell
cd office-hell
npm install
npm run dev # vite dev server (http://localhost:5173)Other scripts:
npm run build # tsc + vite build → dist/
npm run preview # serve the production build
npm run check # biome check (lint + format dry run)
npm run format # biome check --fix .Type-check on its own: npx tsc --noEmit.
See CLAUDE.md for the orientation pass: folder structure,
runtime conventions (generator-based stages, audio model, pause
semantics, per-run scene state pattern), and pointers into the deeper
docs under src/docs/ (stage architecture, pattern
sandbox cookbook, stress-test results, audio implementation guide,
final boss music analysis).
Team
- abbradar — code, stage design, pattern design
- vuvko — code, sound design, stage design, pattern design
- const — code, pattern design
- nclbrt — art direction, character design, concept design
Music
- DOS-88 Music Library — CC BY 4.0. Five tracks from the library are used as the menu loop and the stage 1 / stage 2 / final-boss themes (see
src/audio/preload.tsfor the per-track mapping). - Kaedalus (kaedalus.com) — "Crack the Underground Base" — CC BY-SA 3.0. The track is cut into chunks under
src/assets/audio/chunks/kaedalus/— see that folder'sLICENSE.txtfor the derivative-work declaration. - nene — "Boss Battle #8" (retro and metal versions), "Boss Battle #9", "Unchained Destiny" — CC0.
Art, icons & SFX
- Kenney.nl — CC0. Input Prompts (keyboard / touch glyphs under
src/assets/icons/), Game Icons (mute / sound icons), Pixel Shmup (the green pill player bullet sprite). - Top Down Sprite Maker by flinkerflitzer — playable + NPC character sheets under
src/assets/sprites/. - Animated Elevator by Pixel_Assembly — the elevator-doors sprite used as the menu backdrop (
src/assets/misc/elevator_doors.png). - Furniture Office Set by Antea ✮⋆˙ — CC BY 4.0. The water dispenser prop (
src/assets/misc/water_dispenser.png). - Explosions by helpcomputer — CC BY 3.0. The bomb-explosion spritesheet (
src/assets/misc/bomb_explosion.png, extracted rows from the pack'sexplosion1.png) and the blue / red bullet-explosion strips (src/assets/bullets/blue_explosion.png,bullets/red_explosion.png). - Bullet Collection 1 by Master484 — CC0. Droplet / diamond / pill bullet sprites under
src/assets/bullets/.
Fonts
- monogram by datagoblin
- Fayte Pixel by Harbor Bickmore
- Press Start 2P — SIL OFL
- Silkscreen — SIL OFL
The canonical in-game credits roll lives at
src/content/credits.ts — keep it in sync
with this section if you add or replace an asset.
Source code is released under the MIT License.
Third-party assets ship under their own terms — see the Credits section above for the per-asset license and the kaedalus chunks folder's LICENSE.txt for the CC BY-SA 3.0 derivative-work declaration.
Claude Code was used as an assisting tool for code and search. Other search engines and platform-specific searches were used that could have AI incorporated. No AI was used to generate any asset or text for the game.