uchicago-cs / chiventure

A text adventure game engine developed in UChicago's CMSC 22000 - Introduction to Software Development
40 stars 13 forks source link

Adapt proof-of-concept WDL files to actual WDL #396

Open borjasotomayor opened 4 years ago

borjasotomayor commented 4 years ago

Before development on chiventure started, we created two proof-of-concept WDL files to give students a sense of what a WDL file might look like: https://github.com/uchicago-cs/chiventure/tree/master/games

One or both of these files should be adapted to the actual WDL format. Doing this may uncover missing features that need to be implemented (if so, make sure to link to the relevant issues from this issue).

ecoble commented 4 years ago

I have adapted the distaff wdl file so that it loads without crashing, however Chiventure is still missing functionality for this game to play as intended. Here's what's missing:

Additionally, I don't think there is anything set up to support a door acting as a connection between two rooms. I am thinking for now we probably don't need to explicitly have this set, instead we can just set conditions that you can't move into a room unless the door is unlocked.

Another thing to note, it seems that room ids must be prefixed with the word "room" (i.e. "A" will fail type checking but "room A" will pass).

I will adapt the orb wdl file in the same way, it looks like it might be easier to get the orb game working since its conditions seem more basic.

ecoble commented 4 years ago

I have left the condition specifications in the wdl in as comments, once conditions are working we can go back and add it with the right syntax

borjasotomayor commented 4 years ago

I've added an issue that is somewhat related to this one: right now, chiventure doesn't print the "intro" to the game. See #404.

ecoble commented 4 years ago

Opened issue #406 to get conditions working

ecoble commented 4 years ago

Orb.yaml now loads as well. A few other things to note is that currently all items must have at least one action (I gave items without actions the "push" action just so the game would load), and short descriptions have a character limit.

borjasotomayor commented 2 years ago

I've created a wdl/examples branch where I've added an examples/distaff.wdl file that is a first attempt at adapting the original proof-of-concent distaff.wdl file into the new JSON WDL format.

Basic mechanics like looking, moving from one room to another, basic actions (like opening and pulling) and taking objects seems to be working fine (except for formatting issues described in #413 and #740). However, as far as I can tell, the following is not yet supported in the new JSON WDL (although there appears to be code for some of this internally, just not available through WDL):