Up to Main Index Up to Journal for July, 2021 JOURNAL FOR SUNDAY 4TH JULY, 2021 ______________________________________________________________________________ SUBJECT: Experiment finally unleashed… DATE: Sun 4 Jul 19:45:27 BST 2021 I’ve finally pushed out my experiment to the main WolfMUD git repository, now everyone and anyone can grab a copy and play along. By pure coincidence it’s on a branch called ‘experiment’. As the branch is now public it means no more rebasing and rewriting history to cover up my mistakes :P For some reason people seem to think all the code appears fully formed and perfect in my repositories. I think the fact that I’m now considering restarting WolfMUD for the second time in the same repository[1] proves otherwise! I can’t believe it’s only been six weeks since I started this experiment and already a lot of the core functionality has been implemented. I’ve spent the last few days making sure the experiment branch is in a state I’m now happy to share. Using it is very easy: git clone https://code.wolfmud.org/WolfMUD cd WolfMUD git checkout -b experiment origin/experiment go build -o bin ./... cd bin ./server For Windows users the last line will be “.\server.exe”. You can keep up to date as things develop using: cd WolfMUD git fetch origin git merge origin/experiment go build -o bin ./... Since my last update I’ve moved player’s into their own Thing.Who inventory for locations — i.e. ‘Who’ is here. I’ve also added crowd control to the matcher and LOOK command. Crowd control was a popular feature where you don’t try listing large numbers of players at a location — you just say there is a crowd here. This is also a good way to keep things nice and responsive for players ;) When handling commands, messages now use multiple message buffers. This is much simpler than the current implementation but still handles messages to the actor, participants, observers and multiple locations. It even separates out the actor and any participants from the observers automatically. All of the current commands have been updated to notify participants and observers of an actor’s actions as appropriate. Dynamic aliases and qualifiers have been added. This is a new feature that is not currently in WolfMUD. The dynamic alias lets a player refer to themselves when executing commands using the alias SELF. For example ‘EXAMINE SELF’. SELF will always only refer to the actor issuing a command. Dynamic qualifiers allow players to refer to items in their own inventory using a qualifier of ‘MY’. For example ‘EXAMINE MY SWORD’, as opposed to the sword of the dead city guard laying at the player’s feet… This should make inventory management easier for players. A new COMMANDS command lists all of the currently implemented commands: >commands Commands currently available: #DUMP DROP INVENTORY NORTHWEST SE UP #GOTO E L NW SOUTH W #TELEPORT EAST LOOK OPEN SOUTHEAST WEST CLOSE EXAM N PUT SOUTHWEST COMMANDS EXAMINE NE QUIT SW D GET NORTH READ TAKE DOWN INV NORTHEAST S U > There are still a lot of features missing compared to the current WolfMUD. The output to players isn’t pretty. There are no player accounts. The zone files to load are hard-coded. The world is still in a frozen state with nothing happening around the player. The next feature being implemented will be actions for mobiles. This will require an event system and scripting to be implemented. After that resets and respawns, which require a working event system to function. As long time readers will know, resets and respawns were the bane of WolfMUD for a very long time. It took multiple iterations of the design to get working well. I’m glad I've got this journal and the Git repository so I can look back over what occurred last time and quickly skip over all the mistakes this time! I’m still not sure where this experiment is leading me. However, I think it will be the adding of these specific features that will make or break the experiment, and decide whether the experiment will become the next WolfMUD… -- Diddymus [1] See commit 7102d7ece9a0113f back in 2015. Up to Main Index Up to Journal for July, 2021