Hacker News new | past | comments | ask | show | jobs | submit login
Emacs minor mode for d20 tabletop roleplaying games (spwhitton.name)
93 points by pabs3 60 days ago | hide | past | favorite | 17 comments



Emacs is so fantastic, I just want it to have a UI that can compete with VS Code and IntelliJ.

I also understand that its UI limitations are also part of its strength, as being fundamentally text-based results in a consistent UX no matter what esoteric modes you activate.

I wonder if there's a middle ground; say, by allowing for frames & windows to have "chrome" that can take up some space on their edges and allow drawing widgets via GTK or Cairo and plumbing input events back into Lisp. Then we can have stuff like sidebars, status areas, code lenses, etc. that behave like modern editors, and people that don't like it can just leave the "chrome" option disabled.


> Then we can have stuff like sidebars, status areas, code lenses, etc. that behave like modern editors

What's stopping you from doing that in emacs now? That sounds like a bunch of stuff we can already have?


All of that has been around for a quarter of a century (since XEmacs and GNU Emacs 21 at least). See CEDET for an example: http://cedet.sourceforge.net/

CodeLens is just some text properties and tool-tips/pop-ups.



> I wonder if there's a middle ground;

I hope that McCLIM (https://common-lisp.net/project/mcclim/) can some day fill that role, or a project that is similar to McCLIM.

I cannot imagine a better way of interacting with a computer than to have objects that can be manipulated both interactively and with Lisp code. Emacs is already close to that ideal, but I think we could do even better.


I wondered what would happen if you applied this philosophy to a game engine. Imagine Unity, but with the ability to open a REPL in-game and run all of your code interactively.

I managed to accomplish this somewhat with Lua. Designing the engine so that all the cool things like creating and equipping items, generating maps, etc. are in public APIs you can use interactively has given me a lot of power. I'm not sure if the benefits offset the maintainability tradeoff, but I'm somehow continually excited to sit down and mess around with it. Taken as a single-user experience, being the only person to understand the system and write more code, it is almost a dream come true.


Also see: Show HN: Real-time multiplayer games with cubes. Early feedback on dev docs?[1]

1. https://news.ycombinator.com/item?id=26109153


Arcadia seems like what you described. https://github.com/arcadia-unity/arcadia



There is no reason you can't do this now, Inter process communication is a thing.


I use Emacs Org mode to organize my notes (and character sheet) for my main D&D campaign. I have an automatic export to HTML set up in after-save-hook, which then gets synced to my web server via Syncthing, so my notes are readable by the other players and the DM within moments of me saving the file. It's great.


and if you want to go totally bonkers, https://github.com/dungeon-mode/game (talks archived from emacsconf2020 here: https://mirror.csclub.uwaterloo.ca/emacsconf/2020/)


Org mode is such an incredible part of emacs. It's amazing to see what people are building with it.


Definitely gonna try this for my Stars Without Number sessions...awesome


This is great, but to this day I just don't like to have electronic helpers at the table when playing fantasy RPG's. For online, though, this would be awesome.

I wonder if I would feel differently about this when playing a sci-fi RPG... hmm...


I DM streaming Emacs with ascii maps a-la roguelike and this minor mode on org. Players love it. Tactical depth of map and all theater of the mind engagement.

I actually kick-started my maps with rogel-ike. An Emacs roguelike game. Check it out.


I use emacs for keeping track of my character sheet/notes for a dnd session. its pretty good, i just want an org exporter of 5e.tools or 5ewiki or something to have all my spells.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: