Writing with Ink – Lists with an Oxford Comma

The guys at Inkle Studios have shared their method for printing a list using a recursion function on their Patreon page, but I found an easier method to insert an Oxford Comma when printing a list.

{LIST_COUNT(IsPresent):
   - 0: No one is here. 
   - 1: Only {IsPresent} is here. 
   - 2: {LIST_MIN(IsPresent)} and {LIST_MAX(IsPresent)} are here. 
   - else: {IsPresent-LIST_MAX(IsPresent)}, and {LIST_MAX(IsPresent)} are here. 
}

In this example I’m grabbing the LIST_COUNT of IsPresent, and printing the contents  according to how many items there are.

With 3 or more in the list I subtract the LIST_MAX (the last item in the list) from the full list before printing, then insert a comma before printing the LIST_MAX.

Writing with Ink – Runtime Loop

I’ve written an old knock-knock joke into an Ink script to show a basic runtime loop. The logic here is simple: tell a joke three times, but the third time with a different ending.

I define the loop start with an index: joke.

The loop gate has two settings: closed diverts the runtime to the start of the loop, open (or unlocked) allows the runtime to proceed. My start state is closed. On the third try it will open.

CONST punchline = 3 

- (joke) Knock knock! 
+ Who is there? 
- {joke<punchline: 
   Banana. 
   + Banana Who? 
      -> joke 
   - else: 
   Orange. 
   * Orange Who? 
      Orange you glad I didn't say banana? 
}

My conditional test doesn’t use variables, although the loop gate looks as if joke and punchline are variables. Ink is counting how many times the index joke has been seen and comparing it against a constant value called punchline. When joke is less than punchline the loop is closed.

joke<punchline

Things to know:

  • A constant looks like a variable in Ink script, but it isn’t dynamic. At runtime it is replaced with the value it represents. Constants are for scripting convenience.
  • The index cannot be addressed from outside this knot, but leaving and coming back to the knot will preserve the seen count.

How to get nude figures in ADOBE FUSE

Transfer Mixamo Fuse 1.3 content to Adobe Fuse CC

Transfer legacy figures, clothing, and hair from Mixamo Fuse 1.3 to Adobe Fuse CC
A step-by-step video tutorial for beginners.

  • Recover the old Mixamo Fuse base bodies and missing content!
  • Add some funky (slightly lower-res) figures to Adobe Fuse CC!
    (Muscular, Thin, Stocky, and Teen figures)
  • 100% Compatible with Adobe Fuse CC. Use PBR substances and the new skin shader!
  • Mix-and-match old with new figures! Share the heads and body parts! Fuse don’t care!
  • Fusette” from Mixamo 1.3 is NUDE!!! Omigosh, what–? Did you say NUDE? Yes, nude!

How much is this going to cost me? NOTHING! It’s FREE on Steam! Go download it now!

If you like this tutorial click like (thumb?) or comment, and I’ll make some more.

SaveSave