godot-genre-educational

安装量: 45
排名: #16555

安装

npx skills add https://github.com/thedivergentai/gd-agentic-skills --skill godot-genre-educational
Genre: Educational / Gamification
Expert blueprint for educational games that make learning engaging through game mechanics.
NEVER Do
NEVER punish failure with "Game Over"
— Learning requires safe experimentation. Use "Try Again" or "Here's a Hint" instead of fail states.
NEVER separate learning from gameplay
— "Chocolate-covered broccoli" feels like homework. Make mechanics BE the learning (e.g., Typing of the Dead).
NEVER use walls of text
— Players skip tutorials. Show, don't tell. Interaction first, then brief explanations.
NEVER skip spaced repetition
— Questions answered incorrectly should reappear later. One-time questions don't build mastery.
NEVER hide progress from learners
— Visible XP bars, mastery %, and skill trees motivate continued learning. Opaque systems frustrate.
Available Scripts
MANDATORY
Read the appropriate script before implementing the corresponding pattern.
adaptive_difficulty_adjuster.gd
Success-ratio tracking with branching hints. Adjusts difficulty up/down based on sliding window, provides progressive hint disclosure on consecutive fails.
Core Loop
Learn
Player receives new information (text, diagram, video).
Apply
Player solves a problem or completes a task using that info.
Feedback
Game provides immediate correction or reward.
Adapt
System adjusts future questions based on performance.
Master
Player unlocks new topics or cosmetic rewards. Skill Chain Phase Skills Purpose 1. UI godot-ui-rich-text , godot-ui-theming Readable text, drag-and-drop answers 2. Data godot-save-load-systems , json-serialization Student profiles, progress tracking 3. Logic state-machine Quiz flow (Question -> Answer -> Result) 4. Juice godot-particles , godot-tweening Making learning feel rewarding 5. Meta godot-scene-management Navigating between lessons and map Architecture Overview 1. The Curtain (Question Manager) Manages the flow of a single "Lesson" or "Quiz".

quiz_manager.gd

extends Node var current_question : QuestionData var correct_streak : int = 0 func submit_answer ( answer_index : int ) -> void : if current_question . is_correct ( answer_index ) : handle_success ( ) else : handle_failure ( ) func handle_success ( ) -> void : correct_streak += 1 EffectManager . play_confetti ( ) StudentProfile . add_xp ( current_question . topic , 10 ) load_next_question ( ) func handle_failure ( ) -> void : correct_streak = 0

Spaced Repetition: Add this question back to the queue

question_queue . push_back ( current_question ) show_explanation ( ) 2. The Student Profile Persistent data tracking mastery.

student_profile.gd

class_name StudentProfile extends Resource @ export var topic_mastery : Dictionary = { }

"math_add": 0.5 (50%)

@ export var total_xp : int = 0 @ export var badges : Array [ String ] = [ ] func get_mastery ( topic : String ) -> float : return topic_mastery . get ( topic , 0.0 ) 3. Curriculum Tree Defining the dependency graph of knowledge.

curriculum_node.gd

extends Resource @ export var id : String @ export var title : String @ export var required_topics : Array [ String ]

Prereqs

Key Mechanics Implementation Adaptive Difficulty algorithm If player is crushing it, give harder questions. If struggling, ease up. func get_next_question ( ) -> QuestionData : var player_rating = StudentProfile . get_rating ( current_topic )

Target a 70% success rate for "Flow State"

var
target_difficulty
=
player_rating
+
0.1
return
QuestionBank
.
find_question
(
target_difficulty
)
Juice (The "Duolingo Effect")
Learning is hard. The game must heavily reward effort visually.
Sound
Satisfying "Ding!" on correct.
Visuals
Screen shake, godot-particles, multiplier popup.
UI
Progress bars filling up smoothly (Tweening).
Godot-Specific Tips
RichTextLabel
Essential for mathematical formulas or coloring keywords (BBCode).
Drag and Drop
Godot's Control nodes have built-in
_get_drag_data
and
_drop_data
methods. Perfect for "Match the items" puzzles.
Localization
Educational games often need to support multiple languages. Use Godot's
TranslationServer
from day one.
Common Pitfalls
Chocolate-Covered Broccoli
Game loop and Learning loop are separate.
Fix
Make the mechanic
be
the learning (e.g., Typing of the Dead).
Punishing Failure
Player gets "Game Over" for being wrong.
Fix
Never fail state. Just "Try Again" or "Here's a hint".
Wall of Text
Too much reading.
Fix
Interaction first. Show, don't tell. Reference Master Skill: godot-master
返回排行榜