mirror of
https://github.com/evennia/evennia.git
synced 2026-03-17 05:16:31 +01:00
205 lines
9.7 KiB
Markdown
205 lines
9.7 KiB
Markdown
# 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](./Coding-Introduction.md) as well as the [Planning your own game](./Game-Planning.md) 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](./Builder-Docs.md). Coders
|
|
should refer to the [Developer Central](./Developer-Central.md) for further information.
|
|
|
|
### Building
|
|
|
|
_Help with populating your game world._
|
|
|
|
- [Tutorial: Building Quick-start](./Building-Quickstart.md) - helps you build your first rocks and
|
|
crates using Evennia's defaults.
|
|
- [Tutorial: Understanding Color Tags](./Understanding-Color-Tags.md)- explains how you color your game's
|
|
text.
|
|
- [Introduction: The Tutorial World](./Tutorial-World-Introduction.md) - 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](./Building-a-mech-tutorial.md) - 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](http://docs.python.org/3.7/tutorial/modules.html),
|
|
[variables](http://www.tutorialspoint.com/python/python_variable_types.htm), [conditional statements](http://docs.python.org/tutorial/controlflow.html#if-statements),
|
|
[loops](http://docs.python.org/tutorial/controlflow.html#for-statements),
|
|
[functions](http://docs.python.org/tutorial/controlflow.html#defining-functions), [lists, dictionaries, list comprehensions](http://docs.python.org/tutorial/datastructures.html) and [string formatting](http://docs.python.org/tutorial/introduction.html#strings). You should also have a basic
|
|
understanding of [object-oriented programming](http://www.tutorialspoint.com/python/python_classes_objects.htm) and what Python
|
|
[Classes](http://docs.python.org/tutorial/classes.html) are.
|
|
|
|
- [Python tutorials for beginners](https://wiki.python.org/moin/BeginnersGuide/NonProgrammers) -
|
|
external link with tutorials for those not familiar with coding in general or Python in particular.
|
|
- [Tutorial: Version Control](./Version-Control.md) - 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](https://ocw.mit.edu/courses/6-0001-introduction-to-computer-science-and-programming-in-python-fall-2016/) 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](./Python-basic-introduction.md) (part 1) - Python intro using Evennia.
|
|
- [Python basic introduction](./Python-basic-tutorial-part-two.md) (part 2) - More on objects, classes
|
|
and finding where things are.
|
|
- [Tutorial: First Steps Coding](./First-Steps-Coding.md) - learn each basic feature on their own through
|
|
step-by-step instruction.
|
|
- [Tutorial: A small first game](./Tutorial-for-basic-MUSH-like-game.md) - learn basic features as part
|
|
of building a small but working game from scratch.
|
|
- [Tutorial: Adding new commands](./Adding-Command-Tutorial.md) - focuses specifically on how to add new
|
|
commands.
|
|
- [Tutorial: Parsing command argument](./Parsing-command-arguments,-theory-and-best-practices.md).
|
|
- [Tutorial: Adding new objects](./Adding-Object-Typeclass-Tutorial.md) - focuses specifically on how to
|
|
add new objects.
|
|
- [Tutorial: Searching objects in the database](./Tutorial-Searching-For-Objects.md) - 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](./Weather-Tutorial.md)
|
|
- [Tutorial: Aggressive NPC's](./Tutorial-Aggressive-NPCs.md)
|
|
- [Tutorial: Listening NPC's](./Tutorial-NPCs-listening.md)
|
|
- [Tutorial: Creating a vehicle](./Tutorial-Vehicles.md)
|
|
- [Tutorial: Making an NPC shop](./NPC-shop-Tutorial.md) (also advanced [EvMenu](./EvMenu.md) usage)
|
|
- [Tutorial: Implementing a Static In Game Map](./Static-In-Game-Map.md) (also [Batch Code](Batch-Code-Processor) usage)
|
|
- [Tutorial: Implementing a Dynamic In Game Map](./Dynamic-In-Game-Map.md)
|
|
- [Tutorial: Writing your own unit tests](Unit-Testing.md#testing-for-game-development-mini-tutorial)
|
|
|
|
### Game mechanics tutorials
|
|
|
|
_Creating the underlying game mechanics of game play._
|
|
|
|
- [Hints: Implementing a game rule system](./Implementing-a-game-rule-system.md)
|
|
- [Tutorial: Implementing a Combat system](./Turn-based-Combat-System.md)
|
|
- [Tutorial: Evennia for running tabletop rpgs](./Evennia-for-roleplaying-sessions.md)
|
|
|
|
### Miscellaneous system tutorials
|
|
|
|
_Design various game systems and achieve particular effects._
|
|
|
|
- [FAQ](./Coding-FAQ.md): A place for users to enter their own hints on achieving various goals in
|
|
Evennia.
|
|
- [Tutorial: Adding a Command prompt](./Command-Prompt.md)
|
|
- [Tutorial: Creating a Zoning system](./Zones.md)
|
|
- [Tutorial: Letting players manually configure color settings](./Manually-Configuring-Color.md)
|
|
- [Hints: Asking the user a question and dealing with the result](./EvMenu.md#ask-for-simple-input)
|
|
- [Hints: Designing commands that take time to finish](./Command-Duration.md)
|
|
- [Hints: Adding cooldowns to commands](./Command-Cooldown.md)
|
|
- [Tutorial: Mass and weight for objects](./Mass-and-weight-for-objects.md)
|
|
- [Hints: Show a different message when trying a non-existent exit](./Default-Exit-Errors.md)
|
|
- [Tutorial: Make automatic tweets of game statistics](./Tutorial-Tweeting-Game-Stats.md)
|
|
- [Tutorial: Handling virtual time in your game](./Gametime-Tutorial.md)
|
|
- [Tutorial: Setting up a coordinate system for rooms](./Coordinates.md)
|
|
- [Tutorial: customize the way channels and channel commands work in your game](./Customize-channels.md)
|
|
- [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._
|
|
|
|
- [list of contribs](https://github.com/evennia/evennia/blob/master/evennia/contrib/README.md)
|
|
|
|
- [In-game Python: dialogues with characters](./Dialogues-in-events.md).
|
|
- [In-game Python: a voice-operated elevator](./A-voice-operated-elevator-using-events.md).
|
|
|
|
### Web tutorials
|
|
|
|
_Expanding Evennia's web presence._
|
|
|
|
- [Tutorial: Add a new web page](./Add-a-simple-new-web-page.md) - simple example to see how Django pages
|
|
hang together.
|
|
- [Tutorial: Website customization](./Web-Tutorial.md) - learn how to start customizing your game's web
|
|
presence.
|
|
- [Tutorial: Bootstrap & Evennia](./Bootstrap-&-Evennia.md) - Learn more about Bootstrap, the current CSS
|
|
framework Evennia is using
|
|
- [Tutorial: Build a web page displaying a game character](./Web-Character-View-Tutorial.md) - make a way
|
|
to view your character on the web page.
|
|
- [Tutorial: access your help system from your website](./Help-System-Tutorial.md)
|
|
- [Tutorial: add a wiki on your website](./Add-a-wiki-on-your-website.md)
|
|
- [Tutorial: Web Character Generation](Web-Character-Generation/) - make a web-based character
|
|
application form.
|
|
- [Tutorial: Bootstrap Components and Utilities](./Bootstrap-Components-and-Utilities.md) - 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](./Evennia-for-Diku-Users.md) - read up on the differences between Diku style
|
|
muds and Evennia.
|
|
- [Evennia for MUSH Users](./Evennia-for-MUSH-Users.md) - an introduction to Evennia for those accustomed
|
|
to MUSH-style servers.
|
|
|
|
|
|
```{toctree}
|
|
: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
|
|
|
|
```
|