I’m a newbie considering learning Inform 6. My dream is to write some pretty large games, which I’ll work my way up to. But I’m curious: Roughly how many lines of code does a project have to be before a .z5 file is no longer enough and a .z8 file is needed? Or at the very least, how many kB of source code are we talking about?
I’m also wondering about the possible nightmare scenario where I spend all of my time working on a really big game, and suddenly even a .z8 file is too small. Since you know my newbie status, feel free to inform me if such concerns are even realistic. (I may move on to Inform 7 for really big projects, so feel free to give me an opinion on that as well.)
EDIT: Ah, I just realized…I forgot about .glulx, which I assume could handle larger games. But I’m still curious about the size limits of .z5 and .z8 files, since I would rather have my games as widely usable as possible.
If you’re wanting to write a big game, just use Glulx from the beginning. There’s little reason to target the Z-Machine now unless you’re deliberately aiming for a retro experience and want your game to be playable on retro platforms.
Thanks for the response. Yes, forgot about Glulx when I made my initial post. (I’m taking a deep dive into the Inform 6 ecosystem tonight, as least as much as I can with my inexperience, and some information slipped my mind.) But I’m still curious about .z5 and .z8 size limits, for anyone who is willing to share.
Both have the same general stats: the same object limit, the same RAM limit. All that differs is the space for text and functions/routines. So if you’re using z5 you can change to z8 as soon as you run out without any issues at all. But changing from z8 to Glulx is potentially much more complicated (especially if you use many IO effects), so it’s better to start out using Glulx if you think there’s a chance you might need to use it later.
Spider and Web is a large .z5 game with about 430k of I6 source code. (Excluding the library.) Dreamhold has about 650k of source code and goes about 50% over the .z5 limit.
This isn’t all that useful to you, since you don’t know how many objects, rooms, or puzzles take a kilobyte of source code. This varies enormously with the writer’s style, so my estimates wouldn’t help you. (Spider and Web has 50% more objects than Zork 1, but the game file is more than two and a half times as large!)
I posted the source code for Across The Stars on the IFDB. It’s I6.
It compiles to 512k. Hopefully, it will give you an idea of what a max size game looks like.
Graham Nelson’s Jigsaw was right up against the limit of Z5 (according to him, in basically every way: number of objects, amount of text, amount of code), and had to switch to Z8 to add footnotes. But that was also done in a version of Inform that was more sparing with its use of objects. I doubt it would fit in Z5 with Inform 6.
Z8 has limits that few Inform 6 games will ever hit, so Glulx is mostly needed for I7. And the limits of Glulx are effectively nonexistent. (To the best of my knowledge, no game has ever reached them.)
Like Dannii and others have said, use Glulx unless you have a reason not to. I was never aware till recently that the Infocom Imps had to severely budget their player-visible text in a lot of classic games. Nowadays we’re casually like “yah, players expect five layers of detailed description with varying text and all components described…” and if you’re planning to be verbose with “really large games”, it’s best not to worry about file size.