We have here a piece of software that does nothing. There. That's your announcement. Thank you for reading.

TL;DR This is a long post.

Hold on. Are we really done?

No, of course not. Twinspire Studio is much more than just a bog-standard user interface with all the tools you might need to design interfaces for video games, websites, etc. Yes, you saw that correctly. Websites as well, just not with HTML5 or CSS3. We're ditching the traditional routes of web design and focusing on something much more enjoyable to code. (Our opinion, of course)

Twinspire, as in the framework this website is about, is built on top of the low-level framework Kha, written in Haxe, which allows us to build interfaces for almost any device: desktop, mobile, the Raspberry Pi, even consoles and smart TVs. Of course, you can quite literally build anything with Kha and Haxe, but Twinspire is likely to take that a little further.

Our goal, at least initially, is to provide a design tool to aid with drawing elements into components, components into scenes. There will be a basic event system in place and the ability to write custom Haxe code files (just not with autocompletion or using the Haxe server). But don't expect an amazing, all-supreme development environment that suits every requirement.

Like StoryDev, this is a tool, not a complete package, to aid with completing certain tasks. StoryDev is designed to manage the data relating to interactive stories in addition to the conversation system. Twinspire Studio is more of a visual aid to interface design and not designed to be anything else.

Looking at the interface above, you might think there is a lot to it, but there really isn't.

Project Management

Creating a new project is as simple as CTRL+N, or through File -> New -> Project...

It is a very simple user interface that requires a title and the folder location where all files are expected to be stored. It copies the standard Kha template into the Kha folder which is effectively the source code for all of the project. Twinspire Studio will generate code in their relevant places, and in some cases procedural-style.

If we were to open a project, we are greeted with the above interface. We have recently created projects in a list on the left-hand side and two other options next to it.

When the Project menu becomes available, we have options to Debug and Build. However, if these are greyed-out, i.e. disabled, this is likely because the Kha source code isn't in the project's folder. We have to Initialise Kha... first before we can start debugging or building the application.

Remember, we are not a development environment, so we won't be implementing a debugger ourselves. Instead, there will later be an option to open a separate editor that supports debugging in Haxe, like Visual Studio Code.

By going to Project -> Config... we are brought here. This allows us to define the background colour, the project title and the title supplied in the window of our application. Libraries actually makes no sense here, since this is managed in a different interface, but we do have an option to define Compiler Defines (that is -D notation on the command line or in *.hxml files). This has not been implemented yet.


Of course, we have library selection. This was originally going to allow for browsing and searching the online Haxelib database, but this seemed difficult to pull off at the time. Perhaps this interface will be revisited later, but unlikely.

Simply put, your Local Libraries list is all the libraries installed against Haxelib, (libraries installed the Kha way won't be detected), while your Current Libraries is all the libraries you have in use in the project.

And everything else?

Well, the first interface you saw was simply a test. We believe in the art of deception, which carries forth a hint of insurrection whenever the word is thrown so aimlessly. But we do try to avoid controversy if we can help it, only to realise it is slammed back in our face.

Not to worry, though. That initial interface will be fully functional at some point in the future, just not right now.

Any Schedule for the random announcements?

Hey! They're not random.

Well, okay, I was excited to share the work already put into Twinspire Studio even if only half of what is shown actually does something, but there is a reason for this somewhat confusing release of an article on a Monday.

Naturally, Age of Atlantis is an interactive story, and much of it requires writing. Creative writing, to be more specific. If you consider the term "writer's block", you may understand why at some point during the progress of the game that this will occur. When this happens and I can do nothing about it, it only makes sense to work on something else, and that is why work on Twinspire Studio has started.

It is something that can be used in the future not just for the design of the video game's interfaces, but also to allow for designing websites. Yes, there is an intention to design websites using this software, because HTML5 and CSS3 makes me cringe. It's tedious, boring and there are far too many tags and hierarchies that makes coding the damn things a pain in the backside.

Nevertheless, in doing so, additional features will be implemented into Twinspire Studio when the time comes. For now, it is worth returning to StoryDev to continue writing and implementing more features when necessary.

Developer at home, customer services at work. In my free-time, I enjoy writing and coding.