Blender roadmap for 2.7, 2.8 and beyond

17. June 2013

I am a big proponent of Blender so I am always quite interested in how it is going to develop.  Recent releases have been all about bringing a number of projects that have been in the works for years back into the fold.  Functionality like BMesh and the Cycles renderer are now part of the core package and Blender is vastly improved as a result.  Now that most of that work is complete, Blender started looking toward the future and released their roadmap of upcoming features.

 

The nutshell version:

2.6x

  • For 2.68 and 2.69 we strictly keep compatibility and keep focusing on stability for Blender.
  • Anything potentially unstable or breaking compatibility should go to a 2.7 branch
  • If needed, we can do a couple of 2.69 updates (a b c d) to merge in bug fixes only.

 

2.7

  • Move to OpenGL 2.1 minimal (means: UI/tools can be designed needing it, like offscreen drawing)
  • Depsgraph refactor, including threaded updates
  • Fix our duplicator system, animation proxy (for local parts of linked/referenced data)
  • Redesign 3D viewport drawing (full cleanup of space_view3d module)
  • Work on cpu-based selection code for viewport
  • Sequencer rewrite
  • Asset manager, better UI and tools for handling linkage
  • Python “Custom Editor” api (including better Python support for event handlers, notifiers).
  • UI: refresh our default

 

2.8

  • New “unified physics” systems, using much more of Bullet, unification of point caches (Alembic).
  • Particle nodes (could co-exist for a while with old particles though)
  • Nodification of more parts of Blender (modifiers, constraints)
  • Game engine… (see below)
  • OpenGL 3.0?

 

Blender Game Engine

Or more radically worded: I propose to make the GE to become a real part of Blender code – to make it not separated anymore. This would make it more supported, more stable and (I’m sure) much more fun to work on as well.

Instead of calling it the “GE” we would just put Blender in “Interaction mode”. Topics to think of:

  • Integrate the concept of “Logic” in the animation system itself. Rule or behavior based animation is a great step forward for animation as well (like massive anims, or for extras).
  • Support of all Blender physics.
  • Optimizing speed for interactive playback will then also benefit regular 3d editing (and vice versa)
  • Singular Python API for logic scripting
  • Ensure good I/O integration with external game engines, similar to render engines.

What should then be dropped is the idea to make Blender have an embedded “true” game engine. We should acknowledge that we never managed to make something with the portability and quality of Unreal or Crysis… or even Unity3D. And Blender’s GPL license is not helping here much either.

On the positive side – I think that the main cool feature of our GE is that it was integrated with a 3D tool, to allow people to make 3D interaction for walkthroughs, for scientific sims, or game prototypes. If we bring back this (original) design focus for a GE, I think we still get something unique and cool, with seamless integration of realtime and ‘offline’ 3D.

 

All told, nothing earth shattering, but one heck of a big change in store for Blender game engine.

Art, News ,




New Dreemchest release. Adds Flash support as well as ad, in app purchase, GameCenter support and more.

17. June 2013

Dreemchest, the Lua based cross platform 2D game engine (and GFS sponsor!) have just released RC147.  The biggest new feature has to be the ability to publish your game to the Flash player.  That said, there were a number of additional improvements including support for ads and in-app purchases, two features that are basically a game engine must have these days.  The complete list of announced new features is:

  • Composer preferences dialog
  • Built-in updater
  • Properties of type StageObject
  • Exporting iOS apps to IPA
  • iOS small icon inside project settings
  • InApp purchases
  • iAds advertisements
  • GameCenter
  • Cryptography
  • HTTP requests
  • Samples for Ads, GameNetwork, InAppStore, Swipe
  • Compressed bundle option for command line packager
  • Asset browser filters
  • OTF font extension
  • Breakout sample game
  • URLRequest sample project
  • Crypto sample project

Dreemchest is currently available as a free download for MacOS and Windows.  You can download RC147 right here.

News , ,




Apple adds Sprite Kit graphics and physics library to iOS and OS/X

10. June 2013

 

The Apple World Wide Developer conference is currently going on and generally there isn’t all that much of interest to game developers.  This year is a bit of an exception as they added SpriteKit to OSX Maverick (10.9) as well as an upcoming release of iOS.  SpriteKit seems to be a combination of sprite library and physics engine.  In their own words:

Sprite Kit provides a graphics rendering and animation infrastructure that you can use to animate arbitrary textured images—sprites. Sprite Kit uses a traditional rendering loop that allows processing on the contents of each frame before it is rendered. Your game determines the contents of the scene and how those contents change in each frame. Sprite Kit does the work to render frames of animation efficiently using the graphics hardware. Sprite Kit is optimized to allow essentially arbitrary changes to each frame of animation.

Sprite Kit also provides other functionality that is useful for games, including basic sound playback support and physics simulation. In addition, Xcode provides built-in support for Sprite Kit, allowing complex special effects and texture atlases to be easily created and then used in your app. This combination of framework and tools makes Sprite Kit a good choice for games and other apps that require similar kinds of animations. For other kinds of user-interface animation, use Core Animation instead.

