Dialog projects using the Standard Library without modification

As we add test cases to the new Dialog repository, I’d like to include a few larger ones, alongside the smaller examples from the manual. Right now, that includes a full-game runthrough of Miss Gosling, to hopefully put the compiler through its paces.

However, that game uses a heavily modified standard library. So does Familiar Problems—it seems to be pretty common for games to modify the library as they go. This means there’s no real way to test if a new change to the standard library breaks it.

Are there any open-source Dialog projects (or projects whose authors would be willing to open-source them for this purpose) that use the standard library, completely unmodified? Right now we have Cloak of Darkness, and we could add Craverly Heights, but both of those are fairly small. I know @mathbrush 's The Impossible Stairs is open-source; does that require any changes to the library?

1 Like

I could look into updating Sand-dancer to use the latest library; the new darkness rules affect it, mostly, and it uses some tricky stuff for tuning the radio (that you helped me with). And there’s a lot of randomness to deal with, so you’d need a good seed.

1 Like

Thanks! Yeah, all the tests currently use a fixed seed for reproducability.

I just used the standard library, so you should be able to use mine as a test case (unless I used an outdated version of Dialog).

2 Likes

Thanks! Any objection to it being distributed under an open-source license as part of the repository? (We want people to have the right to download the Dialog source code and run all the tests on it without copyright issues.)

3 Likes

That’s great, I’m happy to release it under one of the few-restriction licenses (I think MIT allows just about everything?). I’m glad you’re putting this together! Finding source code examples was really hard for me when I was writing it.

2 Likes

Yeah, the MIT license says people can “use, copy, modify, merge, publish, distribute, sublicense, and/or sell” it, as long as they include a copyright notice, and there’s no warranty of any sort.

Thanks! This is going to be very helpful! (Have I said “Thanks!” too many times?)

2 Likes

Okay, MIT sounds good, and saying thanks seems just fine. Merci!

1 Like

I haven’t haved the need of altering the library, but I suspect that the unusual mean for including is useful for the mods; namely, I suspect that something along this (command) line:

dialogc source.dg libmods.dg stdlib.dg

should do the trick of modifying the library without altering it, or not ?

Best regards from Italy,
dott. Piergiorgio.

It would, but it’s generally easier to edit the library itself—there’s no mechanism like in Inform 7 to insert a rule in between two stdlib ones, for example, only to override them completely, and removing stdlib rules is a pain. So the general assumption with Dialog is that you have a copy of stdlib in each project directory, and you edit it as needed.

2 Likes