AKA: OpenXTalk/LiveCode is fun but needs work

Logo for  Visual DOS 2024

I’ve dropped OpenXTalk/LiveCode as the language Visual DOS is made in. It was excellent for prototyping with my kid, but the publication is where things went wrong. We had so many problems with it, that we never actually got around to creating the game part of the game.

The oldest and I evaluated several options for building the game early December for the 2024 DOS GameJam. We didn't know what gameplay we wanted, but we wanted to have a recreation of a fictional future DOS, a parody installer for it, and a DOS like environment to explore in aside from the actual game. We also wanted the game to be truly cross platform, and be able to run on his school-issued ChromeBook. DirectXSucks, an earlier DOS GameJam submission was written in C#, and could run across many platforms but not mobile, and not as a web page, so it was not an option.

ClickTeam seemed good initially, but required too much work to parse user input, and unlabeled variables are difficult to work with. It also would require platform specific plugins to handle some ideas we had, and we did not have time to write our own. Godot and Gamemaker we spent time with, but the learning curve and time constraints did not make it a good option.

LiveCode exports to HTML though! And there's an open source fork, OpenXTalk, available. I was already working on a LiveCode project (still am), so this would mean less context switching for me as I worked on it. And around this time, a series of family and technology emergencies meant we didn't work on this again until the last week of December.

With the mac replaced, and it being the kid's vacation week, we (well, I; with Christmas and interruptions, the oldest became disinterested) completed a prototype in OpenXTalk the day the GameJam ended. And it worked well. We used object properties on the stacks and cards to track progress, and have a place to store text being used. We had mediocre command line interface that worked, and we almost had a finished game (aside from missing part of the game piece). Dropping and arranging objects meant we could work very quickly. When the time came to share it though, not much worked.

Sharing in OpenXTalk/LiveCode is not without issues. We weren't doing anything special, and everything could have been done in HTML/JS with a bit more time. But OpenXTalk doesn't know that. The web export flat out did not work. The executables had weird issues that seemed platform specific and would take forever to resolve. I've been here before, and I knew I couldn't resolve it before the deadline. I was here presently with the other project too: weird platform and version specific issues in LiveCode. So I submitted it anyway. The oldest was interested again, so I promised him I'd rewrite it in HTML/JS.

When discussing puzzles with the oldest a week later, we decided we (I) could use crypto puzzles for the actual game part of the ... game. And at that point, the novelty took over me and I wrote Visual DOS 2024 as a web app. Some changes were made. The puzzle was added. Spelling errors were fixed. New ones were made. Coming back from LiveCode, I had forgotten about promises which was a fun few hours of debugging. By using the LiveCode version as a prototype/template for what we wanted, it was easy to write the game in JavaScript because there was less experimenting. This project was mostly implementation.

Feedback from the people who could actually run the LiveCode version made it into the HTML version, and many confusing bits were removed. And when it came time to upload the project to itch.io, the only problem I had was forgetting my minified css/js files were named .min-css/.min.js; an easy fix.

Does it need more work? Yes, definitely. But the work is done for now. Type.exe, News.exe, and the web browser need to be implemented, along with hints. But it's time to work on other things for now.

You can play Visual DOS 2024 for free on itch.io: https://antijingoist.itch.io/visual-dos-2024

Image of the the scene where spock dies in The Wrath of Khan. It contains the dialog that follows the image.

Spock asks Kirk: "The ship, got to party?"

Kirk: Yes. We got to have our parties.

Spock: Don't grieve, Admiral. Have more parties. The convenience of the many outweigh
Kirk: -- the lives of the few?

Spock: or the one. what do you think of my solution? Can you accept me now? *dies*

Kirk: Damnit Spock, you had to make this all about you in the end, didn't you?

"man -splain"
man -splain man ?

Merely mentioning linux in a chat got me a wall of text about what linux is. It's history. What it does. All of it only partially accurate too.

And I get that A LOT.