Releases: inkle/ink
Version 0.4.1
- Fixed bug that prevented save/loading before
Continue
had first been run. - Fix for using
temp
variables within choices - Improved support for evaluating arbitrary ink on the inklecate command line (will be useful for watching variables etc in inky)
Unity users: What should you download?
If you're using Unity, the UnityInkIntegration package is all you need!
Version 0.4
Biggest change: We've removed ink's dependency on Newtonsoft.Json.dll. When you install this latest of ink (in Unity), make sure that that the dll has been removed (unless you're using it for something else of course!) This should make Unity integration a lot more stable, and remove the compatibility bugs we've been having (especially on Windows) once and for all.
It also means that you can use .NET 2.0 Subset rather than .NET 2.0, making it possible to create WebGL builds without hundreds of megabytes of JavaScript!
The build includes extra functionality for the play mode of the command line inklecate compiler. This was mainly to support inky, but you may find it useful if you use play mode too:
- As well as typing in choice numbers, you can also type ink expressions, such as
myVar
to print the value of a variable,myVar = 6
to perform an assignment, or-> myKnot
to jump straight to another place entirely in your story. - Launch the play mode with the additional
-k
argument to keep inklecate running even after the story as finished. This allows you to continue to evaluate expressions like-> differentKnot
, to try different sections of your story, especially if it's designed to be played in fragments within your game engine. - Ability to get the source line and file from a particular point in the full output text, by using
DebugSource(<character offset>)
. This isn't very human-friendly, and it's really designed for inky to be able to alt-click output text in the player window and jump to the source in the editor.
Also included are a few small bug fixes including:
- The ability to use threads within inline logic. For example
{first|second|<- pullLogicFromThread}
. - Fix for compiler crash if you attempt to use an empty sequence, e.g.
{!}
.
Unity users: What should you download?
If you're using Unity, the UnityInkIntegration package is all you need!
Version 0.3.5
- Ink-unity-integration package improvements:
- Improved warning/error logging
- Added some new icons
- Added the ability to change which files are compiled automatically
- Massively reduced the file size footprint of the ink library, and removed a call that was creating unintended effects on the Unity Editor.
- In runtime format, Branch is no longer used, in favour of using a simple condition boolean on Diverts.
- Command line player now signifies when player input is required with prompt characters
?>
, so that integrations into automated pipelines are easier (e.g. for web or app interfaces). - Project settings to allow pushing to nuget (thanks @ncthbrt)
- Bug fixes
- Diverts no longer break when they reference a target they're currently in
- Shuffle no longer leaves rubbish on evaluation stack, which sometimes caused functions to return the wrong result.
- Shouldn't attempt to continue to evaluate after story's state is broken
- Exiting inklecate with CTRL-C returns command line text colour to normal (thanks @bncastle)
- Fix for crash in Divert.ToString()
- Fix for visit counts when diverting as a result of a choice
Unity users: What should you download?
If you're using Unity, the UnityInkIntegration package is all you need!
Version 0.3.4
- Lots of increased robustness for this release, both in the ink-unity-integration package and in ink itself. In particular, the compiler should cope much better with Windows and mixed line endings, since it does an initial cleansing/standardisation step now.
- Removed the command line option to specify a working directory. Instead, INCLUDE files will always be relative to the root ink file.
- Much of the ink-unity-integration plugin has been overhauled and re-written. Changes include:
- Track ink errors, warnings and todos via the inspector
- The name, location and existence of a story JSON file is tied to its Ink file
- Shows relationship between INCLUDE files
- Make compilation process visible via a loading bar
- Ability to disable automatic compilation
- Massive performance gains for larger stories
Unity users: What should you download?
If you're using Unity, the UnityInkIntegration package is all you need!
Version 0.3.3 Alpha
- Open up access to
VisitCountAtPathString
- Open up access to
jsonToken
onStoryState
, useful for JSON serialisation as part of a wider game. - Open up access to
StoryException
- Standardised error message format for easier parsing in newly released Unity integration package.
- Fix for JSON serialisation of save state when threads are used
- Fix for reversed arguments in external function binding
- Revised documentation to reflect that the ink Unity integration package is the best route into getting started
- Bug fixes, documentation typo fixes
Version 0.2.3 Alpha
Breaking changes:
ChoiceInstance
is nowChoice
, while the old (internally used)Choice
is nowChoicePoint
, making the public-facing API more friendly.choiceText
andchoiceIndex
members are now justtext
andindex
.
Other improvements:
- Include XML documentation in Windows release for use in Visual Studio.
- Fix for incorrect naming conflicts for labels (named knots, stitches, gathers, choices) in entirely different scopes.
- Parse errors in include files no longer cause a incorrect "file not found" error.
- Removed silly synonyms for
true
andfalse
which were indocumented and causing problems, and added error message for when you name a knot parameter using a reserved word. - A couple of smaller bug fixes
Version 0.2.2 Alpha
- Fix for sticky choices not getting serialised properly.
- Function calls on tilda lines now clean up the evaluation stack after themselves properly.
- Streamlining runtime implementation: Renaming
Literal
toValue
, since it's more accurate. There's now no separateRuntime.Text
, it's all justStringValue
. Callstack pops are now just types of ControlCommand. - Improvements to Sublime syntax
Version 0.2.1 Alpha
- Public method to get the visit/read count of a knot or stitch:
story.state.VisitCountAtPathString("yourKnot.yourStitch")
- Rewrote system that counts visits to Containers. Simpler, faster, more robust.
story.state
protection level fixed, so you can actually access it!- Various bug fixes
Save state now available!
- Save state now available. Call
story.state.ToJson()
to get a JSON string representation of your game state. Callstory.state.LoadJson(yourString)
to load it up again. - Intermediate compiled JSON format for stories themselves re-worked from scratch. File size is now roughly 50% smaller. Further improvements may be made in future but they're likely to be harder work and less dramatic!
VariablesState
now implementsIEnumerable
for easy walking over your global variables from game code. Thanks @bateramos!- API Change:
Story
now has a normal constructor that takes a JSON string rather than calling a staticCreateWithJson
factory method. - Small bug fixes
Version 0.1.3 Alpha
Nothing changed, other than to the Mac release zip, since it needs to include Newtonsoft.Json.dll
(oops).