HugoComp 2012

Post a reply


This question is a means of preventing automated form submissions by spambots.
Smilies
:smile: :sad: :eek: :shock: :cool: :-x :razz: :oops: :evil: :twisted: :wink: :idea: :arrow: :neutral: :mrgreen:

BBCode is ON
[img] is ON
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: HugoComp 2012

by Bainespal » Mon Dec 31, 2012 9:22 pm

Okay, you should get mine tomorrow, then. I already filled in the long_desc property for the player character object. I just want to run through it again, and think about any other descriptions/messages that might make good additions.

by Roody_Yogurt » Mon Dec 31, 2012 8:25 pm

Uh, I guess whenever people want to submit them. I'd be ready to submit mine tomorrow. I just need to write a review of the Cyberganked proof-of-concept.

by Bainespal » Mon Dec 31, 2012 1:54 pm

When are updates due, for the public release?

by pinback » Sat Dec 22, 2012 3:23 pm

C'mon, LET'S GO ALREADY.

by Ice Cream Jonsey » Sat Dec 22, 2012 3:06 pm

Ohhh, OK. Well good then, as I got updates from Gerrit and I needed to upload a new version.

(Should be good in five minutes.)

by Roody_Yogurt » Sat Dec 22, 2012 12:06 pm

Sure, I guess it'd be good to keep these versions around for posterity. I'd probably wait until after the year, though, as I promised this time as a betatesting window.

by ICJ » Sat Dec 22, 2012 12:02 pm

Would you like me to download and host them all? I can also make a page on JC announcing them.

by Roody_Yogurt » Sat Dec 22, 2012 1:14 am

Ok, it's midnight on the west coast, so it's time to release some games! I was reminded recently that we called it the Hugo Open House last year, and it's a pretty good description this year. For the most part, our offerings are a bit more humble this time around. That said, it helped me finish up the year with a little bit more out the door (I also will be releasing a short artistic game within the next couple days). I hope everyone else feels the same way.

The games!

Waiting- Paul Lee's offering, with source.

Clockwork Boy 2- A very short sequel to last year's game by Marius Müller, coded by me. We got into a disagreement about where it was going so the story pretty much is unfinished.

Patty Flinger- The only game submitted months ago, by Tdarcos!

Cyberganked- Robb's WIP. This is the proof of concept!

EDIT: loafingcoyote's game has joined the fray!

C.H.U.M.S.- Looks intriguing!

by pinback » Fri Dec 21, 2012 10:28 pm

Alright, let's GET TO THOSE GAMES!

by Bainespal » Fri Dec 21, 2012 2:20 pm

I just emailed mine. It's not what I was originally going to submit, but I'm happy enough with it.

EDIT: I emailed and uploaded my game, because I'm compulsive and paranoid. I hope that doesn't annoy anybody.

by ICJ » Fri Dec 21, 2012 10:41 am

Deadline tonight, right? Is anyone in danger of not making the deadline?

by Roody_Yogurt » Sun Dec 16, 2012 10:10 pm

This is still on! Personally, I intend to submit at least one collaborative game that doesn't use any of the suggested Hugo Comp themes. Requiring more of a miracle is my other game idea, which I haven't even started on yet.

Games are due at the end of the day on the 21st, wherever you are. They can be uploaded to http://hugocomp.gerynarsabode.org/ or e-mailed to roody.yogurt@gmail.com (I have that e-mail address properly forwarding this year).

After games have been received, we'll take the rest of the year to betatest and go over the games ourselves. Then, we can release the games in 2013, the next year, just as we did last year.

That's the plan, anyway.

by Bainespal » Sun Dec 16, 2012 3:05 pm

Is this still on? Is the deadline going to be the end of the day on the 21st?

If the world ends and I still haven't finish my game for HugoComp, I'll know I'm late. ;)

Re: HugoComp 2012 announced

by loafingcoyote » Mon Nov 19, 2012 3:03 pm

jjsonick wrote: I've forgotten some things (both ZIL-wise and what we did in ZILF), but I'm warming up looking back over this stuff again.
It's too bad you don't have time to submit a ZIL game to Hugo Comp. I think Roody has the right idea about having a ZIL specific event in 2013. Maybe call it the "Build ZIL Comp", where the theme is to add something functional to the language.
jjsonick wrote:Yeah it would make sense to actually break the current parser.zil up into parser.zil (the actual parser), and library.zil (the library/world model stuff), or maybe even finer divisions, some point soon. I'll add that as a feature request.
That's probably a good idea, since it would make it a little easier for new users to understand. I'm thinking specificaly about section 14.2 in the manual where it states, "And you can't touch the parser files. Ever." That's where I got the impresion they could be replaced some other way.

