mirror of
https://github.com/evennia/evennia.git
synced 2026-04-05 23:47:16 +02:00
Updated HTML docs
This commit is contained in:
parent
66d0ad0bc9
commit
7900aad365
2073 changed files with 32986 additions and 41197 deletions
|
|
@ -14,6 +14,8 @@
|
|||
<script src="../../../_static/underscore.js"></script>
|
||||
<script src="../../../_static/doctools.js"></script>
|
||||
<script src="../../../_static/language_data.js"></script>
|
||||
<script async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/latest.js?config=TeX-AMS-MML_HTMLorMML"></script>
|
||||
<script type="text/x-mathjax-config">MathJax.Hub.Config({"tex2jax": {"processClass": "tex2jax_process|mathjax_process|math|output_area"}})</script>
|
||||
<link rel="shortcut icon" href="../../../_static/favicon.ico"/>
|
||||
<link rel="index" title="Index" href="../../../genindex.html" />
|
||||
<link rel="search" title="Search" href="../../../search.html" />
|
||||
|
|
@ -48,7 +50,7 @@
|
|||
<div class="bodywrapper">
|
||||
<div class="body" role="main">
|
||||
|
||||
<section id="on-planning-a-game">
|
||||
<section class="tex2jax_ignore mathjax_ignore" id="on-planning-a-game">
|
||||
<h1>On Planning a Game<a class="headerlink" href="#on-planning-a-game" title="Permalink to this headline">¶</a></h1>
|
||||
<p>Last lesson we asked ourselves some questions about our motivation. In this one we’ll present
|
||||
some more technical questions to consider. In the next lesson we’ll answer them for the sake of
|
||||
|
|
@ -172,10 +174,12 @@ release. Make a list. Keep future expansions in mind but limit yourself.</p>
|
|||
build a little “tech demo” along the way.</p>
|
||||
<aside class="sidebar">
|
||||
<p class="sidebar-title">Tech demo</p>
|
||||
<p>With “tech demo” we mean a small example of your code in-action: A room with a mob,
|
||||
a way to jump into and test character-creation etc. The tech demo need not be pretty, it’s
|
||||
there to test functionality. It’s not the beginning of your game world (unless you find that
|
||||
to be more fun).</p>
|
||||
<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>With "tech demo" we mean a small example of your code in-action: A room with a mob,
|
||||
a way to jump into and test character-creation etc. The tech demo need not be pretty, it's
|
||||
there to test functionality. It's not the beginning of your game world (unless you find that
|
||||
to be more fun).
|
||||
</pre></div>
|
||||
</div>
|
||||
</aside>
|
||||
<p>Try to avoid going wild with building a huge game world before you have a tech-demo showing off all parts
|
||||
you expect to have in the first version of your game. Otherwise you run the risk of having to redo it all
|
||||
|
|
@ -191,10 +195,10 @@ what tools you have available.</p>
|
|||
<p>During Coding you look back at the things you wanted during the <strong>Planning</strong> phase and try to
|
||||
implement them. Don’t be shy to update your plans if you find things easier/harder than you thought.
|
||||
The earlier you revise problems, the easier they will be to fix.</p>
|
||||
<p>A good idea is to host your code online using <em>version control</em>. Github.com offers free Private repos
|
||||
<p>A good idea is to host your code online using <em>version control</em>. <a class="reference external" href="http://Github.com">Github.com</a> offers free Private repos
|
||||
these days if you don’t want the world to learn your secrets. Not only version control
|
||||
make it easy for your team to collaborate, it also means
|
||||
your work is backed up at all times. The page on <a class="reference internal" href="../../../Coding/Version-Control.html"><span class="doc">Version Control</span></a>
|
||||
your work is backed up at all times. The page on <a class="reference internal" href="../../../Coding/Version-Control.html"><span class="doc std std-doc">Version Control</span></a>
|
||||
will help you to setting up a sane developer environment with proper version control.</p>
|
||||
</section>
|
||||
<section id="world-building">
|
||||
|
|
@ -226,7 +230,7 @@ flag and let people try it!</p>
|
|||
you never could have imagined. In Alpha you might be best off to
|
||||
focus on inviting friends and maybe other MUD developers, people who you can pester to give proper
|
||||
feedback and bug reports (there <em>will</em> be bugs, there is no way around it).</p>
|
||||
<p>Follow the quick instructions for <a class="reference internal" href="../../../Setup/Online-Setup.html"><span class="doc">Online Setup</span></a> to make your
|
||||
<p>Follow the quick instructions for <a class="reference internal" href="../../../Setup/Online-Setup.html"><span class="doc std std-doc">Online Setup</span></a> to make your
|
||||
game visible online.</p>
|
||||
<p>If you hadn’t already, make sure to put up your game on the
|
||||
<a class="reference external" href="http://games.evennia.com/">Evennia game index</a> so people know it’s in the works (actually, even
|
||||
|
|
@ -320,7 +324,7 @@ have made their dream game a reality!</p>
|
|||
<h3>Versions</h3>
|
||||
<ul>
|
||||
<li><a href="Game-Planning.html">1.0-dev (develop branch)</a></li>
|
||||
<li><a href="../../../../0.9.5/index.html">0.9.5 (v0.9.5 branch)</a></li>
|
||||
<li><a href="../../../../0.95/index.html">0.95 (v0.9.5 branch)</a></li>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -14,6 +14,8 @@
|
|||
<script src="../../../_static/underscore.js"></script>
|
||||
<script src="../../../_static/doctools.js"></script>
|
||||
<script src="../../../_static/language_data.js"></script>
|
||||
<script async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/latest.js?config=TeX-AMS-MML_HTMLorMML"></script>
|
||||
<script type="text/x-mathjax-config">MathJax.Hub.Config({"tex2jax": {"processClass": "tex2jax_process|mathjax_process|math|output_area"}})</script>
|
||||
<link rel="shortcut icon" href="../../../_static/favicon.ico"/>
|
||||
<link rel="index" title="Index" href="../../../genindex.html" />
|
||||
<link rel="search" title="Search" href="../../../search.html" />
|
||||
|
|
@ -48,7 +50,7 @@
|
|||
<div class="bodywrapper">
|
||||
<div class="body" role="main">
|
||||
|
||||
<section id="planning-the-use-of-some-useful-contribs">
|
||||
<section class="tex2jax_ignore mathjax_ignore" id="planning-the-use-of-some-useful-contribs">
|
||||
<h1>Planning the use of some useful contribs<a class="headerlink" href="#planning-the-use-of-some-useful-contribs" title="Permalink to this headline">¶</a></h1>
|
||||
<p>Evennia is deliberately bare-bones out of the box. The idea is that you should be as unrestricted as possible
|
||||
in designing your game. This is why you can easily replace the few defaults we have and why we don’t try to
|
||||
|
|
@ -56,7 +58,7 @@ prescribe any major game systems on you.</p>
|
|||
<p>That said, Evennia <em>does</em> offer some more game-opinionated <em>optional</em> stuff. These are referred to as <em>Contribs</em>
|
||||
and is an ever-growing treasure trove of code snippets, concepts and even full systems you can pick and choose
|
||||
from to use, tweak or take inspiration from when you make your game.</p>
|
||||
<p>The <a class="reference internal" href="../../../Contribs/Contrib-Overview.html"><span class="doc">Contrib overview</span></a> page gives the full list of the current roster of contributions. On
|
||||
<p>The <a class="reference internal" href="../../../Contribs/Contrib-Overview.html"><span class="doc std std-doc">Contrib overview</span></a> page gives the full list of the current roster of contributions. On
|
||||
this page we will review a few contribs we will make use of for our game. We will do the actual installation
|
||||
of them when we start coding in the next part of this tutorial series. While we will introduce them here, you
|
||||
are wise to read their doc-strings yourself for the details.</p>
|
||||
|
|
@ -73,13 +75,13 @@ are wise to read their doc-strings yourself for the details.</p>
|
|||
</ul>
|
||||
<section id="barter-contrib">
|
||||
<h2>Barter contrib<a class="headerlink" href="#barter-contrib" title="Permalink to this headline">¶</a></h2>
|
||||
<p><a class="reference external" href="../../../api/evennia.contrib.barter.html">source</a></p>
|
||||
<p><a class="reference internal" href="../../../api/evennia.contrib.barter.html"><span class="doc std std-doc">source</span></a></p>
|
||||
<p>Reviewing this contrib suggests that it allows for safe trading between two parties. The basic principle
|
||||
is that the parties puts up the stuff they want to sell and the system will guarantee that these systems are
|
||||
exactly what is being offered. Both sides can modify their offers (bartering) until both mark themselves happy
|
||||
with the deal. Only then the deal is sealed and the objects are exchanged automatically. Interestingly, this
|
||||
works just fine for money too - just put coin objects on one side of the transaction.</p>
|
||||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>Sue > trade Tom: Hi, I have a necklace to sell; wanna trade for a healing potion?
|
||||
<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>Sue > trade Tom: Hi, I have a necklace to sell; wanna trade for a healing potion?
|
||||
Tom > trade Sue: Hm, I could use a necklace ...
|
||||
<both accepted trade. Start trade>
|
||||
Sue > offer necklace: This necklace is really worth it.
|
||||
|
|
@ -102,20 +104,20 @@ things than boring gold coin.</p>
|
|||
</section>
|
||||
<section id="character-generation-contrib">
|
||||
<h2>Character generation contrib<a class="headerlink" href="#character-generation-contrib" title="Permalink to this headline">¶</a></h2>
|
||||
<p><a class="reference external" href="../../../api/evennia.contrib.chargen.html">source</a></p>
|
||||
<p><a class="reference internal" href="../../../api/evennia.contrib.chargen.html"><span class="doc std std-doc">source</span></a></p>
|
||||
<p>This contrib is an example module for creating characters. Since we will be using <code class="docutils literal notranslate"><span class="pre">MULTISESSION_MODE=3</span></code> we will
|
||||
get a selection screen like this automatically. We also plan to use a proper menu to build our character, so
|
||||
we will <em>not</em> be using this contrib.</p>
|
||||
</section>
|
||||
<section id="clothing-contrib">
|
||||
<h2>Clothing contrib<a class="headerlink" href="#clothing-contrib" title="Permalink to this headline">¶</a></h2>
|
||||
<p><a class="reference external" href="../../../api/evennia.contrib.clothing.html">source</a></p>
|
||||
<p><a class="reference internal" href="../../../api/evennia.contrib.clothing.html"><span class="doc std std-doc">source</span></a></p>
|
||||
<p>This contrib provides a full system primarily aimed at wearing clothes, but it could also work for armor. You wear
|
||||
an object in a particular location and this will then be reflected in your character’s description. You can
|
||||
also add roleplaying flavor:</p>
|
||||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="o">></span> <span class="n">wear</span> <span class="n">helmet</span> <span class="n">slightly</span> <span class="n">askew</span> <span class="n">on</span> <span class="n">her</span> <span class="n">head</span>
|
||||
<span class="n">look</span> <span class="bp">self</span>
|
||||
<span class="n">Username</span> <span class="ow">is</span> <span class="n">wearing</span> <span class="n">a</span> <span class="n">helmet</span> <span class="n">slightly</span> <span class="n">askew</span> <span class="n">on</span> <span class="n">her</span> <span class="n">head</span><span class="o">.</span>
|
||||
<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>> wear helmet slightly askew on her head
|
||||
look self
|
||||
Username is wearing a helmet slightly askew on her head.
|
||||
</pre></div>
|
||||
</div>
|
||||
<p>By default there are no ‘body locations’ in this contrib, we will need to expand on it a little to make it useful
|
||||
|
|
@ -123,16 +125,16 @@ for things like armor. It’s a good contrib to build from though, so that’s w
|
|||
</section>
|
||||
<section id="dice-contrib">
|
||||
<h2>Dice contrib<a class="headerlink" href="#dice-contrib" title="Permalink to this headline">¶</a></h2>
|
||||
<p><a class="reference external" href="../../../api/evennia.contrib.dice.html">source</a></p>
|
||||
<p><a class="reference internal" href="../../../api/evennia.contrib.dice.html"><span class="doc std std-doc">source</span></a></p>
|
||||
<p>The dice contrib presents a general dice roller to use in game.</p>
|
||||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="o">></span> <span class="n">roll</span> <span class="mi">2</span><span class="n">d6</span>
|
||||
<span class="n">Roll</span><span class="p">(</span><span class="n">s</span><span class="p">):</span> <span class="mi">2</span> <span class="ow">and</span> <span class="mf">5.</span> <span class="n">Total</span> <span class="n">result</span> <span class="ow">is</span> <span class="mf">7.</span>
|
||||
<span class="o">></span> <span class="n">roll</span> <span class="mi">1</span><span class="n">d100</span> <span class="o">+</span> <span class="mi">2</span>
|
||||
<span class="n">Roll</span><span class="p">(</span><span class="n">s</span><span class="p">):</span> <span class="mf">43.</span> <span class="n">Total</span> <span class="n">result</span> <span class="ow">is</span> <span class="mi">47</span>
|
||||
<span class="o">></span> <span class="n">roll</span> <span class="mi">1</span><span class="n">d20</span> <span class="o">></span> <span class="mi">12</span>
|
||||
<span class="n">Roll</span><span class="p">(</span><span class="n">s</span><span class="p">):</span> <span class="mf">7.</span> <span class="n">Total</span> <span class="n">result</span> <span class="ow">is</span> <span class="mf">7.</span> <span class="n">This</span> <span class="ow">is</span> <span class="n">a</span> <span class="n">failure</span> <span class="p">(</span><span class="n">by</span> <span class="mi">5</span><span class="p">)</span>
|
||||
<span class="o">></span> <span class="n">roll</span><span class="o">/</span><span class="n">hidden</span> <span class="mi">1</span><span class="n">d20</span> <span class="o">></span> <span class="mi">12</span>
|
||||
<span class="n">Roll</span><span class="p">(</span><span class="n">s</span><span class="p">):</span> <span class="mf">18.</span> <span class="n">Total</span> <span class="n">result</span> <span class="ow">is</span> <span class="mf">17.</span> <span class="n">This</span> <span class="ow">is</span> <span class="n">a</span> <span class="n">success</span> <span class="p">(</span><span class="n">by</span> <span class="mi">6</span><span class="p">)</span><span class="o">.</span> <span class="p">(</span><span class="ow">not</span> <span class="n">echoed</span><span class="p">)</span>
|
||||
<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>> roll 2d6
|
||||
Roll(s): 2 and 5. Total result is 7.
|
||||
> roll 1d100 + 2
|
||||
Roll(s): 43. Total result is 47
|
||||
> roll 1d20 > 12
|
||||
Roll(s): 7. Total result is 7. This is a failure (by 5)
|
||||
> roll/hidden 1d20 > 12
|
||||
Roll(s): 18. Total result is 17. This is a success (by 6). (not echoed)
|
||||
</pre></div>
|
||||
</div>
|
||||
<p>The contrib also has a python function for producing these results in-code. However, while
|
||||
|
|
@ -143,7 +145,7 @@ or play a game, we will not need it for the core of our game.</p>
|
|||
</section>
|
||||
<section id="extended-room-contrib">
|
||||
<h2>Extended room contrib<a class="headerlink" href="#extended-room-contrib" title="Permalink to this headline">¶</a></h2>
|
||||
<p><a class="reference external" href="../../../api/evennia.contrib.extended_room.html">source</a></p>
|
||||
<p><a class="reference internal" href="../../../api/evennia.contrib.extended_room.html"><span class="doc std std-doc">source</span></a></p>
|
||||
<p>This is a custom Room typeclass that changes its description based on time of day and season.</p>
|
||||
<p>For example, at night, in wintertime you could show the room as being dark and frost-covered while in daylight
|
||||
at summer it could describe a flowering meadow. The description can also contain special markers, so
|
||||
|
|
@ -158,25 +160,25 @@ game, why not!</p>
|
|||
</section>
|
||||
<section id="rp-system-contrib">
|
||||
<h2>RP-System contrib<a class="headerlink" href="#rp-system-contrib" title="Permalink to this headline">¶</a></h2>
|
||||
<p><a class="reference external" href="../../../api/evennia.contrib.rpsystem.html">source</a></p>
|
||||
<p><a class="reference internal" href="../../../api/evennia.contrib.rpsystem.html"><span class="doc std std-doc">source</span></a></p>
|
||||
<p>This contrib adds a full roleplaying subsystem to your game. It gives every character a “short-description”
|
||||
(sdesc) that is what people will see when first meeting them. Let’s say Tom has an sdesc “A tall man” and
|
||||
Sue has the sdesc “A muscular, blonde woman”</p>
|
||||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">Tom</span> <span class="o">></span> <span class="n">look</span>
|
||||
<span class="n">Tom</span><span class="p">:</span> <span class="o"><</span><span class="n">room</span> <span class="n">desc</span><span class="o">></span> <span class="o">...</span> <span class="n">You</span> <span class="n">see</span><span class="p">:</span> <span class="n">A</span> <span class="n">muscular</span><span class="p">,</span> <span class="n">blonde</span> <span class="n">woman</span>
|
||||
<span class="n">Tom</span> <span class="o">></span> <span class="n">emote</span> <span class="o">/</span><span class="n">me</span> <span class="n">smiles</span> <span class="n">to</span> <span class="o">/</span><span class="n">muscular</span><span class="o">.</span>
|
||||
<span class="n">Tom</span><span class="p">:</span> <span class="n">Tom</span> <span class="n">smiles</span> <span class="n">to</span> <span class="n">A</span> <span class="n">muscular</span><span class="p">,</span> <span class="n">blonde</span> <span class="n">woman</span><span class="o">.</span>
|
||||
<span class="n">Sue</span><span class="p">:</span> <span class="n">A</span> <span class="n">tall</span> <span class="n">man</span> <span class="n">smiles</span> <span class="n">to</span> <span class="n">Sue</span><span class="o">.</span>
|
||||
<span class="n">Tom</span> <span class="o">></span> <span class="n">emote</span> <span class="n">Leaning</span> <span class="n">forward</span><span class="p">,</span> <span class="o">/</span><span class="n">me</span> <span class="n">says</span><span class="p">,</span> <span class="s2">"Well hello, what's yer name?"</span>
|
||||
<span class="n">Tom</span><span class="p">:</span> <span class="n">Leaning</span> <span class="n">forward</span><span class="p">,</span> <span class="n">Tom</span> <span class="n">says</span><span class="p">,</span> <span class="s2">"Well hello..."</span>
|
||||
<span class="n">Sue</span><span class="p">:</span> <span class="n">Leaning</span> <span class="n">forward</span><span class="p">,</span> <span class="n">A</span> <span class="n">tall</span> <span class="n">man</span> <span class="n">says</span><span class="p">,</span> <span class="s2">"Well hello, what's yer name?"</span>
|
||||
<span class="n">Sue</span> <span class="o">></span> <span class="n">emote</span> <span class="o">/</span><span class="n">me</span> <span class="n">grins</span><span class="o">.</span> <span class="s2">"I'm Angelica"</span><span class="p">,</span> <span class="n">she</span> <span class="n">says</span><span class="o">.</span>
|
||||
<span class="n">Sue</span><span class="p">:</span> <span class="n">Sue</span> <span class="n">grins</span><span class="o">.</span> <span class="s2">"I'm Angelica"</span><span class="p">,</span> <span class="n">she</span> <span class="n">says</span><span class="o">.</span>
|
||||
<span class="n">Tom</span><span class="p">:</span> <span class="n">A</span> <span class="n">muscular</span><span class="p">,</span> <span class="n">blonde</span> <span class="n">woman</span> <span class="n">grins</span><span class="o">.</span> <span class="s2">"I'm Angelica"</span><span class="p">,</span> <span class="n">she</span> <span class="n">says</span><span class="o">.</span>
|
||||
<span class="n">Tom</span> <span class="o">></span> <span class="n">recog</span> <span class="n">muscular</span> <span class="n">Angelica</span>
|
||||
<span class="n">Tom</span> <span class="o">></span> <span class="n">emote</span> <span class="o">/</span><span class="n">me</span> <span class="n">nods</span> <span class="n">to</span> <span class="o">/</span><span class="n">angelica</span><span class="p">:</span> <span class="s2">"I have a message for you ..."</span>
|
||||
<span class="n">Tom</span><span class="p">:</span> <span class="n">Tom</span> <span class="n">nods</span> <span class="n">to</span> <span class="n">Angelica</span><span class="p">:</span> <span class="s2">"I have a message for you ..."</span>
|
||||
<span class="n">Sue</span><span class="p">:</span> <span class="n">A</span> <span class="n">tall</span> <span class="n">man</span> <span class="n">nods</span> <span class="n">to</span> <span class="n">Sue</span><span class="p">:</span> <span class="s2">"I have a message for you ..."</span>
|
||||
<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>Tom > look
|
||||
Tom: <room desc> ... You see: A muscular, blonde woman
|
||||
Tom > emote /me smiles to /muscular.
|
||||
Tom: Tom smiles to A muscular, blonde woman.
|
||||
Sue: A tall man smiles to Sue.
|
||||
Tom > emote Leaning forward, /me says, "Well hello, what's yer name?"
|
||||
Tom: Leaning forward, Tom says, "Well hello..."
|
||||
Sue: Leaning forward, A tall man says, "Well hello, what's yer name?"
|
||||
Sue > emote /me grins. "I'm Angelica", she says.
|
||||
Sue: Sue grins. "I'm Angelica", she says.
|
||||
Tom: A muscular, blonde woman grins. "I'm Angelica", she says.
|
||||
Tom > recog muscular Angelica
|
||||
Tom > emote /me nods to /angelica: "I have a message for you ..."
|
||||
Tom: Tom nods to Angelica: "I have a message for you ..."
|
||||
Sue: A tall man nods to Sue: "I have a message for you ..."
|
||||
</pre></div>
|
||||
</div>
|
||||
<p>Above, Sue introduces herself as “Angelica” and Tom uses this info to <code class="docutils literal notranslate"><span class="pre">recoc</span></code> her as “Angelica” hereafter. He
|
||||
|
|
@ -184,40 +186,40 @@ could have <code class="docutils literal notranslate"><span class="pre">recoc</s
|
|||
<code class="docutils literal notranslate"><span class="pre">say</span></code>, the spoken words are embedded in the emotes in quotes <code class="docutils literal notranslate"><span class="pre">"..."</span></code>.</p>
|
||||
<p>The RPSystem module also includes options for <code class="docutils literal notranslate"><span class="pre">poses</span></code>, which help to establish your position in the room
|
||||
when others look at you.</p>
|
||||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">Tom</span> <span class="o">></span> <span class="n">pose</span> <span class="n">stands</span> <span class="n">by</span> <span class="n">the</span> <span class="n">bar</span><span class="p">,</span> <span class="n">looking</span> <span class="n">bored</span><span class="o">.</span>
|
||||
<span class="n">Sue</span> <span class="o">></span> <span class="n">look</span>
|
||||
<span class="n">Sue</span><span class="p">:</span> <span class="o"><</span><span class="n">room</span> <span class="n">desc</span><span class="o">></span> <span class="o">...</span> <span class="n">A</span> <span class="n">tall</span> <span class="n">man</span> <span class="n">stands</span> <span class="n">by</span> <span class="n">the</span> <span class="n">bar</span><span class="p">,</span> <span class="n">looking</span> <span class="n">bored</span><span class="o">.</span>
|
||||
<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>Tom > pose stands by the bar, looking bored.
|
||||
Sue > look
|
||||
Sue: <room desc> ... A tall man stands by the bar, looking bored.
|
||||
</pre></div>
|
||||
</div>
|
||||
<p>You can also wear a mask to hide your identity; your sdesc will then be changed to the sdesc of the mask,
|
||||
like <code class="docutils literal notranslate"><span class="pre">a</span> <span class="pre">person</span> <span class="pre">with</span> <span class="pre">a</span> <span class="pre">mask</span></code>.</p>
|
||||
<p>The RPSystem gives a lot of roleplaying power out of the box, so we will add it. There is also a separate
|
||||
<a class="reference external" href="../../../api/evennia.contrib.rplanguage.html">rplanguage</a> module that integrates with the spoken words in your emotes and garbles them if you don’t understand
|
||||
<a class="reference internal" href="../../../api/evennia.contrib.rplanguage.html"><span class="doc std std-doc">rplanguage</span></a> module that integrates with the spoken words in your emotes and garbles them if you don’t understand
|
||||
the language spoken. In order to restrict the scope we will not include languages for the tutorial game.</p>
|
||||
</section>
|
||||
<section id="talking-npc-contrib">
|
||||
<h2>Talking NPC contrib<a class="headerlink" href="#talking-npc-contrib" title="Permalink to this headline">¶</a></h2>
|
||||
<p><a class="reference external" href="../../../api/evennia.contrib.talking_npc.html">source</a></p>
|
||||
<p><a class="reference internal" href="../../../api/evennia.contrib.talking_npc.html"><span class="doc std std-doc">source</span></a></p>
|
||||
<p>This exemplifies an NPC with a menu-driven dialogue tree. We will not use this contrib explicitly, but it’s
|
||||
good as inspiration for how we’ll do quest-givers later.</p>
|
||||
</section>
|
||||
<section id="traits-contrib">
|
||||
<h2>Traits contrib<a class="headerlink" href="#traits-contrib" title="Permalink to this headline">¶</a></h2>
|
||||
<p><a class="reference external" href="../../../api/evennia.contrib.traits.html">source</a></p>
|
||||
<p><a class="reference internal" href="../../../api/evennia.contrib.traits.html"><span class="doc std std-doc">source</span></a></p>
|
||||
<p>An issue with dealing with roleplaying attributes like strength, dexterity, or skills like hunting, sword etc
|
||||
is how to keep track of the values in the moment. Your strength may temporarily be buffed by a strength-potion.
|
||||
Your swordmanship may be worse because you are encumbered. And when you drink your health potion you must make
|
||||
sure that those +20 health does not bring your health higher than its maximum. All this adds complexity.</p>
|
||||
<p>The <em>Traits</em> contrib consists of several types of objects to help track and manage values like this. When
|
||||
installed, the traits are accessed on a new handler <code class="docutils literal notranslate"><span class="pre">.traits</span></code>, for example</p>
|
||||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="o">></span> <span class="n">py</span> <span class="bp">self</span><span class="o">.</span><span class="n">traits</span><span class="o">.</span><span class="n">hp</span><span class="o">.</span><span class="n">value</span>
|
||||
<span class="mi">100</span>
|
||||
<span class="o">></span> <span class="n">py</span> <span class="bp">self</span><span class="o">.</span><span class="n">traits</span><span class="o">.</span><span class="n">hp</span> <span class="o">-=</span> <span class="mi">20</span> <span class="c1"># getting hurt</span>
|
||||
<span class="o">></span> <span class="n">py</span> <span class="bp">self</span><span class="o">.</span><span class="n">traits</span><span class="o">.</span><span class="n">hp</span><span class="o">.</span><span class="n">value</span>
|
||||
<span class="mi">80</span>
|
||||
<span class="o">></span> <span class="n">py</span> <span class="bp">self</span><span class="o">.</span><span class="n">traits</span><span class="o">.</span><span class="n">hp</span><span class="o">.</span><span class="n">reset</span><span class="p">()</span> <span class="c1"># drink a potion</span>
|
||||
<span class="o">></span> <span class="n">py</span> <span class="bp">self</span><span class="o">.</span><span class="n">traits</span><span class="o">.</span><span class="n">hp</span><span class="o">.</span><span class="n">value</span>
|
||||
<span class="mi">100</span>
|
||||
<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>> py self.traits.hp.value
|
||||
100
|
||||
> py self.traits.hp -= 20 # getting hurt
|
||||
> py self.traits.hp.value
|
||||
80
|
||||
> py self.traits.hp.reset() # drink a potion
|
||||
> py self.traits.hp.value
|
||||
100
|
||||
</pre></div>
|
||||
</div>
|
||||
<p>A Trait is persistent (it uses an Attribute under the hood) and tracks changes, min/max and other things
|
||||
|
|
@ -253,7 +255,7 @@ effects of slow poisons and healing both.</p></li>
|
|||
</section>
|
||||
<section id="turnbattle-contrib">
|
||||
<h2>Turnbattle contrib<a class="headerlink" href="#turnbattle-contrib" title="Permalink to this headline">¶</a></h2>
|
||||
<p><a class="reference external" href="../../../api/evennia.contrib.turnbattle.html">source</a></p>
|
||||
<p><a class="reference internal" href="../../../api/evennia.contrib.turnbattle.html"><span class="doc std std-doc">source</span></a></p>
|
||||
<p>This contrib consists of several implementations of a turn-based combat system, divivided into complexity:</p>
|
||||
<ul class="simple">
|
||||
<li><p>basic - initiative and turn order, attacks against defense values, damage.</p></li>
|
||||
|
|
@ -339,7 +341,7 @@ back to your planning and adjust it as you learn what works and what does not.</
|
|||
<h3>Versions</h3>
|
||||
<ul>
|
||||
<li><a href="Planning-Some-Useful-Contribs.html">1.0-dev (develop branch)</a></li>
|
||||
<li><a href="../../../../0.9.5/index.html">0.9.5 (v0.9.5 branch)</a></li>
|
||||
<li><a href="../../../../0.95/index.html">0.95 (v0.9.5 branch)</a></li>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -14,6 +14,8 @@
|
|||
<script src="../../../_static/underscore.js"></script>
|
||||
<script src="../../../_static/doctools.js"></script>
|
||||
<script src="../../../_static/language_data.js"></script>
|
||||
<script async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/latest.js?config=TeX-AMS-MML_HTMLorMML"></script>
|
||||
<script type="text/x-mathjax-config">MathJax.Hub.Config({"tex2jax": {"processClass": "tex2jax_process|mathjax_process|math|output_area"}})</script>
|
||||
<link rel="shortcut icon" href="../../../_static/favicon.ico"/>
|
||||
<link rel="index" title="Index" href="../../../genindex.html" />
|
||||
<link rel="search" title="Search" href="../../../search.html" />
|
||||
|
|
@ -38,7 +40,7 @@
|
|||
<div class="bodywrapper">
|
||||
<div class="body" role="main">
|
||||
|
||||
<section id="planning-our-tutorial-game">
|
||||
<section class="tex2jax_ignore mathjax_ignore" id="planning-our-tutorial-game">
|
||||
<h1>Planning our tutorial game<a class="headerlink" href="#planning-our-tutorial-game" title="Permalink to this headline">¶</a></h1>
|
||||
<p>Using the general plan from last lesson we’ll now establish what kind of game we want to create for this tutorial.
|
||||
Remembering that we need to keep the scope down, let’s establish some parameters.
|
||||
|
|
@ -101,8 +103,8 @@ goes outside the regular hierarchy and should usually only.</p>
|
|||
other. By default, the <code class="docutils literal notranslate"><span class="pre">public</span></code> channel is created for general discourse.
|
||||
Channels are logged to a file and when you are coming back to the game you can view the history of a channel
|
||||
in case you missed something.</p>
|
||||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>> public Hello world!
|
||||
[Public] MyName: Hello world!
|
||||
<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>> public Hello world!
|
||||
[Public] MyName: Hello world!
|
||||
</pre></div>
|
||||
</div>
|
||||
<p>But Channels can also be set up to work between Characters instead of Accounts. This would mean the channels
|
||||
|
|
@ -149,7 +151,7 @@ build the brunt of things using Evennia’s Batchcode system.</p>
|
|||
the ability to create objects with in-built commands is easy and safe, actual code-creation (aka <em>softcode</em> ) is
|
||||
not something Evennia supports natively. Regular, untrusted users should never be allowed to execute raw Python
|
||||
code (such as what you can do with the <code class="docutils literal notranslate"><span class="pre">py</span></code> command). You can
|
||||
<a class="reference internal" href="../../../Concepts/Soft-Code.html"><span class="doc">read more about Evennia’s stance on softcode here</span></a>. If you want users to do limited scripting,
|
||||
<a class="reference internal" href="../../../Concepts/Soft-Code.html"><span class="doc std std-doc">read more about Evennia’s stance on softcode here</span></a>. If you want users to do limited scripting,
|
||||
it’s suggested that this is accomplished by adding more powerful build-commands for them to use.</p>
|
||||
<p>For our tutorial-game, we will only allow privileged builders to modify the world. The exception is crafting,
|
||||
which we will limit to repairing broken items by combining them with other repair-related items.</p>
|
||||
|
|
@ -556,7 +558,7 @@ to code themselves. So in the next lesson we will check out what help we have fr
|
|||
<h3>Versions</h3>
|
||||
<ul>
|
||||
<li><a href="Planning-The-Tutorial-Game.html">1.0-dev (develop branch)</a></li>
|
||||
<li><a href="../../../../0.9.5/index.html">0.9.5 (v0.9.5 branch)</a></li>
|
||||
<li><a href="../../../../0.95/index.html">0.95 (v0.9.5 branch)</a></li>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -14,6 +14,8 @@
|
|||
<script src="../../../_static/underscore.js"></script>
|
||||
<script src="../../../_static/doctools.js"></script>
|
||||
<script src="../../../_static/language_data.js"></script>
|
||||
<script async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/latest.js?config=TeX-AMS-MML_HTMLorMML"></script>
|
||||
<script type="text/x-mathjax-config">MathJax.Hub.Config({"tex2jax": {"processClass": "tex2jax_process|mathjax_process|math|output_area"}})</script>
|
||||
<link rel="shortcut icon" href="../../../_static/favicon.ico"/>
|
||||
<link rel="index" title="Index" href="../../../genindex.html" />
|
||||
<link rel="search" title="Search" href="../../../search.html" />
|
||||
|
|
@ -48,7 +50,7 @@
|
|||
<div class="bodywrapper">
|
||||
<div class="body" role="main">
|
||||
|
||||
<section id="where-do-i-begin">
|
||||
<section class="tex2jax_ignore mathjax_ignore" id="where-do-i-begin">
|
||||
<h1>Where do I begin?<a class="headerlink" href="#where-do-i-begin" title="Permalink to this headline">¶</a></h1>
|
||||
<p>The good news is that following this Starting tutorial is a great way to begin making an Evennia game.</p>
|
||||
<p>The bad news is that everyone’s different and when it comes to starting your own game there is no
|
||||
|
|
@ -161,7 +163,7 @@ so you can read, understand and replicate example code without being completely
|
|||
</ul>
|
||||
<p>Once you are out of the starting tutorial, you’ll be off to do your own thing.</p>
|
||||
<ul class="simple">
|
||||
<li><p>The starting tutorial cannot cover everything. Skim through the <a class="reference internal" href="../../../index.html"><span class="doc">Evennia docs</span></a>.
|
||||
<li><p>The starting tutorial cannot cover everything. Skim through the <a class="reference internal" href="../../../index.html"><span class="doc std std-doc">Evennia docs</span></a>.
|
||||
Even if you don’t read everything, it gives you a feeling for what’s available should you need
|
||||
to look for something later. Make sure to use the search function.</p></li>
|
||||
<li><p>You can now start by expanding on the tutorial-game we will have created. In the last part there
|
||||
|
|
@ -246,7 +248,7 @@ then try to answer those questions for the sake of creating our little tutorial
|
|||
<h3>Versions</h3>
|
||||
<ul>
|
||||
<li><a href="Planning-Where-Do-I-Begin.html">1.0-dev (develop branch)</a></li>
|
||||
<li><a href="../../../../0.9.5/index.html">0.9.5 (v0.9.5 branch)</a></li>
|
||||
<li><a href="../../../../0.95/index.html">0.95 (v0.9.5 branch)</a></li>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -14,6 +14,8 @@
|
|||
<script src="../../../_static/underscore.js"></script>
|
||||
<script src="../../../_static/doctools.js"></script>
|
||||
<script src="../../../_static/language_data.js"></script>
|
||||
<script async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/latest.js?config=TeX-AMS-MML_HTMLorMML"></script>
|
||||
<script type="text/x-mathjax-config">MathJax.Hub.Config({"tex2jax": {"processClass": "tex2jax_process|mathjax_process|math|output_area"}})</script>
|
||||
<link rel="shortcut icon" href="../../../_static/favicon.ico"/>
|
||||
<link rel="index" title="Index" href="../../../genindex.html" />
|
||||
<link rel="search" title="Search" href="../../../search.html" />
|
||||
|
|
@ -47,7 +49,7 @@
|
|||
<div class="bodywrapper">
|
||||
<div class="body" role="main">
|
||||
|
||||
<section id="evennia-starting-tutorial-part-2">
|
||||
<section class="tex2jax_ignore mathjax_ignore" id="evennia-starting-tutorial-part-2">
|
||||
<h1>Evennia Starting Tutorial (Part 2)<a class="headerlink" href="#evennia-starting-tutorial-part-2" title="Permalink to this headline">¶</a></h1>
|
||||
<aside class="sidebar">
|
||||
<p class="sidebar-title">Tutorial Parts</p>
|
||||
|
|
@ -71,9 +73,9 @@ game we want to make. This is a more ‘theoretical’ part where we won’t do
|
|||
programming.</p>
|
||||
<ol class="simple">
|
||||
<li><p>Introduction & Overview (you are here)</p></li>
|
||||
<li><p><a class="reference internal" href="Planning-Where-Do-I-Begin.html"><span class="doc">Where do I begin</span></a></p></li>
|
||||
<li><p><a class="reference internal" href="Game-Planning.html"><span class="doc">On planning a game</span></a></p></li>
|
||||
<li><p><a class="reference internal" href="Planning-Some-Useful-Contribs.html"><span class="doc">Planning to use some useful Contribs</span></a></p></li>
|
||||
<li><p><a class="reference internal" href="Planning-Where-Do-I-Begin.html"><span class="doc std std-doc">Where do I begin</span></a></p></li>
|
||||
<li><p><a class="reference internal" href="Game-Planning.html"><span class="doc std std-doc">On planning a game</span></a></p></li>
|
||||
<li><p><a class="reference internal" href="Planning-Some-Useful-Contribs.html"><span class="doc std std-doc">Planning to use some useful Contribs</span></a></p></li>
|
||||
</ol>
|
||||
<p>In the process we’ll go through the common questions of “where to start”
|
||||
and “what to think about” when creating a multiplayer online text game.</p>
|
||||
|
|
@ -136,7 +138,7 @@ and “what to think about” when creating a multiplayer online text game.</p>
|
|||
<h3>Versions</h3>
|
||||
<ul>
|
||||
<li><a href="Starting-Part2.html">1.0-dev (develop branch)</a></li>
|
||||
<li><a href="../../../../0.9.5/index.html">0.9.5 (v0.9.5 branch)</a></li>
|
||||
<li><a href="../../../../0.95/index.html">0.95 (v0.9.5 branch)</a></li>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue