Rooms

Inheritance Tree:

┌─────────────┐
│DefaultObject│
└─────▲───────┘
      │
┌─────┴─────┐
│DefaultRoom│
└─────▲─────┘
      │       ┌────────────┐
      │ ┌─────►ObjectParent│
      │ │     └────────────┘
    ┌─┴─┴┐
    │Room│
    └────┘

Rooms are in-game Objects representing the root containers of all other objects.

The only thing technically separating a room from any other object is that they have no location of their own and that default commands like dig creates objects of this class - so if you want to expand your rooms with more functionality, just inherit from evennia.DefaultRoom.

To change the default room created by dig, tunnel and other default commands, change it in settings:

BASE_ROOM_TYPECLASS = "typeclases.rooms.Room"

The empty class in mygame/typeclasses/rooms.py is a good place to start!

While the default Room is very simple, there are several Evennia contribs customizing and extending rooms with more functionality.