I didn't think I could do this, and if it's an achievment, I wish someone else had "won"

This is a discussion / support forum for the Hugo programming language by Kent Tessman. Hugo is a powerful programming language for making text games / interactive fiction with multimedia support.

Hugo download links: https://www.generalcoffee.com/hugo
Roody Yogurt's Hugo Blog: https://notdeadhugo.blogspot.com
The Hugor interpreter by RealNC: http://ifwiki.org/index.php/Hugor

Moderators: Ice Cream Jonsey, joltcountry

User avatar
Tdarcos
Posts: 9556
Joined: Fri May 16, 2008 9:25 am
Location: Arlington, Virginia
Contact:

I didn't think I could do this, and if it's an achievment, I wish someone else had "won"

Post by Tdarcos »

Backstory:

Approximately 4½ years ago, I started writing an Interactive Fiction game, "The Librarian." Well, the pandemic came along, then the lockdowns, then all the other things, and I forgot about it. Well, was going through old files a couple days ago, and rediscovered the game. So, I've continued to work on it, i.e. flesh it out, testing, adding, and so on. In fact, I should be posting a technical question shortly.

Now:

I made some changes,compiled and ran the program through the HugoExecutable and it crashed. I don't mean my game crashed, I mean it crashed the run-time system!

Through the judicious use of PAUSE commands, I discover it's happening as soon as the arrival at the starting room. Now I've had erroneous results or program errors or really subtle problems in trying to see what it does. But I never expected this. I don't think I'm really stressing the interpreter, but, Sometimes, I guess, things don't always turn out the way you expect.

More details later as I track down what is causing this misbehavior.















p















!
"When I die, I want it easy and peaceful in my sleep, like my uncle.
Not screaming and crying like his passengers."

User avatar
Tdarcos
Posts: 9556
Joined: Fri May 16, 2008 9:25 am
Location: Arlington, Virginia
Contact:

Re: I didn't think I could do this, and if it's an achievment, I wish someone else had "won"

Post by Tdarcos »

I want to note that as I was testing the game, it did work. I made some change and stressed out the run-time system.
"When I die, I want it easy and peaceful in my sleep, like my uncle.
Not screaming and crying like his passengers."

User avatar
Tdarcos
Posts: 9556
Joined: Fri May 16, 2008 9:25 am
Location: Arlington, Virginia
Contact:

Re: I didn't think I could do this, and if it's an achievment, I wish someone else had "won"

Post by Tdarcos »

Well, it happens when the MAIN routine is run, after the meter daemon is activated, and before input is requested. I might try turning that daemon off - it's not really important to the game, just adds a little realism - and see if it changes anything.
"When I die, I want it easy and peaceful in my sleep, like my uncle.
Not screaming and crying like his passengers."

User avatar
Tdarcos
Posts: 9556
Joined: Fri May 16, 2008 9:25 am
Location: Arlington, Virginia
Contact:

Re: I didn't think I could do this, and if it's an achievment, I wish someone else had "won"

Post by Tdarcos »

Error message: Fatal Error, expecting value at $013ECC. I'll have to do a little spelunking with my Hugo Decompiler.

Size in bytes 124387
Version = 31
Segment Value / Hex (original/hex)
ID = '<L/3C4C
Serial = '/30342D32332D3234'
StartAddr = 87040 /15400 ( 5440 /1540 )
ObjectAddr = 90160 /16030 ( 5635 /1603 )
PropertyAddr = 94064 /16F70 ( 5879 /16F7 )
EventAddr = 98048 /17F00 ( 6128 /17F0 )
ArraySpace = 98064 /17F10 ( 6129 /17F1)
Dictionary = 101776 /18D90 ( 6361 /18D9)
Special Words= 101648 /18D10 ( 6353 /18D1)
InitAddr = 89216 /15C80
Main = 90112 /16000
Parse = 40080 /9C90
ParseError = 43072 /A840
FindObject = 37152 /9120
EndGame = 0 /0
Speakto = 47520 /B9A0
Perform = 46192 /B470
TextBank = 107760 /1A4F0

Which doesn't really tell me anything.
"When I die, I want it easy and peaceful in my sleep, like my uncle.
Not screaming and crying like his passengers."

User avatar
Ice Cream Jonsey
Posts: 30175
Joined: Sat Apr 27, 2002 2:44 pm
Location: Colorado
Contact:

Re: I didn't think I could do this, and if it's an achievment, I wish someone else had "won"

Post by Ice Cream Jonsey »

Do you want to put the source code on Github so people can take a look and try to help?
the dark and gritty...Ice Cream Jonsey!

User avatar
Tdarcos
Posts: 9556
Joined: Fri May 16, 2008 9:25 am
Location: Arlington, Virginia
Contact:

Re: I didn't think I could do this, and if it's an achievment, I wish someone else had "won"

Post by Tdarcos »

I think this is now the fourth time I've tried to post a response here, but it keeps getting lost.
Ice Cream Jonsey wrote: Tue Apr 23, 2024 3:39 pm Do you want to put the source code on Github so people can take a look and try to help?
Not that I don't want other people to see it, I intend to do exactly that, along with uploading it to the various IF archives. The problem is this: I intend to submit it to some of the IF competitions (to get people to play it, and to see if people find it interesting.) But, some have a restriction the game is ineligible to be submitted if it was published before the competition.

However, I found the problem. Apparently, using a daemon causes the game engine (run-time system) to blow a gasket. As I said, I can solve the problem by putting a routine call in MAIN to do the same thing.
"When I die, I want it easy and peaceful in my sleep, like my uncle.
Not screaming and crying like his passengers."

User avatar
Jizaboz
Posts: 5474
Joined: Tue Jan 31, 2012 2:00 pm
Location: USA
Contact:

Re: I didn't think I could do this, and if it's an achievment, I wish someone else had "won"

Post by Jizaboz »

Looking forward to it
(╯°□°)╯︵ ┻━┻

Roody_Yogurt
Posts: 2255
Joined: Mon Apr 29, 2002 6:23 pm
Location: Milwaukee

Re: I didn't think I could do this, and if it's an achievment, I wish someone else had "won"

Post by Roody_Yogurt »

I'm rereading all of the posts in this base to see if there are any old problems I want to take another look at. Anyhow, the Roodylib version of Activate (for starting daemons) gives a warning about trying to activate a daemon before the player global has been set, so if that happens in your code, maybe that is the problem.

Post Reply