Skip to content

NickCody/pmud

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Primordia MUD

Welcome to the Primordia MUD

This repo contains the Primordia MUD source code packaged in a devcontainer that has all of the necessary tools and facilities to compile, build, and deploy Primordia MUD.

Getting Started

  1. All you need are vcscode and docker desktop for your platform.

  2. You'll need these directories as they are mounted by the devcontainer:

    • ${localEnv:HOME}/.ssh

    • ${localEnv:HOME}/.config/gcloud

      NOTE: You can just create an empty ~/.config/gcloud, as it's only required by some of the deploy scripts

  3. Also set these up in your .bashrc and make sure they are loaded before invoking vscode:

Build and Run

Build this way:

bazel build //mud:pmud

Run this way:

bazel-bin/pmud/pmud --config-file=pmud.caf 

Redis

You need a redis instance running and you need to set these variables in your environment:

  • REDIS_HOST
  • REDIS_PORT

Tech Stack

Compilers and IDE and Build Tools

Actor Framework

Databases and Embedded Language

Libraries:

Utilities

Auxilliary Documentation

Projects

> pmud

This is the Primordia MUD, a multiplayer text-based adventure game.

> life

bazel run //life:main -- -c 100 -r 50 -g 10000 -d 100

See life/LIFE

bazel run //pmud/graph/application:fully-connected -- 10           # complete graph (dot output)
bazel run //pmud/graph/application:random-connected --  10 100     # randomly connected (dot output)
bazel run //pmud/graph/application:matrix -- 10 100                # prints adjacency matrix representation (custom output)
bazel run //pmud/graph/application:structure --  10 100            # prints adj-list structure (custom output)
bazel run //pmud/graph/application:bfs-search --  10 100           # Does a BFS from vertex 1 -> n

> util

Multiple small utilities and test programs.

bazel run //util:cppversion           # shows which C++ version is configured
bazel run //util:lua                  # basic lua interpreter
bazel run //util:scratch              # scratch, throwaway code
bazel run //util:yaml-print           # prints a yaml file with some basic type information
bazel run //util:yaml-redis-loader    # loads yaml into redis
bazel run //util:

Blog

nickcoding.com has posts of my pmud project adventures.