beginning IF programming

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: beginning IF programming

by Guest » Fri Feb 04, 2005 4:59 am

perfect, thanks

by Roody_Yogurt » Thu Feb 03, 2005 10:08 pm

There are a couple at http://tinyurl.com/5pyf7 . The language hasn't changed in a way that I think they'd be out of date.

by mercurycs » Thu Feb 03, 2005 9:37 pm

does anyone have any up to date Hugo templates for EditPlus or UltraEdit that they could pass along my way?

by Roody_Yogurt » Tue Feb 01, 2005 8:24 pm

Glad to hear it.

by mercurycs » Tue Feb 01, 2005 8:01 pm

Ok, Hugo looks like it will be just fine for me. I don't really want to fret anymore about the choice. It seems that anything done in the other languages can be done in Hugo too. I appreciate your replies. I will soon be posting for help I am sure.
-cs

by Cryptonomic » Tue Feb 01, 2005 3:12 pm

I was thinking about Roody's post and I think it highlights exactly why some elements of system design are "good" or "bad" only in the eye of the beholder. Specifically:
Roody_Yogurt wrote:The example I always use recalls a time when I was coding >ASK ABOUT responses in Inform. I was expecting there to be some way to refer to the objects themselves (and using their already defined adjectives and what not) but no, you have to retype every single word (which isn't a big deal but hey, it didn't match my original assumption).
Interestingly, this is one of the things I liked about Inform and do not like about Hugo. (Actually, "do not like" is a bit strong and, truth be told, I would not mind things both ways.) In my situation, Inform more matched my particular way of thinking, in that I wanted to have topics that are not necessarily objects at all. But what this shows is that there is no "right" or "wrong" necessarily, there is simply what you like about the language and what accomodates itself well to your method of thinking. That can often be a big determinant in terms of which language you choose.

What I found helped me look at the languages was just to try coding something in the various languages. For example, I wrote a game called The Quest for Test. I found I could not code this all that well in Hugo at all. In TADS 2, it was possible but some crucial elements were missing. But in Inform I could do it without problem. Does that mean it is not possible in the other languages? No, not necessarily. But what mattered to me was that Inform let me do it first. Often, that can make all the difference in the world.

Now I find myself looking at other languages like Hugo and TADS 3 to see what is possible but, in reality, and notwithstanding that I am posting in a Hugo forum, I still find Inform the most amenable language for me. Yet it does not stop me from exploring the other languages from time to time.

Just some more thoughts.

- Jeff

Re: beginning IF programming

by Cryptonomic » Tue Feb 01, 2005 5:47 am

mercurycs wrote:I have a very ambitious project planned and was wondering exactly, because I havn't nailed down what language to use yet, what are the benefits of using Hugo compared to Inform or Tads?
This is always a tricky one to answer. Benefits are often in the eye of the beholder, to some extent. For example, Inform has a great set of extensions that even if you do not use them, you can use them to learn from to do different things. TADS has a similar set of extensions. However, TADS and Inform are both very powerful to about the same degree in terms of writing up a basic game. Hugo, I believe, shares that with them. All systems have a great amount of readily available source code to look at.

It often depends on what you want to do. Hugo has a nice character scripting system that, I think, is easy to learn. Inform has the NPC_Engine, NPC_Act, and NPC_Wait extensions - much harder to code, but I think a bit more powerful than either TADS or Hugo - at least "out of the box", so to speak. TADS and Inform both have "reactive agent planners" (for NPC pathing and movement) and if that is important to you, that might suggest those languages. That said, something like a RAP could be done in Hugo with very little problem. Both TADS and Inform have alternative libraries (like alt, Platypus, Triform, WorldClass) and that can be helpful if you are not thrilled with the "standard" library and do not want to write your own. Hugo does not have alternative libraries but such could be written and that might not even matter to you.

Hugo probably has the best cross-platform compatibility for multimedia, at least from what I hear and see. TADS is okay, for the most part, and Inform (with Glulx) can be a bit dicey, depending upon what parts of the graphic/audio set you try to use. All of this, of course, depends on the interpreters that the game has to run on. Adding media elements to TADS or Hugo is much easier (in my opinion) than doing so in Inform. Yet, in terms of just sheer platform compatibility overall, Inform has them all beat, simply because the Z-machine is ported to just about everything. (This is mainly because of its limitations in terms of size and memory, which does -- eventually -- translate into possible limitations on a game.)