Here is an improved version of the verbs lock/unlock for ZIL. It's similar to the one above, except that you don't need a separate action routine for the PRSI. All the action is now handled by the verb routines.

https://dl.dropbox.com/u/11102009/lockv.zip

This has been fun but I'm afraid I wont be able to do much with ZIL till after Hugo Comp. My game might be a little too ambitious for the time allowed and comes with three new extensions for Hugo, so I'm officially swamped.

-lc

Re: HugoComp 2012 announced

by jjsonick » Mon Nov 12, 2012 11:23 pm

Sure thing! I hope it helps you and any others exploring ZILF. Most everything demonstrated in that code should be mentioned either in the ZIL manual or in ZIL_ZILF_differences.txt. I've forgotten some things (both ZIL-wise and what we did in ZILF), but I'm warming up looking back over this stuff again.

Some of your earlier comments:
loafingcoyote wrote: 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.
Yeah, you just edit parser.zil itself to replace anything.
loafingcoyote wrote: 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...
Yeah it would make sense to actually break the current parser.zil up into parser.zil (the actual parser), and library.zil (the library/world model stuff), or maybe even finer divisions, some point soon. I'll add that as a feature request. There may be some limit to the number of other zil files you can include in your main zil file (the one you compile), but I'm guessing it's high enough that you would never practically reach it. So you can split your zil game into whatever more logical division of zil files, and have a INSERT-FILE for each of them in the zil file you actually compile.

by loafingcoyote » Mon Nov 12, 2012 10:39 pm

jjsonick wrote:So maybe we should start a separate ZIL thread with this sub-forum? Or maybe if there's enough interest it could become a new base, because I agree, it maybe doesn't make a lot of sense to have it mixed in with HUGO threads?
Well, the ZIL discussion is pretty much on topic since ZIL is welcome to the Hugo Comp, so I wouldn't be too concerned. It's just that I have a fair bit more code to share and would rather not flood the Hugo Comp discussion with code that may be of interest to only a few people. I may just do like you did and use Dropbox.
jjsonick wrote:In any case, I did dig up my extended zil version of cloak which tests a lot of what's in the library currently. Just compiled it with 0.4 and it seems to working:
https://dl.dropbox.com/u/3847822/IF/cloak_plus.zil
This is exactly the sort of example code I was talking about. There is a lot here that I haven't even tried to implement and would have struggled to learn on my own.

In addition to what you mentioned, this example code helped me understand M-ENDs better. I now know that there are four of them(M-BEG, M-END, M-ENTER AND M-LOOK), they're defined as constants in parser.zil and they work with a room's room argument(RARG) to signal a local event.

Thank you for this!

by jjsonick » Mon Nov 12, 2012 3:29 pm

Hurrah! Glad to know AGAIN isn't broken now. And I must have been thinking about NARTICLE, which is implemented, instead of A and T. Thanks for reporting those, roody.

Great to see a start on some lock/unlock zil code, loafingcoyote.

So maybe we should start a separate ZIL thread with this sub-forum? Or maybe if there's enough interest it could become a new base, because I agree, it maybe doesn't make a lot of sense to have it mixed in with HUGO threads?

In any case, I did dig up my extended zil version of cloak which tests a lot of what's in the library currently. Just compiled it with 0.4 and it seems to be working:
https://dl.dropbox.com/u/3847822/IF/cloak_plus.zil

Things it demonstrates:

Event queues - edible apple that when examined, queues up a routine that will fire in 3 turns (and also kills you if you eat it, to test JIGS-UP), a table that when examined queues a routine that will repeat every turn until you take another action (examining the hook in the cloakroom) to deque it.

Pulling text from tables - Examining the painting or card should randomly display a different description each time, not repeating until all possible descriptions have been shown once (6 for the painting, 3 for the card). Reading the painting should pick from three different signature possibilities to display, in a 'totally' random fashion - ie, it doesn't guarantee all other possibilities have been shown before repeating a particular possibility.

