Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Topics - natbudin

Pages: [1]
Hello AGI friends!  I'm excited to announce that agikit version 0.6.1 is available.  (Don't install 0.6.0, it doesn't work, sorry about that.)

The headline feature of this release is an editor for VIEW resources.  It's definitely not the most polished user experience ever, but it works and will provide a good base for iterative improvement.

For CLI users, there's a change that will affect you.  I've gotten an npm organization for this project, under @agikit, so you'll need to remove agikit-cli and install @agikit/cli instead.  This is (hopefully) the last time I'll be breaking the naming going forward.

One other important fix: the PIC editor previously had the wrong height for picture resources; this is now fixed (and fixes the display of some resources that did flood fills inside lines that reached the bottom of the screen, including one in the template project).

Screenshot of the VIEW editor:

Hello folks!  I'm back with another agikit release.  This time, the focus is on PIC resources!  agikit now includes a PIC editor:

Because Visual Studio Code is based on Chrome under the hood, this editor is usable on web pages too.  It's written in React, and released as a separate package called agikit-pic-editor.  The user experience is a little clunky right now but I'm hoping to improve it with your feedback!

To try it out, follow the instructions on (make sure you're installing version 0.5.0 or later).

Next up: VIEWs!

AGI Development Tools / agikit 0.4 + Visual Studio Code
« on: March 10, 2021, 04:47:10 PM »
Hello everyone!  I'm pleased to announce that agikit version 0.4 is out, and with it there are two major changes:

  • agikit is now split into multiple npm packages.  For the previous command-line functionality, you probably want to install agikit-cli.
  • We now also have a language server for LOGIC scripts and a Visual Studio Code extension built on it.

This means it is now (starting to become) possible to use Visual Studio Code as an IDE for AGI games (in a very very limited way that will hopefully become less limited over time).  Here's a screenshot:

Right now, agikit-vscode can:

  • Syntax highlight LOGIC scripts
  • Check for syntax errors in LOGIC scripts
  • Provide hover and "go to definition" inside LOGIC scripts
  • Build AGI games
  • Run built AGI games in ScummVM

If you'd like to try this out yourself, I've updated Peter Kelly's AGI Contest 2 Template game to work with agikit.  You can find the agikit version at, along with a set of instructions to get it up and running.  I'm sure there are plenty of bugs here, and I would definitely appreciate any feedback or bug reports anyone has!

AGI Development Tools / Introducing agikit
« on: February 20, 2021, 01:46:26 PM »
Hey AGI fans!  I'm pleased to introduce something I've been working on.  It's called agikit, and it's the beginnings of a cross-platform development toolchain for AGI.  agikit is written in TypeScript and aims to provide an extensible, flexible, open-source platform for building AGI development tools.  It is very, very early stage right now.  :)

NPM page:
Github repo:

Itís super early stage, itís not yet compatible with WinAGI, AGI Studio, or other similar tools, but: it can decompile and recompile Kingís Quest I, and the result runs in ScummVM.

Why do this, particularly when good IDEs are already out there?  Part of the reason was just nostalgia; I used to make AGI fan games back in high school and I wanted to revisit it now that I'm older and know more about software development.  Additionally, I wanted it to be possible to develop AGI games on non-Windows platforms and using your choice of text editor.  This isn't intended in any way to compete with the excellent tools that exist, but rather, to open up the world of AGI development to a wider audience.

Another big reason for this is that I wanted to learn about how compilers really work by building one, so the resulting app here is quite different from how Qt AGI Studio works, in that it does AST generation, control flow analysis, optimization passes, etc.  One interesting result of this is that the code it generates can't (yet) be decoded by Qt AGI Studio, because it can potentially reorder blocks in a way that doesn't guarantee that conditionals contain all their sub-statements in the assembled LOGIC resource.  I'm hoping to add an option to generate AGI Studio-compatible LOGIC resources in a future release, probably as a post-compilation reordering pass through the assembly code.  (I'm unsure whether all of this applies to WinAGI or not, because I don't have access to a Windows machine to try it on, but if someone would be willing to let me know, I'd greatly appreciate it!)

Right now all this compiler infrastructure doesnít actually amount to much, because the script language it compiles is very structurally similar to the binary LOGIC format, but because it does these things, it should be possible to greatly extend it to include stuff like functions, loops, and even variable types AGI doesnít natively support.  It also should make it easier to build a language server so someone could (for example) write AGI games in Visual Studio Code with full auto-completion and code navigation support.

Aside from this limitation, there are several other big ones right now that I hope to fix soon:

  • Only supports AGI version 2 for now
  • Doesn't fully support the LOGIC syntax in the standard:
    • Doesn't yet understand operators such as ==, <, >, +=, etc
    • #define (and therefore named variables) isn't yet supported
    • Probably other stuff
  • Doesn't decode or compile OBJECT files yet
  • Doesn't compile WORDS.TOK yet

As you can see, it is nowhere near ready for use, but overall Iím pretty pleased with how itís turned out so far!  I'd love any feedback folks have.

Pages: [1]

SMF 2.0.14 | SMF © 2017, Simple Machines
Simple Audio Video Embedder

Page created in 0.082 seconds with 20 queries.