CraftStudio Client & Runtime 0.1.4.0, Server 0.1.3.0

Say hi to 0.1.4.0. It features lots of useful new keyboard shortcuts (F5 to export! Ctrl+W to close a tab!), a refined scripting API with raycasting functions and the usual assortment of bug fixes!

This new release introduces a version number for the scripting API which will be incremented when compability-breaking changes are made. This will help avoid breaking your game projects too often while the API stabilizes.

You can choose which scripting API version to use for your project in the administration tab. For new projects, I recommend you always use the latest version.

The drop-down list allows choosing which API version to use

The script API version 1 introduced in this release uses Vector3 classes instead of 3 numbers in  Transform functions.  See the relevant wiki page for details.

Client Changes

  • User Interface
    • You can now press F5 to export your project from anywhere
    • You can now close tabs by pressing Ctrl+W
    • You can now open the Create Revision popup in assets by pressing Ctrl+S
    • Lists and trees can now be navigated using Home / End / Page Down / Page Up keys
  • Painting
    • You can now delete the selected texture rectangle with the Delete key
  • Scripting
    • Added Vector3, Plane and Ray classes (with plane, model & map raycasting functions)
    • Add Script API Version switch in administration tab.
  • Bug fixes
    • The spinning wheel in the asset preview panel is now displayed while a map and its tileset is loading
    • Introduction requests are now properly enqueue d until a connection to the master server has been established
    • Fixed initial selection in Create Asset popup
    • Fixed a bug that prevented setting a Camera component’s render viewport Y position & height properly
    • Fixed various crashes when a map takes too long to load
  • Miscellaneous
    • Lowered server NAT introduction timeout from 3s to 1s

Runtime Changes

  •  Use Vector3 classes whenever it makes sense for Transform functions
  • Implement model and map raycasting

Server Changes

  • Support changing the project’s Script API version

Work on Project Waffle has begun!

So after Wednesday’s pretty beefy release, I’ve finally been able to start doing some prototyping for Project Waffle. My current focus is on implementing the gameplay basics with placeholder assets to find out what’s needed to make the game.

  • The Scripting API lacks several crucial features. Ray casting, game object creation / destruction are some of the most pressing needs. I’ve already started addressing those.
  • We’ll need some way to properly bind a weapon to a model node so that it can follow along during animations.
  • I’d like to implement the basics of the built-in store soon so that Project Waffle and other games can be distributed on it. I want to make CraftStudio into a great platform for gaming, game-making and modding and having the store with some free content will provide some great showcase for what’s possible!
  • Also, we shall have a high score / leaderboard API pretty soon!

Project Waffle prototype, featuring terrible temporary graphics!

If you’re one of the few who contributed to “Backstage access” level or above during CraftStudio’s crowdfunding campaign, you can add Project Waffle to your CraftStudio projects and come chat with us, play with the prototype and look at the project as it evolves (use the Manage button, Add Project… and then connect to “craftstud.io”). Otherwise you’ll just have to wait for a while :)

CraftStudio Client & Runtime 0.1.3.0, Server 0.1.2.0

Here’s a pretty big update with some exciting changes, including copy / paste support with external programs, line numbers in scripts and tile set reusability!

 Client Changes

Copy / paste support in image editors (use Ctrl+X, Ctrl+C, Ctrl+V and Ctrl+A!)

Tile sets can now be selected and reused in maps

When hovering a block type in the tile selection viewport, its ID is now displayed in a tooltip (useful for scripting)

Line numbers have been added in the script editor

I added details about progress in export popup

  • Bug fixes
    • Fixed animation bug when there are only two keyframes on the first and last step
    • Fixed transform handle jumping when lagging
  • Miscellaneous
    • When connecting the project status icon is now yellow instead of red
    • Added Facebook / Twitter / Google+ icons on the Home pane
    • Retired Retalyx Studio from the Community pane
    • Added French Fries support!

Runtime Changes

  • Added os.time(), os.timediff(), os.date(), os.clock() functions.

Server Changes

  • Support image pasting
  • Support tile set reuse
  • Bug fixes
  • Don’t crash when advertising the server if the local address can’t be read

CraftStudio Client 0.1.2.0, Server 0.1.1.0

This update finally brings automatic NAT traversal to CraftStudio.

What does that mean? In most cases, you should now be able to have other people join your server without fiddling with your router / modem port settings, making collaborating much easier!

