15 — Progression und Level-up #16
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Teil der Map #1 · Type:
wayfinder:grilling· Blocked by: #3 · graduiert aus #2Was gewaehrt ein Aufstieg, ist die Kurve Daten oder Formel, woher kommt Erfahrung, bleibt die Obergrenze bei 50?
Volle Fragestellung (kanonisch):
.scratch/rustkeep-1.0/issues/15-progression-und-levelup.mdAufgeloest in
5faa5d6. Kanonische Fassung:.scratch/rustkeep-1.0/issues/15-progression-und-levelup.mdDieses Ticket entscheidet Formen und Regeln — die konkreten Zahlen bleiben beim Balancing, das ein spielbares Spiel voraussetzt.
Ein Aufstieg gibt genau einen Punkt
Frei verteilbar auf die fuenf Grundwerte (
strength,dexterity,constitution,charisma,luck). Abgeleitete Groessen bleiben ausgeschlossen — Punkte direkt aufdamagezu setzen umginge das ganze Modifikatorsystem.current_expundunspent_pointsleben anGame, nicht amCreature— die Platzierung, die #8 ausdruecklich hierher delegiert hatte.base.levelbleibt am Wesen (Gegner haben echte Level, die Etagen-Skalierung liest sie), aber Erfahrung hat nur der Held; ein Feld, das fuer 99% der Exemplare bedeutungslos ist, schriebe der Save fuer jeden Gegner mit.AssignPointsist ein Command mit allen Punkten auf einmal, also ein Zug. Einer je Punkt hiesse bei drei Stufen drei Zuege, in denen ein Gift-Debuff tickt, waehrend man ein Menue bedient. Kein Umverteilen — ein Permadeath-Lauf endet endgueltig.Keine Obergrenze
clamp(1, 50)faellt ersatzlos. Fuenfzig Stufen ueber fuenf Etagen waeren bedeutungslos, und eine harte Grenze waere der einzige Teil der Progression, der einen spaeteren Endlosmodus blockierte. Die Kurve begrenzt sich ueber steigende Kosten:exp_baseundexp_exponentin[balance], zwei Zahlen statt fuenfzig Tabellenzeilen.Erfahrung aus Toetungen und Quests
exp_rewardan dercreatures-Registry plusgive_expals zehnte Aktion. Zwei Wege zum selben Ziel, nach demselben Muster, mit dem #2armorals Kurzschreibweise zuliess:exp_rewardist die Kurzform fuer einen Todes-Trigger, den sonst jede Gegnerdefinition mitschleppen muesste — samt eineris_self-Pruefung, die es gar nicht gibt.Keine Erfahrung fuers Betreten einer Etage — das belohnte das Durchrennen. Geprueft wird am Ende von
Game::executenach dem Leeren der Warteschlange, in einer Schleife: drei Stufen auf einmal geben drei Punkte.Die Zuwachs-Regel bleibt eng
Steigt
max_healthdurch Progression um 10, steigt der Lebensstand um 10 mit — nur durch Progression. #2 hatte gewarnt: "sonst heilt ein Ring beim Anlegen."Genau zwei Stellen: der Aufstieg und
AssignPoints. Letztere ist die unauffaellige —max_healthsteigt erst, wennconstitutiontatsaechlich erhoeht wird, also beim Verteilen und nicht schon beim Aufstieg. Ausruestung nie. Der Unterschied ist die Dauerhaftigkeit.Rasse und Klasse bleiben flach
per_levelentfaellt ersatzlos — das beantwortet die Skalierungsfrage aus dem Ticketkoerper mit "gar nicht". Dass "Zwerg: +2 Konstitution" auf Level 30 Rauschen ist, ist gewollt: was Charakteroptionen traegt, sind Faehigkeiten, und die veralten nicht. #3 hat sie als "Modifikatoren und Faehigkeiten" definiert; der interessante Teil ist die zweite Haelfte.leveldarf modifiziert werdenbase.levelist die einzige Quelle fuer Punkte;attribute(wer, "level")darf durch Modifikatoren hoeher ausfallen und wird von Bedingungen, Formeln und Etagen-Skalierung gelesen. Ein+1 level-Ring macht dich also fuer alles, was Level liest, staerker — ohne einen Punkt zu schenken. Verbieten waere die Bevormundung, die #3 abgeraeumt hat.Endlosrunner — neu aufgetaucht, bewusst hinter 1.0
In dieser Sitzung kam auf, dass das Fernziel ein Endlosrunner ist. Das beruehrt drei geschlossene Entscheidungen: die Siegbedingung aus #11,
GameOver { outcome: Won }aus #15, und diefloors-Registry mit einem Eintrag je Nummer — Etage 500 braeuchte eine Definition.1.0 bleibt endlich. Endlos ist additiv:
repeat = truean der letzten Etage plus eine Skalierungsformel. Als eigener Punkt in der Map vermerkt. Die fehlende Level-Obergrenze ist der Teil, der davon jetzt schon profitiert.Vier Nachtraege
give_expals zehnte Aktion;per_levelausdruecklich nichtcurrent_exp/unspent_pointsanGameAssignPointsals dreizehnter Commandexp_base/exp_exponentin[balance],exp_rewardancreatures. Ausdruecklich keinpoints_per_level— ein Punkt pro Level ist eine Regel, kein StellknopfAuflage an #17 (16 Loot)
Die Beute-Skalierung darf nicht gegen fuenf feste Etagen fest verdrahtet werden — der Endlosmodus kommt spaeter.