Challenges & Community Hooks May 23, 2026

7-Day GDevelop Steam Export and Save Path Freeze Challenge Before Fest Upload - 2026

2026 GDevelop challenge—seven weekday gates to freeze scene order, audit save paths, pass standalone and Steam smoke, and file gdevelop_freeze_receipt_v1.json before fest upload.

By GamineAI Team

7-Day GDevelop Steam Export and Save Path Freeze Challenge Before Fest Upload - 2026

Pixel-art hero for seven-day GDevelop Steam export save path freeze challenge 2026

You exported GDevelop for Windows. Playtesters on Steam load the demo, beat floor one, quit, relaunch—and progress vanishes. The editor preview saved fine. The standalone path wrote to a folder players cannot read, or you used browser storage APIs in a desktop export.

May–October 2026 fest prep pulls HTML5-first teams—Construct, GameMaker, GDevelop 5.x—onto Steam desktop depots. Save-path bugs are hour-one refund fuel. This Challenges & Community Hooks sprint runs seven weekday gates: freeze scenes and storage contracts, prove standalone boot, then allow fest branch promotion.

Non-repetition note: Recent passes covered GameMaker export tutorial and Wednesday smoke Process—this is a GDevelop seven-day challenge, not metadata parity or Construct sheet order (parallel discipline, different engine).

Why this matters now (May 2026)

  1. GDevelop Steam exports risingHTML5-first industry pattern includes GDevelop beside itch embeds; Steam is the second storefront.
  2. Storage API mismatchStorage actions behave differently in preview, exported exe, and packaged Steam builds.
  3. Scene order drift — Parallel event edits reorder auto-start logic; fest week is the wrong time to discover wrong first scene.
  4. Evidence cultureBUILD_RECEIPT plus Wednesday demo smoke need a freeze receipt proving save paths were audited.
  5. October traffic — Fix saves in May–August, not during refund dashboard spikes.

Direct answer: One gate per weekday; logs under release-evidence/gdevelop/freeze-week/; no fest promotion until Gate 7 and gdevelop_freeze_receipt_v1.json show freeze_pass: true.

Who this is for

  • 1–3 person teams on GDevelop 5.x shipping a Windows Steam fest demo
  • Devs who tested only in preview or itch HTML5
  • Producers promoting branches without a save path map
  • Studios comparing GDevelop to Construct freeze week—same evidence tone, different engine surfaces

Time: ~45–65 minutes per weekday (~7 hours total). Weekends: review only.

Before you start — readiness checklist

  • [ ] release-evidence/gdevelop/ folder exists
  • [ ] Frozen project_version for challenge week (e.g. 0.4.0-freeze-week)
  • [ ] First scene for retail demo documented (not debug scene)
  • [ ] One Windows export completed once (even if broken)
  • [ ] BUILD_RECEIPT template ready
  • [ ] No new features during freeze week—bugfix and path fixes only
  • [ ] Playtest form includes build_label and save_slot fields

Rules of the challenge

  1. One owner signs each weekday log.
  2. Fail stops the day—fix before gateN_pass.
  3. Artifacts in release-evidence/gdevelop/freeze-week/YYYY-MM-DD_gateN.log.
  4. Scene structure changes after Day 3 require version bump and restart Day 1.
  5. Pair with metadata diff on promotion days.
  6. Friday Block 5 row until ship: gdevelop_freeze_pass Y/N.

Challenge calendar at a glance

Day Gate Primary artifact Pass signal
Mon 1 scene_inventory_v1.json Every scene + external events listed
Tue 2 bootstrap_order.md First scene + autostart events frozen
Wed 3 save_path_map.json Every storage action mapped to OS path
Thu 4 Standalone export folder audit G4 layout pass
Fri 5 Golden path + save round-trip Load after quit
Sat Evidence review No new gates
Sun Read-aloud Seven logs present
Mon+1 6 Installed Steam smoke (or playtest branch) S4–S6 from smoke article
Tue+1 7 gdevelop_freeze_receipt_v1.json Promotion allowed

Beginner path (read this first)

  1. Monday — List scene names in JSON.
  2. Tuesday — Confirm title scene is first launch.
  3. Wednesday — Write where saves go on disk.
  4. Thursday — Export and open folder; find exe.
  5. Friday — Save, quit, relaunch; progress remains.
  6. Next Monday — Install from Steam (or playtest); repeat.
  7. Next Tuesday — File receipt JSON.

How this differs from one-evening tutorials

GameMaker export sanity is a single night of gates. Construct sheet freeze is seven days on determinism. This challenge is seven days on GDevelop storage and bootstrap—because save bugs appear on day three of playtesting, not minute three of export.

External events and extensions (plan before Gate 1)

GDevelop projects often hide logic in external events shared across scenes. Before inventory:

