Tutorial datadisk demonstrating all implemented features
Find a file
CyberVitexus f258041b05 docs(ishtaria): update README.md with primary source notice
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-04 14:54:17 +01:00
debian feat(debian): add Jenkins pipeline for ishtaria-datadisk-tutorial 2026-10-22 14:11:33 +02:00
dialogues feat(tutorial): expand places, dialogues, and terrain demos for disk features 2026-10-19 06:22:03 +02:00
i18n docs(tutorial): add Hammerin knowledge card and public-domain image 2026-10-20 19:59:01 +02:00
media docs(tutorial): add Hammerin knowledge card and public-domain image 2026-10-20 19:59:01 +02:00
music Initial tutorial datadisk - demonstrates all implemented features 2026-10-10 17:15:57 +02:00
npcs docs(tutorial): add Hammerin knowledge card and public-domain image 2026-10-20 19:59:01 +02:00
places feat(tutorial): expand places, dialogues, and terrain demos for disk features 2026-10-19 06:22:03 +02:00
quests feat(tutorial): expand places, dialogues, and terrain demos for disk features 2026-10-19 06:22:03 +02:00
tools Use packaged Piper voices from /usr/share/piper/voices/ 2026-10-19 06:46:45 +02:00
.gitignore Initial tutorial datadisk - demonstrates all implemented features 2026-10-10 17:15:57 +02:00
datadisk.yaml feat(tutorial): expand places, dialogues, and terrain demos for disk features 2026-10-19 06:22:03 +02:00
knowledge.yaml docs(tutorial): add Hammerin knowledge card and public-domain image 2026-10-20 19:59:01 +02:00
LICENSE docs(ishtaria-datadisk-tutorial): add LICENSE file (CC BY-SA 4.0) 2026-11-04 14:41:08 +01:00
Makefile feat(tutorial): expand places, dialogues, and terrain demos for disk features 2026-10-19 06:22:03 +02:00
README.md docs(ishtaria): update README.md with primary source notice 2026-11-04 14:54:17 +01:00
TUTORIAL_CREATION.md Initial tutorial datadisk - demonstrates all implemented features 2026-10-10 17:15:57 +02:00

ishtaria-datadisk-tutorial

Primary source: https://git.vitexsoftware.com/Ishtaria/ishtaria-datadisk-tutorial (development happens there). GitHub (https://github.com/Vitexus/ishtaria-datadisk-tutorial) is a secondary mirror; packages and binaries are not built from GitHub.

Tutorial story datadisk for Ishtaria. Open source tutorial content - CC BY-SA 4.0 license. This datadisk demonstrates all implemented game features in a guided tutorial experience.

A datadisk is data, not code: places, characters, dialogue trees and scenarios that the Ishtaria server evaluates. Several datadisks can be combined into one world.

datadisk.yaml      manifest (id, version, requires/conflicts, license, rating)
places/            places the world generator finds a site for (tutorial island areas)
npcs/              characters standing at places (tutors, merchants, creatures)
dialogues/         decision trees: tutorials, explanations, feature demonstrations
quests/            tutorial scenarios as stage machines
lore/              tutorial entries (not spawned, for codex)
music/ + media/    background tracks and tutor portraits shown during tutorials
i18n/en.yaml cs.yaml
voice/voices.yaml  voice of each character per language
tools/             helper scripts for asset preparation

Format: ishtaria-protocol/schemas/datadisk.schema.json. Check the disk (schema, references, media):

python3 ../ishtaria-protocol/tests/validate_datadisk.py .

Install (dpkg-buildpackage -us -uc -b, then dpkg -i) to /usr/share/ishtaria/datadisks/tutorial/. In ishtaria-admin, World maps → Generate map then shows a checkbox for this disk; or ishtaria-server-init <seed> <size> tutorial.

Tutorial Content Overview

The Tutorial World is designed as a single island with multiple zones, each teaching different features:

Zone 1: Basic Movement and UI

  • Newcomer's Beach: Spawn point where players learn basic movement and HUD
  • Tutor Alara: Introduces controls, stamina system, and UI navigation

Zone 2: Gathering and Crafting

  • Harvest Grove: Trees, rocks, and plants to gather from
  • Tutor Crafton: Teaches gathering tools, resource collection, and crafting basics
  • Workbench Area: Crafting stations for practice

Zone 3: Combat and Hunting

  • Training Grounds: Safe area with target dummies
  • Hunting Forest: Passive animals to practice combat on
  • Tutor Valerian: Combat instructor

Zone 4: Building and Placement

  • Builder's Yard: Area for placing objects
  • Tutor Hammerin: Building and placement tutor

Zone 5: Trading and Economy

  • Market Square: Merchant stalls
  • Tutor Merchan: Trading and economy tutor
  • Shopkeeper: Functional merchant for practice

Zone 6: Magic System

  • Mage's Tower: Magic training area
  • Tutor Arcanis: Magic system tutor

Zone 7: Advanced Features

  • Portal Plaza: Federation portal demonstration
  • Tutor Portalus: Portal and federation explainations

Zone 8: Story-disk placement

  • Surveyor's Rise: measured from the village (locate), with a landscape patch and a wildlife overlay
  • Survey Cairn: a surveyed point (tolerance_m: 0) and a walkable structure shipped with the disk
  • Surveyor: patrols a square, stands taller than the model (size), and explains the lesson
  • Apprentice, elder and child: wander; the three share one short greeting. The child is fast enough that the client plays Run
  • The cover jingle and the music away from every place are the disk's cover_music and ambient_music

The tutorial does not ship a real planet and does not fix the player's body. A disk that does (world.terrain, geo, player_character, player_model, player_body) cannot be combined with another planet disk, and it takes the character choice away. Surveyor explains those, and this disk stays combinable with one.

Features Demonstrated

  • Movement: walking, running, stamina consumption
  • Gathering: trees, rocks, plants with appropriate tools
  • Crafting: recipes, stations, inventory management
  • Combat: hunting, damage, armour, weapons
  • Building: placing objects, structure construction
  • Trading: merchant buying/selling, player-to-player
  • Magic: mana, spells, scrolls
  • Social: friends, events, nearby players
  • Survival: health, stamina, water, food
  • Drinking: fountains and water sources
  • Equipment: tools, weapons, armour slots
  • Durability: tool degradation
  • Quests: tutorial quest chains
  • Chat: communication with other players
  • Graveyards: permanent memorials
  • Hall of Fame: achievements and scores
  • Story placement: a site measured from another place, a surveyed point, a landscape patch, a structure, a wildlife overlay
  • Walking characters: a patrol, wanderers who share one dialogue, and a taller body
  • Disk music: a cover jingle and the ambient track heard outside every place

Spoken Lines

dpkg-buildpackage runs tools/render_voices.py: every NPC line is synthesized with Piper and encoded to OGG Vorbis in media/voice/<language>/<text_key>.ogg. Build-Depends include piper-voice-cs-cz-jirka-medium and piper-voice-en-us-libritts-r-medium (/usr/share/piper/voices/).

dpkg-buildpackage -P pkg.ishtaria-datadisk-tutorial.novoice skips the rendering.

Music

Tutorial zones use CC0 background music tracks appropriate to each area.

Asset Requirements

Character portraits for tutors should be created and placed in media/portraits/. A cover image should be created for media/cover/cover.jpg (1024x768 recommended).

Development

make test     # validate the datadisk
make stage    # stage for local testing
make server   # start local server with this datadisk
make stop     # stop the server
make clean    # clean build artifacts

License

CC BY-SA 4.0. All content is open source and can be modified and shared under the same license terms.