Client Changes

  • Implemented NAT introduction / traversal support
  • There’s now a status indicator in the menu pane on the left that will let you know whether you are currently connected to the master server (which handles authentication and updates) or not. When disconnected, the client will automatically try to reconnect 3 times with an increasing delay between each try before giving up and switching to offline mode. You can switch the offline mode on and off by clicking the status indicator.
  • The French and German (thanks sk2k!) translations have been updated.
  • I fixed a display issue with the (default) gamer picture in the Members pane of the Administration tab.
  • The cursor in edit boxes has been made thinner by one pixel. Yay!

Server Changes

  • Implemented NAT introduction / traversal support

CraftStudio Client 0.1.1.3 and Runtime 0.1.2.1

This update fixes rendering issues that have plagued some users for a long time! There should be much less (if any) flickering, texture bleeding and z-fighting going on.

Changes (client & runtime)

  • Map block rendering has been improved to avoid texture bleeding
  • The default near clip plane for cameras has been increased from 0.01 to 0.1
  • Pineapples.

CraftStudio Runtime 0.1.2.0

Another wild runtime update! This one has a few exciting scripting improvements…

Changes

  • Your scripted behaviors can now define additional method and call them!
    • Define your method with: “function Behavior:MyAwesomeMethod()”
    • Call it from another method with: “self:MyAwesomeMethod()”
  • I fixed Transform:SetGlobalPosition and Transform:Move to work even when used on root game objects (objets with no parent)
  • I added Map:SetBlockAt( [x], [y], [z], [block id], [orientation]) and Map:GetBlockOrientation( [x], [y], [z] )

CraftStudio Runtime 0.1.1.0: More Transform API functions, Exit!

This new runtime build improves the scripting API with the following new functions:

  • Transform:MoveOriented allows moving an object along its oriented axes, useful for moving forward / backward / strafing (without involving arcane math!)
  • Transform:Move moves an object in world space (aka. globally)
  • Transform:GetPosition, Transform:SetPosition, Transform:GetEulerAngles, Transform:SetEulerAngles all are global variants of their previously-implemented Local counterparts.
  • CraftStudio.Exit quits the game at the end of the current frame. Pretty straightforward. It can be used to power an exit button in your game for instance.

Check out the Scripting Reference on the wiki for details.

CraftStudio Launcher 0.3.3.0, Client 0.1.1.2

No new features in these two updates, just some (much needed) fixes / hardening relating to the update system.

In other news, I’m still working on the whole “make inviting people on your server much easier” thing, it’s a complex feature so I’m not sure when it’ll be ready though.

Ok here go the changelogs!

Launcher Changes

  • I hardened the launcher’s update system to make sure it handles properly your local server’s Projects folder when updating, even if updating fails because the server is running or some other kind of error happens.
  • I added a confirmation dialog box when updating the server so you get a chance to back up your Projects folder (located in %APPDATA%\CraftStudio\CraftStudioServer\Projects) before updating.

Client Changes

  • I fixed the list view scrolling behavior when dragging rows around.
  • I made the client display an error message if the local server could not be started for some reason.

CraftStudio Client 0.1.1.1, Runtime 0.1.0.3, Server 0.1.0.3

I spent the night fixing bugs and improving existing features. Here are some fresh updates for your downloading pleasure!

Most notable are the fixes for the game controls editor, the newly-added ability to reorder projects in the Manage popup and the orientation keyframes being fixed, but there’s lots of other cool stuff too. See for yourself:

Client 0.1.1.0 / 0.1.1.1 Changelog

  • Project management
    • Projects can now be reordered in the Manage popup by dragging them in the list
    • The user’s project count is now properly updated when a project is added / removed
  • Game controls editor
    • Add missing joystick index field for joystick button input source
    • Fix clipping / scrolling
  • Models & animations
    • Fix display bug in pivot offset text fields
    • Fix a major bug with animation orientation keyframes which made things jump around like crazy
  • Miscellaneous
    • Updated German translation (thanks sk2k!)
    • A message is now displayed in the chat when you connect / disconnect
    • The number of project entries downloaded is now displayed while connecting
    • Fixed some crashes

Runtime 0.1.0.3 changelog

Fixed Lua print() calls appearing in the console only after the game had exited because of buffering

Server 0.1.0.3 Changelog

Worked around a Mono bug which prevented all but the first project from being loaded (reported as https://bugzilla.xamarin.com/show_bug.cgi?id=5512)

Launcher 0.3.2.0 Changelog

  • Fixed a Projects folder migration bug
  • The saved account type wasn’t reset when the username changed