Surface Inventory must list
Scene events Per-scene sheets
External events UI_Global, SaveHooks, etc.
Extension actions Storage, Steamworks (if used)
Object variables Persist flags tied to saves

Pro tip: Export a text list from team wiki if editor search is slow—consistency beats automation brand.

Extension compatibility row

Add to scene_inventory_v1.json:

"extensions": [
  { "name": "Storage", "version": "pinned", "used_for": ["demo_progress"] },
  { "name": "Steamworks", "version": "optional", "used_for": [] }
]

Remove unused extensions before Gate 4—smaller export, fewer DLL surprises.

Gate 1 (Monday) — Scene inventory

Export scene_inventory_v1.json:

{
  "schema": "scene_inventory_v1",
  "project_version": "0.4.0-freeze-week",
  "scenes": [
    { "name": "Title", "purpose": "retail_entry", "includes_external_events": ["UI_Global"] },
    { "name": "DemoRun", "purpose": "fest_slice", "includes_external_events": ["Combat", "SaveHooks"] }
  ],
  "excluded_from_build": ["DebugOverlay", "LevelEditor"]
}

Pass: No scene without purpose; debug scenes marked excluded.

Common Monday failures

Failure Fix
Mystery Scene names Rename before export
Debug scene first in list Reorder bootstrap (Gate 2)
Missing external events Attach to inventory

Gate 2 (Tuesday) — Bootstrap order freeze

Document in bootstrap_order.md:

# Bootstrap order — frozen 2026-05-26
1. Scene: Title (first launch)
2. External events load order: UI_Global → SaveHooks → Audio
3. Autostart groups: only Title_Menu and Save_Init
4. Forbidden: experimental groups autostart ON

Screenshot Project Manager scene list with date stamp.

Pass: Save_Init runs before gameplay scene accepts input.

Cross-read GameMaker room order—same class of bug, different editor.

Gate 3 (Wednesday) — Save path map

Create save_path_map.json:

{
  "schema": "save_path_map_v1",
  "slots": [
    {
      "slot_id": "demo_progress",
      "action": "Storage write variable",
      "key": "demo_save_v1",
      "expected_root": "%APPDATA%/<Company>/<Game>/",
      "forbidden": ["preview-only path", "browser localStorage on desktop"]
    }
  ],
  "faq_alignment": "single-player demo; progress local only"
}

Pass: Every Storage read/write in project appears in map; paths verified on standalone exe with File Explorer.

Storage discipline table

Pattern Desktop export Browser itch
Storage extension Preferred for Steam OK if documented
localStorage shim Risk — audit OK
Write to game directory OK if writable N/A
Absolute C:\ paths Fail Fail

Align FAQ save claims with map.

Wednesday test script

  1. Delete save folder manually.
  2. Launch standalone; progress to checkpoint.
  3. Note folder path created.
  4. Quit; relaunch; confirm load.
  5. Log path in gate3_pass.log.

Gate 4 (Thursday) — Export folder audit

Mirror GameMaker G2 gates:

Check Pass
exe launches without editor Yes
data / .pck / GDevelop payload present Yes
build_label on title Yes
No missing DLL dialog Yes

Log export log from GDevelop build panel—attach to gate file.

Outbound: GDevelop export documentation (verify UI labels for your 5.x build).

Gate 3 deep dive — variable keys and semver

Treat save data like Construct save migration semver:

Field Purpose
save_format_version Bump when layout changes
ruleset_id Tie to demo scope
build_label Correlate support tickets

Example stored JSON (conceptual):

{
  "save_format_version": 1,
  "ruleset_id": "fest_demo_2026_10",
  "floor": 2,
  "build_label_seen": "gd-nextfest-2026-05-26-rc1"
}

On load, if save_format_version mismatch, wipe slot with logged message—not silent corruption.

Wednesday edge cases

Edge case Gate 3 action
Player deletes AppData Game shows fresh demo—OK if FAQ says local only
Two Steam accounts one PC Separate OS users → separate paths—note in playtest doc
Antivirus blocks write Fail Gate 3 until path whitelisted
Unicode username in path Test on second Windows account

Gate 4 deep dive — Windows export options

Record in gate4_export_options.md:

Option Fest demo note
Architecture 64-bit default
Package mode Zipped vs folder—match SteamPipe habit
Icons / metadata Version matches build_label
Debugger Off for retail

Compare export size week-over-week—2× growth without assets suggests wrong inclusion.

Included resources audit

Resource Included?
Dev fonts Only shipped fonts
Placeholder audio Remove
Unused scenes Excluded in Gate 1

Gate 5 (Friday) — Golden path + save round-trip

Define five-step golden path (same discipline as Wednesday smoke):

  1. Title → Start Demo
  2. Reach first checkpoint flag
  3. Trigger save (autosave or interact)
  4. Quit to desktop
  5. Relaunch → checkpoint still loaded

