mirror of
https://github.com/evennia/evennia.git
synced 2026-03-18 13:56:30 +01:00
234 lines
No EOL
18 KiB
HTML
234 lines
No EOL
18 KiB
HTML
|
||
<!DOCTYPE html>
|
||
|
||
<html>
|
||
<head>
|
||
<meta charset="utf-8" />
|
||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
|
||
|
||
<title>Evennia Introduction — Evennia 2.x 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>
|
||
<link rel="shortcut icon" href="_static/favicon.ico"/>
|
||
<link rel="index" title="Index" href="genindex.html" />
|
||
<link rel="search" title="Search" href="search.html" />
|
||
<link rel="next" title="Evennia in pictures" href="Evennia-In-Pictures.html" />
|
||
<link rel="prev" title="Evennia Documentation" href="index.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="right" >
|
||
<a href="Evennia-In-Pictures.html" title="Evennia in pictures"
|
||
accesskey="N">next</a> |</li>
|
||
<li class="right" >
|
||
<a href="index.html" title="Evennia Documentation"
|
||
accesskey="P">previous</a> |</li>
|
||
<li class="nav-item nav-item-0"><a href="index.html">Evennia 2.x</a> »</li>
|
||
<li class="nav-item nav-item-this"><a href="">Evennia Introduction</a></li>
|
||
</ul>
|
||
</div>
|
||
|
||
|
||
|
||
|
||
|
||
<div class="document">
|
||
|
||
<div class="documentwrapper">
|
||
<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>
|
||
<h3><a href="index.html">Table of Contents</a></h3>
|
||
<ul>
|
||
<li><a class="reference internal" href="#">Evennia Introduction</a><ul>
|
||
<li><a class="reference internal" href="#what-is-evennia">What is Evennia?</a><ul>
|
||
<li><a class="reference internal" href="#bare-bones">Bare-bones?</a></li>
|
||
<li><a class="reference internal" href="#framework">Framework?</a></li>
|
||
<li><a class="reference internal" href="#server">Server?</a></li>
|
||
<li><a class="reference internal" href="#python">Python?</a></li>
|
||
</ul>
|
||
</li>
|
||
<li><a class="reference internal" href="#can-i-test-it-somewhere">Can I test it somewhere?</a></li>
|
||
<li><a class="reference internal" href="#what-do-i-need-to-know-to-work-with-evennia">What do I need to know to work with Evennia?</a><ul>
|
||
<li><a class="reference internal" href="#i-dont-know-or-dont-want-to-do-any-programming-i-just-want-to-run-a-game">I don’t know (or don’t want to do) any programming - I just want to run a game!</a></li>
|
||
<li><a class="reference internal" href="#i-know-basic-python-or-i-am-willing-to-learn">I know basic Python, or I am willing to learn</a></li>
|
||
<li><a class="reference internal" href="#i-know-my-python-stuff-and-i-am-willing-to-use-it">I know my Python stuff and I am willing to use it!</a></li>
|
||
</ul>
|
||
</li>
|
||
<li><a class="reference internal" href="#where-to-from-here">Where to from here?</a></li>
|
||
</ul>
|
||
</li>
|
||
</ul>
|
||
|
||
<h4>Previous topic</h4>
|
||
<p class="topless"><a href="index.html"
|
||
title="previous chapter">Evennia Documentation</a></p>
|
||
<h4>Next topic</h4>
|
||
<p class="topless"><a href="Evennia-In-Pictures.html"
|
||
title="next chapter">Evennia in pictures</a></p>
|
||
<div role="note" aria-label="source link">
|
||
<!--h3>This Page</h3-->
|
||
<ul class="this-page-menu">
|
||
<li><a href="_sources/Evennia-Introduction.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>
|
||
</div>
|
||
</div>
|
||
<div class="bodywrapper">
|
||
<div class="body" role="main">
|
||
|
||
<section class="tex2jax_ignore mathjax_ignore" id="evennia-introduction">
|
||
<h1>Evennia Introduction<a class="headerlink" href="#evennia-introduction" title="Permalink to this headline">¶</a></h1>
|
||
<blockquote>
|
||
<div><p><em>A MUD (originally Multi-User Dungeon, with later variants Multi-User Dimension and Multi-User
|
||
Domain) is a multiplayer real-time virtual world described primarily in text. MUDs combine elements
|
||
of role-playing games, hack and slash, player versus player, interactive fiction and online chat.
|
||
Players can read or view descriptions of rooms, objects, other players, non-player characters, and
|
||
actions performed in the virtual world. Players typically interact with each other and the world by
|
||
typing commands that resemble a natural language.</em> - <a class="reference external" href="https://en.wikipedia.org/wiki/MUD">Wikipedia</a></p>
|
||
</div></blockquote>
|
||
<p>If you are reading this, it’s quite likely you are dreaming of creating and running a text-based massively-multiplayer game (<a class="reference external" href="https://tinyurl.com/c5sc4bm">MUD/MUX/MUSH</a> etc) of your very own. You might just be starting to think about it, or you might have lugged around that <em>perfect</em> game in your mind for years … you know <em>just</em> how good it would be, if you could only make it come to reality.</p>
|
||
<p>We know how you feel. That is, after all, why Evennia came to be.</p>
|
||
<section id="what-is-evennia">
|
||
<h2>What is Evennia?<a class="headerlink" href="#what-is-evennia" title="Permalink to this headline">¶</a></h2>
|
||
<p>Evennia is a MU*-building framework: a bare-bones Python codebase and server intended to be highly extendable for any style of game.</p>
|
||
<section id="bare-bones">
|
||
<h3>Bare-bones?<a class="headerlink" href="#bare-bones" title="Permalink to this headline">¶</a></h3>
|
||
<p>Evennia is “bare-bones” in the sense that we try to impose as few game-specific things on you as possible. We don’t prescribe any combat rules, mob AI, races, skills, character classes or other things.</p>
|
||
<p>We figure you will want to make that for yourself, just like you want it!</p>
|
||
</section>
|
||
<section id="framework">
|
||
<h3>Framework?<a class="headerlink" href="#framework" title="Permalink to this headline">¶</a></h3>
|
||
<p>Evennia is bare-bones, but not <em>that</em> barebones. We do offer basic building blocks like objects, characters and rooms, in-built channels and so on. We also provide of useful commands for building and administration etc.</p>
|
||
<p>Out of the box you’ll have a ‘talker’ type of game - an empty but fully functional social game where you can build rooms, walk around and chat/roleplay. Evennia handles all the boring database, networking, and behind-the-scenes administration stuff that all online games need whether they like it or not. It’s a blank slate for you to expand on.</p>
|
||
<p>We also include a growing list of optional <a class="reference internal" href="Contribs/Contribs-Overview.html"><span class="doc std std-doc">contribs</span></a> you can use with your game. These are more game-specific and can help to inspire or have something to build from.</p>
|
||
</section>
|
||
<section id="server">
|
||
<h3>Server?<a class="headerlink" href="#server" title="Permalink to this headline">¶</a></h3>
|
||
<p>Evennia is its own webserver. When you start Evennia, your server hosts a game website and a browser webclient. This allows your players to play both in their browsers as well as connect using traditional MUD clients. None of this is visible to the internet until you feel ready to share your game with the world.</p>
|
||
</section>
|
||
<section id="python">
|
||
<h3>Python?<a class="headerlink" href="#python" title="Permalink to this headline">¶</a></h3>
|
||
<p><a class="reference external" href="https://en.wikipedia.org/wiki/Python_(programming_language)">Python</a> is not only one of the most popular programming languages languages in use today, it is also considered one of the easiest to learn. In the Evennia community, we have many people who learned Python or programming by making a game. Some even got a job from the skills they learned working with Evennia!</p>
|
||
<p>All your coding, from object definitions and custom commands to AI scripts and economic systems is done in normal Python modules rather than some ad-hoc scripting language.</p>
|
||
</section>
|
||
</section>
|
||
<section id="can-i-test-it-somewhere">
|
||
<h2>Can I test it somewhere?<a class="headerlink" href="#can-i-test-it-somewhere" title="Permalink to this headline">¶</a></h2>
|
||
<p>Evennia’s demo server can be found at <a class="reference external" href="https://demo.evennia.com">https://demo.evennia.com</a> or on <code class="docutils literal notranslate"><span class="pre">demo.evennia.com</span></code>, port <code class="docutils literal notranslate"><span class="pre">4000</span></code> if you are using a traditional MUD client.</p>
|
||
<p>Once you installed Evennia, you can also create a tutorial mini-game with a single command. Read more about it <a class="reference internal" href="Howtos/Beginner-Tutorial/Part1/Beginner-Tutorial-Tutorial-World.html"><span class="doc std std-doc">here</span></a>.</p>
|
||
</section>
|
||
<section id="what-do-i-need-to-know-to-work-with-evennia">
|
||
<h2>What do I need to know to work with Evennia?<a class="headerlink" href="#what-do-i-need-to-know-to-work-with-evennia" title="Permalink to this headline">¶</a></h2>
|
||
<p>Once you <a class="reference internal" href="Setup/Installation.html"><span class="doc std std-doc">installed Evennia</span></a> and connected, you should decide on what you want to do.</p>
|
||
<section id="i-dont-know-or-dont-want-to-do-any-programming-i-just-want-to-run-a-game">
|
||
<h3>I don’t know (or don’t want to do) any programming - I just want to run a game!<a class="headerlink" href="#i-dont-know-or-dont-want-to-do-any-programming-i-just-want-to-run-a-game" title="Permalink to this headline">¶</a></h3>
|
||
<p>Evennia comes with a default set of commands for the Python newbies and for those who need to get a game running <em>now</em>.</p>
|
||
<p>Stock Evennia is enough for running a simple ‘Talker’-type game - you can build and describe rooms and basic objects, have chat channels, do emotes and other things suitable for a social or free-form MU*.</p>
|
||
<p>Combat, mobs and other game elements are not included, so you’ll have a very basic game indeed if you are not willing to do at least <em>some</em> coding.</p>
|
||
</section>
|
||
<section id="i-know-basic-python-or-i-am-willing-to-learn">
|
||
<h3>I know basic Python, or I am willing to learn<a class="headerlink" href="#i-know-basic-python-or-i-am-willing-to-learn" title="Permalink to this headline">¶</a></h3>
|
||
<p>Start small. Evennia’s <a class="reference internal" href="Howtos/Beginner-Tutorial/Beginner-Tutorial-Overview.html"><span class="doc std std-doc">Beginner tutorial</span></a> is a good place to start.</p>
|
||
<aside class="sidebar">
|
||
<p>See also our <a class="reference internal" href="Links.html"><span class="doc std std-doc">link page</span></a> for some reading suggestions.</p>
|
||
</aside>
|
||
<p>While Python is considered a very easy programming language to get into, you do have a learning curve to climb if you are new to programming. The beginner-tutorial has a <a class="reference internal" href="Howtos/Beginner-Tutorial/Part1/Beginner-Tutorial-Python-basic-introduction.html"><span class="doc std std-doc">basic introduction to Python</span></a>, but if you are completely new, you should probably also sit down with a full Python beginner’s tutorial at some point. There are plenty of them on the web if you look around.</p>
|
||
<p>To code your dream game in Evennia you don’t need to be a Python guru, but you do need to be able to read example code containing at least these basic Python features:</p>
|
||
<ul class="simple">
|
||
<li><p>Importing and using python <a class="reference external" href="https://docs.python.org/3.11/tutorial/modules.html">modules</a></p></li>
|
||
<li><p>Using <a class="reference external" href="https://www.tutorialspoint.com/python/python_variable_types.htm">variables</a>, <a class="reference external" href="https://docs.python.org/tutorial/controlflow.html#if-statements">conditional statements</a>, <a class="reference external" href="https://docs.python.org/tutorial/controlflow.html#for-statements">loops</a> and <a class="reference external" href="https://docs.python.org/tutorial/controlflow.html#defining-functions">functions</a></p></li>
|
||
<li><p>Using <a class="reference external" href="https://docs.python.org/tutorial/datastructures.html">lists, dictionaries and list comprehensions</a></p></li>
|
||
<li><p>Doing <a class="reference external" href="https://docs.python.org/tutorial/introduction.html#strings">string handling and formatting</a></p></li>
|
||
<li><p>Have a basic understanding of <a class="reference external" href="https://www.tutorialspoint.com/python/python_classes_objects.htm">object-oriented programming</a>, using <a class="reference external" href="https://docs.python.org/tutorial/classes.html">Classes</a>, their methods and properties</p></li>
|
||
</ul>
|
||
<p>Obviously, the more things you feel comfortable with, the easier time you’ll have to find your way.</p>
|
||
<p>With just basic knowledge you can set out to build your game by expanding Evennia’s examples.</p>
|
||
</section>
|
||
<section id="i-know-my-python-stuff-and-i-am-willing-to-use-it">
|
||
<h3>I know my Python stuff and I am willing to use it!<a class="headerlink" href="#i-know-my-python-stuff-and-i-am-willing-to-use-it" title="Permalink to this headline">¶</a></h3>
|
||
<p>Even if you started out as a Python beginner, you will likely get to this point after working on your game for a while.</p>
|
||
<p>With more general knowledge in Python the full power of Evennia opens up for you. Apart from modifying commands, objects and scripts, you can develop everything from advanced mob AI and economic systems, through sophisticated combat and social mini games, to redefining how commands, players, rooms or channels themselves work. Since you code your game by importing normal Python modules, there are few limits to what you can accomplish.</p>
|
||
<p>If you <em>also</em> happen to know some web programming (HTML, CSS, Javascript) there is also a web
|
||
presence (a website and a mud web client) to play around with …</p>
|
||
</section>
|
||
</section>
|
||
<section id="where-to-from-here">
|
||
<h2>Where to from here?<a class="headerlink" href="#where-to-from-here" title="Permalink to this headline">¶</a></h2>
|
||
<p>To get a top-level overview of Evennia, you can check out <a class="reference internal" href="Evennia-In-Pictures.html"><span class="doc std std-doc">Evennia in pictures</span></a>.</p>
|
||
<p>After that it’s a good idea to jump into the <a class="reference internal" href="Howtos/Beginner-Tutorial/Beginner-Tutorial-Overview.html"><span class="doc std std-doc">Beginner Tutorial</span></a>. You can either follow it lesson for lesson or jump around to what seems interesting. There are also more <a class="reference internal" href="Howtos/Howtos-Overview.html#howtos"><span class="std std-doc">Tutorials and Howto’s</span></a> to look over.</p>
|
||
<p>You can also read the lead developer’s <a class="reference external" href="https://www.evennia.com/devblog/index.html">dev blog</a> for many tidbits and snippets about Evennia’s development and structure.</p>
|
||
<p>Sometimes it’s easier to ask for help. Get engaged in the Evennia community by joining our <a class="reference external" href="https://discord.gg/AJJpcRUhtF">Discord</a> for direct support. Make an introductory post to our <a class="reference external" href="https://github.com/evennia/evennia/discussions">Discussion forum</a> and say hi! See <a class="reference internal" href="Contributing.html"><span class="doc std std-doc">here</span></a> for more ways to get and give help to the project.</p>
|
||
<p>Welcome to Evennia!</p>
|
||
</section>
|
||
</section>
|
||
|
||
|
||
</div>
|
||
</div>
|
||
</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="right" >
|
||
<a href="Evennia-In-Pictures.html" title="Evennia in pictures"
|
||
>next</a> |</li>
|
||
<li class="right" >
|
||
<a href="index.html" title="Evennia Documentation"
|
||
>previous</a> |</li>
|
||
<li class="nav-item nav-item-0"><a href="index.html">Evennia 2.x</a> »</li>
|
||
<li class="nav-item nav-item-this"><a href="">Evennia Introduction</a></li>
|
||
</ul>
|
||
</div>
|
||
<div class="footer" role="contentinfo">
|
||
© Copyright 2023, The Evennia developer community.
|
||
Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 3.2.1.
|
||
</div>
|
||
</body>
|
||
</html> |