Sagittarius v0.3 Released!

You can get the latest version on the downloads page. Warning: the documentation on the wiki is currently a bit behind, but should be up-to-date within a week or so.

This version has been over a month in the making, but it comes packed with a lot of new features. One such feature is a leaderboards system built right in from the start. Underneath the hood, leaderboards use the same exact DBObject model as everything else in Sagittarius, but I decided to include them as a “special case” server-side to boost performance.

New also is the Modules page, where you can find plug-and-play code to enhance Sagittarius client-side. I have only a few classes there already, but I hope to have lots more in the future (and perhaps one day open it up to the community…if there ever is one :-P).

There is also now a JavaScript Starter Kit. To demonstrate its capabilities and the new leaderboards system, I made an HTML5 game called Dave Likes Pizza.

It’s funny how sometimes the smallest things can snowball into gigantic problems. While designing the leaderboards system, I faced a unique problem: how to properly grab and store the client’s IP value on demand. It didn’t seem so tough at first, but I quickly found out that there’s no way for the client to reliably get its own IP. For example, my working computer is masked behind my router, so it only ever “sees” the local IP (which of course is useless to other computers). The solution to this problem eventually caused me to rewrite Sagittarius from the ground up.

Version 0.3 therefore comes with a much more robust system, outlined in the design spec. In particular, there is now support for mustache templates. Admittedly there’s only one mustache right now, {{IP}} (which as you can guess is substituted for the client’s IP in the preprocessor), but I hope to have more soon.

As always, if you have a cool feature you’d like to see or run into any problems, don’t hesitate to submit an issue over at the GitHub Issues Page.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s