Skip to content
Wendy Wang edited this page Aug 26, 2022 · 7 revisions

Ainneve Documentation

This is the manual and design document for Ainneve, the example MUD built from and for Evennia. You can search the documentation as well as browse all pages alphabetically in the pages list on the right sidebar. If you have trouble with unclear documentation, please let us know in an Issue or over Discord.

Get Involved

Ainneve is a collaborative project, and we welcome new contributors. We manage our to-do list as Github Issues, and we encourage people interested in getting involved to browse this list and comment on any they think sound interesting.

New features should be built against the develop branch, and bug fixes should be built against the master branch, just like Evennia itself.

Roles

Even though we have taken steps to limit the scope of Ainneve and ensure that completing it is achievable, the task of building a complete game world and game systems is still a large one. We need contributors willing to work both as Builders and as Developers. Builders and Developers work closely together to create game content. There is also no reason someone couldn't fulfill both roles at once if they have the ability and interest.

Builders are responsible for the creation of game content, and they generally create batchcommand scripts instead of writing python code. The game world is built out of rooms, each of which has a description as well as potentially a number of detail descriptions available to look at within the room. Builders create all of these details, and are the storytellers driving the development of the Ainneve game world.

Developers are responsible for implementing in-game functionality within python modules. In order for characters to interact with objects in the game, a Developer must create or modify the appropriate object Typeclasses and in-game commands to simulate the interaction.

Builders will come up with ideas for story or world content, and may find that they want characters to interact with the world in new ways. The Builder would make a request to a Developer describing what they want to do, and the Developer would build a toolkit of game mechanics and commands in python code that the Builder can use in different ways to create the game content they want.

For example, a Builder may decide they want to create a series of walls that characters can climb if their Climb skill is high enough. In response to their request, a Developer might create a custom ClimbableExit exit typeclass, a CmdClimb that is used to try to climb a ClimbableExit, and a CmdSetClimbTarget command that Builders can then use to set the target number for the climbing skill test to pass through a given ClimbableExit.

Contents by Role

Pages for Both Builders and Developers

Pages for Builders

Pages for Developers

  • Coding-Guidelines - Formatting standards and best practices for working with the Ainneve code base.
  • Game-Mechanics - Design document outlining the subset of rules from the Open Adventure system used in Ainneve.