Benutzer-Werkzeuge

Webseiten-Werkzeuge


scripting:tutorials

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige ÜberarbeitungVorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
scripting:tutorials [2023/09/09 08:20] – [Ebene 3: Individuelle Kartenabläufe] fritz_98scripting:tutorials [2024/05/13 07:27] (aktuell) – [Ebene 0: Vor dem Editor] fritz_98
Zeile 1: Zeile 1:
 ======Einsteigertutorials====== ======Einsteigertutorials======
  
-Dieses Einsteigertutorial soll dich dazu befähigen, eigene Karten für Die Siedler - Das Erbe der Könige zu erstellen. Dafür haben wir die Lektionen in verschiedene Ebenen aufgeteilt, deren Inhalte in der Komplexität stetig zunehmen. Wenn du also komplett neu startest, ist es sinnvoll, die Reihenfolge der Ebenen einzuhalten und sie nacheinander durchzuarbeiten. Falls du schon erfahrener bist, kannst du auch nach einem speziellen Thema, das dich interessiert, suchen. (FIXMERegister mit Schlagworten(und dann hier verlinken))+Dieses Einsteigertutorial soll dich dazu befähigen, eigene Karten für Die Siedler - Das Erbe der Könige zu erstellen. Dafür haben wir die Lektionen in verschiedene Ebenen aufgeteilt, deren Inhalte in der Komplexität stetig zunehmen. Wenn du also komplett neu startest, ist es sinnvoll, die Reihenfolge der Ebenen einzuhalten und sie nacheinander durchzuarbeiten. Falls du schon erfahrener bist, kannst du auch nach einem speziellen Thema, das dich interessiert, [[ https://dedk.de/wiki/doku.php?id=scripting&do=search&q=%20%40scripting |suchen]].
  
 Nach jeweils einer Ebene ist es möglich, eine komplett spielbare Karte an der Hand zu haben. Wer sich dafür interessiert, Multiplayerkarten zu erstellen, wird dafür relevante Kapitel hervorgehoben finden. Nach jeweils einer Ebene ist es möglich, eine komplett spielbare Karte an der Hand zu haben. Wer sich dafür interessiert, Multiplayerkarten zu erstellen, wird dafür relevante Kapitel hervorgehoben finden.
Zeile 11: Zeile 11:
 In Ebene 2 beschäftigen wir uns mit fortgeschrittenen Werkzeugen des Editors und erklären einige Kniffe, um ansprechende Landschaften gestalten zu können. Auf der Skriptseite werden weiterführende Konzepte in der Programmierung betrachtet und außerdem erklärt, wie man Quests in eine Karte integrieren kann. Da dadurch die Spielabläufe durchaus komplexer werden können, gibt es noch ein weiteres Kapitel zu Maptests. In Ebene 2 beschäftigen wir uns mit fortgeschrittenen Werkzeugen des Editors und erklären einige Kniffe, um ansprechende Landschaften gestalten zu können. Auf der Skriptseite werden weiterführende Konzepte in der Programmierung betrachtet und außerdem erklärt, wie man Quests in eine Karte integrieren kann. Da dadurch die Spielabläufe durchaus komplexer werden können, gibt es noch ein weiteres Kapitel zu Maptests.
  
-FIXME Was kommt in den zwei Ebenen danach?+In Ebene 3 vervollständigen wir die Kapitel zu Lua und geben einige Tricks zu gutem Programmierstil weiter. Des Weiteren verlassen wir die High-Level-Betrachtung zur KI und steigen auf elementare Steuerungsfunktionen ab, um die KI maßgeschneidert das tun zu lassen, was wir für eine Karte brauchen. Zuletzt werden Briefings und Trigger ebenfalls vertieft. 
 + 
 +Ebene 4 schließt das Tutorial ab. Dort beschreiben wir in weniger zusammenhängenden Artikeln zahlreiche Möglichkeiten, deiner Map "optisch" etwas Besonderes hinzufügen zu können. Dies schließt unter anderem Cutscenes, Grafikeffekte und dynamischen Nebel mit ein.
  
 FIXME In jedem Artikel, in dem eine Comfortfunktion zum ersten Mal benutzt wird, zu einem zugehörigen Doku-Artikel verlinken (zB GetPosition im Briefing-Artikel, IsDead bei der Siegbedingung usw.) FIXME In jedem Artikel, in dem eine Comfortfunktion zum ersten Mal benutzt wird, zu einem zugehörigen Doku-Artikel verlinken (zB GetPosition im Briefing-Artikel, IsDead bei der Siegbedingung usw.)
Zeile 19: Zeile 21:
 =====Ebene 0: Vor dem Editor===== =====Ebene 0: Vor dem Editor=====
  
-  * FIXME Aufsetzen von Visual Studio Code +  * [[ scripting:tutorials:visual_studio | Aufsetzen von Visual Studio Code ]] 
-  * FIXME Community-Tools (bbaTool, S5Updater, Debugger, etc)+  * [[ scripting:tutorials:community_tools | Aufsetzen der Community-Tools ]]
   * [[ scripting:tutorials:drafting | Planung einer Karte ]]   * [[ scripting:tutorials:drafting | Planung einer Karte ]]
  
Zeile 66: Zeile 68:
 ====Die Karte testen==== ====Die Karte testen====
  
-  * Fehlermeldungen aktivieren +  * [[ scripting:tutorials:level1:debugging | Fehler finden und beheben ]] 
-  * Fehler finden und beheben +  * [[ scripting:tutorials:level1:common_errors | Häufige Fehler ]] 
-  * Häufige Fehler +  * [[ scripting:tutorials:level1:balancing | Balancing ]]
-  * Balancing+
  
 ---- ----
Zeile 77: Zeile 78:
 ====Fortgeschrittene Funktionen des Mapeditors==== ====Fortgeschrittene Funktionen des Mapeditors====
  
-  * Kopiervorlagen +  * [[ scripting:tutorials:level2:templates | Kopiervorlagen ]] 
-  * Höhen- und Texturmaps +  * [[ scripting:tutorials:level2:heightmaps | Höhen- und Texturmaps ]] 
-  * Vertexfarben +  * [[ scripting:tutorials:level2:vertex_colors | Vertexfarben ]] 
-  * Das Gruppentool +  * [[ scripting:tutorials:level2:editor_groups | Das Gruppentool ]] 
-  * Techniken zur Landschaftsgestaltung+  * [[ scripting:tutorials:level2:landscaping_techniques | Techniken zur Landschaftsgestaltung ]]
   * **Multiplayer**: Spezielle Anforderungen ans Mapdesign   * **Multiplayer**: Spezielle Anforderungen ans Mapdesign
  
Zeile 91: Zeile 92:
   * [[ scripting:tutorials:level2:recursion | Rekursionen ]]   * [[ scripting:tutorials:level2:recursion | Rekursionen ]]
   * [[ scripting:tutorials:level2:comfort_functions | Komfortfunktionen ]]   * [[ scripting:tutorials:level2:comfort_functions | Komfortfunktionen ]]
 +  * [[ scripting:tutorials:level2:amendments | Ergänzende Bemerkungen ]]
  
 ====Quests implementieren==== ====Quests implementieren====
  
-  * Npcs +  * [[ scripting:tutorials:level2:npcs | NPCs ]] 
-  * Orte erreichen, Gebäude bauen, Gegner besiegen +  * [[ scripting:tutorials:level2:setup_quest | Orte erreichen, Gebäude bauen, Gegner besiegen ]] 
-  * Tribute +  * [[ scripting:tutorials:level2:rewards | Belohnungen ]] 
-  * Belohnungen +  * [[ scripting:tutorials:level2:find_entities | Spieler-Einheiten und -Gebäude finden ]] 
-  * Das Auftragsmenü +  * [[ scripting:tutorials:level2:tribute | Tribute ]] 
-  * Schatztruhen +  * [[ scripting:tutorials:level2:quest_menu | Das Auftragsmenü ]] 
-  * Söldnerquartiere +  * [[ scripting:tutorials:level2:chests | Schatztruhen ]] 
-  * Räuberlager +  * [[ scripting:tutorials:level2:mercenaries | Söldnerquartiere ]] 
-  * Effektive Kommunikation mit dem Spieler+  * [[ scripting:tutorials:level2:countdowns | Zähler und Zeitlimits ]] 
 +  * [[ scripting:tutorials:level2:bandit_camps | Banditenlager und Spawner ]] 
 +  * [[ scripting:tutorials:level2:communication | Effektive Kommunikation mit dem Spieler ]] 
 +  * [[ scripting:tutorials:level2:script_example | Beispielskript ]]
  
 ====Weiteres zu Maptests==== ====Weiteres zu Maptests====
  
-  * Effektives Debugging +  * [[ scripting:tutorials:level2:debugging | Effektives Debugging ]] 
-  * Häufige Fehler+  * [[ scripting:tutorials:level2:common_errors | Häufige Fehler ]]
   * **Multiplayer**: Debugging im Multiplayer (auch zB Desynchs)   * **Multiplayer**: Debugging im Multiplayer (auch zB Desynchs)
  
 ---- ----
- 
-FIXME Ab hier Kraut und Rüben! Ich schau erst mal, wie die ersten Kapitel werden und entscheide dann, wie ich hier strukturiere 
  
 =====Ebene 3: Individuelle Kartenabläufe===== =====Ebene 3: Individuelle Kartenabläufe=====
-  * Der Rest zur Lua-Programmierung + 
-    * Funktionen als (lokale) Variablen +====Feinheiten der Lua-Programmierung==== 
-    * Call by reference vs Call by value +  [[ scripting:tutorials:level3:local_functions | Lokale Funktionen ]] 
-    upvalues und metatables +  [[ scripting:tutorials:level3:iterators | Iteratoren ]] 
-    * Best practices (zB Lookup tables) +  * [[ scripting:tutorials:level3:lazy_evaluation | Lazy evaluation ]] 
-    * Iterators +  * [[ scripting:tutorials:level3:call_by | Call by reference und Call by value ]] 
-    * Lazy evaluation +  [[ scripting:tutorials:level3:upvalues_metatables | Upvalues und Metatables ]] 
-  * Armeesteuerung +  [[ scripting:tutorials:level3:best_practices | Best Practices ]] 
-  * Briefings revised + 
-  * Trigger +====Maßgeschneiderte KI==== 
-  * KI-Steuerung +  * [[ scripting:tutorials:level3:armies | Armeesteuerung ]] 
-    Eigenständiger Aufbau +  * [[ scripting:tutorials:level3:ai_construction | Eigenständiger Aufbau ]] 
-    * Eigenständige Entwicklung+  * [[ scripting:tutorials:level3:ai_development | Eigenständige Entwicklung ]] 
 + 
 +====Ergänzungen==== 
 +  * [[ scripting:tutorials:level3:briefings | Briefings ]] 
 +  [[ scripting:tutorials:level3:trigger | Trigger ]] 
 + 
 +----
  
 =====Ebene 4: Das gewisse Etwas===== =====Ebene 4: Das gewisse Etwas=====
-  * Cutscenes + 
-  * Gfx-Sets +  [[ scripting:tutorials:level4:cutscenes | Cutscenes ]] 
-  * Quest-Icons +  * [[ scripting:tutorials:level4:gfx_sets | Gfx-Sets ]] 
-  * Grafikeffekte +  * [[ scripting:tutorials:level4:effects | Grafikeffekte ]] 
-  * Sound +  * [[ scripting:tutorials:level4:sounds | Sounds und Musik ]] 
-  * Dynamischer Nebel +  * [[ scripting:tutorials:level4:quest_icons | Quest-Icons ]] 
-  * Terrain per Skript+  * [[ scripting:tutorials:level4:dynamic_fog | Dynamischer Nebel ]] 
 +  * [[ scripting:tutorials:level4:scripted_terrain | Terrainmodifizierung per Skript ]] 
 +  * [[ scripting:tutorials:level4:gui_hacks | GUI-Hacks ]]
scripting/tutorials.1694247643.txt.gz · Zuletzt geändert: 2023/09/09 08:20 von fritz_98