I’ve been trying for a number of months with Inform 7 to make a framework for the kind of game I want to write, but I keep getting frustrated and going on hiatus from it because it just doesn’t seem like I7 is the right language for what I’m trying to do. I6 certainly can accomplish it, but if I’m going to do it in I6 (which I don’t know), I might as well build my own program in a derivative of C or in something like Javascript at this point because I already know the language… except that that means I have to build my own parser and save system, which I don’t want to do and may be beyond the scope of what I am able to do as a part time hobby. I’ve posted topics/posts like this before, but not with a specific question I guess, so I hope the below will lead to some actionable advice from you helpful folks…
Basically, I want to make a game that is probably not like a lot of the other IF games out there, but I like the idea of using the IF parser model for the game regardless. I want to make a game where loot, fights, and events are somewhat dynamic and randomized similar to dungeon crawlers, ARPGs, and open world games like Diablo, the Elder Scrolls, but in text only.
I don’t know if I’d ever succeed at finishing such a project, but even if the journey is more important than the destination for me at least, I can’t even make headway on the journey of this project because of memory and performance limitations of the engine. If I pre-construct the thousands of items needed to give the appearance of random loot, there are just way too many items in the game such that performing functions on “things” or “chest armor” causes the program to have to process thousands of things a turn, sometimes more than once, making the game unplayable.
So, I’ve been trying to create a framework that takes a limited number of “props” (things with no properties in a “prop room”) and recycle them by using rules to add and change the properties of the items, and swap them around for placement, keeping their values stored in tables, to give the appearance of thousands of items, when in fact the program only has a limited supply. This has proven to be a nightmare, that as stated above, always ends up requiring I6 hacks or extremely verbose I7 rules and circumventing half of the standard rules to accomplish.
TL;DR
Does anyone have a “framework” for doing “randomized loot” and/or changing the properties (numeric values, special rules, colors, etc.) of things already built that could be used to make a text based version of a game like Diablo or the Elder Scrolls? Any advice on how to proceed with this concept in I7?