Go to file
vilmibm 6d6e6d5726 WIP on emotes; need to fix client side / command verb parsing 2022-12-29 00:22:18 -05:00
client/cmd WIP on emotes; need to fix client side / command verb parsing 2022-12-29 00:22:18 -05:00
proto WIP towards handling commands 2022-07-22 16:10:12 -05:00
server WIP on emotes; need to fix client side / command verb parsing 2022-12-29 00:22:18 -05:00
.gitignore WIP towards handling commands 2022-07-22 16:10:12 -05:00
LICENSE Initial commit 2022-07-01 01:48:22 -05:00
README.md WIP towards handling commands 2022-07-22 16:10:12 -05:00
go.mod start lua planning 2022-12-15 00:14:22 -08:00
go.sum start lua planning 2022-12-15 00:14:22 -08:00
witch_spike.lua some more witch spike notes 2022-12-16 16:49:17 -08:00

README.md

hermeticum is the next version of tildemush: a full rewrite of the alpha release.

there are two major differences: Go instead of Python and Lua instead of a from-scratch scripting language for game objects.

Otherwise, this is a pretty faithful implementation of what tildemush was planned to be (and mostly implemented in the alpha).

but why

the alpha version of tildemush does work! you can script objects and make rooms and do all sorts of things. Unfortunately, it:

  • gets laggy with any real number of users
  • has memory leaks
  • consists of very poorly abstracted spaghetti code
  • has a half-implemented client
  • is extremely hard to add to (I gave up trying to do scheduled tasks)
  • has a very brittle, very fragile, 100% hacks scripting language for game objects
  • has a very inelegant and inefficient system for handling revisions to game objects code

I feel very strongly that a total rewrite is necessary. I also feel very strongly that Go is a better choice for this kind of application than Python.

new technical stuff

  • API is grpc/protobuff based
  • client uses tview which I find more pleasant to work with that urwid

the name though

the name "tildemush" has never quite sat right with me. I don't know why. I'm a lot more pleased with hermeticum, which describes what it is I'm really inspired by when it comes to MU* engines: the spaces a mind can create to store wisdom. I like the idea of mapping these mental spaces into a computer.

docs

I haven't moved over any design docs or notes or anything like that. Refer to the tildemush repo for that kind of stuff.

to regenerate the API code: protoc --go_out=. --go_opt=paths=source_relative --go-grpc_out=. --go-grpc_opt=paths=source_relative proto/hermeticum.proto