Some Questions 'bout IF

I am working on a new IF format and had a few questions. I’ll be glad if somebody help me.

1- Can you provide a comprehensive list of object attributes (wearable, readable, edible, etc.)?

2- Should the system group rooms together (making something like different ‘scenes’ each containing a few room, thus increasing speed) or put all the rooms together and risk a decrease in speed?

3- Do you have any idea about the average number of rooms in IFs? (I know it can vary largely, but an idea of general trend will help me chose between two methods for working with rooms.)

4- Can you give names of a few unconventional IFs (e.g. Galatea) so that I can make my system versatile enough by taking inspirations from them?

5- Should I give the programmer option to use either int or float (making it more complex) or just allow floats (like Lua, easy but potentially slow)?

6- The format I am making uses a container file inside which resides all data. Should I use ZIP or GZ or TAR for the container?

1 - In my (now defunct) system I used portable, container, animate, openable, open, locked, lit, and enterable. Inform 6 has more.

6 - I like ZIP simply because it’s so common, almost everyone has a ZIP-extractor program now.

Will fill out more soon…

In no particular order because I’m in a hurry.

1 - You might wish to check out Adrift, which has, if I remember correctly, a checkbox for each usual attribute. But I’d advise you to find a way for it to be easy to add new attributes as well.

6 - I .RAR everything, myself. I also have 7zip and WinACE to deal with less common formats. But if you want it to be available for EVERYONE, then ZIP it.

3 - Depends on a lot of things. Nowadays most games seem to average 5-15. Then it depends on how deep it’s all implemented. And on the author. And on gazillion other things. 5-15 seems a nice ballpark figure until someone else chimes in with a better one.

5 - The programmer should always have access to every sort of complexity he needs. If he doesn’t need it, he can simply not use it.

For what it’s worth Inform 7 (at least) by default only has integer math. If you want to use fixed point math you need to include an extension. I don’t know if you can do floating point math.

Not to recommend anything for you, just that one successful IF system has managed to get away largely with only integer math.

The current version of I7 does not directly support Glulx floating-point math. However, you can use it if you write I6 assembly for it.

It is true that integer math has been sufficient for most games to date.

Other points:

Use ZIP. ZIP is available in every language and platform.

It takes a few weeks to design a new IF format and get it basically working. It takes two to four years to make it work well.

It’s taking me months to even create the basic format, maybe because I am hellbent on using ASCII files and creating a truly open format. It’s a good learning experience, I dare say.