Level Packs #55
Labels
No Milestone
No Assignees
1 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: SketchyMaze/doodle#55
Loading…
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Obsoletes #9
Level Packs will be ZIP files containing levels and possibly doodads that go with those levels. The structure of the ZIP would be like:
index.json
The index.json file describes metadata and cached level details about the levels in the pack, example:
Features worth pointing out:
Payment Model
Free versions of the game can't play maps that embed custom doodads so they similarly should not support levelpacks that embed custom doodads.
The built-in levelpacks will NOT embed any doodad, so they will load from the built-in doodads that ship with the game. For free versions of the game, it will only play a levelpack that does this: all doodads referenced by the levels MUST exist locally for the player, either built-in or found in the user's profile folder. Doodads attached to the levelpack are never loaded for free versions of the game.
Story Mode UI
From the game's main menu there will be a button to select Story Mode, where it will list the available levelpacks and provide a UI to browse and select a level to play.
Screen 1: Level Packs
The first screen will show clickable buttons for all the level packs found.
Level packs will be searched in the following order:
About 5 packs should be shown per page with a pager widget for multiple.
The packs should be shown sorted by file names.
Screen 2: Levels
Clicking a pack on the main screen shows a detail screen of its levels.
Levels would be shown in a grid (maybe 3 columns per row) with level buttons showing:
If the level hasn't been unlocked the button should be greyed out/unclickable/show differently to normal.
A user has the option to unlock a locked level by entering its password. When clicking the locked entry:
The level list would have a pager for large levelpacks.
Save Game JSON
A user's progression through a levelpack would be saved in a JSON file in their home folder, see #9 for inspiration.
As the user completes or unlocks a level, insert an entry in their save JSON about the levelpack name and level name and details like: