Skip to content

Add custom gameplay rooms and pluggable client scenes - #348

Open
RSamaium wants to merge 3 commits into
v5from
feat/custom-gameplay-rooms
Open

Add custom gameplay rooms and pluggable client scenes#348
RSamaium wants to merge 3 commits into
v5from
feat/custom-gameplay-rooms

Conversation

@RSamaium

@RSamaium RSamaium commented Aug 6, 2026

Copy link
Copy Markdown
Owner

Summary

  • add a public gameplay-room registry, decorators, providers, and RpgGameplayRoom base class
  • let players move between map, lobby, and custom rooms while preserving their authoritative identity and variables
  • add pluggable client scenes for custom room kinds without mounting the map viewport or physics pipeline
  • preserve the existing map/lobby lifecycle and protocol behavior
  • document runtime ownership, standalone/MMORPG behavior, CanvasEngine .ce scenes, private projections, cleanup, and reusable module boundaries
  • include the required beta changeset and map-return streaming fixes

Why

RPGJS v5 already had useful room primitives internally, but the public server and client runtimes still assumed that gameplay happened in map or lobby rooms. This prevented battle, card-game, matchmaking, and similar modes from using a dedicated synchronized room and client scene without depending on Tiled maps and the map rendering pipeline.

This introduces a stable room descriptor and registry shared across the runtime. Custom room state and player snapshots remain server-authoritative and synchronized, while each registered room kind can select its own CanvasEngine scene on the client.

Closes #347.

Validation

The Mint documentation CLI is not declared or installed in the local docs workspace, so pnpm --dir docs validate could not run locally; GitHub CI remains the source of truth for that check.

RSamaium added 3 commits August 6, 2026 12:04
# Conflicts:
#	packages/client/src/RpgClientEngine.ts
#	packages/client/src/public-api-types.spec.ts
#	packages/server/src/RpgServer.ts
#	packages/server/src/RpgServerEngine.ts
#	packages/server/tests/server-api-types.spec.ts
@RSamaium
RSamaium marked this pull request as ready for review August 21, 2026 17:22
@RSamaium
RSamaium marked this pull request as draft August 21, 2026 17:27
@RSamaium
RSamaium marked this pull request as ready for review August 22, 2026 07:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

RFC: introduce entity rooms and pluggable client scenes beyond maps

1 participant