ExVenture Updates for October 2018

Posted on 26 Oct 2018 by Eric Oestrich

The last month of ExVenture was a lot of minor refactors and other chores that needed to happen plus a migration back to working on Gossip.

Links for MidMUD & ExVenture:


I started working on Gossip again. There is a new support flag that you can support, which loads basic information about the games that are online, games. You can also receive events for when a game connects and disconnects now. This should help you keep local caches more up to date. See the Gossip Docs for more information about the new events.

Gossip also got a HUGE refactor of it’s socket code. It had started getting fairly spaghetti like so I spent a weekend refactoring it to be much nicer, this pull request shows how that went.


I also launched a new site called Grapevine that is for players on the Gossip network. Games have a profile page now, which shows the basic game information plus current players and how to connect and play yourself.

Players also have a profile which shows the in game characters you’ve registered. Grapevine is a full Gossip application which means you can send a tell to it. This allows grapevine to know who your player is and can link the character to your profile.

There is a lot of work on this site that I want to do in the future. The biggest of which will be achievements. See this issue on Gossip’s GitHub if you’re interested in helping shape what these look like.

Gossip Elixir Client

The Gossip elixir client also got a major refactor thats about to wrap up. It was getting large enough to finally have some patterns take root and be able to refactor to be nicer (it might have also been drifting towards spaghetti code as well oops.) This pull request shows this refactor in action.

The client also got updated to include all of the current features that Gossip the server supports. You can also not support every feature that Gossip and the client can handle by providing only the callback modules that you wish to support. I need to update the docs for this but expect a 1.0 client soon!


Games supporting Gossip is starting to have a minor upswing and I want to be ready for when this takes off. To help with that I started Raisin to handle moderation. Raisin is a network application like Grapevine and logs the goings on of the Gossip network. This is all it does at the moment, but this is the place where network admins will be able to moderate the community.

Backbone Sync

To support Grapevine and Raisin, Gossip needed a new level of connecting game which I’ve called a network application. This application gets socket super powers when it connects and starts to receive sync events. When Grapevine loads it gets a set of sync/games and sync/channels events, and will continue to get them as anything changes.

To keep code duplication minimal, when I started Raisin I pulled out the common sync code into a separate OTP application. It manages its own repo and keeps sync code in one spot. gosisp-backbone is up on GitHub.

Small Tweaks

  • API representers to handle outputting in various formats
  • Remote erlang QR code library for an elixir version
  • Player saves get updated via a common function
  • Create a character struct for a user, continuing the migration to multiple characters per account
  • Gossip update indexes to use the SQL lower() function
  • Gossip can have user agent repo links
  • Gossip blocks certain game names
  • Gossip can have connections for your game
  • Gossip’s your game page got a spruce up

Social Updates

This month was pretty good for ExVenture on the social front. Lots of new stars across all of the projects!

There are several new patrons over at the Patreon as well. Welcome and thanks for supporting the project!

The discord group has several new members in the last month.

I was also promoted to be an admin of The MUD Coders Guild this month. I look forward to helping make Gossip and co a more official part of the guild. It was already unofficially official since there is a #guild-outreach channel where we all talked about new features, but now we can take it to bigger and better heights!

Next Month

Over the next month I will most likely keep going with Gosisp, Grapevine, and Raisin. In particularly Raisin needs to be able to have some power on the network. That will be fun to write the events for.

I also want to keep moving on achievements. I will most likely add them into ExVenture first, before starting on Gossip itself. I would like to be ahead of the network for Gossip instead of letting ExVenture play catch up.

comments powered by Disqus
Creative Commons License
This site's content is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License unless otherwise specified. Code on this site is licensed under the MIT License unless otherwise specified.