Pass: Round-trip succeeds twice on same build_label.

Friday failure modes

Symptom Likely cause
Save on quit only, load fails Wrong key name read
Works once Two save systems fighting
Preview OK, exe fail Path map wrong

Gate 6 (Monday+1) — Installed Steam smoke

Upload to playtest branch if available; run S4–S6 from demo smoke article on installed build—not Thursday folder only.

Log steam_install_save_roundtrip: pass in gate file.

Gate 7 (Tuesday+1) — Freeze receipt

{
  "schema": "gdevelop_freeze_receipt_v1",
  "project_version": "0.4.0-freeze-week",
  "freeze_week": "2026-W22",
  "gates": {
    "gate1_scene_inventory": "pass",
    "gate2_bootstrap": "pass",
    "gate3_save_path_map": "pass",
    "gate4_export_folder": "pass",
    "gate5_save_roundtrip": "pass",
    "gate6_steam_smoke": "pass",
    "gate7_read_aloud": "pass"
  },
  "freeze_pass": true,
  "build_label": "gd-nextfest-2026-05-26-rc1",
  "paired_build_receipt": "release-evidence/05-operations/receipts/gd-nextfest-2026-05-26-rc1.json",
  "notes": "GDevelop 5.4; Win11; Storage extension only"
}

Archive beside BUILD_RECEIPT.

Weekend read-aloud (Sunday)

Producer reads aloud:

  1. First scene name matches store promise.
  2. Save path in plain language (“AppData folder X”).
  3. FAQ does not claim cloud if map says local.
  4. All seven gate logs exist.
  5. freeze_pass true in receipt.

Ten minutes prevents hour-long Discord arguments.

Promotion gate integration

[ ] gdevelop_freeze_receipt_v1.json freeze_pass == true
[ ] build_label matches BUILD_RECEIPT
[ ] Wednesday metadata diff GREEN
[ ] Wednesday demo smoke S4–S6 GREEN
[ ] No gate restart mid-week without version bump logged

Worked example (composite duo, one week)

Context: Two-person team; itch HTML5 demo live; first Steam Windows fest build.

Day Finding Action
Mon DebugOverlay not excluded Marked excluded in inventory
Tue Save_Init after gameplay start Reordered external events
Wed Saves used browser storage action Replaced with Storage extension
Thu Export missing VC runtime note Documented in BUILD_RECEIPT notes
Fri Round-trip pass Gate 5 green
Mon+1 Steam install failed load Wrong key string—hotfix, restart Gate 5–6
Tue+1 Receipt filed Promotion allowed

Lesson: Gate 3 would have caught storage API if run before first Steam upload attempt.

Calendar integration (May–October 2026)

Month Challenge intensity
May–June Full seven gates; establish save map
July Re-run Gate 3 after any save feature touch
August Gate 6 on every branch promotion
September Freeze save_format_version
October fest Mini Gate 5 on promotion days only

Distributed team handoff

When Asia-EU handoff uploads overnight:

  • EU morning verifies save_path_map.json unchanged
  • Asia logs export options in BUILD_RECEIPT
  • Never promote without Gate 6 row on installed build

CI hook (optional)

test -f release-evidence/gdevelop/gdevelop_freeze_receipt_v1.json || exit 2
jq -e '.freeze_pass == true' release-evidence/gdevelop/gdevelop_freeze_receipt_v1.json || exit 3

Align with validate-packet.

Incident response when saves fail during fest

Hour Action
0 Pause ads (fest cap)
1 Communicate wipe policy if unavoidable
2 Hotfix + new build_label
3 Re-run Gates 3–6
4 Update demo patch notes

Operating review hook

Four-Friday operating reviews Block 2:

  • Freeze weeks completed vs promoted builds
  • Top Gate 3 failure (path vs API)
  • Save-related refund tag count (qualitative)

Month-one adoption ladder

Week Goal
1 Complete first freeze week
2 Attach receipt to BUILD_RECEIPT habit
3 Pair with Wednesday smoke on promotion
4 Archive maps in release-evidence taxonomy

Cross-engine comparison (freeze week family)

Engine Freeze article Primary risk
Construct Sheet order challenge Event group order
GameMaker Export sanity Texture pages
GDevelop This challenge Storage paths
Godot Floor coordinator Loader epochs

Use one receipt folder taxonomy—do not fork per brand.

HTML5 itch + Steam dual SKU

If dual-SKU economics applies:

SKU Save map
itch HTML5 Browser storage row
Steam Windows AppData row

Never assume cross-SKU save sync unless shipped.

Playtest and async tools

After Gate 7, scale feedback with 18 playtest tools—require save_slot and build_label on every form row.

Partner packet crosswalk

