n
This page is the active planning surface after the broad engine optimization pass. The framework refactor work in Performance And Engine Refactor Plan is closed for the current release cycle; future engine work should be targeted, measured, and tied to a release need from one of the current games.
Release Strategy
- Ship focused releases instead of starting another broad framework rewrite.
- Keep reusable improvements inside
scripts/systems/ when at least two games need the behavior or the feature is clearly genre-independent.
- Use active games as proof points: Arcade Pong for arcade/input/audio/render flow, Emoji Card Collector for inventory/cards/menus/save slots, Putt-Putt Roguelike for phone-first drag controls and lightweight roguelike runs, Project Alchemy for grid/adventure/content tools, and Platformer Demo for level data and editor workflows.
- Keep
all_demos as the GitLab Pages web launcher until individual games are split into their own release repositories.
- Add fixture saves before any save-shape change.
Sprint R1: Arcade Pong Feature Update
Goal: prepare the next Arcade Pong public update with polish and measured browser/mobile performance fixes.
Status: active next.
Planned work:
- Finish any remaining items in Arcade Pong Release Feedback.
- Re-test difficulty selection, New Match flow, stats, achievements, power-up slots, keyboard/controller label switching, and touch-control hiding.
- Verify music transitions do not hitch gameplay on web. Keep music defaulted to 40%.
- Validate fast/slow ball multiplier behavior and high-speed swept paddle collision in browser.
- Confirm the single-game Arcade Pong profile starts at the splash/menu flow and never routes back to the multi-game launcher.
- Publish through itch.io from the active build profile.
Framework work allowed in this sprint:
- Targeted
audioManager, arcadePhysicsManager, inputManager, resultsScreenController, or achievementScreen fixes only when the release issue is reproducible.
- No speculative entity-system rewrite.
Exit criteria:
- Arcade Pong web, Windows, and Linux builds pass for the active profile.
- A manual browser/mobile pass completes the Arcade Pong section of Mobile And Browser Hardening Checklist.
- The itch.io Arcade Pong page receives the updated web build.
- No known release-blocking UI, input, audio, or scoring issues remain.
Sprint R2: Emoji Card Collector Release Candidate
Goal: make Emoji Card Collector ready for a first public release.
Status: active wrap pass.
Current pass:
- Release UI shell, compact lists/grids, Set/Collection local card popovers, battle-state visibility, HP/status feedback, global achievements, card art, and first-pass SFX are implemented and covered by headless smoke checks.
- Local 2026-09-10 validation passed the full headless smoke suite and the
emoji_card_collector build-profile validation for web, Windows, and Linux.
- Remaining release gates are CI/export success and live browser playtesting at the itch embed size.
Planned work:
- Complete the validation list in Emoji Card Collector First Release Plan.
- Lock down shop, inventory, merge, battle, raid, collection, achievements, and save-slot flows.
- Add a compact help/info page for packs, singles, locks, merging, battles, raids, and permanent card death.
- Verify card and pack sprites resolve through game-local sprite maps and shared sprite caches.
- Add or verify SFX for purchase, sell, merge, battle roll, card death, win, loss, and achievement unlock.
- Keep itch metadata enabled for
convanalytics/emoji-card-collector:html5.
Framework work allowed in this sprint:
inventoryList, cardInventoryAdapter, battleSequenceManager, statsManager, saveManager, and resultsScreenController improvements that reduce duplicated UI or state handling.
Exit criteria:
- Card Game save slots, shop, inventory, battle, raid, collection, settings, and achievements pass a desktop and browser playtest.
- Linux and Windows downloadable builds pass from the
emoji_card_collector profile.
- The Emoji Card Collector web build publishes to itch.io and the RGF Pages landing card links to
https://convanalytics.itch.io/emoji-card-collector.
- Remaining release gaps are content/art polish rather than broken flow.
Sprint R3: Build, Docs, And Publishing Hardening
Goal: keep the published framework site and release pipelines reliable while the demos expand.
Status: planned after the next two game release passes unless CI blocks a release sooner.
Planned work:
- Keep the GitLab Pages landing page focused on RGF docs,
all_demos, and links to individual itch.io game pages.
- Keep downloadable artifacts limited to active release profiles until the repo is split.
- Audit per-game build profiles for correct include roots, excluded game roots, start scenes, splash/menu routes, and itch metadata.
- Reduce CI log noise without hiding real export failures.
- Confirm cached Godot/editor template setup is stable on the self-hosted runner.
- Keep Doxygen navigation clean: framework docs at the top, examples and playtest notes beneath.
Framework work allowed in this sprint:
buildProfileManager, CI helper scripts, docs generation, and profile validation only.
Exit criteria:
- GitLab Pages publishes the RGF landing page, Doxygen docs, and
all_demos web launcher.
- Individual itch.io links on the landing page point at released game pages.
- CI artifacts stay under runner/GitLab limits for the active profiles.
- Build profile validation catches missing include roots, excluded data leaks, and invalid start/menu routes before export.
Sprint R4: Level Editor And Platformer Prep
Goal: prepare the next game lane without pulling MVP release work off course.
Status: in progress; Putt-Putt Roguelike has started as the next small-game lane for course generation, tile collision, and editor palette reuse.
Planned work:
- Continue moving level-editor behavior into reusable manager code.
- Support larger rectangular maps with void/null space for rooms, corridors, and non-playable areas.
- Improve editor palette placement so selecting a tile/object and selecting a square work in either order.
- Keep Validation and Raw JSON panels collapsible.
- Expand object libraries in game-local data so Platformer, Project Alchemy, and future metroidvania-style games can share the same editor shell.
Framework work allowed in this sprint:
levelEditorManager, levelManager, editor plugin tooling, data validation, and level schema docs.
Exit criteria:
- Built-in and custom Platformer/Project Alchemy levels can be opened, edited, validated, and saved through the same editor flow. Putt-Putt course modules use the same editor palette path for angled wall pieces and course devices.
- The editor supports quick tile/object placement without hidden mode friction.
- Level JSON remains game-local while reusable editor behavior stays in the framework.
Current Putt-Putt MVP execution:
- Done: scaffolded the game data, scene, single-game build profile, menu entry, and run manager.
- Done: added game-local editor palette data for void, greens, hazards, reskinnable walls, 45-degree walls, 30-degree walls, and course devices.
- Done: added a reusable course manager that composes start, middle, and finish modules into save-friendly tile-course dictionaries.
- Done: the prototype scene now renders from generated module courses and smoke tests verify the live generated-course path.
- Next: finish tile collision precision, course devices, reward/run screens, and browser/mobile polish as tracked in Putt-Putt Roguelike Sprint Plan.
Sprint R5: Godot Authoring Tools
Goal: make repeatable game-piece authoring feel native in Godot while keeping JSON as the portable source of truth.
Status: newly started.
Planned work:
- Add a separate RGF Pieces editor plugin for editing reusable tile/object definitions in each game's
editor_palette.json.
- Keep RGF Pieces focused on reusable defaults: id, label, class/kind, sprite id, collision shape, bounce, friction, and metadata/default JSON.
- Keep RGF Levels focused on placing definitions into maps, course pieces, adventure stages, and future rooms.
- Preserve Godot Inspector as the per-node override editor after a tile/object has been placed into a generated bridge scene.
- Add sprite/animation picker functionality from the sprite mapper so authors can select direct PNGs, sheet cells, sheet animation ranges, mirroring, and greyscale options without hand-typing sprite ids.
- Add class/schema presets for Platformer, Project Alchemy, Putt-Putt, and future metroidvania definitions. Examples: solid tile, one-way platform, slope wall, bounce pad, course device, enemy, pickup, door, ability gate.
- Add validation that catches missing sprite ids, duplicate tile characters, invalid collision shapes, and class-specific missing metadata before export.
- Add hot-reload between RGF Pieces and RGF Levels so palette changes appear in placement tools without reopening the editor.
Exit criteria:
- Platformer, Project Alchemy, and Putt-Putt palettes can be opened, edited, previewed, and saved through RGF Pieces.
- Newly-created definitions appear in RGF Levels placement after reload.
- Built-in Putt-Putt course pieces and Platformer levels can use the edited definitions without runtime code changes.
- The plugin docs clearly explain the division between reusable definitions, placed scene nodes, Godot Inspector overrides, and exported runtime JSON.
Future Optimization Backlog
These items remain valid, but they should wait for profiling, release feedback, or a clear reuse target.
- Continue targeted lifecycle cleanup for known popup, signal, deferred-callback, or cache ownership issues. Avoid broad root-wide teardown.
- Add browser/mobile profiler captures around audio transitions, sprite-heavy scenes, large inventory lists, and dense level rendering.
- Add optional shader/material animation effects with low-power fallbacks.
- Expand entity/update managers only where a current game has measurable duplicated per-frame work.
- Add list virtualization only when card inventory or editor palette sizes make it necessary.
- Split game repositories or packages once artifact size and release ownership justify the cost.
Not Active Right Now
These are intentionally not part of the next few sprints:
- A broad entity-system rewrite across all games.
- Reworking Project Alchemy beyond validation, tuning, and art-readability fixes.
- Promoting Putt-Putt Roguelike to a release lane before Arcade Pong and Emoji Card Collector release work is stable.
- Android build recovery unless web, Windows, and Linux releases are stable.
- Full game-repository splitting before artifact/package ownership requires it.
Active References