By the way, when I mention TADS above I am mainly speaking to TADS 2. TADS 3 is an incredibly powerful system (particularly in terms of its ability to handle NPCs) but from a coding perspective it is a bit "messy" for some people. That said, I have found that if you go through the existing documentation it is actually not all that difficult at all, but the conceptual differences between something like TADS 3 and Inform/Hugo are somewhat severe until you get used to it.

Another element of this is supporting elements: community support, documentation, extensions. I already mentioned extensions, but documentation is a biggie for most people. Here Inform has them all beat: not only is the manual fantastic, but there is a good beginner's guide plus some good sites devoted to showing you "how it all works". TADS 2 comes in second with this, I think. TADS 3 sort of ties with TADS 2. While there is no "Author's Manual" just yet, there are two good "beginner's guides" available that cover a slew of material, although not perhaps in the best or most cogent manner. The "Author's Manual" for TADS 2, on the other hand, is good, but a bit lacking in some respects. Hugo, I would have to say, comes in third in this respect. Hugo was easy for me to learn but that is also because I had already learned Inform and Hugo is very similar to it. Had I not learned Inform and I just had the existing Hugo documentation to go off of, I think it still would have been pretty easy to learn, but perhaps not as easy.

You may have already seen this, but a good way to get a feel for the different languages and their constructs is to go to Roger Firth's Cloak of Darkness page and try out the example in the languages. See what you prefer. Beyond that, however, I found for me that a good way to do things was to try out some elements of what you want to do in any language of your choice. Yes, it takes longer to find the "right" language, but it allows you to make a more informed choice.
Hugo seems, at least to me, to be the easiest to code in.
Hugo is very much like Inform in a whole lot of ways although, yes, some of Hugo's constructs are perhaps "easier" to code up than a similar construct in Inform. Whether that "ease" means less powerful is not always very clear, but, to most levels of approximation, I do not think so. Both languages are very powerful. I personally find Inform, TADS 2 and Hugo to be very easy to code in -- but, like any language, that ease comes with learning. Everything can look a little difficult when you have no clue as to the language itself.

- Jeff

by Roody_Yogurt » Mon Jan 31, 2005 9:25 pm

It's hard to say that any system is "easier" than others, but if Hugo code already looks the most appealing to you, that's a good start. Personally, I started off with Inform and was very pleased with some aspects of Hugo's design. The example I always use recalls a time when I was coding >ASK ABOUT responses in Inform. I was expecting there to be some way to refer to the objects themselves (and using their already defined adjectives and what not) but no, you have to retype every single word (which isn't a big deal but hey, it didn't match my original assumption). Hugo, on the other hand, lets you do this.

There are several people here willing to help out with coding questions, and at least a couple consider ourselves beginners so we'd be in the same boat.

Also, as far as I know, there is no size limit in Hugo games. If you run into some limit, there are flags to bump up this or that, and you shouldn't run into unavoidable hard-coded limites unless you're doing some tricked out coding.

Basically, the best advice when choosing an IF language is to go with TADS, Inform, or Hugo as "easier" systems will cause you more hassle as you try to perfect your game. Beyond that, go with the one that seems most appealing from a coding perspective.

by Lysander » Mon Jan 31, 2005 9:13 pm

Basically, the main "draw" of Hugo is that it is easier to code in and eliminates superfluous entries like "if ; 1 is (true); print ; l1-goto greenhouse ; }". Also, you can do multimedia stuff in Hugo that's a lot harder to do in HTML TADS or Glulx.

beginning IF programming

by mercurycs » Mon Jan 31, 2005 8:41 pm

I, many years ago, had played a bunch of the old Infocom games and have recently become reacquainted with this wonderful game-type. I just started getting into writing some IF for myself. but mainly just very simple games to feel out the different languages. I have a very ambitious project planned and was wondering exactly, because I havn't nailed down what language to use yet, what are the benefits of using Hugo compared to Inform or Tads? All comparisons that I have found on the net are VERY dated and I assume that there have been some serious updates since 1996 or so. Is the game size limit any different? Or any major differences?
Hugo seems, at least to me, to be the easiest to code in. I would just like to know the boundaries before I jump in too far.
Thanks

Top