Stumbled across this old forum post from 2011 where someone named "ValleyBell" posted a tool called "ClickTeam Extractor" for extracting resources from ClickTeam games that seems much more advanced than my KNPUtils. Includes source code and file format documentation! Given that it's hosted as a MediaFire link from 2011 it's a miracle that it's still online, so I'm mirroring it here.
In May of 2009, over 11 years ago, I laid out a vision for a collaborative game-making tool that I wanted to make. I had fond memories of being a kid and sitting in front of a computer with my friends, throwing ideas around and banging out goofy QBasic games, and I was frustrated that there didn't seem to be anything out there that would let have that kind of experience over the internet. The only improvisational game development tools I could get my hands on were decidedly single-user; every attempt I made to collaborate on a single project failed badly. The closest thing I could get was the Pirate Kart experience - everyone doing their own thing and sharing it with everyone else as they finished, and bundling all the results in a single package.
MarMOTS was my answer: a collaborative game creation tool built out of nostalgic textmode graphics, inspired by ZZT but usable by multiple people at once, where every change was live the instant you made it. I wanted to be able to change games while other people were playing them. I wanted making and playing games with it to be a party.
I worked on it fairly steadily for two years, putting it live as soon as there was something interesting, adding features, fixing bugs, responding to the GT community that was using it. In time it became a capable ANSI art and animation creation tool. Goofy collaborations happened. Folks made some incredible art with it, which was amazing and gratifying and kept me motivated to improve it.
Then I burned out on it, life happened, and nine years went by.
In the back of my head, in those nine years, MarMOTS was always there. It was a great idea that I'd gotten _so close_ to making happen. I'd get back to it someday.
In 2009 I laid out a vision, a TODO list, each item flowing naturally from the last, each step being useful on its own, to prevent me from working and working and working and getting stuck, getting lost in my own head and ambitions, and giving up without having anything to show for it. Hard as I tried, I could never push past vision #4; vision #5 turned out to not be necessary or even a particularly good idea, and vision #6... In 2009, I wrote of vision #6: "This is the biggest leap." I got close, implementing a scripting language complete with structured editor, so that the program was always in a runnable state; but the editor never quite became usable, and I never quite worked out how I would connect that piece with the stuff I'd already built.
Today I put live a version of MarMOTS that pretty much does everything I set out to do with vision #6. I pulled back the scope of what I'd tried to do in 2011 from "a full general purpose programming language" to "maybe a minimal Bitsy-like." You can now take an ANSI drawing and add interactive elements to it (in MarMOTS these are called "bots", inspired by MegaZeux's "robots"); as soon as you do, it becomes a game that other people can play. Virtually every change propagates in real-time; if you change a drawing or a script or add a new bot in the editor, all the players will see it. I tried to make the interface as self-explanatory and discoverable as I could - the editor tells you what your options are at every stage, and it's impossible to create a syntax error.
If you decide to mess around with it and have questions or suggestions for cool things to add please let me know! I'll probably keep adding stuff and fixing bugs as the days go on. You can use MarMOTS from your browser with your Glorious Trainwrecks account credentials!
Hey, remember MarMOTS, the MARvelous Multiplayer Online Telnet Server? (previous MarMOTS blog posts) I don't blame you if you don't, I haven't worked on it in almost a decade. I had this beautiful dream of a ZZT MMO; a realtime collaborative game-making tool, where we all could make cool ANSI art games together. And I managed to get to the part where we could all make cool ANSI art together!
With the various server moves over the years, MarMOTS has been up and down for a while. With the latest server move, I decided I'd dust off the ol' source code and see if I could get it running again. And... I did! MarMOTS is back up, and fully operational! It's also much easier to get running - it no longer requires Stackless Python, having now been ported to use the greenlet package instead. It also now works with a much wider variety of telnet clients than just SyncTerm - I have had reasonable success with Qodem and Netrunner, and I'm planning to see how well fTelnet does with it.
Why should you care if it's easier to get running? Well, I also took the opportunity to finally release the source code. It's now available under the AGPL, which requires anyone who makes changes to it and deploys those changes on a public server make them available from within. MarMOTS belongs to all of us, now.
I'm considering picking it back up and trying to get some simple bitsy-like interactive storytelling tools in there. We'll see how that goes. I have a half-working scripting system that I haven't looked at since 2011...
So, you're messing around at the Internet Archive, and suddenly you find you've made a sweet Jetpack level, or an excellent Klik & Play game. You're super proud! You want to save it for posterity, or share it with the world!
But, you can't. It's saved _somehow_ on your hard drive so that you can keep messing with it when you visit the page again, but you don't have any way of accessing it!
UNTIL NOW.
Introducing the Internet Archive DOSBox File Browser!
Simply drag the following link up to your bookmarks bar: File Browser
Then, when using your favourite Internet Archive DOSBox-emulated program, click the "File Browser" bookmarklet to show a pop-up at the top of the page that allows you to easily traverse the DOS filesystem. Clicking on a file will cause your browser to bring up a download dialog to save it! (Right-click-and-save-as doesn't currently work.)
Possible future enhancements:
* Update: Now hosted on the Internet Archive itself!
Sup gang! Just thought I should post about a couple of things.
FIRSTWISE: I did an interview about this wonderful community! Perhaps you would like to read it?
SECONDWAYS: I have done away with the star rating system for games. I hope most of you don't think it's a big deal. I really only ever meant it to be used as a sorting mechanism, back for the Pirate Kart II, rather than having it be a way of giving feedback in and of itself. If you like a game, or have some criticism to offer, you should leave a comment! Communication with your peers in a supportive community is waaaaay better than watching anonymous numbers going up and down; let's do more of the first thing, and less of the second. High fives? HIGH FIVES.
THIRDWHISTLE: Soooo how are things going for you guys? Anything about the site / community that's bugging you? Any way in which things might be cooler? Just kind of want to check in.
Lots of good stuff in this latest update! Try it out!
Work continues!
When I last made a MarMOTS post, I was working on starting to make my scripting language do useful stuff. Well, it quickly became apparent that in order to make my scripting language do anything interesting, I had to have entities on the screen to refer to. So I've got project support working now, and am currently building an ANSI sprite animation editor! This is going to be the biggest and coolest addition to MarMOTS in almost two years. I'm hoping to get something out next week, but we'll see.
On the scripting front, I have written a simple VM for the scripts to run on, and verified that, yes, my scripts actually run and do what they're supposed to. One of the interesting features of my scripting language is that it is intended to be LIVE, all of the time. The idea is that you can edit a script that is in the middle of running and the program will actually continue to function correctly, incorporating your changes immediately. One way that I'm able to do this is by stealing the notion of failed calculations from an obscure language called Icon. (Actually, reading that now, I may want to steal more ideas from it :) Basically, if you're editing a script and have a logic bug or even a syntax error, no big deal -- it's just a failed calculation, it gets logged, and your program continues to run. No game-killing exceptions, ever. I believe that it's much better for a designer to be able to see a failure happen, and have as much information as possible about the actual problem as it occurs during play, than to be told "the computer can see this will never work! You aren't allowed to run this program."
I have ambitions.
So now that Game Maker is $40 and Construct 2 will eventually be $65, I've found myself turning back to MarMOTS and wondering what it would take to get it into shape as a game-making tool.
My first focus has been getting my scripting language / editor into shape. I lump the two together because the scripting language, while textual, is never parsed from free text; instead, the user is edits the source tree directly using a friendly structured editor, with lots of autocomplete help, and in which it is literally impossible to forget a semicolon or a closing parenthesis. For power users, it should be as fast or faster to type in programs with this editor than with a text editor, and yet newbies will still be able to discover all of their options in a nicely readable self-describing English syntax.
So over the past couple of weeks I have torn apart my previous attempt at this language and rebuilt it. I've arrived at the point where I can type in any programs I like, and add features to the language without much effort. The UI is still pretty painful to use at this point, but that's mostly because I haven't focussed on improving the interaction at all besides making sure auto-complete is usable.
I was thinking I should maybe do like a screencast or something, but the scripts don't DO anything yet. I'm thinking that the next step will be to start integrating the scripting language with ANSI layouts that I draw in MarMOTS. I'm pretty excited to start hacking on that stuff! You should be too.
So, I've been noodling some more on KlikPunk in my off hours, and good news! It's time for another release!
(If you've previously installed KlikPunk v1.0, you'll need to uninstall it manually to proceed, sorry. Also, none of your stages will work with this version, because I switched from XML to JSON as the file format, and I'm not aware of anyone actually using this for anything. If anyone cares, I'll write a converter.)
This release has many usability improvements, such as:
Give it a try! Let me know what else I could do to make it more useful!
I've also been doing some non-gamey stuff (a Boxee app that launches games and has a not-entirely-stupid way of building the list, an experiment with Twilio's SMS-sending capabilities to bug me about stuff) but I guess I don't have as much to say about it as I thought?