inkle / inky Goto Github PK
View Code? Open in Web Editor NEWAn editor for ink: inkle's narrative scripting language
Home Page: http://www.inklestudios.com/ink
An editor for ink: inkle's narrative scripting language
Home Page: http://www.inklestudios.com/ink
Hi guys.
Any tips on windows builds?
npm install electron-package -g
npm install electron-prebuild -g
npm install mkdirp -g
and it seems to build but I always get an error when it runs about not being able to find mkdirp.
(one tip for people trying to build on windows I had to add --version=1.2.3
to the batch file)
After fixing #20 I could finally launch Inky but it's still not working for me.
This is the error message that appears on the right half of Inky when I write:
Ink compiler had an unexpected error ☹
/home/user/Inky-linux-x64/resources/app.asar.unpacked/main-process/ink/inklecate_win.exe: /home/user/Inky-linux-x64/resources/app.asar.unpacked/main-process/ink/inklecate_win.exe: cannot execute binary file
And this is the terminal output:
WRITING TO: /tmp/inky_compile/Untitled_ink_EliaOGQ/Untitled.ink
Story exited unexpectedly with error code 126 (session 1)
stderr: /home/user/Inky-linux-x64/resources/app.asar.unpacked/main-process/ink/inklecate_win.exe: /home/user/Inky-linux-x64/resources/app.asar.unpacked/main-process/ink/inklecate_win.exe: cannot execute binary file
I'm on openSUSE Leap 42.1.
Thanks!
I'm not sure how possible / plausible this is, but it'd be super useful for fixing typos, etc, if you could click a word in the output window and "go there" in the main ink view
I'm currently making some integration tests using Spectron and mocha so we can do automated test on builds before uploading the releases (this would catch errors like the one in #30 before it's actually uploaded). Generally this could save us a lot of time doing manual testing and fixing bugs that should have been caught before release.
Please let me know what features that would be nice to have tested. So far:
If you remove a file in the project (e.g. in the finder), it still compiles when it shouldn't.
Since I'm now writing large amounts of prose in Inky, it would be handy to have more quality-of-life features in it; an option to enlarge the font size, to change the typeface (the one being used right now doesn't support things like curly quotes and em-dashes, which vexes me terribly) and, most important of all to me, a wordcounting functionality.
I have no idea how to implement any of these things, because I'm about as good at programming as a clam is at tap-dancing. Still, I thought I'd make the suggestions.
I get the following error when typing 'npm start' on linux (currently trying to make a build for linux)
A JavaScript error occurred in the main process Uncaught Exception: TypeError: Path must be a string. Received undefined at assertPath (path.js:7:11) at Object.join (path.js:1253:7) at Object.<anonymous> (/home/kenneth/dev/inky/Inky-linux-x64/resources/app.asar/main-process/inklecate.js:19:26) at Module._compile (module.js:413:34) at Object.Module._extensions..js (module.js:422:10) at Module.load (module.js:357:32) at Function.Module._load (module.js:314:12) at Module.require (module.js:367:17) at require (internal/module.js:16:19) at Object.<anonymous> (/home/kenneth/dev/inky/Inky-linux-x64/resources/app.asar/main-process/projectWindow.js:6:19)
Similar to alt-clicking divert statements.
Hello everybody, i thought i already made an issue about this problem, but probably made something wrong, anyway...
In games exported for web whenever i click on a choice the browser window scrolls to the beginning of the flow then scrolls down again to the end, anybody experiences this problem?
You've probably already considered this, but if a web folder already exists for a game, it'd be handy to have the option to just update the story.js file and leave the css and the rest intact -- in case you've hacked it. (Obviously, one can duplicate, but it's less elegant?)
If I drag a file from Unity directly into an Inky window, it hangs with a white screen and requires a force quit.
In particular, for selecting multiple lines and indenting them in or out.
Or maybe I'm missing something?
A list of Knots and Stitches in a file would be very welcome – perhaps under a twirly arrow under each file?
I'm getting a consistent issue that's causing my MacBook Pro (Yosemite) to drain the battery & run its fans at full blast by doing the following:
story.ink
projectI ran top
and it appears that inklecate
is ramping up to 99%+ CPU usage instead of terminating properly, despite Inky having properly quit. (See attached screenshot.)
To steal a trick from Inform 7's split-pane IDE: the right pane can be switched from the player view to another code view, so you can look at different parts of the same file at once (and potentially, at two files at one).
Copied from TODO list to keep track of comments and commits here
As mentioned in inkle/ink#133, we should decide on a scheme for the name of the story .js file, so that it never conflicts with the template's main.js. Either we could use a consistent name for the story (e.g. story.js) or special-case it so that it only gets called story.js when there's a main.ink.
I am writing a story with lots of recombinant dialog variation. Every time I make an edit, the "story view" (right-hand panel) refreshes and shows another variant of this dialog. But this only happens when I make an edit. It would be great if there could be a "refresh" button next to the rewind and restart buttons!
It's relatively easy to work around (I just add or delete slashes from my commented out section breaks) but it would be a nice feature to have!
Sometimes if I'm working on something a little involved, the auto-compilation - and in particular, the auto-replay - gets annoying, as it flashes up errors and rescrolls the window. It'd be nice to be able to pause it. (Perhaps this only pauses the replay, actually?)
Having played through a longish story, when the story reloads / replays, it rebuilds itself from the beginning and so scrolls. This happens repeatedly as you type. But, generally, it returns to exactly the same state as before! So would it be possible to delay the refresh of the window until the new story has been run, and then switch over, to avoid the distracting jumping?
Hi there,
So I'm playing around with Inky for an HTML 5 hobby project. The idea behind it is that the game consists of a series of random encounters, during which a decision has to be made, and then the player gets sent into another random encounter. Here's the code I wrote to test the general structure:
=== main_knot ===
= para001
Hi there!
This is a test of my random selector thingy for Armaan the Adventurer.
Hopefully it works out well!
-> adv_knot
=== adv_knot
VAR adventure = ->adv_knot
~adventure = roll_adv()
+ [Let's do this!] -> adventure
+ [I'm sick of adventuring, let's get out of here!] -> exit
= adv001
You've gone on to Adventure 001!
-> adv_knot
= adv002
And now here's Adventure 002!
-> adv_knot
= adv003
This here's Adventure 003!
-> adv_knot
= adv004
Adventure 004
-> adv_knot
= adv005
OMG we're on adventure 005!
-> adv_knot
= exit
-> END
=== function roll_adv ===
{ shuffle:
- ~return ->adv_knot.adv001
- ~return ->adv_knot.adv002
- ~return ->adv_knot.adv003
- ~return ->adv_knot.adv004
- ~return ->adv_knot.adv005
}
Works almost perfectly, except the shuffle in the roll_adv() function isn't completely random. It will pick one at random, yes, but in repeated consecutive tries, every encounter is guaranteed to show up once.
So, I did five tries in a row, I'd get : 3, 5, 2, 1, 4
Then the next five came up: 2, 4, 1, 3, 5
And so on.
Every group of five consecutive calls to roll_adv() will inevitably result in the numbers 1 through 5 showing up in random order. Is this a bug or intended functionality? Ideally I'd like it to produce truly random results.
Like so: "You’ll see. But first — my Bonsai. 1: I love plants."
Where it should be:
You'll see, but first - my Bonsai -> plants
= plants
* I love plants
For example.
I've been working on a story at https://writer.inklestudios.com and want to import the resulting JSON file into Inky so I can pick up where I left off & work locally. Is there a way to do this currently, or do I need to manually re-type my story from scratch using Ink syntax?
Awesome software BTW, I really enjoy the syntax & workflow.
As mentioned in inkle/ink#130:
EXTERNAL
lines need syntax highlightingCurrently if you 'export for web' from inky, the story is represented as an object assigned to a variable in a javascript file (eg. myStory.js). When using this 'for web' structure, and iterating on a story in inky, it'd be really convenient to be able to export a replacement for just this file, without exporting all the other parts that 'export for web' does.
What I'm doing right now is exporting for web each time, into a kind of throwaway directory, then copying over just the file i need into my 'live' project directory (in which I've made other changes specific to the way I'd like it presented) and deleting the rest. Feels messy.
Glue <> doesn't seem to work when an .ink piece is exported for Web. Why is that?
Simply put, as with Unity, a visual VAR tracker so you can check that your VAR logic is working as intended.
When you have a few bits of nesting in your code, inky starts to autocomplete your gathers to whichever one you've been using the most. It also recognises TAB as accepting the auto-complete so indenting after a gather point will automatically create a nested gather when you don't want it to.
(please delete or close if this is a preexisting issue...but I couldn't find any)
When I go to "View" menu and then "Toggle Developer Tools" and then "X" out of the developer tools, the "sidebar" on the left side slides upwards, making its items inaccessible. I'm guessing it's a CSS thing, but I can't put my finger on what. Thank you.
EDIT: As a work-around, with Inky maximized, and before you open the developer tools, hide the sidebar using the sidebar button on the top left (looks like several horizontal lines), and then open the Developer Tools...do what you need to do, then close the Developer Tools and reopen the sidebar. It will work fine then.
It would be great to be able to make the editor text bigger and smaller with ctrl+plus / ctrl-minus, or with ctrl+scrollwheel, or even just a dropdown menu. The current size is a little hard on the eyes. I am currently hacking the font size using the Developer Tools to modify the css font-size value, but a built in feature would be perfect.
This is a feature I would be willing to contribute when I have a chance... but right now I'm a bit too busy writing my Story for the IF competition. :) (Spellcheck is another feature I would be willing to contribute if I can find time.)
Thank you for releasing INK and INKY. I am very grateful for this amazing piece of IF technology. (And for the great games Inkle has made with it.)
Maybe I'm not using the best setup – I moved all my global vars into a master.ink. Would be nice if, when editing an include of the master, that auto-correct knows the names of the global variables.
We've had two reports of a major but seemingly hard to reproduce bug where the contents of an ink file get wiped out, with no way to undo the operation.
It seems like it has something to do with include files, and possibly to do with copy pasting.
We need to find a solid repro!
In the meantime, we highly recommend committing regularly to source control.
copied from TODO
Just a markdown viewer, if that's easy to do -but it would mean inky was a one-stop place to learn, write and publish ink.
Would be really helpful for using this as a primary authoring tool.
the Cmd+R shortcut reloads rather aggressively; if you have unsaved work it reloads without prompting, losing everything since last save. :(
Unfortunately electron-packager
doesn't seem to glean the mac app version numbers from the package.json
, and you have to set it manually using the -app-version="blah"
option.
Perhaps start using a node-based build system to automate it so that versioning is easier and doesn't have to defined in multiple places.
Do the following:
- have a master ink file called master.ink
- have an include called include.ink
- in include.ink, type something like ~foobar=true
- you get a correct error display (as the VAR isn't declared anywhere)
- in master.ink, declare the VAR ('VAR foobar=false')
- switch back to include.ink. The warning icon is gone, but the line which it was on is still red. It will stay red until you quit/restart ink and open up the files again.
Is it possible to fold a choice branch? If not: would be a great addition!
Would it be possible to include both 64bit and 32bit Windows release builds?
I don't know if there's a non-trivial technical or practical reason 32bit releases aren't currently provided, but being able to run Inky on Atom-based Windows 10 tablets for on-the-go developing would be awesome.
I clone the repo and execute the INSTALL_AND_RUN.command and gave me this error:
`node ../build/createDocumentnavigation.js && markdown-html resources/Documentation/WritingWithInk.md -s resources/Documentation/documentation.css -o renderer/documentation/embedded.html
module.js:327
throw err;
^
Error: Cannot find module 'mkdirp'
at Function.Module._resolveFilename (module.js:325:15)
at Function.Module._load (module.js:276:25)
at Module.require (module.js:353:17)
at require (internal/module.js:12:17)
at Object. (/Users/miguelmaciel/Documents/GitHub/inky/build/createDocumentnavigation.js:2:16)
at Module._compile (module.js:409:26)
at Object.Module._extensions..js (module.js:416:10)
at Module.load (module.js:343:32)
at Function.Module._load (module.js:300:12)
at Function.Module.runMain (module.js:441:10)
npm ERR! Darwin 15.3.0
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "install"
npm ERR! node v4.4.7
npm ERR! npm v3.10.5
npm ERR! code ELIFECYCLE
npm ERR! [email protected] postinstall: node ../build/createDocumentnavigation.js && markdown-html resources/Documentation/WritingWithInk.md -s resources/Documentation/documentation.css -o renderer/documentation/embedded.html
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] postinstall script 'node ../build/createDocumentnavigation.js && markdown-html resources/Documentation/WritingWithInk.md -s resources/Documentation/documentation.css -o renderer/documentation/embedded.html'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the inky package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! node ../build/createDocumentnavigation.js && markdown-html resources/Documentation/WritingWithInk.md -s resources/Documentation/documentation.css -o renderer/documentation/embedded.html
npm ERR! You can get information on how to open an issue for this project with:
npm ERR! npm bugs inky
npm ERR! Or if that isn't available, you can get their info via:
npm ERR! npm owner ls inky
npm ERR! There is likely additional logging output above.
npm ERR! Please include the following file with any support request:
npm ERR! /Users/miguelmaciel/Documents/GitHub/inky/app/npm-debug.log
logout
Saving session...
...copying shared history...
...saving history...truncating history files...
...completed.
`
== firstKnot
{
- true:
-> somewhere(5)
}
== somewhere(x)
Above knot declaration isn't highlighted.
-> DONE
it seem the exporter doesn't work correctly, i constantly get an error like this message : "Sorry, could not save to X:\blah\blah\blah\blah.json"
i'm using the windows 64bits version of inky.
When launching the linux download from the releases page, I get the following error: (Ubuntu 64 bit 16.04)
[kilian:~/apps/Inky-linux-x64]$ ./Inky
A JavaScript error occurred in the main process
Uncaught Exception:
TypeError: Path must be a string. Received undefined
at assertPath (path.js:7:11)
at Object.join (path.js:1253:7)
at Object.<anonymous> (/home/kilian/apps/Inky-linux-x64/resources/app.asar/main-process/inklecate.js:34:79)
at Module._compile (module.js:413:34)
at Object.Module._extensions..js (module.js:422:10)
at Module.load (module.js:357:32)
at Function.Module._load (module.js:314:12)
at Module.require (module.js:367:17)
at require (internal/module.js:16:19)
at Object.<anonymous> (/home/kilian/apps/Inky-linux-x64/resources/app.asar/main-process/projectWindow.js:6:19)
the error seems to be in this line: https://github.com/inkle/inky/blob/master/app/main-process/inklecate.js#L34
Would it be possible to make an Inky Atom plugin?
If it is, I'm willing to give it a shot myself, I'm just not quite sure if it is achievable.
Hi,
Would it possible to test the story starting from a certain knot, instead of the beginning? (i.e. click on the line 400 on ink, and jump to that part in the player view.)
It would be a great help with long and tangled stories.
Of course, I understand it might be hard to do because player's previous choices, conditions etc. would have to be compiled somehow.
Thanks for releasing inky.
Hey all,
I'm definitely appreciating the ability to write and test IF in Inky. That said, organization is becoming a problem for me. Do any of you have recommendations on how to organize your content? For instance, say you have "Scene 1." Scene 1 is just a single knot with many stitches at this point, but continues to grow. At what point do you decide to break it out into another knot? Or even another file?
I'm looking forward to hearing your thoughts on organization of content! Thanks. :)
Hi! What should you do if you want to embed inky in a web app? I.e. not part of a desktop app
Ace, the text/code editor we use, has build-in support for find/replace. Unfortunately it doesn't seem to be working any more! Needs some debugging.
It normally works with cmd/ctrl-F, as you would expect.
Perhaps we overrode some defaults at some point accidentally?
Where to investigate:
preventDefault
somewhere, preventing Ace from getting the event?A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.