9.7 KiB
Tutorials
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 use Evennia features while providing ample links to the relevant detailed documentation.
The main information resource for builders is the Builder Documentation. Coders should refer to the Developer Central for further information.
Building
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.
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 (part 1) - Python intro using Evennia.
- Python basic introduction (part 2) - More on objects, classes and finding where things are.
- 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: Parsing command argument.
- 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](./Unit-Testing.md#testing-for-game-development-mini- tutorial)
Contrib
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.
Web tutorials
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.
- Evennia for Diku Users - read up on the differences between Diku style muds and Evennia.
- Evennia for MUSH Users - an introduction to Evennia for those accustomed to MUSH-style servers.
:hidden:
Game-Planning
Building-Quickstart
Understanding-Color-Tags
Tutorial-World-Introduction
Building-a-mech-tutorial
Version-Control
Python-basic-introduction
Python-basic-tutorial-part-two
First-Steps-Coding
Tutorial-for-basic-MUSH-like-game
Adding-Command-Tutorial
Parsing-command-arguments,-theory-and-best-practices
Adding-Object-Typeclass-Tutorial
Tutorial-Searching-For-Objects
Weather-Tutorial
Tutorial-Aggressive-NPCs
Tutorial-NPCs-listening
Tutorial-Vehicles
NPC-shop-Tutorial
Static-In-Game-Map
Dynamic-In-Game-Map
Unit-Testing
Implementing-a-game-rule-system
Turn-based-Combat-System
Evennia-for-roleplaying-sessions
Coding-FAQ
Command-Prompt
Zones
Manually-Configuring-Color
EvMenu
Command-Duration
Command-Cooldown
Mass-and-weight-for-objects
Default-Exit-Errors
Tutorial-Tweeting-Game-Stats
Gametime-Tutorial
Coordinates
Customize-channels
Dialogues-in-events
A-voice-operated-elevator-using-events
Add-a-simple-new-web-page
Web-Tutorial
Bootstrap-&-Evennia
Web-Character-View-Tutorial
Help-System-Tutorial
Add-a-wiki-on-your-website
Web-Character-Generation
Bootstrap-Components-and-Utilities
Evennia-for-Diku-Users
Evennia-for-MUSH-Users