Define multiplayer learning rules

This commit is contained in:
2026-05-19 15:53:11 -07:00
parent 0aa1802949
commit 64d0603680
3 changed files with 102 additions and 1 deletions
+1 -1
View File
@@ -890,7 +890,7 @@ Target deliverable: A small group can join a server, spawn into one biome, gathe
- [x] Define when deeper questions should matter: quality improvements, safer work, complex crafting, teaching others, and advanced branches. Added deeper-question timing rules to `Docs/KnowledgeAndSkillFoundation.md`, keeping advanced checks out of the first survival loop while tying them to quality improvements, safer work, complex crafting, teaching others, and advanced branches.
- [x] Add design notes for avoiding exploit farming and rote memorization. Added exploit and rote-memorization guardrails to `Docs/KnowledgeAndSkillFoundation.md`, covering diminishing returns, meaningful action context, repeated prompt suppression, recovery-only credit, learned-concept separation, and varied wording to reward decisions and practice instead of low-cost repetition.
- [x] Add persistence requirements for knowledge, skill experience, learned concepts, failed attempts, and tutorial state. Added knowledge persistence requirements to `Docs/KnowledgeAndSkillFoundation.md`, defining saved profile IDs, learned concepts, practical skill experience, mastery tiers, failed-attempt feedback history, tutorial/prompt state, question cooldowns, teaching/observation events, schema versioning, server authority, and reset-farming prevention.
- [ ] Add multiplayer rules for teaching, observation, shared work, and group skill benefits.
- [x] Add multiplayer rules for teaching, observation, shared work, and group skill benefits. Added multiplayer learning rules to `Docs/KnowledgeAndSkillFoundation.md`, covering server-validated teaching, bounded learner credit, observation limits, role-specific shared-work experience, capped group benefits, no global skill aura, and network authority checks for distance, visibility, participation, cooldowns, tools, context, and outcome.
---
+55
View File
@@ -573,3 +573,58 @@ Save/load rules:
Persistence rule: learning state should make a returning character feel
continuous while giving designers enough history to tune teaching, feedback, and
anti-exploit behavior.
## Multiplayer Learning Rules
Learning in multiplayer should make cooperation valuable without turning nearby
players into passive experience sources.
Teaching:
- The server validates teaching credit.
- The teacher must know the concept, have enough practical experience, or
demonstrate the action in the current context.
- The learner must be nearby, attentive, and eligible for the concept.
- Teaching grants bounded awareness or practice credit, not instant mastery.
- Dangerous concepts require supervised practice before full confidence is
awarded.
Observation:
- Nearby observation can unlock awareness of a concept when the action is
visible and relevant.
- Passive observation grants less credit than direct practice.
- Repeated passive observation has diminishing returns.
- Observation does not grant credit while idle, disconnected, hidden from the
action, or outside the relevant range.
Shared work:
- Group tasks can grant role-specific experience to active contributors.
- Roles should be explicit enough to audit later: gatherer, builder, fire
watcher, first aid helper, scout, teacher, cook, hauler, or defender.
- Failed group work can teach useful feedback when a player helps diagnose or
correct the problem.
- Idle proximity, item handoff spam, and repeated low-risk loops should not
grant shared-work credit.
Group skill benefits:
- Skilled contributors can reduce risk, improve quality, increase speed, or
make warnings more visible for the group task.
- Benefits should be capped so one expert does not remove all challenge.
- Benefits apply only while the contributor is present, equipped, and actively
helping.
- No global aura: skill benefits do not apply across the map or while logged
off unless a future offline-simulation rule explicitly grants protection.
Network rules:
- Client learning requests are hints only.
- Server authority validates distance, visibility, participation, role,
cooldown, tools, environmental context, and outcome before granting credit.
- Teaching, observation, and shared-work events must be persisted for tuning and
anti-exploit review.
Multiplayer rule: cooperation should transfer awareness, improve group outcomes,
and reward active contribution without bypassing practice, risk, or context.
@@ -0,0 +1,46 @@
#!/usr/bin/env python3
"""Verify multiplayer learning rules are documented."""
from pathlib import Path
ROOT = Path(__file__).resolve().parents[1]
DOC = ROOT / "Docs" / "KnowledgeAndSkillFoundation.md"
ROADMAP = ROOT / "AGRARIAN_DEVELOPMENT_ROADMAP.md"
REQUIRED = {
DOC: [
"## Multiplayer Learning Rules",
"Teaching:",
"The server validates teaching credit.",
"Observation:",
"Passive observation grants less credit than direct practice.",
"Shared work:",
"Group tasks can grant role-specific experience to active contributors.",
"Group skill benefits:",
"Benefits should be capped",
"No global aura:",
"Network rules:",
"Server authority validates distance, visibility, participation, role,",
"Multiplayer rule:",
],
ROADMAP: [
"[x] Add multiplayer rules for teaching, observation, shared work, and group skill benefits.",
],
}
def main() -> None:
missing: list[str] = []
for path, snippets in REQUIRED.items():
text = path.read_text(encoding="utf-8")
for snippet in snippets:
if snippet not in text:
missing.append(f"{path.relative_to(ROOT)} missing {snippet!r}")
if missing:
raise SystemExit("FAILED: " + "; ".join(missing))
print("OK: multiplayer learning rules are documented.")
if __name__ == "__main__":
main()