Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

Liquorice - new doom editing language, sorta

Recommended Posts

I've just pushed an iniitial release of something I've been poking at in private for (it turns out) a couple of years


Liquorice is a system (specifically: A library for the Haskell programming language, impementing an embedded domain-specific language) for algorithmically generating Doom maps from code.

It closely resembles WadC which strongly influences it, but it departs in a few ways. I've written it mostly as a what-if but now that I have something that actually works, I think it will be an interesting platform for me (at least) to explore some other ideas I've got. So erm stay tuned for those I guess


The code: https://github.com/jmtd/liquorice

Example program: https://github.com/jmtd/liquorice/blob/master/birds.hs

Based on this existing WadC program: https://redmars.org/wadc/examples/#_birds_wl


That Liquorice program generates a PWAD for limit-removing ports, Doom 1, E2M8. Here' it is  with nodes: https://redmars.org/liquorice/birds.zip


Everything is up in the air and subject to change. Feedback appreciated. Enjoy!

Share this post

Link to post

Could you give some concrete examples of things you can do with Haskell/Liquorice that you couldn't with WadC? For example, you wrote on the GitHub readme.md that you get full access to the context, but what does that actually mean for map-making?

Share this post

Link to post

Good question. I guess the best way to demonstrate that would be in examples. There are a couple of small examples in the “birds” map that I should add comments around, particularly because you can point straight at the wadc version in comparison. But I should add more examples.


I actually cut something from “birds” which is impossible in wadc because it exposed a bug I haven’t fixed relating to xoffs on 2s lines, so I might bring that back when I fix the bug. 


Broadly, the advantage is that, in wadc, once a line is drawn, that’s it, it’s set in stone: but here, you can go back in and manipulate anything. So you could have one set of routines that drew some regular rooms, say, and some other code that went back and warped already drawn lines around some gravity coordinate, or something similar. Also cutting and deleting existing shapes.

Share this post

Link to post

A round up of recent updates, newest to oldest:


I shall endeavour to upload newly generated PWADs for the demo maps at some point. 

Share this post

Link to post

Not gonna lie, when I saw the title for a moment I thought it said Linguicarice...

Share this post

Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now