A 2-dimensional multiplayer game with ray tracing. https://doppler.schmelczer.dev/
  • TypeScript 88%
  • SCSS 6.5%
  • JavaScript 4.2%
  • HTML 0.9%
  • Dockerfile 0.4%
Find a file
Andras Schmelczer 6af73af0ec
All checks were successful
Build & deploy / Build & deploy website (push) Successful in 29s
Build & deploy / Build & publish server image (push) Successful in 48s
Merge pull request 'Configure Renovate' (#7) from renovate/configure into main
Reviewed-on: https://home.schmelczer.dev/git/andras/decla-red/pulls/7
2026-09-19 11:51:21 +01:00
.claude rename 2026-09-18 21:23:47 +01:00
.forgejo/workflows rename 2026-09-18 21:23:47 +01:00
.vscode Improve netcode and simplify (#4) 2026-09-15 07:57:57 +01:00
backend No capture announcement 2026-09-15 20:35:24 +01:00
frontend rename 2026-09-18 21:23:47 +01:00
media Add readme 2020-11-17 10:42:49 +01:00
shared Improve netcode and simplify (#4) 2026-09-15 07:57:57 +01:00
test Fix extra sound fetching 2026-09-15 21:03:14 +01:00
.dockerignore Improve netcode and simplify (#4) 2026-09-15 07:57:57 +01:00
.gitattributes Improve multiplayer 2020-10-10 10:55:08 +02:00
.gitignore Improve netcode and simplify (#4) 2026-09-15 07:57:57 +01:00
.node-version Fix ci 2026-06-15 21:46:03 +01:00
.nvmrc Fix ci 2026-06-15 21:46:03 +01:00
.prettierrc Setup formatting 2020-10-07 16:40:21 +02:00
Dockerfile Improve netcode and simplify (#4) 2026-09-15 07:57:57 +01:00
eslint.config.js Improve netcode and simplify (#4) 2026-09-15 07:57:57 +01:00
package-lock.json Improve netcode and simplify (#4) 2026-09-15 07:57:57 +01:00
package.json Improve netcode and simplify (#4) 2026-09-15 07:57:57 +01:00
README.md Improve netcode and simplify (#4) 2026-09-15 07:57:57 +01:00
renovate.json Add renovate.json 2026-09-19 10:38:51 +00:00
tsconfig.json Improve netcode and simplify (#4) 2026-09-15 07:57:57 +01:00
vitest.config.ts Improve netcode and simplify (#4) 2026-09-15 07:57:57 +01:00

doppler

A 2-dimensional multiplayer game utilising ray tracing.

Available at doppler.schmelczer.dev.

screenshot of in-game fight three screenshots taken at iPhone SE screen size

For optimised 2D ray tracing, SDF-2D is used.

Development

Run npm install && npm run init once, then npm run dev. Run npm test for regressions, npm run lint:check for formatting and lint, and npm run build for all production bundles. Tests rebuild the shared library before running.

The website's server list is hardcoded in frontend/src/scripts/configuration.ts — edit it to add or remove game-server origins.

Run the server image locally:

docker build -t doppler-server .
docker run -p 3000:3000 doppler-server --name "My server" --playerLimit 16