Attach to partner ZIP:

  • save_path_map.json
  • gdevelop_freeze_receipt_v1.json
  • Friday save round-trip screen recording (optional, <90s)

Common mistakes (seven)

  1. Preview-only save testing — Gate 5 requires standalone exe.
  2. Skipping Gate 6 — Steam install path differs.
  3. localStorage on desktop export — Gate 3 fail until replaced.
  4. Debug scene first — Gate 2 fail.
  5. Feature work during freeze week — Restart week.
  6. No FAQ alignment — Store lies about saves.
  7. Promotion before receipt — Producers cannot verify path.

Pro tips (six)

  1. Delete save folder before each gate test—clean state.
  2. Screenshot AppData path in gate logs.
  3. Same build_label on title, receipt, BUILD_RECEIPT.
  4. Pair with validate-packet when scripting.
  5. Index logs by ISO week2026-W22.
  6. Run fest marketing cap stop on Gate 5 fail.

Snippet-friendly answers

How do I export GDevelop to Steam?
Freeze scenes and save paths with seven gates, export Windows, upload via SteamPipe, smoke installed build, then promote branch.

Why does GDevelop save work in editor but not Steam?
Usually wrong storage API for desktop or non-writable path—Gate 3 catches it.

Is this the same as Construct freeze week?
Same evidence culture; different engine checklist.

Key takeaways

  • Seven weekday gates end with gdevelop_freeze_receipt_v1.json.
  • Gate 3 save path map is the GDevelop-specific heart of this challenge.
  • Standalone exe required before Steam install smoke.
  • Scene inventory + bootstrap freeze prevent wrong first scene.
  • Pair with BUILD_RECEIPT, metadata diff, and Wednesday demo smoke.
  • No fest promotion until freeze_pass: true.
  • Dual itch/Steam SKUs need two save map rows.
  • Debug scenes must be excluded before export.
  • Read-aloud Sunday closes the week.
  • GDevelop fills the freeze-week family beside Construct and GameMaker.
  • External events and extensions must appear in Monday inventory.
  • save_format_version semver reduces corrupt-load support burden.
  • Gate 6 on installed Steam build is non-optional for desktop fest demos.
  • Restart freeze week if scene graph changes after Wednesday.
  • Fest marketing spend should pause when Gate 5 fails mid-week.

Roles on a three-person team

Person Daily duty
Designer Gate 1–2 scene truth; FAQ save wording
Programmer Gate 3–4 path and export
Producer Sign logs; block promotion without receipt

Solo dev: still produce seven logs—partners ask for paper trail, not heroics.

Steamworks and Steam API (optional extension week)

If you enable Steamworks extension during freeze week, add Gate 3b:

Check Pass
Achievements do not write before demo scope Yes
Cloud API disabled unless FAQ promises cloud Yes
Overlay does not block save on first run Yes

Cross-read cloud saves parity before enabling Steam Cloud on a fest demo.

Audio and asset paths (Thursday add-on)

Silent failures also come from missing sound files on export:

  • [ ] Every music file in events exists on disk
  • [ ] Case-sensitive path check on CI Linux if applicable
  • [ ] Ogg/mp3 included in export manifest

Log asset_manifest_sha256 in Gate 4 file—optional but helps cold-hash weeks.

Metrics without fake benchmarks

Track internally:

Metric Use
Gate 3 fail rate Storage discipline health
Promotion delays Cost of save bugs
Re-freeze weeks Feature creep indicator

Do not publish as marketing claims.

Vertical slice and demo scope

Vertical slice honesty applies: if demo is one floor, save map must not serialize full-game meta progress.

Truth audit pairing

Run 7-day truth audit the week after freeze week—store copy about saves must match save_path_map.json.

Q3 diligence attachment

Q3 diligence reviewers ask “what happens to player progress?”—freeze receipt plus map answers without invented retention stats.

Community hook (optional)

Share progress with hashtag discipline only if your studio already posts devlogs—challenge does not require public posting. Internal read-aloud is the minimum bar.

FAQ

We only ship itch HTML5 this fest—skip?
Run Gates 1–3 and 5 on browser export; Gate 6 when Steam exists.

GDevelop 5.3 vs 5.4?
Re-run Gate 4 after any editor upgrade.

Does this replace GameMaker export tutorial?
No—parallel engine; teams on both run both.

Can we use cloud saves?
Only if implemented and FAQ-accurate—map must show cloud API, not fake local path.

Conclusion

GDevelop makes rapid iteration easy—and save path surprises easy too.

Freeze the week. Map the paths. Prove round-trip on Steam. Promote only after Gate 7.

If your team already journals evidence cycles, treat freeze week as the light engineering week before a heavy art pass—save discipline is cheaper than explaining lost runs to strangers.

Next reads: BUILD_RECEIPT pipeline, Wednesday demo smoke, HTML5 second storefront analysis.