Out of room in GLULX


I got an error (that i fixed by removing one small thing in the code) which raises an alarming point with me. I’m using Glulx because Z-machine isn’t big enough for what I’m planning.

But the error it gave me was basically the same as when I started to learn to make stuff in Inform - I ran out of room!

It suggested I use this: Use MAX_PROP_TABLE_SIZE of 50000. But that didn’t fix it, so I just removed the part that made the game wobble and die.

This thing isn’t mentioned in the documentation.

Can I just put two zeroes behind it and call it safe?

Can anyone shed some light on this thing?

I thought GLULX was huge - I barely have any story done yet - basically none - and I can’t be out of room already, can I?

For those curious few:
this error is obtained by adding this:[code]The description of a thing is usually “[one of][We] give [if the noun is scenery]the [end if][the noun] a glance[or][We] take a good look at [if the noun is scenery]the [end if][the noun][or][We] take [our] time to thoroughly examine [if the noun is scenery]the [end if][the noun][at random] [one of]and realize[or]and conclude[or]and come to the conclusion[or]but[or]however[or]sadly realizing[at random] [one of]it is plainly beneath [our] attention[or]it is [desc1random] [desc2random][or][we] just wasted [a random number between 2 and 8] precious seconds [we][’]ll never get back[at random].”

to say desc1random:
say “[one of]absolutely[or]completely[or]utterly[or]totally[or]bascially[or]simply[at random]”;

to say desc2random:
say “[one of]useless[or]irrelevant[or]trivial[or]unimportant[at random]”;[/code]specifically the random number between 2 and 8…

oh wait hang on I’m being stupid.

I put a zero behind it and fixed it.

[size=200]but is this safe?![/size]

You need to actually open the console and look at what is the problem. The error message uses “MAX_PROP_TABLE_SIZE” as an example; Tt may be some other setting you need to increase.

In your case, maxnumstaticstrings was the thing that needed increasing. You might want to take it down - maybe increase 20000 to 30000 and see if that still works rather than adding zeros. But sometimes that’s what you have to do. All it’s doing is reserving memory space, which on modern computers is way huger than what text games will normally use.

So it’s safe because newfangled compuutorz are all super brainy?

Well, people will also want to play your games in handheld devices.

Basically, raise the number as you need it. Never assume, and don’t raise the number just by adding zeroes. Too much potential for problems down the line, when someone IS trying to play your game in an environment with less memory.

I added two zeroes and when the game is done I’ll try (if I remember) to find the lowest safe number to end it on.

But come on. It’s IF. How heavy can it get?

Here, try playing this game online: iplayif.com/?story=http%3A%2F%2F … key.gblorb

Also try playing in on a handheld device, like an iPod Touch.

If you have no reason to up a limit, then don’t. If you do have reason, step up the leftmost number until you get what you need.

I don’t think it’s good practice in ANY programming to reserve tons of memory you won’t need. Especially if you don’t mean for it to get heavy - why are you telling your computer to reserve a warehouse of memory when all you’re going to need is a big cardboard box-full?

EDIT - Wow, you added two zeroes? Overkill. Even if there are no ill effects, I seriously doubt that sort of overkill is good practice.

Peter, many of the memory settings are only for the compiler and will have no impact on run time performance. And the things which will affect performance (number of rules for example) often won’t hit any of the I6 limits.

In which case, I stand corrected and have already learned something today. So Wes, add as many zeroes as you like!

(still seems overkill, but if it doesn’t have adverse consequences, meh)

adds ten zeroes

sings Danger Zone (badly)

You get zeros, and you get zeros, and you get zeros – you’re all going home with zeros!”

Bah. You’re just a troublemaker. No zeroes for you!

Zeros? We don’t need no stinking zeros!

Dare I say it? Dare I?

Dare I say that…

…all your zeroes are belong to us?!

Well, EVERYONE’s zeroes are belong to WesLesley, more like.


OMG, there was a time when a person had to be young to understand that reference.