A closet whose lit state can be changed by a lightswitch in a adjoining room, and a flashlight, and a transparent container (the SPHERE) containing a lightsource (FIREFLY) to test lighting routines.

A SIGN and a BOOK to test difference between TEXT (shows when object examined or read) and TEXT-HELD (only shown when object is held and read).

A bunch of containers (openable or otherwise) and surfaces in the Study to test container model, SIZE, CAPACITY, etc.

Grapes to test PLURALBIT, a cube that executes WAIT-TURNS, 'darkness' as a global, generic object you can THINK ABOUT, two animals to test PERSONBIT and the personal pronouns, and the proverbial more...

EDIT: Corrected description of card and painting's behavior.

Also, realized my original notes for this code are in the 'testing' folder of the ZILF source. The debug verbs have been removed (and the Zoom problem was resolved), but the rest of this text should be valid:

http://zilf.svn.sourceforge.net/viewvc/ ... iew=markup

by loafingcoyote » Sun Nov 11, 2012 11:46 pm

Hi jjsonique! Thanks for weighing in on this discussion. I understand if you don't have much time for this since, in reality, neither do I. However, any advice or information you have concerning ZIL would be invaluable to me or anyone else around here interested in learning ZIL.

To me it presents an intriguing puzzle and a genuine mystery. It's my understanding that ZIL is the first language made exclusively for writing IF, so I can't believe more people aren't involved with it. Of course, I can understand how daunting it is since, in its current form, it resembles a salvage operation more than anything. That's not to disparage all the hard work that's been put into it, by the way. Without it we wouldn't have anything to work with now!
jjsonique wrote:That's not to say that making a ZILF game at this point would not be some rough going, especially with things like TAKE ALL and OOPS not implemented, and AGAIN apparently broken again.
Yeah, whoever makes a game in ZIL is going to have to approach the project with limited expectations on what they can accomplish. That's why Hugo Comp is the perfect place for new ZIL games. No one is going to be torn appart by wolves for contributing a game that is less than perfect(in either ZIL or Hugo). We're just just glad for new Hugo games, no matter what they look like.
Roody_Yogurt wrote:As far as the A/T token stuff goes, no, it has not been implemented yet, so it was moved to "feature requests." In the meantime, loafingcoyote's earlier code is a good example of how it's within our abilities to contribute on the library/code side of things, so that's cool.
What ZIL needs, other than full time users, is more example code. So, yeah, we can contribute a lot by simply writting functioning code. I've focused on adding simple verb-stub type verbs so far. I also wrote a working version of the verbs "lock"/"unlock". I cheated a bit, since what I wanted to do was add a "KEYOBJECT" property to lockable items, just like Hugo. After an exasperating couple of hours I had to admit that it was beyond my current ability. I ended up having the PRSI(indirect object) handle the locking and unlocking part while the verb routines handle all the default messages. Here is the code:

Code: Select all

<SYNTAX UNLOCK OBJECT WITH OBJECT = V-UNLOCK>

<ROUTINE V-UNLOCK &#40;&#41;
	<COND &#40;<NOT <FSET?, PRSO, LOCKABLE>>
			<TELL "You can't unlock">
			<THEARTICLE .PRSO>
			<TELL D PRSO "." CR>&#41;
		&#40;<FSET?, PRSO, OPENBIT>
			<CTHEARTICLE .PRSO>
			<TELL D PRSO " is open." CR>&#41;
		&#40;<NOT <FSET?, PRSO, LOCKEDBIT>>
			<CTHEARTICLE .PRSO>
			<TELL D PRSO " isn't locked." CR>&#41;
		&#40;<NOT <FSET?, PRSI ,KEYBIT>>
			<CTHEARTICLE .PRSI>
			<TELL D PRSI " wont unlock anything." CR>&#41;
	&#40;ELSE <TELL "That isn't going to work." CR>&#41;>>

<SYNTAX LOCK OBJECT WITH OBJECT = V-LOCK>

