2023-12-20 18:49:25 +01:00
<!DOCTYPE html>
2025-08-15 16:53:30 +00:00
< html lang = "en" data-content_root = "../../../" >
2023-12-20 18:49:25 +01:00
< head >
< meta charset = "utf-8" / >
2025-08-15 16:53:30 +00:00
< meta name = "viewport" content = "width=device-width, initial-scale=1.0" / > < meta name = "viewport" content = "width=device-width, initial-scale=1" / >
2023-12-20 18:49:25 +01:00
< title > Part 3: How We Get There (Example Game) — Evennia latest documentation< / title >
2025-08-15 16:53:30 +00:00
< link rel = "stylesheet" type = "text/css" href = "../../../_static/pygments.css?v=d75fae25" / >
< link rel = "stylesheet" type = "text/css" href = "../../../_static/nature.css?v=279e0f84" / >
< link rel = "stylesheet" type = "text/css" href = "../../../_static/custom.css?v=e4a91a55" / >
< script src = "../../../_static/documentation_options.js?v=c6e86fd7" > < / script >
< script src = "../../../_static/doctools.js?v=9bcbadda" > < / script >
< script src = "../../../_static/sphinx_highlight.js?v=dc90522c" > < / script >
< link rel = "icon" href = "../../../_static/favicon.ico" / >
2023-12-20 18:49:25 +01:00
< link rel = "index" title = "Index" href = "../../../genindex.html" / >
< link rel = "search" title = "Search" href = "../../../search.html" / >
2024-03-08 08:07:29 +00:00
< link rel = "next" title = "1. Code Structure and Utilities" href = "Beginner-Tutorial-Utilities.html" / >
2023-12-20 18:49:25 +01:00
< link rel = "prev" title = "3. Planning our tutorial game" href = "../Part2/Beginner-Tutorial-Planning-The-Tutorial-Game.html" / >
< / head > < body >
2025-08-15 16:53:30 +00:00
< div class = "related" role = "navigation" aria-label = "Related" >
2023-12-20 18:49:25 +01:00
< h3 > Navigation< / h3 >
< ul >
< li class = "right" style = "margin-right: 10px" >
< a href = "../../../genindex.html" title = "General Index"
accesskey="I">index< / a > < / li >
< li class = "right" >
< a href = "../../../py-modindex.html" title = "Python Module Index"
>modules< / a > |< / li >
< li class = "right" >
2024-03-08 08:07:29 +00:00
< a href = "Beginner-Tutorial-Utilities.html" title = "1. Code Structure and Utilities"
2023-12-20 18:49:25 +01:00
accesskey="N">next< / a > |< / li >
< li class = "right" >
< a href = "../Part2/Beginner-Tutorial-Planning-The-Tutorial-Game.html" title = "3. Planning our tutorial game"
accesskey="P">previous< / a > |< / li >
2025-08-15 16:53:30 +00:00
< li class = "nav-item nav-item-0" > < a href = "../../../index.html" > Evennia< / a > » < / li >
2023-12-20 18:49:25 +01:00
< li class = "nav-item nav-item-1" > < a href = "../../Howtos-Overview.html" > Tutorials and How-To’ s< / a > » < / li >
< li class = "nav-item nav-item-2" > < a href = "../Beginner-Tutorial-Overview.html" accesskey = "U" > Beginner Tutorial< / a > » < / li >
< li class = "nav-item nav-item-this" > < a href = "" > Part 3: How We Get There (Example Game)< / a > < / li >
< / ul >
< / div >
< div class = "document" >
< div class = "documentwrapper" >
< div class = "bodywrapper" >
< div class = "body" role = "main" >
< section class = "tex2jax_ignore mathjax_ignore" id = "part-3-how-we-get-there-example-game" >
2025-08-15 16:53:30 +00:00
< h1 > Part 3: How We Get There (Example Game)< a class = "headerlink" href = "#part-3-how-we-get-there-example-game" title = "Link to this heading" > ¶< / a > < / h1 >
2023-12-20 18:49:25 +01:00
< div class = "admonition warning" >
< p class = "admonition-title" > Warning< / p >
< p > The tutorial game is under development and is not yet complete, nor tested. Use the existing lessons as inspiration and to help get you going, but don’ t expect out-of-the-box perfection from it at this time.< / p >
< / div >
< aside class = "sidebar" >
< p class = "sidebar-title" > Beginner Tutorial Parts< / p >
< ul class = "simple" >
2025-08-15 16:53:30 +00:00
< li > < p > < a class = "reference internal" href = "../Beginner-Tutorial-Overview.html" > < span class = "std std-doc" > Introduction< / span > < / a >
2023-12-20 18:49:25 +01:00
< br > Getting set up.< / p > < / li >
2025-08-15 16:53:30 +00:00
< li > < p > Part 1: < a class = "reference internal" href = "../Part1/Beginner-Tutorial-Part1-Overview.html" > < span class = "std std-doc" > What We Have< / span > < / a >
2023-12-20 18:49:25 +01:00
< br > A tour of Evennia and how to use the tools, including an introduction to Python.< / p > < / li >
2025-08-15 16:53:30 +00:00
< li > < p > Part 2: < a class = "reference internal" href = "../Part2/Beginner-Tutorial-Part2-Overview.html" > < span class = "std std-doc" > What We Want< / span > < / a >
2023-12-20 18:49:25 +01:00
< br > Planning our tutorial game and what to consider when planning your own.< / p > < / li >
2025-08-15 16:53:30 +00:00
< li > < p > < em > Part 3: < a class = "reference internal" href = "#" > < span class = "std std-doc" > How We Get There< / span > < / a > < / em >
2023-12-20 18:49:25 +01:00
< br > Getting down to the meat of extending Evennia to make your game.< / p > < / li >
2025-08-15 16:53:30 +00:00
< li > < p > Part 4: < a class = "reference internal" href = "../Part4/Beginner-Tutorial-Part4-Overview.html" > < span class = "std std-doc" > Using What We Created< / span > < / a >
2023-12-20 18:49:25 +01:00
< br > Building a tech-demo and world content to go with our code.< / p > < / li >
2025-08-15 16:53:30 +00:00
< li > < p > Part 5: < a class = "reference internal" href = "../Part5/Beginner-Tutorial-Part5-Overview.html" > < span class = "std std-doc" > Showing the World< / span > < / a >
2023-12-20 18:49:25 +01:00
< br > Taking our new game online and letting players try it out.< / p > < / li >
< / ul >
< / aside >
< p > In part three of the Evennia Beginner tutorial we will go through the actual creation of
our tutorial game < em > EvAdventure< / em > , based on the < a class = "reference external" href = "https://www.drivethrurpg.com/product/250888/Knave" > Knave< / a > RPG ruleset.< / p >
< p > If you followed the previous parts of this tutorial series you will have some notions about Python and where to find and make use of things in Evennia. We also have a good idea of the type of game we will create.< / p >
< p > Even if this is not the game-style you are interested in, following along will give you a lot
of experience using Evennia and be really helpful for doing your own thing later! The EvAdventure game code is also built to easily be expanded upon.< / p >
< p > Fully coded examples of all code we make in this part can be found in the
2025-08-15 16:53:30 +00:00
< a class = "reference internal" href = "../../../api/evennia.contrib.tutorials.evadventure.html" > < span class = "std std-doc" > evennia/contrib/tutorials/evadventure< / span > < / a > package. There are three common ways to learn from this:< / p >
< ol class = "arabic simple" >
2023-12-20 18:49:25 +01:00
< li > < p > Follow the tutorial lessons in sequence and use it to write your own code, referring to the ready-made code as extra help, context, or as a ‘ facit’ to check yourself.< / p > < / li >
< li > < p > Read through the code in the package and refer to the tutorial lesson for each part for more information on what you see.< / p > < / li >
< li > < p > Some mix of the two.< / p > < / li >
< / ol >
< p > Which approach you choose is individual - we all learn in different ways.< / p >
< p > Either way, this is a big part. You’ ll be seeing a lot of code and there are plenty of lessons to go through. We are making a whole game from scratch after all. Take your time!< / p >
< section id = "lessons" >
2025-08-15 16:53:30 +00:00
< h2 > Lessons< a class = "headerlink" href = "#lessons" title = "Link to this heading" > ¶< / a > < / h2 >
2023-12-20 18:49:25 +01:00
< div class = "toctree-wrapper compound" >
< ul >
2024-03-08 08:07:29 +00:00
< li class = "toctree-l1" > < a class = "reference internal" href = "Beginner-Tutorial-Utilities.html" > 1. Code Structure and Utilities< / a > < ul >
< li class = "toctree-l2" > < a class = "reference internal" href = "Beginner-Tutorial-Utilities.html#folder-structure" > 1.1. Folder Structure< / a > < / li >
2023-12-20 18:49:25 +01:00
< li class = "toctree-l2" > < a class = "reference internal" href = "Beginner-Tutorial-Utilities.html#enums" > 1.2. Enums< / a > < / li >
2024-03-08 08:07:29 +00:00
< li class = "toctree-l2" > < a class = "reference internal" href = "Beginner-Tutorial-Utilities.html#utility-module" > 1.3. Utility Module< / a > < / li >
2023-12-20 18:49:25 +01:00
< li class = "toctree-l2" > < a class = "reference internal" href = "Beginner-Tutorial-Utilities.html#testing" > 1.4. Testing< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "Beginner-Tutorial-Utilities.html#summary" > 1.5. Summary< / a > < / li >
< / ul >
< / li >
< li class = "toctree-l1" > < a class = "reference internal" href = "Beginner-Tutorial-Rules.html" > 2. Rules and dice rolling< / a > < ul >
< li class = "toctree-l2" > < a class = "reference internal" href = "Beginner-Tutorial-Rules.html#summary-of-knave-rules" > 2.1. Summary of < em > Knave< / em > rules< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "Beginner-Tutorial-Rules.html#making-a-rule-module" > 2.2. Making a rule module< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "Beginner-Tutorial-Rules.html#rolling-dice" > 2.3. Rolling dice< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "Beginner-Tutorial-Rules.html#testing" > 2.4. Testing< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "Beginner-Tutorial-Rules.html#summary" > 2.5. Summary< / a > < / li >
< / ul >
< / li >
< li class = "toctree-l1" > < a class = "reference internal" href = "Beginner-Tutorial-Characters.html" > 3. Player Characters< / a > < ul >
< li class = "toctree-l2" > < a class = "reference internal" href = "Beginner-Tutorial-Characters.html#inheritance-structure" > 3.1. Inheritance structure< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "Beginner-Tutorial-Characters.html#living-mixin-class" > 3.2. Living mixin class< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "Beginner-Tutorial-Characters.html#character-class" > 3.3. Character class< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "Beginner-Tutorial-Characters.html#connecting-the-character-with-evennia" > 3.4. Connecting the Character with Evennia< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "Beginner-Tutorial-Characters.html#unit-testing" > 3.5. Unit Testing< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "Beginner-Tutorial-Characters.html#about-races-and-classes" > 3.6. About races and classes< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "Beginner-Tutorial-Characters.html#summary" > 3.7. Summary< / a > < / li >
< / ul >
< / li >
< li class = "toctree-l1" > < a class = "reference internal" href = "Beginner-Tutorial-Objects.html" > 4. In-game Objects and items< / a > < ul >
< li class = "toctree-l2" > < a class = "reference internal" href = "Beginner-Tutorial-Objects.html#new-enums" > 4.1. New Enums< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "Beginner-Tutorial-Objects.html#the-base-object" > 4.2. The base object< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "Beginner-Tutorial-Objects.html#other-object-types" > 4.3. Other object types< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "Beginner-Tutorial-Objects.html#consumables" > 4.4. Consumables< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "Beginner-Tutorial-Objects.html#weapons" > 4.5. Weapons< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "Beginner-Tutorial-Objects.html#magic" > 4.6. Magic< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "Beginner-Tutorial-Objects.html#armor" > 4.7. Armor< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "Beginner-Tutorial-Objects.html#your-bare-hands" > 4.8. Your Bare hands< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "Beginner-Tutorial-Objects.html#testing-and-extra-credits" > 4.9. Testing and Extra credits< / a > < / li >
< / ul >
< / li >
< li class = "toctree-l1" > < a class = "reference internal" href = "Beginner-Tutorial-Equipment.html" > 5. Handling Equipment< / a > < ul >
< li class = "toctree-l2" > < a class = "reference internal" href = "Beginner-Tutorial-Equipment.html#equipmenthandler-that-saves" > 5.1. EquipmentHandler that saves< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "Beginner-Tutorial-Equipment.html#connecting-the-equipmenthandler" > 5.2. Connecting the EquipmentHandler< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "Beginner-Tutorial-Equipment.html#expanding-the-equipmenthandler" > 5.3. Expanding the Equipmenthandler< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "Beginner-Tutorial-Equipment.html#validate-slot-usage" > 5.4. < code class = "docutils literal notranslate" > < span class = "pre" > .validate_slot_usage< / span > < / code > < / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "Beginner-Tutorial-Equipment.html#add-and-remove" > 5.5. < code class = "docutils literal notranslate" > < span class = "pre" > .add< / span > < / code > and < code class = "docutils literal notranslate" > < span class = "pre" > .remove< / span > < / code > < / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "Beginner-Tutorial-Equipment.html#moving-things-around" > 5.6. Moving things around< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "Beginner-Tutorial-Equipment.html#get-everything" > 5.7. Get everything< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "Beginner-Tutorial-Equipment.html#weapon-and-armor" > 5.8. Weapon and armor< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "Beginner-Tutorial-Equipment.html#extra-credits" > 5.9. Extra credits< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "Beginner-Tutorial-Equipment.html#unit-testing" > 5.10. Unit Testing< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "Beginner-Tutorial-Equipment.html#summary" > 5.11. Summary< / a > < / li >
< / ul >
< / li >
< li class = "toctree-l1" > < a class = "reference internal" href = "Beginner-Tutorial-Chargen.html" > 6. Character Generation< / a > < ul >
< li class = "toctree-l2" > < a class = "reference internal" href = "Beginner-Tutorial-Chargen.html#how-it-will-work" > 6.1. How it will work< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "Beginner-Tutorial-Chargen.html#random-tables" > 6.2. Random tables< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "Beginner-Tutorial-Chargen.html#storing-state-of-the-menu" > 6.3. Storing state of the menu< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "Beginner-Tutorial-Chargen.html#initializing-evmenu" > 6.4. Initializing EvMenu< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "Beginner-Tutorial-Chargen.html#main-node-choosing-what-to-do" > 6.5. Main Node: Choosing what to do< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "Beginner-Tutorial-Chargen.html#node-changing-your-name" > 6.6. Node: Changing your name< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "Beginner-Tutorial-Chargen.html#node-swapping-abilities-around" > 6.7. Node: Swapping Abilities around< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "Beginner-Tutorial-Chargen.html#node-creating-the-character" > 6.8. Node: Creating the Character< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "Beginner-Tutorial-Chargen.html#tying-the-nodes-together" > 6.9. Tying the nodes together< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "Beginner-Tutorial-Chargen.html#conclusions" > 6.10. Conclusions< / a > < / li >
< / ul >
< / li >
< li class = "toctree-l1" > < a class = "reference internal" href = "Beginner-Tutorial-Rooms.html" > 7. In-game Rooms< / a > < ul >
< li class = "toctree-l2" > < a class = "reference internal" href = "Beginner-Tutorial-Rooms.html#the-base-room" > 7.1. The base room< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "Beginner-Tutorial-Rooms.html#pvp-room" > 7.2. PvP room< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "Beginner-Tutorial-Rooms.html#adding-a-room-map" > 7.3. Adding a room map< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "Beginner-Tutorial-Rooms.html#adding-life-to-a-room" > 7.4. Adding life to a room< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "Beginner-Tutorial-Rooms.html#testing" > 7.5. Testing< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "Beginner-Tutorial-Rooms.html#conclusion" > 7.6. Conclusion< / a > < / li >
< / ul >
< / li >
< li class = "toctree-l1" > < a class = "reference internal" href = "Beginner-Tutorial-NPCs.html" > 8. Non-Player-Characters< / a > < ul >
< li class = "toctree-l2" > < a class = "reference internal" href = "Beginner-Tutorial-NPCs.html#the-npc-base-class" > 8.1. The NPC base class< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "Beginner-Tutorial-NPCs.html#testing" > 8.2. Testing< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "Beginner-Tutorial-NPCs.html#conclusions" > 8.3. Conclusions< / a > < / li >
< / ul >
< / li >
< li class = "toctree-l1" > < a class = "reference internal" href = "Beginner-Tutorial-Combat-Base.html" > 9. Combat base framework< / a > < ul >
< li class = "toctree-l2" > < a class = "reference internal" href = "Beginner-Tutorial-Combat-Base.html#combathandler" > 9.1. CombatHandler< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "Beginner-Tutorial-Combat-Base.html#actions" > 9.2. Actions< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "Beginner-Tutorial-Combat-Base.html#action-dicts" > 9.3. Action dicts< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "Beginner-Tutorial-Combat-Base.html#action-classes" > 9.4. Action classes< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "Beginner-Tutorial-Combat-Base.html#testing" > 9.5. Testing< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "Beginner-Tutorial-Combat-Base.html#conclusions" > 9.6. Conclusions< / a > < / li >
< / ul >
< / li >
< li class = "toctree-l1" > < a class = "reference internal" href = "Beginner-Tutorial-Combat-Twitch.html" > 10. Twitch Combat< / a > < ul >
< li class = "toctree-l2" > < a class = "reference internal" href = "Beginner-Tutorial-Combat-Twitch.html#general-principle" > 10.1. General principle< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "Beginner-Tutorial-Combat-Twitch.html#twitch-combat-handler" > 10.2. Twitch combat handler< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "Beginner-Tutorial-Combat-Twitch.html#commands" > 10.3. Commands< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "Beginner-Tutorial-Combat-Twitch.html#grouping-commands-for-use" > 10.4. Grouping Commands for use< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "Beginner-Tutorial-Combat-Twitch.html#unit-testing" > 10.5. Unit Testing< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "Beginner-Tutorial-Combat-Twitch.html#a-small-combat-test" > 10.6. A small combat test< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "Beginner-Tutorial-Combat-Twitch.html#conclusions" > 10.7. Conclusions< / a > < / li >
< / ul >
< / li >
< li class = "toctree-l1" > < a class = "reference internal" href = "Beginner-Tutorial-Combat-Turnbased.html" > 11. Turnbased Combat< / a > < ul >
< li class = "toctree-l2" > < a class = "reference internal" href = "Beginner-Tutorial-Combat-Turnbased.html#general-principle" > 11.1. General Principle< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "Beginner-Tutorial-Combat-Turnbased.html#turnbased-combat-handler" > 11.2. Turnbased combat handler< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "Beginner-Tutorial-Combat-Turnbased.html#using-evmenu-for-the-combat-menu" > 11.3. Using EvMenu for the combat menu< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "Beginner-Tutorial-Combat-Turnbased.html#menu-for-turnbased-combat" > 11.4. Menu for Turnbased combat< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "Beginner-Tutorial-Combat-Turnbased.html#attack-command" > 11.5. Attack Command< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "Beginner-Tutorial-Combat-Turnbased.html#making-sure-the-menu-stops" > 11.6. Making sure the menu stops< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "Beginner-Tutorial-Combat-Turnbased.html#testing" > 11.7. Testing< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "Beginner-Tutorial-Combat-Turnbased.html#a-small-combat-test" > 11.8. A small combat test< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "Beginner-Tutorial-Combat-Turnbased.html#conclusions" > 11.9. Conclusions< / a > < / li >
< / ul >
< / li >
2024-03-24 00:42:23 +00:00
< li class = "toctree-l1" > < a class = "reference internal" href = "Beginner-Tutorial-AI.html" > 12. NPC and monster AI< / a > < ul >
< li class = "toctree-l2" > < a class = "reference internal" href = "Beginner-Tutorial-AI.html#our-requirements" > 12.1. Our requirements< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "Beginner-Tutorial-AI.html#the-aihandler" > 12.2. The AIHandler< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "Beginner-Tutorial-AI.html#adding-ai-to-an-entity" > 12.3. Adding AI to an entity< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "Beginner-Tutorial-AI.html#unit-testing" > 12.4. Unit Testing< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "Beginner-Tutorial-AI.html#conclusions" > 12.5. Conclusions< / a > < / li >
< / ul >
< / li >
< li class = "toctree-l1" > < a class = "reference internal" href = "Beginner-Tutorial-Dungeon.html" > 13. Procedurally generated Dungeon< / a > < ul >
< li class = "toctree-l2" > < a class = "reference internal" href = "Beginner-Tutorial-Dungeon.html#design-concept" > 13.1. Design Concept< / a > < / li >
2024-03-24 14:21:39 +00:00
< li class = "toctree-l2" > < a class = "reference internal" href = "Beginner-Tutorial-Dungeon.html#start-implementation" > 13.2. Start Implementation< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "Beginner-Tutorial-Dungeon.html#basic-dungeon-rooms" > 13.3. Basic Dungeon rooms< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "Beginner-Tutorial-Dungeon.html#dungeon-exits" > 13.4. Dungeon exits< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "Beginner-Tutorial-Dungeon.html#dungeon-branch-and-the-xy-grid" > 13.5. Dungeon Branch and the xy grid< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "Beginner-Tutorial-Dungeon.html#back-to-the-dungeon-exit-class" > 13.6. Back to the dungeon exit class< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "Beginner-Tutorial-Dungeon.html#starting-room-exits" > 13.7. Starting room exits< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "Beginner-Tutorial-Dungeon.html#utility-scripts" > 13.8. Utility scripts< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "Beginner-Tutorial-Dungeon.html#starting-room" > 13.9. Starting room< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "Beginner-Tutorial-Dungeon.html#testing" > 13.10. Testing< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "Beginner-Tutorial-Dungeon.html#conclusions" > 13.11. Conclusions< / a > < / li >
2024-03-24 00:42:23 +00:00
< / ul >
< / li >
2024-03-30 22:46:30 +00:00
< li class = "toctree-l1" > < a class = "reference internal" href = "Beginner-Tutorial-Quests.html" > 14. Game Quests< / a > < ul >
< li class = "toctree-l2" > < a class = "reference internal" href = "Beginner-Tutorial-Quests.html#the-quest-handler" > 14.1. The Quest Handler< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "Beginner-Tutorial-Quests.html#the-quest-class" > 14.2. The Quest class< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "Beginner-Tutorial-Quests.html#testing" > 14.3. Testing< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "Beginner-Tutorial-Quests.html#conclusions" > 14.4. Conclusions< / a > < / li >
< / ul >
< / li >
2023-12-20 18:49:25 +01:00
< li class = "toctree-l1" > < a class = "reference internal" href = "Beginner-Tutorial-Shops.html" > 15. In-game Shops< / a > < / li >
< li class = "toctree-l1" > < a class = "reference internal" href = "Beginner-Tutorial-Commands.html" > 16. In-game Commands< / a > < / li >
< / ul >
< / div >
< / section >
< / section >
2025-08-15 16:53:30 +00:00
< div class = "clearer" > < / div >
2023-12-20 18:49:25 +01:00
< / div >
< / div >
< / div >
2025-08-15 16:53:30 +00:00
< div class = "sphinxsidebar" role = "navigation" aria-label = "Main" >
< div class = "sphinxsidebarwrapper" >
< p class = "logo" > < a href = "../../../index.html" >
< img class = "logo" src = "../../../_static/evennia_logo.png" alt = "Logo of Evennia" / >
< / a > < / p >
< search id = "searchbox" style = "display: none" role = "search" >
< h3 id = "searchlabel" > Quick search< / h3 >
< div class = "searchformwrapper" >
< form class = "search" action = "../../../search.html" method = "get" >
< input type = "text" name = "q" aria-labelledby = "searchlabel" autocomplete = "off" autocorrect = "off" autocapitalize = "off" spellcheck = "false" / >
< input type = "submit" value = "Go" / >
< / form >
< / div >
< / search >
< script > document . getElementById ( 'searchbox' ) . style . display = "block" < / script >
< h3 > < a href = "../../../index.html" > Table of Contents< / a > < / h3 >
< ul >
< li > < a class = "reference internal" href = "#" > Part 3: How We Get There (Example Game)< / a > < ul >
< li > < a class = "reference internal" href = "#lessons" > Lessons< / a > < / li >
< / ul >
< / li >
< / ul >
2023-12-20 18:49:25 +01:00
2025-08-15 16:53:30 +00:00
< div >
< h4 > Previous topic< / h4 >
< p class = "topless" > < a href = "../Part2/Beginner-Tutorial-Planning-The-Tutorial-Game.html"
title="previous chapter">< span class = "section-number" > 3. < / span > Planning our tutorial game< / a > < / p >
< / div >
< div >
< h4 > Next topic< / h4 >
< p class = "topless" > < a href = "Beginner-Tutorial-Utilities.html"
title="next chapter">< span class = "section-number" > 1. < / span > Code Structure and Utilities< / a > < / p >
< / div >
< div role = "note" aria-label = "source link" >
<!-- h3>This Page</h3 -->
< ul class = "this-page-menu" >
< li > < a href = "../../../_sources/Howtos/Beginner-Tutorial/Part3/Beginner-Tutorial-Part3-Overview.md.txt"
rel="nofollow">Show Page Source< / a > < / li >
< / ul >
< / div > < h3 > Links< / h3 >
< ul >
< li > < a href = "https://www.evennia.com/docs/latest/index.html" > Documentation Top< / a > < / li >
< li > < a href = "https://www.evennia.com" > Evennia Home< / a > < / li >
< li > < a href = "https://github.com/evennia/evennia" > Github< / a > < / li >
< li > < a href = "http://games.evennia.com" > Game Index< / a > < / li >
< li >
< a href = "https://discord.gg/AJJpcRUhtF" > Discord< / a > -
< a href = "https://github.com/evennia/evennia/discussions" > Discussions< / a > -
< a href = "https://evennia.blogspot.com/" > Blog< / a >
< / li >
< / ul >
< h3 > Doc Versions< / h3 >
< ul >
< li >
< a href = "https://www.evennia.com/docs/latest/index.html" > latest (main branch)< / a >
< / li >
< li >
< a href = "https://www.evennia.com/docs/5.x/index.html" > v5.0.0 branch (outdated)< / a >
< / li >
< li >
< a href = "https://www.evennia.com/docs/4.x/index.html" > v4.0.0 branch (outdated)< / a >
< / li >
< li >
< a href = "https://www.evennia.com/docs/3.x/index.html" > v3.0.0 branch (outdated)< / a >
< / li >
< li >
< a href = "https://www.evennia.com/docs/2.x/index.html" > v2.0.0 branch (outdated)< / a >
< / li >
< li >
< a href = "https://www.evennia.com/docs/1.x/index.html" > v1.0.0 branch (outdated)< / a >
< / li >
< li >
< a href = "https://www.evennia.com/docs/0.x/index.html" > v0.9.5 branch (outdated)< / a >
< / li >
< / ul >
< / div >
< / div >
< div class = "clearer" > < / div >
2023-12-20 18:49:25 +01:00
< / div >
2025-08-15 16:53:30 +00:00
< div class = "related" role = "navigation" aria-label = "Related" >
2023-12-20 18:49:25 +01:00
< h3 > Navigation< / h3 >
< ul >
< li class = "right" style = "margin-right: 10px" >
< a href = "../../../genindex.html" title = "General Index"
>index< / a > < / li >
< li class = "right" >
< a href = "../../../py-modindex.html" title = "Python Module Index"
>modules< / a > |< / li >
< li class = "right" >
2024-03-08 08:07:29 +00:00
< a href = "Beginner-Tutorial-Utilities.html" title = "1. Code Structure and Utilities"
2023-12-20 18:49:25 +01:00
>next< / a > |< / li >
< li class = "right" >
< a href = "../Part2/Beginner-Tutorial-Planning-The-Tutorial-Game.html" title = "3. Planning our tutorial game"
>previous< / a > |< / li >
2025-08-15 16:53:30 +00:00
< li class = "nav-item nav-item-0" > < a href = "../../../index.html" > Evennia< / a > » < / li >
2023-12-20 18:49:25 +01:00
< li class = "nav-item nav-item-1" > < a href = "../../Howtos-Overview.html" > Tutorials and How-To’ s< / a > » < / li >
< li class = "nav-item nav-item-2" > < a href = "../Beginner-Tutorial-Overview.html" > Beginner Tutorial< / a > » < / li >
< li class = "nav-item nav-item-this" > < a href = "" > Part 3: How We Get There (Example Game)< / a > < / li >
< / ul >
< / div >
< div class = "footer" role = "contentinfo" >
2025-08-15 16:53:30 +00:00
© Copyright 2024, The Evennia developer community.
Created using < a href = "https://www.sphinx-doc.org/" > Sphinx< / a > 8.2.3.
2023-12-20 18:49:25 +01:00
< / div >
< / body >
< / html >