evennia/docs/1.0-dev/Tutorials.html

221 lines
19 KiB
HTML
Raw Normal View History

2020-06-13 00:36:45 +02:00
<!DOCTYPE html>
2020-06-15 21:52:33 +02:00
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8" />
<title>Tutorials &#8212; Evennia 1.0-dev documentation</title>
<link rel="stylesheet" href="_static/nature.css" type="text/css" />
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<script id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
<script src="_static/jquery.js"></script>
<script src="_static/underscore.js"></script>
<script src="_static/doctools.js"></script>
<script src="_static/language_data.js"></script>
2020-06-13 23:31:27 +02:00
<link rel="shortcut icon" href="_static/favicon.ico"/>
2020-06-15 21:52:33 +02:00
<link rel="index" title="Index" href="genindex.html" />
<link rel="search" title="Search" href="search.html" />
</head><body>
<div class="related" role="navigation" aria-label="related navigation">
<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="nav-item nav-item-0"><a href="index.html">Evennia 1.0-dev documentation</a> &#187;</li>
</ul>
</div>
<div class="document">
<div class="documentwrapper">
<div class="bodywrapper">
<div class="body" role="main">
2020-06-13 00:36:45 +02:00
<div class="section" id="tutorials">
<h1>Tutorials<a class="headerlink" href="#tutorials" title="Permalink to this headline"></a></h1>
<p>Before continuing to read these tutorials (and especially before you start to code or build your game in earnest) its strongly recommended that you read the <a class="reference internal" href="Coding-Introduction.html"><span class="doc">Evennia coding introduction</span></a> as well as the <a class="reference internal" href="Game-Planning.html"><span class="doc">Planning your own game</span></a> pages first.</p>
<p>Please note that its not within the scope of our tutorials to teach you basic Python. If you are new to the language, expect to have to look up concepts you are unfamiliar with. Usually a quick internet search will give you all info you need. Furthermore, our tutorials tend to focus on implementation and concepts. As such they give only brief explanations to use Evennia features while providing ample links to the relevant detailed documentation.</p>
<p>The main information resource for builders is the <a class="reference internal" href="Builder-Docs.html"><span class="doc">Builder Documentation</span></a>. Coders should refer to the <a class="reference internal" href="Developer-Central.html"><span class="doc">Developer Central</span></a> for further information.</p>
<div class="section" id="building">
<h2>Building<a class="headerlink" href="#building" title="Permalink to this headline"></a></h2>
<p><em>Help with populating your game world.</em></p>
<ul class="simple">
<li><p><a class="reference internal" href="Building-Quickstart.html"><span class="doc">Tutorial: Building Quick-start</span></a> - helps you build your first rocks and crates using Evennias defaults.</p></li>
<li><p><a class="reference internal" href="Understanding-Color-Tags.html"><span class="doc">Tutorial: Understanding Color Tags</span></a>- explains how you color your games text.</p></li>
<li><p><a class="reference internal" href="Tutorial-World-Introduction.html"><span class="doc">Introduction: The Tutorial World</span></a> - this introduces the full (if small) solo-adventure game that comes with the Evennia distribution. It is useful both as an example of building and of coding.</p></li>
<li><p><a class="reference internal" href="Building-a-mech-tutorial.html"><span class="doc">Tutorial: Building a Giant Mech</span></a> - this starts as a building tutorial and transitions into writing code.</p></li>
</ul>
</div>
<div class="section" id="general-development-tutorials">
<h2>General Development tutorials<a class="headerlink" href="#general-development-tutorials" title="Permalink to this headline"></a></h2>
<p><em>General code practices for newbie game developers.</em></p>
<p>To use Evennia, you will need basic understanding of Python <a class="reference external" href="http://docs.python.org/3.7/tutorial/modules.html">modules</a>, <a class="reference external" href="http://www.tutorialspoint.com/python/python_variable_types.htm">variables</a>, <a class="reference external" href="http://docs.python.org/tutorial/controlflow.html#if-statements">conditional statements</a>, <a class="reference external" href="http://docs.python.org/tutorial/controlflow.html#for-statements">loops</a>, <a class="reference external" href="http://docs.python.org/tutorial/controlflow.html#defining-functions">functions</a>, <a class="reference external" href="http://docs.python.org/tutorial/datastructures.html">lists, dictionaries, list comprehensions</a> and <a class="reference external" href="http://docs.python.org/tutorial/introduction.html#strings">string formatting</a>. You should also have a basic understanding of <a class="reference external" href="http://www.tutorialspoint.com/python/python_classes_objects.htm">object-oriented programming</a> and what Python <a class="reference external" href="http://docs.python.org/tutorial/classes.html">Classes</a> are.</p>
<ul class="simple">
<li><p><a class="reference external" href="https://wiki.python.org/moin/BeginnersGuide/NonProgrammers">Python tutorials for beginners</a> - external link with tutorials for those not familiar with coding in general or Python in particular.</p></li>
<li><p><a class="reference internal" href="Version-Control.html"><span class="doc">Tutorial: Version Control</span></a> - use GIT to organize your code both for your own game project and for contributing to Evennia.</p></li>
<li><p>MIT offers free courses in many subjects. Their <a class="reference external" href="https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-00sc-introduction-to-computer-science-and-programming-spring-2011/">Introduction to Computer Science and Programming</a> uses Python as its language of choice. Longer path, but more in-depth. Definitely worth a look.</p></li>
</ul>
</div>
<div class="section" id="coding-first-step-tutorials">
<h2>Coding - First Step tutorials<a class="headerlink" href="#coding-first-step-tutorials" title="Permalink to this headline"></a></h2>
<p><em>Starting tutorials for you who are new to developing with Evennia.</em></p>
<ul class="simple">
<li><p><a class="reference internal" href="Python-basic-introduction.html"><span class="doc">Python basic introduction</span></a> (part 1) - Python intro using Evennia.</p></li>
<li><p><a class="reference internal" href="Python-basic-tutorial-part-two.html"><span class="doc">Python basic introduction</span></a> (part 2) - More on objects, classes and finding where things are.</p></li>
<li><p><a class="reference internal" href="First-Steps-Coding.html"><span class="doc">Tutorial: First Steps Coding</span></a> - learn each basic feature on their own through step-by-step instruction.</p></li>
<li><p><a class="reference internal" href="Tutorial-for-basic-MUSH-like-game.html"><span class="doc">Tutorial: A small first game</span></a> - learn basic features as part of building a small but working game from scratch.</p></li>
<li><p><a class="reference internal" href="Adding-Command-Tutorial.html"><span class="doc">Tutorial: Adding new commands</span></a> - focuses specifically on how to add new commands.</p></li>
<li><p><a class="reference internal" href="Parsing-command-arguments,-theory-and-best-practices.html"><span class="doc">Tutorial: Parsing command argument</span></a>.</p></li>
<li><p><a class="reference internal" href="Adding-Object-Typeclass-Tutorial.html"><span class="doc">Tutorial: Adding new objects</span></a> - focuses specifically on how to add new objects.</p></li>
<li><p><a class="reference internal" href="Tutorial-Searching-For-Objects.html"><span class="doc">Tutorial: Searching objects in the database</span></a> - how to find existing objects so you can operate on them.</p></li>
</ul>
</div>
<div class="section" id="custom-objects-and-typeclasses">
<h2>Custom objects and typeclasses<a class="headerlink" href="#custom-objects-and-typeclasses" title="Permalink to this headline"></a></h2>
<p><em>Examples of designing new objects for your game world</em></p>
<ul class="simple">
<li><p><a class="reference internal" href="Weather-Tutorial.html"><span class="doc">Tutorial: Rooms with Weather</span></a></p></li>
<li><p><a class="reference internal" href="Tutorial-Aggressive-NPCs.html"><span class="doc">Tutorial: Aggressive NPCs</span></a></p></li>
<li><p><a class="reference internal" href="Tutorial-NPCs-listening.html"><span class="doc">Tutorial: Listening NPCs</span></a></p></li>
<li><p><a class="reference internal" href="Tutorial-Vehicles.html"><span class="doc">Tutorial: Creating a vehicle</span></a></p></li>
<li><p><a class="reference internal" href="NPC-shop-Tutorial.html"><span class="doc">Tutorial: Making an NPC shop</span></a> (also advanced <a class="reference internal" href="EvMenu.html"><span class="doc">EvMenu</span></a> usage)</p></li>
<li><p><a class="reference internal" href="Static-In-Game-Map.html"><span class="doc">Tutorial: Implementing a Static In Game Map</span></a> (also <a class="reference internal" href="Batch-Code-Processor.html"><span class="doc">Batch Code</span></a> usage)</p></li>
<li><p><a class="reference internal" href="Dynamic-In-Game-Map.html"><span class="doc">Tutorial: Implementing a Dynamic In Game Map</span></a></p></li>
<li><p><a class="reference external" href="/Unit-Testing.html#testing-for-game-development-mini-tutorial">Tutorial: Writing your own unit tests</a></p></li>
</ul>
</div>
<div class="section" id="game-mechanics-tutorials">
<h2>Game mechanics tutorials<a class="headerlink" href="#game-mechanics-tutorials" title="Permalink to this headline"></a></h2>
<p><em>Creating the underlying game mechanics of game play.</em></p>
<ul class="simple">
<li><p><a class="reference internal" href="Implementing-a-game-rule-system.html"><span class="doc">Hints: Implementing a game rule system</span></a></p></li>
<li><p><a class="reference internal" href="Turn-based-Combat-System.html"><span class="doc">Tutorial: Implementing a Combat system</span></a></p></li>
<li><p><a class="reference internal" href="Evennia-for-roleplaying-sessions.html"><span class="doc">Tutorial: Evennia for running tabletop rpgs</span></a></p></li>
</ul>
</div>
<div class="section" id="miscellaneous-system-tutorials">
<h2>Miscellaneous system tutorials<a class="headerlink" href="#miscellaneous-system-tutorials" title="Permalink to this headline"></a></h2>
<p><em>Design various game systems and achieve particular effects.</em></p>
<ul class="simple">
<li><p><a class="reference internal" href="Coding-FAQ.html"><span class="doc">FAQ</span></a>: A place for users to enter their own hints on achieving various goals in Evennia.</p></li>
<li><p><a class="reference internal" href="Command-Prompt.html"><span class="doc">Tutorial: Adding a Command prompt</span></a></p></li>
<li><p><a class="reference internal" href="Zones.html"><span class="doc">Tutorial: Creating a Zoning system</span></a></p></li>
<li><p><a class="reference internal" href="Manually-Configuring-Color.html"><span class="doc">Tutorial: Letting players manually configure color settings</span></a></p></li>
<li><p><a class="reference external" href="/EvMenu.html#ask-for-simple-input">Hints: Asking the user a question and dealing with the result</a></p></li>
<li><p><a class="reference internal" href="Command-Duration.html"><span class="doc">Hints: Designing commands that take time to finish</span></a></p></li>
<li><p><a class="reference internal" href="Command-Cooldown.html"><span class="doc">Hints: Adding cooldowns to commands</span></a></p></li>
<li><p><a class="reference internal" href="Mass-and-weight-for-objects.html"><span class="doc">Tutorial: Mass and weight for objects</span></a></p></li>
<li><p><a class="reference internal" href="Default-Exit-Errors.html"><span class="doc">Hints: Show a different message when trying a non-existent exit</span></a></p></li>
<li><p><a class="reference internal" href="Tutorial-Tweeting-Game-Stats.html"><span class="doc">Tutorial: Make automatic tweets of game statistics</span></a></p></li>
<li><p><a class="reference internal" href="Gametime-Tutorial.html"><span class="doc">Tutorial: Handling virtual time in your game</span></a></p></li>
<li><p><a class="reference internal" href="Coordinates.html"><span class="doc">Tutorial: Setting up a coordinate system for rooms</span></a></p></li>
<li><p><a class="reference internal" href="Customize-channels.html"><span class="doc">Tutorial: customize the way channels and channel commands work in your game</span></a></p></li>
<li><p><a class="reference external" href="/Unit-Testing.html#testing-for-game-development-mini-tutorial">Tutorial: Adding unit tests to your game project</a></p></li>
</ul>
</div>
<div class="section" id="contrib">
<h2>Contrib<a class="headerlink" href="#contrib" title="Permalink to this headline"></a></h2>
<p><em>This section contains tutorials linked with contribs. These contribs can be used in your game, but youll need to install them explicitly. They add common features that can earn you time in implementation.</em></p>
<ul class="simple">
<li><p><a class="reference external" href="https://github.com/evennia/evennia/blob/master/evennia/contrib/README.md">list of contribs</a></p></li>
<li><p><a class="reference internal" href="Dialogues-in-events.html"><span class="doc">In-game Python: dialogues with characters</span></a>.</p></li>
<li><p><a class="reference internal" href="A-voice-operated-elevator-using-events.html"><span class="doc">In-game Python: a voice-operated elevator</span></a>.</p></li>
</ul>
</div>
<div class="section" id="web-tutorials">
<h2>Web tutorials<a class="headerlink" href="#web-tutorials" title="Permalink to this headline"></a></h2>
<p><em>Expanding Evennias web presence.</em></p>
<ul class="simple">
<li><p><a class="reference internal" href="Add-a-simple-new-web-page.html"><span class="doc">Tutorial: Add a new web page</span></a> - simple example to see how Django pages hang together.</p></li>
<li><p><a class="reference internal" href="Web-Tutorial.html"><span class="doc">Tutorial: Website customization</span></a> - learn how to start customizing your games web presence.</p></li>
<li><p><a class="reference internal" href="Bootstrap-&amp;-Evennia.html"><span class="doc">Tutorial: Bootstrap &amp; Evennia</span></a> - Learn more about Bootstrap, the current CSS framework Evennia is using</p></li>
<li><p><a class="reference internal" href="Web-Character-View-Tutorial.html"><span class="doc">Tutorial: Build a web page displaying a game character</span></a> - make a way to view your character on the web page.</p></li>
<li><p><a class="reference internal" href="Help-System-Tutorial.html"><span class="doc">Tutorial: access your help system from your website</span></a></p></li>
<li><p><a class="reference internal" href="Add-a-wiki-on-your-website.html"><span class="doc">Tutorial: add a wiki on your website</span></a></p></li>
<li><p><a class="reference internal" href="Web-Character-Generation.html"><span class="doc">Tutorial: Web Character Generation</span></a> - make a web-based character application form.</p></li>
<li><p><a class="reference internal" href="Bootstrap-Components-and-Utilities.html"><span class="doc">Tutorial: Bootstrap Components and Utilities</span></a> - Describes some common Bootstrap Components and Utilities that might help in designing for Evennia</p></li>
</ul>
</div>
<div class="section" id="evennia-for-engine-users">
<h2>Evennia for [Engine]-Users<a class="headerlink" href="#evennia-for-engine-users" title="Permalink to this headline"></a></h2>
<p><em>Hints for new users more familiar with other game engines.</em></p>
<ul class="simple">
<li><p><a class="reference internal" href="Evennia-for-Diku-Users.html"><span class="doc">Evennia for Diku Users</span></a> - read up on the differences between Diku style muds and Evennia.</p></li>
<li><p><a class="reference internal" href="Evennia-for-MUSH-Users.html"><span class="doc">Evennia for MUSH Users</span></a> - an introduction to Evennia for those accustomed to MUSH-style servers.</p></li>
</ul>
</div>
</div>
</div>
</div>
</div>
2020-06-15 21:52:33 +02:00
<div class="sphinxsidebar" role="navigation" aria-label="main navigation">
<div class="sphinxsidebarwrapper">
<p class="logo"><a href="index.html">
<img class="logo" src="_static/evennia_logo.png" alt="Logo"/>
</a></p>
<div 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" />
<input type="submit" value="Go" />
</form>
</div>
</div>
<script>$('#searchbox').show(0);</script>
<p><h3><a href="index.html">Table of Contents</a></h3>
<ul>
<li><a class="reference internal" href="#">Tutorials</a><ul>
<li><a class="reference internal" href="#building">Building</a></li>
<li><a class="reference internal" href="#general-development-tutorials">General Development tutorials</a></li>
<li><a class="reference internal" href="#coding-first-step-tutorials">Coding - First Step tutorials</a></li>
<li><a class="reference internal" href="#custom-objects-and-typeclasses">Custom objects and typeclasses</a></li>
<li><a class="reference internal" href="#game-mechanics-tutorials">Game mechanics tutorials</a></li>
<li><a class="reference internal" href="#miscellaneous-system-tutorials">Miscellaneous system tutorials</a></li>
<li><a class="reference internal" href="#contrib">Contrib</a></li>
<li><a class="reference internal" href="#web-tutorials">Web tutorials</a></li>
<li><a class="reference internal" href="#evennia-for-engine-users">Evennia for [Engine]-Users</a></li>
</ul>
</li>
</ul>
2020-06-13 00:36:45 +02:00
2020-06-15 21:52:33 +02:00
<div role="note" aria-label="source link">
<!--h3>This Page</h3-->
<ul class="this-page-menu">
<li><a href="_sources/Tutorials.md.txt"
rel="nofollow">Show Page Source</a></li>
</ul>
</div>
<h3>Versions</h3>
<ul>
<li><a href="Tutorials.html">1.0-dev (develop branch)</a></li>
<li><a href="../0.9.1/Tutorials.html">0.9.1 (master branch)</a></li>
</ul>
2020-06-14 21:48:02 +02:00
2020-06-15 21:52:33 +02:00
</div>
</div>
<div class="clearer"></div>
</div>
<div class="related" role="navigation" aria-label="related navigation">
<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="nav-item nav-item-0"><a href="index.html">Evennia 1.0-dev documentation</a> &#187;</li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2020, The Evennia developer community.
Created using <a href="http://sphinx-doc.org/">Sphinx</a> 2.4.4.
</div>
</body>
2020-06-13 00:36:45 +02:00
</html>