Skip to content
hkddPublic

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GoopSquad

A browser-based, side-scrolling beat-'em-up in the spirit of Final Fight on the Sega Genesis — punch/kick combos, grabs and throws, pickable-up weapons, a screen-locking "clear the wave to proceed" structure, and a boss fight at the end. One full level, set on a fictional street, present day.

Zero build step, zero dependencies, zero external assets. Every character and background prop is drawn with plain <canvas> 2D calls (articulated ragdoll limbs with rounded joints, shaded jackets, hair silhouettes, hit sparks and dust), and every sound effect is synthesized live with the Web Audio API — there isn't a single image or audio file in this repo. Just open index.html.

The story

A delivery-drone depot's battery farm ruptures behind the Grimwood Bodega, flooding the block in toxic green coolant sludge and mutating the local gang into The Ooze. You got splashed too — but you're still you, just stronger. Fight your way down Grimwood Ave, clear three waves of Ooze grunts and thugs, and take down their leader, the Sludge King.

Play it

Just open index.html in any modern desktop browser (Chrome, Firefox, Safari, Edge) — double-click it, no server required. If your browser blocks local-file JavaScript modules for some setups, serve the folder instead:

npx http-server .      # or: python3 -m http.server 8080

Then visit the printed localhost URL.

Controls

Action Keys
Move Arrow keys or WASD
Attack (combo) Z or J
Jump X or K (attack in-air = jump attack)
Special move C or L (limited charges, recharges over time)
Grab Shift or G (hold near a foe, tap Attack to punish, release to throw)
Pause P or Escape
Mute M
Confirm / Start Enter or Space

A touch d-pad + buttons appear automatically on touch devices.

Fighters

Pick one of three GoopSquad members before the fight, each with a different speed/power/health balance: Vex (balanced), Ruckus (slow, huge damage), Nova (fast, light hits).

Project structure

index.html      Screens (title/select/story/pause/game-over/win) + canvas
style.css       Menu chrome, CRT framing, touch controls
js/utils.js     Small math helpers
js/input.js     Keyboard + touch input, normalized into logical actions
js/audio.js     WebAudio synth sound effects + a tiny procedural bassline
js/sprites.js   Procedural (code-drawn) character/prop rendering
js/level.js     Constants, palettes, roster/enemy stats, the level layout
js/entities.js  Factory functions + shared physics for player/enemy/etc.
js/game.js      State machine, combat rules, enemy AI, camera/wave gating,
                HUD, and the render/update loop

Everything renders at a low internal resolution (480×270) and is scaled up with image-rendering: pixelated, aiming for a chunky 16-bit-console look without needing any actual pixel art files.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages