Skip to content

StoryQuest submission

Manuel Quiñones edited this page Nov 14, 2025 · 1 revision

StoryQuest submission

This document outlines the requirements for submitting StoryQuests back to the main game. This is done by creating a Pull Request (PR) that takes a learner group’s work from their forked version of the game and submits it for inclusion in the official Threadbare main branch.

The StoryQuest can be contributed incrementally, at the following milestones:

  • Milestone 2: Intro & Outro complete, with all scenes (including the levels unmodified from the template) linked together so that the quest is playable
  • Milestone 3: Mini-games once each level is complete
  • Milestone 4: Playtesting & Iteration following any refinements after playtesting & iteration
  • Milestone 5: Production & Launch following completion of the entire project

In the context of Core: Threadbare learning experiences, the group’s mentor or instructor will guide and accompany each team so that learners themselves learn to send the PRs back to the main game according to the guidelines described below.

Contributor alignment

It is important to ensure that your learners know that their work will be made available. In that sense, make sure that your group has clear understanding that:

  • They are making a public contribution to an open source game project
  • Their contributions will be recorded against their GitHub user profile, which includes their username and any personal information they have publicly shared on their GitHub profile such as full name, email address, etc.
  • Original code contributions are made under the MPL-2 license, permitting free reuse of the work.
  • Original asset contributions are made under the Creative Commons Attribution-ShareAlike 4.0 International license permitting free reuse of the work provided that the original author is credited and that the work remains in the open.
  • Third-party assets and code used in the StoryQuest must be under a compatible license.

Submission criteria

  1. Since the learner groups are tasked with building a StoryQuest, the PR must be strictly confined to creating and modifying files only within the directory structure that belongs to the StoryQuest. PRs that extend beyond this will be rejected.
  2. In many cases, these changes are made accidentally or unintentionally and a commit should be made to revert the non-StoryQuest changes before the PR is created.
  3. In other cases, these are StoryQuest-related changes that unintentionally affect files in the main game. For example the learners may wish to modify the StoryWeaver, but inadvertently end up modifying the base game StoryWeaver scene rather than having the change confined to their StoryQuest. Endless staff are happy to advise on how to handle these cases.
  4. In other cases, these changes may arise from learners wishing to build on game features that do not exist. In this case, a workaround needs to be found so that the learners can obtain their desired results without escaping the bounds of their StoryQuest. Endless staff are happy to advise.
  5. You must be clear on the origins and authorship rights of the work being submitted. We typically expect learners to have created the work being submitted, in which case everything is clear: the creator has consented (as above) for us to use the work in this way. However, if the learner has obtained code or assets from other sources (rather than creating them themselves), this is permitted only when the license of the work is compatible with ours, and when the origin and license of the work is clearly documented (see below).
  6. The StoryQuest must be roughly playable from beginning to end. This does not mean that the StoryQuest needs to be complete; the initial versions should simply use the sample levels from the template, and then followup PRs can incrementally replace them with the learner’s own work.
  7. The StoryQuest should not deviate excessively away from the structure and systems offered by the template. We attempt to honor learner creativity through what is made possible by the template system (which allows freedom in visual style, asset design, narrative, etc) as well as some flexibility beyond the existing template functionality, but we may not accept major deviations, such as StoryQuests that embed alternative game genres.

Commit & PR structure

The commits in the Pull Request will be squashed into a single commit upon acceptance into the game. The commit messages of the original commits will not be retained, so this should not be considered an appropriate place to put key information about the PR.

Instead, the final commit that goes into the game will include the Title and Description that you write on the Pull Request.

The Title field should briefly mention what is included in the StoryQuest, and is ideally written in English. For example:

  • Add DanielsWorld StoryQuest
  • SuperFrog StoryQuest: add music puzzle level

The Description should include:

  1. A brief outline of the work included in the PR. As the story quest content is added to the game via the PRs, this should include what concepts/stories it is built around and what are the main gameplay elements. It is OK to submit this in Spanish.
  2. Attribution sections titled as Assets, Engineering, Game Design, and Production & Management. These should reference GitHub usernames of the contributors, as specified for each category below:

Assets: These should be listed by their filename, followed by the license (which must be either CC-BY-SA 4.0 or a more-permissive license such as CC0 1.0), and then the attribution.

Engineering: for each level in the StoryQuest, provide attribution to the contributor(s) that undertook the engineering work in Godot.

Game Design: provide the GitHub username(s) of the contributors that worked on Core Gameplay & Mechanics, Progression & Motivation, Narrative & Storytelling, Game Feel & UX.

Production & Management: provide the GitHub username(s) of the contributors that contributed code review or playtesting during the development of the work.

This is easiest to illustrate in a full example of a PR Title and Description for a fictional StoryQuest that is added to the game.

**Add Broccoli Aliens StoryQuest**

This StoryQuest embodies the story of Alfred, a young alien who gets in trouble
with the wrong type of broccoli. In the levels within, Alfred needs to
demonstrate his knowledge of vegetable music, sneak past some vicious turnips,
and finally escape from the angry broccoli.

Assets:  
alfred.png - CC-BY-SA 4.0 - by @-jane--smith--512  
broccoli.ogg - CC-BY-SA 4.0 - by @-f--brown  
turnip.png - Public Domain - by Fernando McManus, obtained from http://freevegetableassets.com/evil-turnip-5

Engineering:  
Music level by @-godot--rocker  
Turnip level by @-godot--rocker  
Broccoli level by @-alice--jones

Game Design:  
Core Gameplay & Mechanics by @-alice--jones
Progression & Motivation by @-jane--smith--512

Production & Management:  
Code review by @-potter--p

The description and attribution should correspond only to what is new in the current submission. If you are submitting a PR that further builds out a StoryQuest that was previously submitted and accepted, you should not repeat the description/attribution for the work that was previously included.

Clone this wiki locally