Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Before continuing to read these tutorials (and especially before you start to code or build your game in earnest) it's strongly recommended that you read the Evennia coding introduction as well as the Planning your own game pages first.
Please note that it's 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 used Evennia features while providing ample links to the relevant detailed documentation.
Help with populating your game world.
- Tutorial: Building Quick-start - helps you build your first rocks and crates using Evennia's defaults.
- Tutorial: Understanding Color Tags- explains how you color your game's text.
- Introduction: The Tutorial World - 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.
- Tutorial: Building a Giant Mech - this starts as a building tutorial and transitions into writing code.
General Development tutorials
General code practices for newbie game developers.
- Python basic introduction (part 1) - Python intro using Evennia.
- Python basic introduction (part 2) - More on objects, classes and finding where things is
To use Evennia, you will need basic understanding of Python modules, variables, conditional statements, loops, functions, lists, dictionaries, list comprehensions and string formatting. You should also have a basic understanding of object-oriented programming and what Python Classes are.
- Python tutorials for beginners - external link with tutorials for those not familiar with coding in general or Python in particular.
- Tutorial: Version Control - use GIT to organize your code both for your own game project and for contributing to Evennia.
- MIT offers free courses in many subjects. Their Introduction to Computer Science and Programming uses Python as its language of choice. Longer path, but more in-depth. Definitely worth a look.
Coding - First Step tutorials
Starting tutorials for you who are new to developing with Evennia.
- Python basic introduction - (linked here too) - Python intro using Evennia.
- Tutorial: First Steps Coding - learn each basic feature on their own through step-by-step instruction.
- Tutorial: A small first game - learn basic features as part of building a small but working game from scratch.
- Tutorial: Adding new commands - focuses specifically on how to add new commands.
- Tutorial: Adding new objects - focuses specifically on how to add new objects.
- Tutorial: Searching objects in the database - how to find existing objects so you can operate on them.
Custom objects and typeclasses
Examples of designing new objects for your game world
- Tutorial: Rooms with Weather
- Tutorial: Aggressive NPC's
- Tutorial: Listening NPC's
- Tutorial: Creating a vehicle
- Tutorial: Making an NPC shop (also advanced EvMenu usage)
- Tutorial: Implementing a Static In Game Map (also Batch Code usage)
- Tutorial: Implementing a Dynamic In Game Map
- Tutorial: Writing your own unit tests
Game mechanics tutorials
Creating the underlying game mechanics of game play.
- Hints: Implementing a game rule system
- Tutorial: Implementing a Combat system
- Tutorial: Evennia for running tabletop rpgs
Miscellaneous system tutorials
Design various game systems and achieve particular effects.
- FAQ: A place for users to enter their own hints on achieving various goals in Evennia.
- Tutorial: Adding a Command prompt
- Tutorial: Creating a Zoning system
- Tutorial: Letting players manually configure color settings
- Hints: Asking the user a question and dealing with the result
- Hints: Designing commands that take time to finish
- Hints: Adding cooldowns to commands
- Tutorial: Mass and weight for objects
- Hints: Show a different message when trying a non-existent exit
- Tutorial: Make automatic tweets of game statistics
- Tutorial: Handling virtual time in your game
- Tutorial: Setting up a coordinate system for rooms
- Tutorial: customize the way channels and channel commands work in your game
- Tutorial: Adding unit tests to your game project
This section contains tutorials linked with contribs. These contribs can be used in your game, but you'll need to install them explicitly. They add common features that can earn you time in implementation.
Expanding Evennia's web presence.
- Tutorial: Add a new web page - simple example to see how Django pages hang together.
- Tutorial: Website customization - learn how to start customizing your game's web presence.
- Tutorial: Bootstrap & Evennia - Learn more about Bootstrap, the current CSS framework Evennia is using
- Tutorial: Build a web page displaying a game character - make a way to view your character on the web page.
- Tutorial: access your help system from your website
- Tutorial: add a wiki on your website
- Tutorial: Web Character Generation - make a web-based character application form.
- Tutorial: Bootstrap Components and Utilities - Describes some common Bootstrap Components and Utilities that might help in designing for Evennia
Evennia for [Engine]-Users
Hints for new users more familiar with other game engines.