Re: HugoComp 2012 announced
Posted: Sat Nov 03, 2012 2:17 pm
Thank You! I'm sure this is old news to some people, but I had no idea ZIL was available. I had the impression that it was still owned by Activision. I see now, thanks to Wikipedia, that they abandoned the Infocom trademark in 2002; Which just happens to be one of dates on the ZIL manual. Man am I behind the times!Roody_Yogurt wrote:In the end, I decided, why put off until 2013 what you can do in 2012, so yes, people can also submit ZIL games (if so, you'll want the ZIL manual and ZILF). You're welcome!
Anyway, I took a break from Hugo last night and checked it out. So far I've made two rooms, a torch(providing light), a desk with a single drawer(although the drawer isn't in desk, it has the flag NDESCBIT, which causes it not to be mentioned in the room description), the verb "score"(which does nothing more than print a message) and a poisoned apple that kills the player if he eats it.
I've found that ZIL isn't terribly difficult to learn, but the manual is incomplete and sometimes misleading. For instance, it states that the flag CONTBIT is all that is needed to implement a container that can be opened and closed, but in reality you also need to give it the OPENABLE flag as well, which isn't even mentioned in the manual.
Other items of interest:
- The file "parser.zil" should more accurately be called a library, since it contains not only the parser but globals, constants, object properties, attributes(which they call "FLAGS"), misc routines, verbs and verb syntax. The manual mentions other items of what it calls the "Substrate" which aren't present; like some common object definitions and code for in-game hints.
The code can be broken into parts and included just like Hugo. The syntax for that is "<INSERT-FILE "[file to be inserted]">. I haven't figured out yet whether it matters where the file is included. So far it doesn't.
The "again" verb causes my parser to freeze. I don't know if this is due to the v-again routine itself or an error in the shell. I wish we had access to the source from a full Infocom game so we could see exactly how they put it together.
I haven't figured out how to replace routines or objects from "parser.zil". I suspect that this wasn't an option and they just copied and modified the library files themselves. It would be nice to know for sure, since I prefer the way Hugo handles replacing routines and objects. It would also make fixing ZIL's "Cloak of Darkness" easier, since the current version doesn't do it justice(Ex: The darkwarning mentions the possibility of being eaten by a grue, which I'm pretty sure isn't present in any other CoD game).
Since contributing a game in ZIL is an option, I think it might be a good idea to split the ZIL conversation off and provide coding support for anyone who actually tries to use it. I'm not suggesting that anyone neglect their own IF work; I just think it wouldn't take that much effort to learn a few of the more dangerous pitfalls associated with ZIL. I'm guessing Inform users could be especially helpful in this area, since I get the impression that Inform and ZIL are closely related.
-lc