Monster is an open source programming language made with game scripting in mind. For a quick introduction to Monster, see the about page. To get a better feel for what Monster looks like and how it works, you can visit the tutorial section.
... or if you just want to give Monster a spin, see the download page.
)Date: 2008-may-05
The very first Monster tutorial is finished! You can find it here. There is also a new tutorial section.
Tutorial 1 covers the bare basics, like variables and functions, and how to actually run a script file. I will write more of these in the coming weeks, and announce them here as I go.
Date: 2008-apr-24
Seems like a small bug sneaked into the Windows code. The download has been fixed and it should compile now. (Thanks to odeamus for reporting this)
Download the updated version: monster-0.8.tar.gz (222k)
... or you can fix it yourself by adding the following line to monster/minibos/c/windows/windows.d:
alias ushort WORD;
Date: 2008-apr-21
Monster o-eight is finally finished! In this release I have tied up those remaining loose array ends (such as concatination), and made some necessary internal rearrangements. For a complete list of changes, check out the changelog.
One noticable new feature I wanted to implement was the ability to quickly and easily loop through all instances of a given class. It hit me that foreach is perfect for this purpose, so now it looks like this:
foreach(obj; class MyClass) // All instances of MyClass obj.doSomething();
The internal iteration system is entirely generic and can be extended later to include user defined constraints, like "find all enemies less than 10 feet away from me".
Download Monster here: monster-0.8.tar.gz (222k).
Date: 2008-mar-14
Some updated plans for the next couple of releases can be found by clicking here.
Date: 2008-mar-12
I had originally planned on doing a half-way, quick-and-dirty array implementation for version 0.7.
But I changed my mind and decided to do it properly and be done with it :-) So now Monster has complete array support, including slices, foreach loops and vararg function parameters. I would say arrays are now about 95% done and are good to go. You can get it in the download section. Also check the changelog for a complete list of changes.
One interesting point is the case insensitive comparison operator =i= (and the equivalent uppercase =I= to allow faster typing on keyboards where = is a shift key.) You may not need this feature very often, but it's very nice to have it when you do.
Date: 2008-feb-19
The next release (0.6) is ready. This version adds a small phobos compatability layer that allows Monster to be used with the Tango standard library. Just run dsss build / dsss install, it should work out of the box. You will find Tango versions of all the examples in the dexamples-tango directory.
Also, from this version on you no longer need to compile m scripts manually before using them, the VM will do this for you. You can disable this feature with classes.autoCompile = AC.Never;
Download Monster here: monster-0.6.tar.gz (192k). You might also want to check the changelog.
Date: 2008-feb-07
I had to fix a couple of minor issues to get the examples running on Windows. Instead of waiting for the next full release I decided to put the fixes together and make a small release out of it. As usual you can find it in the download section.
Date: 2008-feb-01
I've added an rss feed to the news section! Now you can follow Monster releases and updates more easily.
Date: 2008-jan-31
The next release is ready to be tried, tested and abused. New in this release are improved DSSS compability and state labels. See the changelog.
State labels are just that, labels in state code. You can jump to a label with a goto statement, and you can stop state code completely with a halt statement. You can also specify a label when changing state. See the examples page for more. Note that this breaks current code, since state code no longer loop around automatically.
By the way, I have written a summary of what is in store for the next few releases Monster. And there's some big stuff on the horizon. You can find the list in this "roadmap" forum post.
Date: 2008-dec-31
I finally managed to circumvent the template forwarding limitations in DMD, by adding some unused template instantiations in mclass.d, and by restructuring freelist.d a little.
The end result is that the DMD front-end can now compile each file individually, which in turn means that rebuild/DSSS works and that GDC works. This also means that Monster should now theoretically compile and run on Windows, Linux 64 bit and in Mac OS X, although neither of these have been tested yet. I've put the updated files into a new release - version 0.3 - along with a few other fixes. Check the download page.
Date: 2008-dec-22
Version 0.2 of Monster is finally finished. Check out the download page and the changelog.