Skip to content

Experiment: Prototype a system to test more open ended exercises analogous to GDPractice #73

@NathanLovato

Description

@NathanLovato

The practice testing framework GDPractice allows us to create all kinds of interactive exercises and to test precise requirements at runtime.

GDTour was initially designed with the idea of creating interactive guides through the user interface of Godot but the more students progress through the curriculum, the less handholding they need, and the more comfortable they are exploring and figuring things out on their own.

This task is about creating a proof of concept for more open-ended exercises and challenges that would take place directly in the editor.

The needs are similar to GDPractice, with perhaps more of a need for constant feedback:

  • Students need to know what they need to do, have access hints, and clear tasks with dynamic feedback.
  • The tasks could have multiple requirements and pre-requisites that help guide users (for example, an area node needs a child collision shape.
  • We could consider QCMs as well to get students thinking about what will happen when doing this or that operation or to test their knowledge.
  • Consider how to provide troubleshooting information or optionally precise steps to help students and teachers learning in a self-paced environment get unstuck (especially in early lessons).

After doing a proof of concept and figuring out the user experience, we could see if GDPractice and GDTour couldn't be brought closer one way or another, because with this they'll have some overlapping functionality and purpose (that they don't have currently). Concretely, I'm thinking that we could benefit from some features (editor interface access, editor overlays, state testing...) being moved to library-like addons, similar to what Ricard (Epictellers) showed us, so they're accessible from both technologies.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions