Version 3.0 of the Torque2D game engine released

4. May 2014

 

Last year the Torque2D was open sourced under an MIT license by GarageGames.  Torque2D is a cross platform 2D game engine.  Originally it only targeted Windows, OSX and iOS.  Now fortunately support for Android, Web and Linux have been added with the release of version 3.0.

 

From the release notes, here is what’s new:

What’s New in 3.0


The following is a summary of the major changes and additions:


Android, Linux, and Web Support

The major focus of this release brings several additional platform publishing options for your game or application. T2D truly delivers on cross platform support, making it easy with one codebase to reach many different audiences on many different devices.

64-bit Applications

In addition to the standard 32-bit support we’ve always had, the engine can now compile as a native 64-bit application for platforms that support it.

Named Image Cells and Frames

Until now, image frames have always been referenced using a numerical index. Now, developers have the opportunity to give explicit ImageAsset cells specific names. Those names can then be used with all SceneObject derived classes that consume ImageAssets.

<ImageAsset 

  1.     AssetName="soldierWalk"
  2.     ImageFile="@assetFile=soldierWalk.png">   
  3.     <ImageAsset.Cells> 
  4.         <Cell RegionName="walk1" Offset="2 2" Width="103" Height="66"/> 
  5.         <Cell RegionName="walk2" Offset="179 100" Width="37" Height="35"/> 
  6.         <Cell RegionName="walk3" Offset="2 70" Width="65" Height="31"/> 
  7.         <Cell RegionName="walk4" Offset="161 137" Width="36" Height="41"/>         
  8.     </ImageAsset.Cells> 
  9. </ImageAsset> 
  10. <AnimationAsset 
  11.     AssetName="soldierWalkAnim"
  12.     Image="@asset=ToyAssets:soldierWalk 
  13.     NamedAnimationFrames="walk1 walk2 walk3 walk4"
  14.     AnimationTime="1" /> 

Skeletal Animation

We are pleased to announce that an initial implementation for skeletal animation is now available. The first format supported comes from the animation program Spine.
t2dtutorials.com/img/SpineToy.png
Leap Motion Controller

The Leap Motion controller takes input from hands, fingers, and small tools that are moved just above its surface and provides their absolute position and rotation through the Leap SDK. Torque 2D offers built in integration and now includes a demo toy to show off how it works.
t2dtutorials.com/img/LeapToy.png
Xbox 360 Controller

Gamepad support has always been part of the engine, but now the necessary code to use an Xbox 360 controller with T2D has been added.

JSON Format for TAML

Joining XML and binary, developers can how serialize their game objects and scenes in the JSON format, with the engine being able to read-in or write-out this format as easily as the others.

 

  1. "Sprite": { 
  2. "SceneLayer": "31", 
  3. "Size": "100 75", 
  4. "BodyType": "Static", 
  5. "BlendColor": "SlateGray", 
  6. "Image": "@asset=ToyAssets:highlightBackground", 
  7. "Frame": "0"
  8.     } 

ConsoleMethodWithDocs

A major undertaking in the codebase, the vast majority of TorqueScript binding methods and global functions have moved into their own header files. This makes the engine code much easier to read and allowed us to further integrate Doxygen support for a comprehensive reference guide available in the wiki.

ScriptObject Behaviors

Behavior support was added to the ScriptObject class. If you enjoy writing behaviors, now there is an engine class outside of the Scene and SceneObjects which can use them.

Polar Coordinate Changes

One of the few changes made that would break any of your existing scripts - polar coordinates have been standardized throughout the engine to follow the typical polar axis convention where 0 degrees is horizontal and to the right.

New Sandbox Toys

A few more toys were added to the Sandbox, giving new users even more practical examples to learn from. These include AudioToy, AngleToy, LeapToy, and SpineToy.
t2dtutorials.com/img/AudioToy.png

Change List


Below is a list of all changes that have been made to the development branch of the Torque2D repository since the 2.0 release and have now been pushed to the master branch and tagged as Torque 2D 3.0.
TAML supports reading and writing in JSON format
Batch renderer now works exclusively with triangles instead of quads
Fixed SceneObject.applyForce and applyLinearImpulse
Added signum convenience function (PR #56)
New Gui Object: GuiGridCtrl (PR #9)
Added missing TorqueScript methods to ParticleAsset/Emitter/Player, renamed a few static fields for consistency (breaking change) (PR #68)
Fixed ImageAsset typo - image width and height were swapped (PR #70)
All picking modes for CompositeSprite are now functional (PR #69)
TextureManager fix - replaced call to use expandPath (PR #83)
ParticleAsset creation fix - now writes out correctly to TAML (PR #84)
ParticlePlayer play and stop functions now correctly pause and unpause emitters (PR #85)
Added functions to get the explict width and height of cells to ImageAsset (PR #88)
Fixed AABB size in ImageFont (PR #97)
Fixed TAML bug with ImageFont (PR #99)
Fixed TAML bug with ShapeVector (PR #104)
Added Mac OSX 10.6 support (PR #101)
Added linear interpolation and smooth step functions, SceneWindow now uses these (PR #95)
OpenAL streaming audio fix (PR #106)
OpenAL pause and unpause audio fix (PR #115)
OpenAL shutdown fix (PR #114)
PointForceController getPosition definition fix (PR #110)
SimXMLDocument crash fix (PR #113)
Replaced most ConsoleMethod (and functions) with ConsoleMethodWithDocs for easier Doxygen reading, moved most console methods into their own ScriptBinding.h files. (PR #116)
Behavior support for ScriptObject (PR #121)
Angle/polar coordinate issue fixes (breaking change), AngleToy added to Sandbox (PR #123)
Input bug fix for OSX (PR #125)
Fix assert conditional in consoleNamespace.cc (PR #126)
Android platform support added
Xbox 360 controller support (PR #136)
Leap Motion controller support, LeapToy added to Sandbox (PR #137)
Added missing Mutex to StringTable::lookupn (PR #127)
Asset support for named cells and frames (PR #139)
Bugfix for SceneObject::getContacts (PR #142)
Fixed deleting a clone of an object breaking the original object (PR #143)
Fixed bug that prevented scene controllers from being read by TAML (PR #145)
Initial implementation of Spine support, SpineToy added to Sandbox (PR #146)
Doxygen file cleanup (PR #148)
Fixed some Xcode compiler warnings (PR #150)
64-bit platform support (PR #154)
Fixed GUI object namespace issue (PR #152)
Fixed crash when executing FileDialogs (PR #153)
Linux platform support (PR #138)
AudioToy added to the Sandbox
Exposed method CompositeSprite::getSpriteLogicalPosition in TorqueScript (PR #155)
Emscripten platform support (PR #157)
Fixed TAML binary writer crash (PR #158)
Fixed compile errors and warnings resulting from the Xcode 5.1 update (PR #159)
Windows platform fixes (PR #168)
SkeletonObject now respects scene layer depth settings (PR #171)
Named cell and frame improvements (PR #172)
Fixed iOS7 bug with audio not playing (PR #175)
Arm64 support (PR #176)
Removed PVRTexTool files (PR #177)
Android platform fixes (PR #174)
Visual Studio 2013 solution files added (PR #182)
Behavior Connection bug fixes (PR #183)

 

Torque2D is available on Github.

 

I’ve personally never checked out Torque2D, one of the biggest drawbacks was the limited platform support, which has been solved by this release.  My other major caveat is their use of a proprietary scripting language, something I am generally not a fan off.

News ,




Badlogicgames release Packr for packaging Java jar, assets and even runtime into a native executable

4. May 2014

 

You know one of the things that suck about working in Java?

 

Java.

 

Or more precisely the Java runtime.  The need to have the Java runtime pre-installed in order to run your game is a bit of a pain.  Fortunately Badlogicgames, the people behind LibGDX have released Packr.

 

In their own words:

Packages your JAR, assets and a JVM for distribution on Windows (ZIP), Linux (ZIP) and Mac OS X (.app), adding a native executable file to make it appear like the app is a native app. Packr is most suitable for GUI applications.

 

To be honest, that explanation kinda sucks, their description on Reddit is much better.

This has been a pain point for a few of our users, though Minecraft made pretty much anyone on this planet install Java anyways :)

I wrote a little tool called packr which does the following:

  • bundle your jar/assets with an embedded JRE
  • add a native executable for the respective platform to make your app look native
  • minimize the JRE (zipped: 23mb, extracted 40mb)

This should make the user experience a bit better, as there aren't any things the user needs to have installed before trying your game/app. All they need to do is download a ZIP/App Bundle and execute the native executable.

It's very easy to use, either via CLI arguments, a JSON config file, or by invoking it directly from code (it's really a library).

 

There are a couple limitations right now:

    • Icons aren't set yet on any platform, need to do that manually.
    • Windows is 32-bit only, Linux is 64-bit only, Mac OS X is 64-bit only
    • JRE minimization is very conservative, depending on your app, you can carve out stuff from a JRE yourself, disable minimization and pass your custom JRE to packr

 

If this sounds useful to you, you can learn more at the Packr github page.

News ,




IntelliJ release 13.1.2 update

29. April 2014

 

I love IntelliJ and JetBrain’s products in general.  Unfortunately though the current release is somewhat well, slow.  Gradle builds take a painfully long time.  Fortunately they recently announced the 13.1.2 release, which shows increased Gradle performance as a major component.

image

 

So I am keen to check out the update.  Sadly, I get this:

image

 

Doh.

 

I’m going to do a complete remove/install and see if that solves the problem.  I will update with results.  If you want to try for yourself, you can download it here.

News




Unreal Engine 4.1 released

25. April 2014

 

As the title said, Unreal Engine 4.1 has been released.  The biggest new is probably PS4/Xbox One support, but to most developers the additional resources and in engine tutorials are probably a bigger deal.  The impressive part is the volume of the release.  If Unreal keep updating at this pace, all the other game engines really do need to be afraid!  I have to imagine it will slow down a bit as I am guessing a lot of this content simply didn’t make the 4.0 cut.

 

Anyways, here are the release notes:

 

4.1 Release Notes

UNREAL ENGINE 4.1 RELEASE NOTES

Ray Davis on Apr 24, 2014 | Community News
MAJOR NEW FEATURES

Platforms

PlayStation 4 and Xbox One Support

  • Full support for PlayStation 4 and Xbox One!

Console

  • Engine source for Playstation 4 and Xbox One is available to subscribers who are registered developers with Microsoft or Sony, respectively.
  • For now, deploying projects to Playstation 4 or Xbox One requires compiling source from GitHub using a Windows computer

SteamOS/Linux Support (Preview)

  • You can now package your games and deploy to SteamOS and Linux!

Linux steam approved

  • For now, deploying projects to Linux requires compiling source from GitHub using a Windows computer.

Marketplace Content

Elemental Demo (Coming Later Today)

  • Remember that cool Unreal Demo we showed running on PlayStation 4? Elemental is a spectacular showcase of Unreal Engine 4’s high-end rendering capabilities, including dynamic lighting and shadowing real-time reflections, subsurface scattering and GPU powered particle effects.

elemental

Math Hall, a new Content Example level

  • The Math Hall example provides an introduction to basic vector math and the concept behind various math functions.

content examples

New Project Templates

Flying Template and Rolling Template

  • We’ve created two new project templates that demonstrate simple flying and rolling character movement.
  • The Flying template (C++ and Blueprint) feature simple flying movement:

FLying machin

  • The Rolling template (C++ and Blueprint) feature a physics-based rolling ball as the player character:

Rolling

Editor and Tools

New Built-in Editor Tutorials

  • We’ve added new built-in in-editor tutorials.  They’ll appear automatically the first time you encounter these features.
    tutorial image
  • Cascade Particle Editor Tutorial walks you through the basic user interface and concepts used when creating Particle Systems and effects.
  • Material Editor Tutorial explains the basics of creating Materials.
  • Static Mesh Editor Tutorial covers the interface and tools available for setting up Static Meshes.
  • Persona Animation Editor Tutorial walks you through the various user interface elements and concepts for the different asset types and modes.

Scene Outliner Folder System

  • You can now organize your actors into folders in the Scene Outliner.

sceen outliner

  • The create button will create you a new folder containing the currently selected actors.
  • Visibility toggling on folders affects all their contained actors.

Editor News Feed

  • The editor now has a built-in News Feed. You can access it using the new button in the top-right of the editor.
  • The News Feed will tell you about new Marketplace content, video tutorials and blog posts.

Editor News feed

Asset Deletion Assistant

  • This feature makes it easy to delete assets by helping you interactively inspect and repair references.

asset delete

  • Allows graceful cleanup of assets still being referenced on disk or in memory
    • You can click on any referenced asset to navigate to it and fix it up manually.
    • You can Replace References, formally known as “Consolidate”. 
    • You can perform a Force Delete, or you can Cancel and go handle the references yourself.
  • Allows for multiple simultaneous deletes.
    • Even if an asset is referenced by other assets, as long as they are also being deleted, it won’t flag that as a problem.
  • Reference Navigation
    • Double Clicking on referenced assets will open their editor
    • If an asset is being referenced in the open map, Double Clicking the map asset will take you to it in the open map.

Drag and Drop Directory Importing

  • You can now select multiple folders with textures, meshes and animations, and drag them directly into the Content Browser to import everything inside those folders.

Drag and drop

Undo History Window

  • The Editor now has a way to access the undo history.

undo history

  • You can access the Undo History window from the Windows menu (Windows > Undo History).    

New: Remapping Viewport Controls

  • We now allow users to remap their WASD controls for the viewport.
  • You can find these settings under Editor Preferences > Keyboards Settings > Viewport Navigation.

remapping viewport

New: Debug Histogram Visualization

  • You can now draw a histogram (graph) of float values in the world.

debug histogram

  • You can record the value of a property or other aspect of the game over time and visualize that as a histogram at a specific location in the world.
  • Values can be recorded and histograms can be drawn from both C++ code and Blueprints.

Histogram

  • Note: This feature is designed for debugging purposes. Debug drawing is not recommended during normal gameplay.

Translation Editor (Preview)

  • The Translation Editor makes it easier to edit translations for strings in your game code and assets.  

translation Editor

  • Note:  This tool is still an early work in progress.  This tool can be enabled in your editor preferences under the Experimental section.

Blueprints

Jump to Connection in Graph

  • You can now right click on pins and jump to connections.

Jump Connections

Class Dynamic Casting

  • You can now safely convert between compatible types of objects in your Blueprints.

Description: DynamicCasting.png

Improved Blueprint Components Editing

  • You can now drag-and-drop component nodes between Blueprint editor windows.
    • This will create a new component variable in the new Blueprint that inherits its attributes from the original (except variable name, to avoid conflicts.
  • You can now undo/redo component attachment and detachment operations.
    • This works for the “Make New Scene Root” operation as well

 

You can read the original release notes here.

News




LibGDX finally reaches version 1.0!

20. April 2014

 

So it’s taken a while, 4 years to be precise, but LibGDX, the cross platform Java game development engine, has finally hit the milestone release 1.0. 

 

Everyone thought the day would never come. But here it is. libGDX 1.0 is officially released! Let me quickly run you through the most important changes:

Read the full CHANGES file for more goodies.

To try out our new setup, start here!

If you have a Gradle-based project, make sure to update the gdxVersion to “1.0.0″ and refresh your IDE project files! The new snapshot (==nightly) version is “1.0.1-SNAPSHOT”

Besides the usual bug fixing and enhancements, we also cleaned up our libGDX repo, website and wiki for the 1.0 release. The old setup UI has been deprecated, the audio and image extensions have been removed, and the demos have been gradelized and put into their own repositories. You can now also directly test the demos in your browser (or desktop, or Android device)!

Finally, we’ve setup a Patreon, that allows users to contribute to our infrastructure costs. This has been so successful, that we were able to move our build and website server to Hetzner. After the move and adding some build magic, the build now takes 10 minutes instead of 1 hour and 45 minutes. Thanks to all the patrons, you really made a difference in my life!

Going forward, we’ll try to have a much shorter release cycle (2 weeks – 1 month). The major version of libGDX will stay at 1 for the foreseeable future. The minor version will be increased when API breaking changes are introduced. The patch version will be increased in case of bug fixes and API additions. Releasing often allows you to stay as up-to-date as possible before freezing your libGDX version for a release.

 

They also have a brief blurb about the future:

With all pieces in place, Q1 2014 was used to polish up libGDX’s user experience and documentation for the 1.0 release. We now support all JVM development environments (Eclipse, IDEA, Netbeans, CLI) through our Gradle-based builds. Our build server has been upgraded so we can push out new releases much more easily (and hence regularly!). Our repository has been cleaned up, any clutter has been removed. The Wiki has been updated to reflect the latest state of APIs and setup procedures. We are ready to pull the trigger. After 4 years of development, libGDX has finally reached version 1.0.

 

There is also a detailed history of the LibGDX project.  You can read all about it in the announcement.

 

Congratulations to the LibGDX team!

News