Followed by:

Sprite Kit is available on iOS and OS X. It uses the graphics hardware available on the hosting device to efficiently composite 2D images together at high frame rates. Sprite Kit supports many different kinds of content, including:

  • Untextured or untextured rectangles (sprites)

  • Text

  • Arbitrary CGPath-based shapes

  • Video

Sprite Kit also provides support for cropping and other special effects, allowing these effects to be applied to all or a portion of the content. All of these elements can be animated or changed in each frame. You can also attach physics bodies to these elements so that they properly support forces and collisions.

By supporting a rich rendering infrastructure and handling all of the low-level work to submit drawing commands to OpenGL, Sprite Kit allows you to focus your efforts on solving higher-level design problems and creating great gameplay.

So basically it’s a 2D game engine competing with the likes of Cocos2D.  Of course, if you use SpriteKit you will be tied to iOS/OS/X and the newest release at that.  If you are an Apple only shop, this isn’t a big deal, but if you work cross platform or are targeting older hardware, this new library is pretty much useless for now.

 

If you have an Apple ID, you can log in and read the documentation here.

News , , ,




Want a free license for Marmalade as well as a free Blackberry Dev Device?

7. June 2013

 

This promotion just arrived in my email and I figured a few of you might be interested.marmalade_logo

 

 

How do you get a Free Marmalade SDK Licence?

  1. Sign-up or sign-in below
  2. If you don’t already have a Marmalade SDK, download an evaluation licence
  3. Submit a draft BlackBerry 10 app using your existing Marmalade SDK or evaluation licence within 30 days. You will need a BlackBerry® World™ Vendor ID to do this. You can get one here. Don’t worry if it’s not ready at this stage - draft mode BlackBerry 10 apps are only verified to determine if they have been created with the Marmalade SDK, and thus qualify you for the offer. They are only reviewed for sale after the BlackBerry Vendor changes the app status.
    ***Please make sure you come back and input your BlackBerry® World™ Vendor ID (we only need the email address you use to register on BlackBerry World).***
    The first 300 qualifying Vendors* will receive a free BlackBerry Dev Alpha testing device
  4. Once your app is submitted for final review and approved for sale, you will receive a full Marmalade Indie licence worth $499 (existing Indie licence holders will have their licence extended by a year and new licence holders will convert to a full Marmalade Indie Licence).
  5. Go cross-platform: once your app is approved on BlackBerry World, reap further rewards on other app stores, using the full capabilities of your Marmalade cross-platform licence.

 

I am a little confused about part 3.  From the sounds of it, you can create a simple Hello World application and submit it, so long as it was compiled with Marmalade and you are one of the 300 first people to do it, you then qualify for a free BB Dev Alpha device.  It could be that I am reading that wrong.  Once your application is approved for sale on BB store, you then receive a Marmalade license ($499) enabling you to publish to other environments.  Makes sense in a way, as Blackberry is sponsoring this, so they effectively get the first release, but then you can bring your app to other devices. You can read the entire release right here(PDF Link).

 

For those of you that have never heard of it, Marmalade is a cross platform game development kit that supports just about any device you could think to target.  It is C++ based, although it now ships with Marmalade Quick, a RAD tool built on top of Cocos2D-x and Box2D and scripted using Lua.  Marmalade has been used to publish hundreds of mobile titles including Cut The Rope, Plants vs Zombies, Need for Speed and tons more.  Marmalade has been around for a number of years, starting life as the AirPlay SDK.  Marmalade have both a free (and limited) version available, as well as a 30 day trial of each of their versions.  The version being offered is a single seat for a year of the Indie version, which allows you to target BB, iOS, Android and Windows Phone 8.

 

Blackberry is a Canadian smartphone manufacturer, who outside of the business world were more or less a non-factor.  This is rapidly changing though with their most recent releases.  The recently released Z10 and Q10 smartphones, as well as the Playbook tablet are all powered by the QNX operating system, which RIM acquired a few years back.  After some serious teething pains, Blackberry is back and has a number of great devices for running games.  While the install base is smaller than both Android and iOS, it is said to be a lucrative market and hey… you’ve got nothing to lose, you can still port to iOS, Windows Phone and Android.

 

 

EDIT:  I figure I should point out that the Indie license they are giving away still has some limitations.  You cannot have an annual revenue of more than $500K and you need to give a Marmalade attribution.  Unlike the community version, this doesn’t involve a splashscreen or anything that intrusive.  A “Made with Marmalade” logo in your about or credit screen is sufficient.  Here is the full details regarding attribution:

 

As a technology business we thrive by sharing details of the amazing apps and games that are made with Marmalade.

It is for this reason that we ask licensees to reference Marmalade in one or more of the following ways:

Marmalade Community Licence holders

  • A Made with Marmalade splash screen will be displayed when your app loads. The splash screen will display automatically, and will remain on screen for a short time.

Marmalade Indie and Plus Licences

  • Include the Made with Marmalade logo and our website address www.madewithmarmalade.com within the credits and/or about screen. If possible, this should link to www.madewithmarmalade.com.
  • In the event that technical restrictions prevent the above, the wording “Made with Marmalade” and our website address www.madewithmarmalade.com should be included within the app credits and/or ‘About’ screen of your published app. If possible, this should link to our website www.madewithmarmalade.com.
  • An optional Made with Marmalade splash screen will be displayed when your app loads. The splash screen will display automatically, and will remain on screen for a short time.
  • Assets can be downloaded here.

 

EDIT2: I just did the Blackberry World vendor application, a bit of a warning, this doesn’t appear to be a real-time process!  I created a Blackberry ID, then a vendor account and cannot yet log in.  It appears there is a verification process before your account is created.  If it’s a race for the first 300 people, this disconnect, well, sucks.  Basically it means people with Blackberry World accounts already registered are basically guaranteed to get in first.

News ,




Well… so much for using Haxe. RIP NME.

4. June 2013

I think I must have bad karma or something.  I spent several weeks looking at what technology to use for my upcoming game project.  After much research and community feedback, I decided to use Haxe with NME using the Awe6 framework.  Well, that plan didn't last long, dying with this statement:

OpenFL is an advancement of everything there is to love about NME, and NME is taking a backseat so it can focus on being a stable, powerful C++ backend for native platform support

 

You see Joshua Granick, the creator of NME just recently announced OpenFL a replacement of sorts for NME, or more accurately I suppose, a replacement built on top of NME.  Here is a blurb from the OpenFL announcement:

OpenFL combines years of work to provide for the industry-standard Flash API without the Flash plugin.

In order to succeed on mobile, it is important to take of advantage of device hardware, and to be as native as possible. That is why OpenFL allows direct access to device features using extensions, why OpenFL makes it possible to target iOS, Android and BlackBerry as fully native applications, and to accelerate the Flash API using OpenGL for a fast, productive development environment.

OpenFL can also target JavaScript directly, thanks to the Haxe Toolkit that powers the platform. Today, users of OpenFL can target HTML5 or the beta support for Emscripten and WebGL, while supporting the Flash Player runtime, for flexibility when providing content for the web.

OpenFL is free, hosted on Github under the permissive MIT open-source license. We invite to join as we build the best 2D development platform for the next 5-10 years.

Though Flash is a popular API, we believe in allowing the community to innovate in new ways to build games and applications. That is why OpenFL seeks to also provide an open platform, including OpenGLView, an accelerated way to build content for Windows, Mac, Linux, iOS, Android, BlackBerry and HTML5 using the WebGL API.

 

Elsewhere in the comments he says:

 

NME is going to become a "native media engine" that can enable Haxe frameworks to run on native platforms. It is used as an internal dependency for openfl-native

 

On one handed, this could be simply looked at as a rebranding of sorts of the NME project as well as a port to the (just released) Haxe 3 language.  That said, I personally think its a really stupid move.

 

Moving closer to the Flash branding seems… dumb.  Perhaps I am in the minority in that my interest in NME had nothing to do with it's Flash roots ( I have zero prior Flash experience ).  To say nothing of the fact the Flash brand isn't exactly thriving at the moment.  With some people it's an outright swear word!  Another thing I really didn't like about the above comment was:

and HTML5 using the WebGL API.

 

Suddenly it sounds like the HTML5 target just became HTML supporting WebGL.  Basically meaning Internet Explorer and 95% of mobile browsers just got dropped from the supported list.

 

Back to OpenFL and NME, even if it is a simple rebrand, that has dire side effects, especially as many of the library names are being changed.  Suddenly there isn't just one place to go for information, or one source of documentation.  Now you have the NME version and the OpenFL version.  If it is not just a simple rebrand, that is even worse.  I love shiny and new, but no way in hell I am going to start a new project on such a bleeding edge technology, especially coupled with the fact it is also tied to a new Haxe version.  As we have seen with Lua and Python, new versions don't always take!

 

So why not simply use Haxe/NME as it exists today?  Well frankly, one of the biggest downsides to NME was the bugs that crop up.  I encountered a couple during my evaluation and often this would have been a deal breaker.  That said, the NME folks moved fast, released fixes often the same day, so I had faith that any problems I might have encountered would be quickly fixed.  Now that NME support is "taking a back seat", I no longer have that confidence.

 

Don't get me wrong, I am not saying OpenFL is a bad thing, it's really too early to tell that.  In a few months/years time, OpenFL might be vastly superior to NME.  That said, I can't hitch my boat to a technology that is that young, nor can I hitch my boat to a technology that has been basically retired.  Maybe for my next project I will be able to use Haxe and NME…. er OpenFL.  Just not today.

 

Guess it's time to take a closer look at libGDX?

News, Programming