I’m working on a browser-based platformer called DamnBlackLink: Ashline Relay. That is the working title, not a final cleared brand.
This is an early playable prototype, and I’m sharing it to get feedback before expanding the game.
Why I’m Building It
I’ve been coding since I was young, starting with Logo on an Apple IIe. Game development has always been part of what makes programming exciting to me: code lets me build a world instead of only imagining one.
Representation matters to me, too. I want a Black protagonist who belongs at the center of his own adventure, with his own visual identity, setting, and purpose—not simply a familiar character with a different skin tone.
That is the direction I want this project to take: familiar enough to understand as a platformer, but with its own world and personality.
The World and First Mission
Ashline is a transit district suspended above an electric storm. You play a relay runner trying to restore the network and reopen a transit gate.
The first level introduces movement, jumping, and dash timing. It then asks you to climb for relay cores, deal with patrol drones, and use checkpoints.
You need all three relay cores to open the exit. There is no countdown deadline; the timer is there for comparing runs.
The hero wears a teal field coat, amber scarf, and copper boots, with short locs and a pulse gauntlet. The current visuals are drawn directly in Canvas rather than loaded from a sprite pack.
What the Prototype Includes
- A side-scrolling level with a tracking camera and parallax scenery.
- Variable-height jumping, coyote time, and jump buffering.
- A directional dash with a cooldown.
- A short-range pulse strike and patrolling drones.
- Three relay objectives, checkpoint respawning, and a locked exit.
- Armor, damage feedback, particles, and a completion screen.
- Keyboard controls, basic on-screen pointer controls, and focus-aware pausing.
The Technical Direction
This build uses plain JavaScript, HTML Canvas, and CSS with no external game engine.
The simulation updates at a fixed 120 Hz, independently of the rendering callback, with a cap on catch-up work after stalls.
The priority at this stage is movement feel and readable interactions—not adding as many features as possible. A small level should make it clear whether jumping, dashing, fighting, and recovering from mistakes actually feel good together.
The code includes 12 automated logic checks, but those checks are not a substitute for browser playtesting.
Influences Without Recreating a Specific Game
I enjoy classic side-scrolling platformers and action-adventure games, but I’m treating those as genre influences rather than blueprints.
This project uses its own level layout, setting, character design, and objective structure. It does not intentionally include ripped sprites, franchise music, copied maps, or existing franchise logos.
That does not amount to legal clearance. The working name still needs review, and I may change it before a wider release. My goal is to develop an independent identity rather than market the project as an official connection to another franchise.
Play the Prototype
Open the demo linked on the connected project page. The project download includes the complete source and setup instructions.
Controls:
- A/D or arrow keys to move.
- W, up arrow, or Space to jump.
- Release jump early for a shorter jump.
- Shift or K to dash.
- J or X to strike.
- P or Escape to pause while the game has focus.
Collect the three gold relays, then reach the gate at the far right.
Amber beacons save your respawn location. Relay progress remains after a respawn and resets when you restart the level.
Feedback I’m Looking For
- Does movement feel responsive, especially short jumps and dash timing?
- Is the first elevated relay easy to notice?
- Does the second relay’s climbing route make sense without an explanation?
- Are drone attacks, damage, and checkpoint behavior clear?
- Does the world and protagonist feel like the beginning of an independent game?
If you report a bug, please include your browser, device, what you were doing, and what happened. A screenshot or short recording would help.
This is a work in progress. I’m building the foundation first, then using feedback to decide what deserves the next round of development.
0 Replies