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: 2009-may-04
We're happy to announce Monster 0.12! This release has a ton of new features, including a package system, class constructors, enums, named function parameters and a game console mode, to name a few.
Inspired by the MiniD language we've also made a huge (but backwards compatible) grammar change, namely making semicolons optional. Semicolons at the end of every statement are particularly nice to have if you're a veteran C hacker who can't lose the habbit, and they're particularly a pain in the backside in a game console or when you're new to programming. So now they are optional.
A detailed description of all the new features can be found in the developers log Wiki page.
Direct download link: monster-0.12.tar.gz (295k) (download section)
Special thanks this time around go to Tim Cas, for testing and for lots of valuable suggestions.
Date: 2009-apr-15
We're happy to announce the new Monster Wiki. It's hosted on our new monsterscript.net domain, which is where we're moving the entire site in the near future. On the wiki you'll find tutorials, a language reference and several other pages, although most of it is still under construction.
One of the new pages on the wiki is the Monster 0.12 developers log. This page is like an "explained changelog" where you can stay up to date on upcoming versions. As you can see things are really spinning along for Monster 0.12, with many new features already available in SVN.
Date: 2009-feb-18
Monster 0.11 is finally done, and this release has a lot of goodies:
Complete changelog here. With all the new stuff in place I consider Monster to be in a usable state - albeit not feature complete - so I'm bumping to 'alpha' status (from 'pre-alpha'). Still a few things to fix before going beta, but we're working on it, and we're already using Monster in the OpenMW project.
The improved threading system (like the old one) relies heavily on what I call 'idle functions'. These are functions that 'take time', while transparently giving control to the rest of the program in the mean time (Monster threading is cooperative, not preemptive.) Here's a short example:
import io, timer; while(true) { int i; writeln("i=", ++i); sleep(1); // this is the 'idle' function, in case you wondered }
This prints a message every second, while your program continues to run. No system threads are involved, so you can run thousands of such scripts at the same time efficiently, and there's none of those nasty concurrency issues like deadlocks to deal with.
I'll write a few tutorials on this and much more shortly, using some practical examples from OpenMW development.
Direct download link: monster-0.11.tar.gz (265k)
Date: 2008-nov-28
Monster is hungry, and is constantly craving juicy bugs and high calorie feature requests for his afternoon feeding ritual. To satisfy his wild snacking needs, we are opening a bug tracking page and a magical roadmap of the future. Feel free to feed the Monster with your very own bugs, wishes and other insects.
Powered by Flyspray (thanks guys!).
Date: 2008-nov-20
The wait is over, the latest version of Monster is finally done! Most of the features this time around are in response to feedback from various people, so thanks to everyone who contributed their ideas.
The news include new types and operators, object cloning, improved memory performance, const for arrays and other improvements. The new array const is applied at runtime and is flexible and helpful, and much less restrictive than the compile-time equivalent found in eg. C++.
There's also further improvements on the newly merged compiler and VM interface, doing away with the 'linking' phase and opening up for run-time generation of code.
A complete list of changes can as usual be found in the changelog.
Download Monster
here: monster-0.10.tar.gz
(237Kb).
See the included README.txt for instructions.
Special thanks this time to Tom (tomqyp) who helped solve a long-standing incompatibility with newer DMD versions.
Date: 2008-aug-29
After a long summer with little action, Monster 0.9 has finally been released! With it comes inheritance, a much more organized code base and other features. A complete list can as usual be found in the changelog.
Monster has seen some big improvements over the summer. Most notable is the merging of compiler and VM, opening up for a lot of new features:
The inheritance isn't fully finished yet (no polymorphism or virtual functions), but all the groundwork is in place for the next release.
Special thanks go to Dúron (Moritz Maxeiner) for lots of helpful feedback and testing.
Download Monster here: monster-0.9.tar.gz (227k), and remember to check the changelog.