Hugo or Inform (complex engine implementation) Comparable?

I’ve gained a degree of competency in inform7 via dabbling, but recently was looking into hugo. I was wondering if there is a reason to switch over. It seems to me that it is more versatile, routines appear to allow for method calls, and the documentation mentions tables. The syntax seems more friendly for a more engine focused design. But does it only seem like this because inform 6 is running under the hood of I7. Do I just need to invest time in getting to know I6. Kerkerkruip seems pretty heavy, but I know it uses additional resources. Is there a good reason to go about learning hugo instead? I’ll dabble in it for now; I’m just wondering what others’ thoughts are.


  • Justin

Two fundamentally different paradigms.

Inform 7 is a unique natural language “like” syntax while Hugo is a C-like oop syntax. If you’re a programmer by nature and are used to object oriented programming, Hugo may make more sense to you. Hugo also has a lot of graphical and multi-media capabilities, which people have found useful.

1 Like

Your phrasing indicates to me that you have a background in software (you might even be a professional software developer?), so I’ll use a software analogy.

People learning to code often struggle to settle down and pick a “first language” to learn, and instead just dabble with this language or that, without ever shipping any code. Sometimes they dabble in popular languages (JavaScript, Python, Java), sometimes they dabble in languages that are more obscure, but have interesting features (Lisp, Haskell, Erlang).

“Should I dabble in Hugo?” People often tell professional developers who only know one popular language that they should dabble in Lisp, and that it will make them better developers in their primary language, but that advice is best suited to developers who have a primary language and are looking to branch out.

Have you shipped a game yet? (I searched your name on IFDB and didn’t turn anything up.)

If you haven’t shipped a game yet, do that first, before you dabble in any more languages, frameworks, toolkits, etc. If you’re learning to code, don’t switch from JavaScript to Python; just ship something first.


I’ve been coding on and off for a while, but recently changed my major to C.S since it had a confluence with my other interests, being tired of struggling to find time for the things I loved. I’ve often suffered from the problem you mentioned. With game design, and other things, I’d often solve the cornerstone problem, e.g the thing needed to implement the working game, and then move on, letting it live in my head. Though now that I’m getting older, and better at managing my ADHD and time, I complete projects more often. I appreciate your input. I’m enjoying Hugo thus far.

  • Justin

I still create with it almost every day. And just to be sure - there are still features being added to the “Hugor” interpreter, which came about much later than the language itself - Hugor - IFWiki


From what I’ve gathered from reading the manual, It’s definitely solid: I’ll probably transition to it as averse to inform. But does it have any advantages over I6 or 7? I see a lot of comparisons of inform and tad, but my lazy web search for HUGO VS. XYZ… usually only mention it in the footnotes. Though since I’ve been mulling it over, I think its probably best to do anything that had a lot of calculations, or finicky initialization features in a general purpose language. Then, hand over the result to whichever IF language you prefer as a file for it to be interpreted.

I got into Hugo because in 2000 it had a really easy and well-documented way for getting graphics in different windows up on the screen, which still works pretty well. I had used Inform 6 beforehand and I don’t recall anything I wanted to do in Hugo that I couldn’t do in Inform and vice versa. The manuals to both are really good.

Have you come across “Hugo by Example”? There are lots of code snippets and documentation here - Hugo By Example - (the site was moved to github a while back).

1 Like

Yeah, I was looking at it a little bit earlier, seems like a decent resource; The manual itself is pretty good though. Half way through it. May get through it today, currently on a trip to Boston and have to fly-back tomorrow. My only complaint is the way its organized is a little scattered, but looking at Hugo by Example again, the site index their can fill that patch!

Thanks for your time and consideration,

  • Justin

My only problem with Hugo is the lack of support for arguments in methods (properties that are routines rather than static values), and the practice of just writing every method that requires an argument as a standard routine, or using separate properties in place of arguments doesn’t appeal to me.

As anyone who knows me can tell, I’m a fan of TADS 3 simply because of its power. I used Inform and Hugo beforehand but always struggled with the syntax in several ways, whereas in TADS everything makes sense.

Also, because TADS is similar in many ways to non-IF languages (C# and Java come to mind, even though TADS is less verbose than either) I’ve found that learning TADS before learning Java or C# makes it easier to understand the object-oriented paradigm and C-style syntax.

1 Like