Ink - Programming Language for Game Narratives - Godot | Unity | Unreal | More

แชร์
ฝัง
  • เผยแพร่เมื่อ 18 ธ.ค. 2024

ความคิดเห็น • 88

  • @gamefromscratch
    @gamefromscratch  ปีที่แล้ว +6

    Links
    ---------
    gamefromscratch.com/ink-programming-language-for-game-narrative/
    Our Twine Coverage:
    gamefromscratch.com/twine-interactive-fiction-tool/
    -----------------------------------------------------------------------------------------------------------
    GFS Patreon : www.patreon.com/gamefromscratch
    GameDev News : gamefromscratch.com
    GameDev Tutorials : devga.me
    Discord : discord.com/invite/R7tUVbD
    Twitter : twitter.com/gamefromscratch
    -----------------------------------------------------------------------------------------------------------

  • @UliTroyo
    @UliTroyo ปีที่แล้ว +72

    I cannot recommend Ink enough. If you've never written a game before, you can have one written by the end of the day using Ink. It is such an easy way of writing any story that is primarily story with branching narratives. Jon Ingold's GDC talks are all (the pun was the aim) gold.

    • @generrosity
      @generrosity ปีที่แล้ว +2

      Their GDC talks are great 👌

  • @royportillo
    @royportillo ปีที่แล้ว +38

    I'm a huge fan of Ink. It has some cool features and targets one of the critical aspects of branching narrative games. A great alternative to Twine, and if you want to use an different engine for your game than Ren'Py. Very powerful language and you can see some of the possibilities with the game series Sorcery!

    • @TheOnlyGhxst
      @TheOnlyGhxst ปีที่แล้ว +3

      Ink and Monogatari are some of the best systems I found when looking for alternatives to Ren'Py, Monogatari is especially cool because it's written entirely in HTML, CSS, and JS, so it's perfect for web integration.

  • @ScaerieTale
    @ScaerieTale ปีที่แล้ว +8

    This is an interesting inkosystem. Normally I jump at the chance to learn a new programming language, but I also love that there's a tool in the inkosphere to work with it without needing to learn the underlying guts. And as someone whose favorite part of game design is writing, I am 100% on board with this project :D

  • @_gamma.
    @_gamma. ปีที่แล้ว +2

    Love that you’re covering these tools again! Ink is fantastic

  • @bexplosion
    @bexplosion ปีที่แล้ว +20

    Other alternatives to Ink:
    Clyde (syntax almost the same as ink)
    Yarn Spinner (Allows simulation and node graph in Visual Studio Code)

    • @Quillscript
      @Quillscript ปีที่แล้ว +2

      Me ;)

    • @raibatsu
      @raibatsu ปีที่แล้ว +6

      Yarn Spinner is so goated. Used in a couple of my Unity projects and it has worked wonderfully well in most scenarios.

    • @TheOnlyGhxst
      @TheOnlyGhxst ปีที่แล้ว +4

      Monogatari is also a great visual novel engine, its written entirely in HTML, CSS, and JS, designed to be easy to use on the web. But can also export to a desktop application, of course.

    • @Sylfa
      @Sylfa ปีที่แล้ว

      Was going to mention Yarn as well. I've not used it but it's been used in Night in the Woods, a Short Hike, and Dredge. Amongst others.
      Safe to say that it's worth picking up one of these tools for making your dialogue rather than falling into NIH and making your own version.

  • @TheOnlyGhxst
    @TheOnlyGhxst ปีที่แล้ว +9

    Monogatari is also a great visual novel engine, its written entirely in HTML, CSS, and JS, designed to be easy to use on the web. But can also export to a desktop application, of course. Would love to see you make a video on it!

  • @Wurstbrot03
    @Wurstbrot03 ปีที่แล้ว +5

    Very interesting. I work a little on Visual Novels as a side hobby and was already curious if I should look at Godot. With Ink this becomes even more interesting.

    • @milesparker557
      @milesparker557 ปีที่แล้ว

      There's also the Dialogic plugin which is worth checking out it you wanna try making VNs for Godot.

  • @twenty-fifth420
    @twenty-fifth420 ปีที่แล้ว +8

    1:15 I actually played Sorcery! I had an itch to play a point and click adventure game but with a role playing aesthetic. I got all of them on my tablet, it was great but it has been a while.
    Also, the fact that it is markdown-like rather then programming-like is a huge selling point. Now my friends can't say "But I can't code!" when they give me their excuses lol. 🤣

  • @ritzenhauf
    @ritzenhauf ปีที่แล้ว +1

    Oh wow, this is a big one. I like Ink's approach.

  • @MT-rb5kj
    @MT-rb5kj ปีที่แล้ว

    I made a Unity game that had tons of dialogue, and all of it was powered by Ink. You can define C# functions and bind them to the Ink run time, which means you can extend Ink to do anything. I wrote generic systems in C#, but most interactions were written in Ink with a collection of dozens of custom functions. It made it fast and easy to add complex behavior. Highly recommended.

  • @wmetz1869
    @wmetz1869 ปีที่แล้ว +3

    It is hard to get used to it at first. But when you get the hang of it Ink is a really handful asset.

  • @omiorahman6283
    @omiorahman6283 ปีที่แล้ว +13

    Godot and dialogic combination works good for me , but the more the merrier , I wonder what features ink has that are different from dialogic

    • @frost8077
      @frost8077 ปีที่แล้ว +1

      Dialogic will sometimes crash Godot on me when typing dialogue, so I hope it's more stable and user friendly.

    • @1Hinto
      @1Hinto ปีที่แล้ว +5

      Ink isn't node/graph based, works much closer to writing a play/film script. Means in some cases you can be more flexible about how you present text in various scenarios as you can pull from multiple different buckets of text at once if you need to.
      Also a few games like NEO CAB just have all the game logic run through functions in ink, which is doable for text-forward games. Don't think there are any killer features over dialogic so main thing is if you like using it or not! It's easy enough to learn the syntax and play about

    • @generrosity
      @generrosity ปีที่แล้ว +4

      If I understand correctly, ink comes with a different quest line variable implementation baked in (see their GDC talks) that helps encourage non-linear quest outcomes

    • @JackOfGears
      @JackOfGears ปีที่แล้ว

      @@generrosity Yeah, using Lists for knowledge and progression tracking is so much easier and more flexible then using a traditional flags structure in a VN. Ink would be worth using for that alone.

  • @pestilent9564
    @pestilent9564 ปีที่แล้ว +1

    The only issue is you have to implement your own localization pipeline for ink.
    1. Other FOSS langs are YarnSpinner (official C# and 3rd-party C++, Rust, GDS, TS, Py), Clyde (official TS/GDS), There is also ChoiceScript (proprietary).
    2. Engine specific FOSS languages are Renpy lang and Godot Dialogue Manager lang.
    3. There is also a commercial plugin, Naninovel for Unity. It's the most powerful tool that I've ever seen. And it features a scripting language for dialogues/screenplays.
    4. All of them supports localization, except ChoiceScript. Sadly the translation methods are all traditional, relying on key and values, similar to gettext. No one has implemented a more sane method, like source code to source code translation, etc.
    ps. Fountain, a markdown variant that's specifically designed for writing screenplays.

  • @VideaVice25
    @VideaVice25 ปีที่แล้ว +1

    Vampire the Masquarade the Coterie of NY ... has amazing art. 😊

  • @Axiasart
    @Axiasart ปีที่แล้ว +2

    I remember playing with it when I was in IT years ago it’s quite fun to use

  • @973sandman
    @973sandman ปีที่แล้ว +1

    Cool, I was looking for something similar, thanks for this video

  • @AITools-s8f
    @AITools-s8f ปีที่แล้ว

    I wish I knew this sooer. This is so good. It can call functions to your game, I think it is possible to make mode support with ink

  • @manaboutsound
    @manaboutsound 10 หลายเดือนก่อน +1

    We are indeed using Ink on Bloodlines 2 :)

  • @apollolux
    @apollolux ปีที่แล้ว +1

    Groovy! I used TWINE standalone before and was hoping there was something similar or better that I would be able to use that would more directly integrate with an existing engine that wasn't the lackluster Articy Draft.

  • @RenderingUser
    @RenderingUser ปีที่แล้ว +2

    Ink for me is second only to renpy in usability. But ink is far more versatile cause it's not limited to one game engine

  • @in-craig-ible6160
    @in-craig-ible6160 ปีที่แล้ว

    The developers really covered a lot of options when making this.

  • @GreenCloversGuy
    @GreenCloversGuy ปีที่แล้ว

    Aww, i was hoping to see you use Inky, the IDE for ink, since I actually added some features to it! (Tracking threads and files) a really nice little open source project!
    I also use ink and Godot together all the time. It won't export to web at the moment for godot 4, but it's still really great. I need to standardise my ink to godot interface one of these days...

  • @Uglysub5
    @Uglysub5 ปีที่แล้ว

    Inkosphere? I like it.

  • @underscorerx
    @underscorerx ปีที่แล้ว

    I remember when they had a web interface (inklewriter) and i used to write a bit of test narrative there. Forgot about it for a couple of years and then found out it was deactivated and they've pivoted to Ink as a language. Shame i couldn't recover what i've made, but always wanted to try Ink. I've remembered about it recently and now that i'm deeper into gamedev than i've ever been your video couldn't arrive at a better time.

    • @underscorerx
      @underscorerx ปีที่แล้ว

      OH MY, they've revived Inklewriter (the web based tool)! If for some reason my account still exists and i can recover my test story i'll be mindblown

  • @n30hrtgdv
    @n30hrtgdv ปีที่แล้ว

    Altough renpy is my go-to for fast and easy VN development, I'm hype for this since it can integrate with Godot it opens more opportunities to really add gameplay to your VN.

  • @Tsalnor
    @Tsalnor ปีที่แล้ว +3

    This has zero support for localization/translation. I have been using Godot Dialogue Manager and that has excellent localization support, if that is important.

  • @julianavar3836
    @julianavar3836 ปีที่แล้ว

    Ok, up next, InkGPT!

  • @dancingdoormanable
    @dancingdoormanable ปีที่แล้ว +1

    I would love to hear from people who have found a way to STRUCTURE Ink in such a way that it's less messy. Ink is great for branching narrative, as it can create narrative on a SENTENCE level instead of a SCENE level, but it tends to get MESSY very fast. The messiness makes Ink games notoriously hard to translate. I think it has to doe with Ink missing structures like Sections, timespans like Scenes and primitives like Actors, Locations and Props that help give a script reader something to hold on to while they are parsing the text. Ink is a bit like C or ASM in that it can do too much and it will try to kill you when things get big.

    • @MattiaBelletti
      @MattiaBelletti ปีที่แล้ว +1

      Ink can be structured into at least three levels: files, knots and stitches. The difficulty in translating is due to the high level of complexity it can get, and also the fact there's no built-in, automatic system to extract the text from the whole code.

    • @gameofpawns2264
      @gameofpawns2264 5 หลายเดือนก่อน +1

      LIST is very powerful as to controlling characters, location, objects, but ink is still bare-bone. It doesn't even have a spellchecker, so much post processing is needed. Thus the ASM reference. Moreover, I don't see ink being updated to a standard level app but remaining a beta tool that already fulfills the dev's need. Thus, no need for new features.

  • @PurpleKnightmare
    @PurpleKnightmare ปีที่แล้ว +1

    No plugin for Stride, damn. I plan on using Stride to make my RPG.

  • @AshtonSnapp
    @AshtonSnapp ปีที่แล้ว +2

    I didn’t know they wrote Heaven’s Vault!

  • @jonstarritt848
    @jonstarritt848 ปีที่แล้ว

    Twine is great for interactive stories too. No integration with game engines, however it will export to HTML.

  • @CalculusDogbertus
    @CalculusDogbertus ปีที่แล้ว +2

    Please do a review of Articy Draft.

  • @csaratakij6339
    @csaratakij6339 ปีที่แล้ว +1

    Cools, but how to do the localized with this?

  • @giuseppefontana5471
    @giuseppefontana5471 ปีที่แล้ว +1

    it can be used as an alternative to Ren'py for visual novel game.

  • @FrancisHerding
    @FrancisHerding ปีที่แล้ว +1

    There is also articy:draft 3

  • @Mempler
    @Mempler ปีที่แล้ว +3

    this reminds me of the "Dialogue Manager" for godot, the language looks verrry similar.
    i cannot post links or yt will auto delete my comment. speaking out of experience

    • @973sandman
      @973sandman ปีที่แล้ว

      I'm playing around with DM, nice addon for Godot, DM's language is a bit cleaner imho, but Ink features are impressive, then there's a C++ runtime, the possibilities...

  • @drgnvale
    @drgnvale ปีที่แล้ว

    Oh, ink is so neat

  • @tozpeak
    @tozpeak ปีที่แล้ว +2

    I use yarn in my current project. It is an alternative for those who needed something battle-tested to work with. At least it seems to work for certain people.

  • @germanskena6537
    @germanskena6537 ปีที่แล้ว +3

    Hi Gamefromscratch. I want to ask you. Do you remember or know a engine for conversational games like the 8bits games (Jabato, la aventura original, BAT, etc). could be nice a blueprint to do the game or using a inner -own- language for do this. I do not want to use c, c#, javascript, etc. I want to use a personal language or using like a RAD development app.
    As always, my like is given to you.

    • @gamefromscratch
      @gamefromscratch  ปีที่แล้ว +3

      Maybe check out BladeCoder?

    • @germanskena6537
      @germanskena6537 ปีที่แล้ว

      @@gamefromscratch Thank you.. And for the text games? Not like point and click. Only 100% text game. (could be a if then game with text, like Chose your own adventure game, without graphs for a pc).

    • @aceofswords1725
      @aceofswords1725 ปีที่แล้ว

      @@germanskena6537 Choicescript?

    • @arashikou6661
      @arashikou6661 ปีที่แล้ว

      If I’ve understood your request correctly, what you’re looking for is what many people now call “parser-based interactive fiction”. I’m proud to say the community around parser interactive fiction has never really died out, we just became very obscure, and there are many tools now for writing your own games. TADS seems like a good fit for your needs, but Inform 7 is also very popular. The major hub for the community these days is the Intfiction forum.

  • @OlegLecinsky
    @OlegLecinsky ปีที่แล้ว +1

    One language only, no localization?

  • @seshoumara
    @seshoumara ปีที่แล้ว

    I'm sure it's very useful, but wouldn't using your own JSON accomplish at least half of what Ink is for? You have to implement extra logic in my case, but on the other hand you also need an interpreter of Ink to run in your engine. I will give it a try anyway.

  • @dinoscheidt
    @dinoscheidt ปีที่แล้ว

    Interesting. Could have used that about two years ago… wrote a DSL to help lawyers assemble contracts based on decisions and constants…. 😑 this could be a great document generator. Not just for stories.

  • @sporefergieboy10
    @sporefergieboy10 ปีที่แล้ว +2

    I prefer const char*

  • @dawidkotlinski
    @dawidkotlinski ปีที่แล้ว

    DSLs should generally be implemented as macros (instead of standalone languages) to better integrate with the rest of the technology. It's a shame few languages have proper meta-programming support, though.

  • @MrDowntemp0
    @MrDowntemp0 5 หลายเดือนก่อน

    Any options for pythong or pygame?

  • @davidnovak3261
    @davidnovak3261 ปีที่แล้ว +2

    I want create game like Wolfenstein 3D with RPG elements. Which game engine is good for game like this?I work in Unreal Engine but I think this engine is overpower for this use.

    • @BrunoCaxito
      @BrunoCaxito ปีที่แล้ว +2

      First Person Shooters are always easier and simpler with Unreal Engine, as long as you're ok with learning it since it has a steeper learning curve.

    • @SavageArms357
      @SavageArms357 ปีที่แล้ว +2

      Honestly Godot would probably be pretty good for that. Or maybe one of the extended DOOM engines, like what Ashes 2063 used (I think they used GZDoom).

    • @davidnovak3261
      @davidnovak3261 ปีที่แล้ว

      @@BrunoCaxito In Unreal Engine are too many thigs to make for relative good result. For example is hatd to make textures, materials and all lighting elements work together. I am remaking Heretic at dark fantasy feeling and I spend much time with lighting setup but result is still ugly. I like to use engine with basic lighting setup, basic materials and texture with a small amount of adjustment.

    • @aceofswords1725
      @aceofswords1725 ปีที่แล้ว +2

      Godot is made for it. Setting up billboard sprites (like doom, wolf3d) is a matter of clicking one box. And if you do enclosed/small maps rather than huge worlds (again like doom/wolf3d) it is simpler still.

    • @davidnovak3261
      @davidnovak3261 ปีที่แล้ว

      T@@aceofswords1725 Thank for your tip. I try Godot.

  • @Lucretia9000
    @Lucretia9000 ปีที่แล้ว

    I watched the masquerade videos and cannot see how it's used, any ideas?

  • @Aeroxima
    @Aeroxima ปีที่แล้ว

    How hard would it be to get Ink working in Unity with a made up language? (With invented characters not in existing fonts.) I don't expect anyone has the answer to this, lol.
    Edit: Or an alternative that supports localization?

  • @EnraEnra
    @EnraEnra ปีที่แล้ว +2

    would be nice to see you cover RPG Developer Bakin , not so popular but pretty cool game engine!
    best regards

  • @lanchanoinguyen2914
    @lanchanoinguyen2914 10 หลายเดือนก่อน

    C++ is my script language

  • @Feynman.R
    @Feynman.R ปีที่แล้ว +2

    Yarn spinner is another alternative to Ink. Twine is not good.

  • @Algeyr
    @Algeyr ปีที่แล้ว

    The github contributor's name at 1:27 had me laughing.

  • @Rai2M
    @Rai2M ปีที่แล้ว

    Hm. Maybe i have to get rid of my own narrative system and use Ink instead. It looks way more flexible.

  • @ТестТестович-г2о
    @ТестТестович-г2о ปีที่แล้ว

    Obviously, this is what we want - more dialogues in video games. Dialogues are so much fun. I can't wait to participate in another dialogue. Dialogue is my precious reward for investigating the boring world, collecting pointless artifacts and fighting useless monsters. MORE DIALOGUESSSSSS!!!!!!!!!!!!

    • @Aeroxima
      @Aeroxima ปีที่แล้ว

      It depends on how you use it. Not all of it is boring, annoying filler, but I get what you mean. And even when done well, some are more into it than others.

  • @gamecoder77
    @gamecoder77 ปีที่แล้ว +2

    C++

    • @BrunoCaxito
      @BrunoCaxito ปีที่แล้ว +1

      🤣🤣😅

    • @gamecoder77
      @gamecoder77 ปีที่แล้ว +1

      @@BrunoCaxito ink is good for story writing not for games

  • @HE360
    @HE360 ปีที่แล้ว +4

    I think that something like this could be helped along via A.I. such as chatgpt, Bing, Claud 2, etc.