Having seen the amazing progress in the last months, I decided to revive one of the ideas that I believe would be very helpful with (I suppose) not that much of the development effort.
Of course, there is the List object, Associative arrays etc. but it just adds complexity even if you need a simple thing, such as a pre-defined set of items (or any other pre-defined sequences to be used and worked with). About 8 years ago, I saw an adventure game developed by a Polish developer and it used crazy amount of List objects to store dialog lines.
So I believe, a thing like that would be awesome:
Global List (could be just for strings as they can be converted to val easily)
*Add String (list index, string)
*Insert String (list index, element index)
*Delete String (list index, string)
*Delete element (list index, element index)
Retrieving would simply work by getting an element by ID, from a list by ID (or a pre-populated list, if the number of lists is fixed like with global vals and strings)
Possible basic uses:
- choosing from a pre-defined set of discrete data ( [5,20,50,140] or [Name1,Name2, Name3..] ) with no additional coding
- creating collections during run-time (e.g. storing the list of attackers, stacking the bonuses/properties...even inventory can be simply built that way)
- storing strings line by line (game journals, logs..)
- dialogues (a list per character, e.g. Wizard retrieves the first dialogue for the Wizard character)
- game item properties mapping (e.g. Name[WeaponID] would return the weapon name by its ID, providing that the ID=index of the weapon in the list).
I know all of that can be achieved using extensions but I believe the power of CTF is in its ease of use. Also, you do not need to worry about porting, bugs in outdated ones etc.
So, just an idea