<ROUTINE V-LOCK &#40;&#41;
	<COND &#40;<NOT <FSET?, PRSO, LOCKABLE>>
			<TELL "You can't lock">
			<THEARTICLE .PRSO>
			<TELL D PRSO "." CR>&#41;
		&#40;<FSET?, PRSO, OPENBIT>
			<CTHEARTICLE .PRSO>
			<TELL D PRSO " is open." CR>&#41;
		&#40;<FSET?, PRSO, LOCKEDBIT>
			<CTHEARTICLE .PRSO>
			<TELL D PRSO " is already locked." CR>&#41;
		&#40;<NOT <FSET?, PRSI ,KEYBIT>>
			<CTHEARTICLE .PRSI>
			<TELL D PRSI " wont unlock anything." CR>&#41;
	&#40;ELSE <TELL "That isn't going to work." CR>&#41;>>
I'm sure this isn't optimal but It works. What the above needs most is for the verb to to be able to match the subject in the messages (whether the PRSO is plural or singular). It's easy to do but I ran out of time.

Now, for any key object, you would need this code in its action routine.

Code: Select all

<ROUTINE SILVERKEY-F &#40;&#41;
	<COND &#40;<AND <VERB? UNLOCK>
		<EQUAL? ,PRSO ,WOODENBOX>
		<FSET?, PRSO, LOCKEDBIT>>
			<TELL "You unlock">
			<THEARTICLE .PRSO>
			<TELL D PRSO " with">
			<THEARTICLE .PRSI>
			<TELL D PRSI "." CR>
			<FCLEAR, PRSO, LOCKEDBIT>&#41;
		&#40;<AND <VERB? LOCK>
		<EQUAL? ,PRSO ,WOODENBOX>
		<NOT <FSET?, PRSO, OPENBIT>>
		<NOT <FSET?, PRSO, LOCKEDBIT>>>
			<TELL "You lock">
			<THEARTICLE .PRSO>
			<TELL D PRSO " with">
			<THEARTICLE .PRSI>
			<TELL D PRSI "." CR>
			<FSET, PRSO, LOCKEDBIT>&#41;>>
In this example the silver key unlocks the wooden box, which has the LOCKABLE flag. To use this action routine with other key objects all you would have to do is change the "WOODENBOX" object to the object that the given key unlocks(You would also, of course, have to change the name of the action routine).

That's not quite all. You need to drop one more piece of code into the V-OPEN routine found in parser.zil.

Code: Select all

	&#40;<FSET?, PRSO, LOCKEDBIT>
	    <PRINTR "You'll have to unlock that first.">&#41;
I put it in just before the ELSE statement.

You know, I'm starting to get a little self conscious about posting all this ZIL code in the Hugo Comp thread. I would like to keep this up, but I wonder where would be the best place to post new ZIL code? I can focus on it for about another week before I have to bear down on my Hugo Comp game. Then I expect it will dominate my life(for about four weeks anyway).
Roody_Yogurt wrote:Some more ZILF news. The new release 0.4 is now available here.

The AGAIN issue was tracked down to some specific code.
All right. It's nice to see progress already.

-lc

by Roody_Yogurt » Sun Nov 11, 2012 10:34 pm

Some more ZILF news. The new release 0.4 is now available here.

The AGAIN issue was tracked down to some specific code.

In older versions of Cloak of Darkness:

Code: Select all

    <REPEAT &#40;&#41;
        <COND &#40;<PARSER>
                <PERFORM>
                <APPLY <GETP> ,M-END>
                <OR <META> <CLOCKER>>&#41;>
        <SETG HERE <LOC>>>>
In the AGAIN-working version, it looks like this:

Code: Select all

    <REPEAT &#40;&#41;
        <COND &#40;<PARSER>
                <PERFORM>
                ;"WAIT loops through M-END and CLOCKER in a special way during PERFORM, so skip
                those routines if WAIT ran this turn"
                <OR <META> <AND> <APPLY <GETP> ,M-END>>
                <OR <META> <AND> <CLOCKER>>
                ;"backup inputbuffers"
                <COPY>
        		<COPY>
        		<SETG>&#41;>
		<SETG HERE <LOC>>>>
So hey, make sure your game has that code.

by Roody_Yogurt » Sun Nov 11, 2012 6:21 pm

Jesse has weighed in. He's thinking that AGAIN works in the latest version, just not 0.3, the latest built release... so maybe we'll see a new release sometime in the near future.

As far as the A/T token stuff goes, no, it has not been implemented yet, so it was moved to "feature requests." In the meantime, loafingcoyote's earlier code is a good example of how it's within our abilities to contribute on the library/code side of things, so that's cool.

Top