Folks,
I’m midway to the next major update to the Interactive Fiction / Ink Engine update (to v1.5). But that’s putting the cart before the horse.
What is the “Ink Engine”?
It is a completely clean reverse engineered version of Inkle’s Ink interactive fiction engine in Python. See GitHub - bschollnick/ink_engine: A standalone, Django-free Ink interactive-fiction interpreter and plugin engine · GitHub for the GitHub repository for it.
But, that’s not all (™)!
- Since one of the reasons I did this is because I’m porting some 3rd party games to it, there were features that were needed but weren’t standard with Ink. Please note, none of these are required to be used.
- Cost Tables / Shop functionality (e.g. not real money, but “purchasing” something from a shop keeper, etc.)
- Player Inventory management
- “container” management - basically a subset of inventory management but for bags, containers, chests, etc.
- location management (aka mapping) - Where buildings, roads, paths, etc are.
- character occupancy management - where characters are in-relationship to the locations
- Scheduling - Managing the “clock” in the game world, as well as managing character schedules (e.g. shop is open from 8am - 5pm, and handles the shopkeep’s location during and away from open hours)
- Quest management
- Skill management
- Game loads / saves / restarts
All of that is baked into v1.0!
I’m currently working on v1.5, which adds further features to the plugins.
But as I am putting this in the development forum, it should be obvious that this is effectively an SDK. Real effort has been placed into making this equivalent in output to the inkle “standard” version of ink.
There are built-in alternative tags to support images, movies, and other media.
But this is an embedded SDK.
I also have a companion IF Player - GitHub - bschollnick/if-player: A standalone, native desktop Ink interactive-fiction player · GitHub
Which takes this ink engine, and wraps it with a GUI for playing ink based games.