Skip to content

[Packaging] Add a standalone custom-game product distribution profile #61

@ogyrec-o

Description

@ogyrec-o

Summary

Add an explicit standalone custom-game product distribution profile for player-facing shipping of a Freven-based game without Vanilla payload, Vanilla builtins, or shared launcher/platform UX unless explicitly chosen.

This is distinct from a standalone template/dev profile.

Problem

Issue #40 freezes that Freven must support standalone custom games as first-class products, not only as “Vanilla plus mods” or as development templates.

We already have follow-up work for:

  • generic host runtime profile
  • Vanilla product profile
  • standalone template/dev profile
  • DevKit profile split

But we still need an explicit issue for the shipping product profile of a standalone custom game.

Without this, “standalone game” remains ambiguous between:

  • author/developer template setup
  • final player-facing shipped product

Those are not the same thing and should not be modeled as the same profile.

Target behavior

A standalone custom-game product profile should support:

  • custom executable/product identity
  • custom branding
  • custom default experience
  • custom bundled payload/content
  • optional custom builtin registry
  • zero-Vanilla by default
  • no shared platform/launcher UX unless explicitly chosen
  • packaging/distribution suitable for Steam / itch.io / direct download / other standalone channels

Requirements

  • The profile must not bundle freven.vanilla unless explicitly opted into.
  • The profile must not require Vanilla builtins by default.
  • The profile must identify itself as a standalone custom-game product in manifest/profile metadata.
  • Product identity / branding / default flow must be shell-owned.
  • The packaging layout must be usable as a standalone shipped product rather than only as a development template.
  • The profile should be compatible with either:
    • runtime-loaded experiences/mods only
    • custom builtins
    • or a mixed custom product setup
  • Docs must explain how this differs from:
    • generic host runtime profile
    • Vanilla product profile
    • standalone template/dev profile
    • DevKit profiles

Non-goals

  • Do not build final store upload automation.
  • Do not require every custom game to use the generic host/launcher UX.
  • Do not remove the generic host or Vanilla product paths.
  • Do not redesign unrelated SDK/runtime architecture.
  • Do not make Vanilla guest-only.

Deliverables

  • Explicit packaging/product profile support for standalone shipped games
  • Manifest/profile identity for this product class
  • Docs explaining standalone shipped product mode
  • Validation/checks ensuring zero-Vanilla by default unless explicitly enabled

Related

Metadata

Metadata

Assignees

Labels

area:installInstallation, setup, first-run flows, environment/bootstrap setup.area:mod-loadingMod discovery, resolution, manifests, negotiation, attach/load behavior.area:runtimeRuntime behavior, lifecycle, ticking, session behavior, execution flow.component:bootfreven-boot: launcher, instance bootstrap, boot flows, packaging entrypoints.component:devkitDevkit-level / cross-repo work: manifests, integration glue, release shell, repo-wide coordination.component:docsDocumentation, guides, READMEs, architecture docs, examples docs.component:enginefreven-engine: core engine/runtime/simulation/client-server internals.component:packagingBuild artifacts, zips, release packaging, manifests, distribution layout.priority:p1High priority. Important and near-term.status:confirmedConfirmed bug/request. Reproduced, accepted, or clearly valid.transport:builtinSpecific to builtin/compile-time mod execution path.transport:cross-transportShared semantic work that must align across builtin/wasm/native/external.

Type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions