Subscribe to GameFromScratch on YouTube Support GameFromScratch on Patreon
10. February 2016

 

Intel RealSense is a technology and SDK for computer vision including motion controls, facial recognition and more.  There are several cameras and laptops on the market these days that are compatible with RealSense.  Very similar in scope and function to Kinect for the Xbox and Xbox One.

Well, earlier this week a plugin was released for Unreal Engine enabling RealSense support.  From the announcement:

Intel is always excited to introduce innovative tools and technologies that empower the world's most passionate content creators. In case you're unfamiliar, the Intel RealSense cameras use infrared light to compute depth in addition to normal RGB pictures and video. To assist in the development of applications with this technology, Intel created the RealSense SDK, a library of computer vision algorithms including facial recognition, image segmentation, and 3D scanning. 

Short-Range, User-Facing RealSense Camera Developer Kit

Seeing the potential use cases for this technology in gaming, we would now like to introduce you to the RealSense Plugin, a collaborative effort among games engineers at Intel to expose the features of the RealSense SDK to the Blueprints Visual Scripting System in UE4.

Check out the plugin source code and a sample project here.

PLUGIN OVERVIEW

The plugin is architected as a set of Actor Components, each of which encapsulates a distinct set of features from the RealSense SDK. Using these relatively lightweight components, you can add 3D sensing capabilities to nearly any actor in your game, and you can access this data anywhere by simply instantiating another instance of the same component.

Figure 2: ace scanning and mapping in Unreal Tournament using the Scan 3D Component

PLUGIN COMPONENTS

Currently, the plugin features these three RealSense Components:

  1. Camera Streams Component: Provides access to the raw color and depth video streams from the RealSense camera.
  2. Scan 3D Component: Supports the scanning of real-world objects and human faces (Pictured above).
  3. Head Tracking Component (Preview): Supports the detection and tracking of a user’s head position and orientation.

The downside to head tracking controls is the user ultimately still has to look at the screen!  So while it would be awesome to have the computer track your head movements in say... a car racing sim, you still need to keep your head looking straight ahead.  Well except of course in VR, where this entire process is done in the hardware.  Have any of you encountered actual cool usage of RealSense in a game?

GameDev News


10. February 2016

 

Another week another Unity patch.  No new functionality, this patch was populated entirely with fixes:

Fixes
  • (742199) - Android: Fixed remote frame debugger.
  • (none) - Android: Marshmallow - Added the possibility to disable the permission dialog by adding metadata to the activity.
  • (755510) - Android: Mono - Fixed crash on startup with Unity Ads when stripping is enabled.
  • (none) - Core: Improved the error message when build data files are corrupted or from a mismatched version.
  • (752733) - Editor: Fixed folder-level toggle when importing assets.
  • (711720) - Editor: Fixed a bug in the property diff recorder would insert property modification on the prefab asset if it was being edited in the inspector.
  • (756409) - Editor: Fixed crash when entering playmode if LoadScene was called during Awake or Start.
  • (761995) - Editor: It is now possible to replace a prefab asset with a different prefab asset.
  • (752855) - Graphics: D3D11 Native API now supports obtaining native Texture type underpinning a Unity Renderbuffer.
  • (746302) - Graphics: Fixed building shaders correctly for WebGL in AssetBundles.
  • (none) - Graphics: Fixed an issue where standard shader using directional lightmaps could output NAN to the framebuffer. This would corrupt the framebuffer if any effects were used that spanned multiple frames.
  • (753593) - Graphics: Fixed occasional movie texture crash with multiple movies present.
  • (none) - Graphics: Reduced framerate spikes where culling system could sometimes stall for several ms while waiting for jobs.
  • (766642) - IL2CPP: Generate proper C++ code for marshaling wrappers of methods that have System.Guid as a parameter type.
  • (761412) - OpenGL: Fixed random crashes on compute shader dispatch.
  • (760830) - Particles: Ensure consistent direction between 3D and 1D rotation.
  • (757969) - Particles: Fixed a collision crash.
  • (763041) - Particles: Fix for terrains ignoring collision layers.
  • (758197) - Particles: Fixed support for negative inherit velocity values.
  • (765300) - Physics: Fixed center of mass and inertia tensor being reset after game object was reactivated.
  • (763806) - Physics: Rigidbodies without non-trigger colliders can. have custom center of mass and inertia tensor again
  • (767645) - tvOS: Fixed build error with Xcode trampoline.
  • (none) - VR: Dynamically switch to headset's audio output / input driver (Oculus SDK 1.0+).
  • (none) - VR: Fixed VR Splash screen color precision. No Longer limited to half the color spectrum for RGBA32.
  • (none) - VR: Mask invisible pixels so GPU time is not wasted (Oculus SDK 1.0+).
  • (765876) - Windows Store Apps: building from Unity will no longer overwrite project.json file if it was modified in solution.
  • (759735) - Windows Store Apps: When building from Unity files in Visual Studio solution will not be overwritten if identical.

Patch can be downloaded here.

GameDev News


9. February 2016

 

Not every day that there is a new player in the AAA game space, but that’s exactly what just happened with the release of Lumberyard by Amazon.  Amazon has been getting more and more involved with gaming with the launch of their own game studio coupled with their purchased of Double Helix games back in 2014.  Their cloud computing solution, AWS (and more specifically EC2 and S3) have both proven incredibly popular with game developers, providing the networking back end for companies such as Rovio and Ubisoft.  Today however they just made a much bigger splash with the release of a complete game engine, Lumberyard.

Now Lumberyard isn’t actually a brand new engine, in fact it appears to be a mashup of a number of technologies including CryEngine, in house tools created by Double Helix Games and cloud services from AWS, specifically the new Amazon Gamelift service, which is described as:

Amazon GameLift, a managed service for deploying, operating, and scaling session-based multiplayer games, reduces the time required to build a multiplayer backend from thousands of hours to just minutes. Available for developers using Amazon Lumberyard, Amazon GameLift is built on AWS’s highly available cloud infrastructure and allows you to quickly scale high-performance game servers up and down to meet player demand – without any additional engineering effort or upfront costs.

Lumberyard will also feature Twitch integration, and perhaps most interestingly, launch with support, both in forum and tutorial form but also in a paid form, something that is often lacking.  Lumberyard tools only run on Windows 7,8 and 10, while the supported targets at launch are Windows, PS4 and Xbox One.  Of course a developer license is required to target either console.  About the technical bits of Lumberyard:

The Lumberyard development environment runs on your Windows PC or laptop. You’ll need a fast, quad-core processor, at least 8 GB of memory, 200 GB of free disk space, and a high-end video card with 2 GB or more of memory and Direct X 11 compatibility. You will also need Visual Studio 2013 Update 4 (or newer) and the Visual C++ Redistributables package for Visual Studio 2013.

The Lumberyard Zip file contains the binaries, templates, assets, and configuration files for the Lumberyard Editor. It also includes binaries and source code for the Lumberyard game engine. You can use the engine as-is, you can dig in to the source code for reference purposes, or you can customize it in order to further differentiate your game. The Zip file also contains the Lumberyard Launcher. This program makes sure that you have properly installed and configured Lumberyard and the third party runtimes, SDKs, tools, and plugins.

The Lumberyard Editor encapsulates the game under development and a suite of tools that you can use to edit the game’s assets.

The Lumberyard Editor includes a suite of editing tools (each of which could be the subject of an entire blog post) including an Asset Browser, a Layer Editor, a LOD Generator, a Texture Browser, a Material Editor, Geppetto (character and animation tools), a Mannequin Editor, Flow Graph (visual programming), an AI Debugger, a Track View Editor, an Audio Controls Editor, a Terrain Editor, a Terrain Texture Layers Editor, a Particle Editor, a Time of Day Editor, a Sun Trajectory Tool, a Composition Editor, a Database View, and a UI Editor. All of the editors (and much more) are accessible from one of the toolbars at the top.

In order to allow you to add functionality to your game in a selective, modular form, Lumberyard uses a code packaging system that we call Gems. You simply enable the desired Gems and they’ll be built and included in your finished game binary automatically. Lumberyard includes Gems for AWS access, Boids (for flocking behavior), clouds, game effects, access to GameLift, lightning, physics, rain, snow, tornadoes, user interfaces, multiplayer functions, and a collection of woodlands assets (for detailed, realistic forests).

Coding with Flow Graph and Cloud Canvas
Traditionally, logic for games was built by dedicated developers, often in C++ and with the usual turnaround time for an edit/compile/run cycle. While this option is still open to you if you use Lumberyard, you also have two other options: Lua and Flow Graph.

Flow Graph is a modern and approachable visual scripting system that allows you to implement complex game logic without writing or or modifying any code. You can use an extensive library of pre-built nodes to set up gameplay, control sounds, and manage effects.

Flow graphs are made from nodes and links; a single level can contain multiple graphs and they can all be active at the same time. Nodes represent game entities or actions. Links connect the output of one node to the input of another one. Inputs have a type (Boolean, Float, Int, String, Vector, and so forth). Output ports can be connected to an input port of any type; an automatic type conversion is performed (if possible).

There are over 30 distinct types of nodes, including a set (known as Cloud Canvas) that provide access to various AWS services. These include two nodes that provide access to Amazon Simple Queue Service (SQS),  four nodes that provide access to Amazon Simple Notification Service (SNS), seven nodes that provide read/write access to Amazon DynamoDB, one to invoke an AWS Lambda function, and another to manage player credentials using Amazon Cognito. All of the games calls to AWS are made via an AWS Identity and Access Management (IAM) user that you configure in to Cloud Canvas.

Finally we come to price.  Lumberyard is free*.  I say free* instead of free because of course there is a catch, but an incredibly fair one in my opinion.  If  you use Lumberyard you either have to host it on Amazon servers or on your own.  Basically you can’t use Lumberyard then host it on a competitor such as Azure or Rackspace.  Pricing is always a bit tricky when it comes to Amazon services, but unlike Google, they have never once screwed their user base (Google once jacked up prices by an order of magnitude, over night, forever souring me on their technology), so you are pretty safe in this regard.  More details on pricing:

Amazon GameLift is launching in the US East (Northern Virginia) and US West (Oregon) regions, and will be coming to other AWS regions as well. As part of AWS Free Usage tier, you can run a fleet comprised of one c3.large instance for up to 125 hours per month for a period of one year. After that, you pay the usual On-Demand rates for the EC2 instances that you use, plus a charge for 50 GB / month of EBS storage per instance, and $1.50 per month for every 1000 daily active users.

I intend to look closer at the Lumberyard game engine as soon as possible, so expect a preview, review or tutorial shortly.

GameDev News


8. February 2016

 

This story coming care of /r/gamedev, BDX released version 0.2.3.  BDX is a game engine hosted inside Blender using LibGDX and Java for game programming.  Essentially it enables you to define and create your game in Blender, including complete physics integration, while generating LibGDX code.  I did a pretty in-depth tutorial on working with BDX a while back.

In this release:

Here's a short change-log:

  • Per-pixel sun, point, and spot lighting. As it was before, you can simply create the lights in Blender to have them show up in-game, or spawn them during play.
  • Ability to turn off per-pixel lighting for lower-spec targeted platforms and devices.
  • Improvements to the profiler.
  • GameObjects can now switch the materials used on their mesh. You can specify the name of a material available in the scene in Blender, or you can directly provide a LibGDX material to use, in case you have one custom-made.
  • Various fixes and QOL improvements.

Check it out! We could always use some more feedback and testing.

It’s a cool project and if you are working in Blender and LibGDX is certainly something you should check out!

GameDev News


8. February 2016

 

The road map for the Atomic Game Engine, which we looked at late last year, was just released and highlights upcoming developments for the engine.

2016 Roadmap

DISCLAIMER: As with most roadmaps, this one is subject to change. This is a snapshot of current planning and priorities, things get moved around, opportunities happen, etc. It is also not “complete”

  1. New WebSite - We need a new website, badly. The main page and landing video have not been updated since the initial March 4th Early Access!
  2. New User Experience, documentation and tutorial videos
  3. Improved iOS/Android deployment with support for shipping on App Store/Google Play. We also plan on publishing a mobile iOS/Android example
  4. Continued work on editor asset pipeline, scene editor, etc
  5. WebGL improvements, there is a lot going on currently with WebGL and we need to update the build and provide a means to communicate with the page JavaScript
  6. Script debugging with breakpoints, callstacks, locals, etc, including on device
  7. First class TypeScript support with round trip code editing, compiling, debugging
  8. Basic Oculus Rift support (Q2)
  9. Multiple top level windows for the Atomic Editor
  10. Improvements to the new Chromium WebView API
  11. Examples, examples, examples, including a bigger “full game” example
  12. Animation Editor
  13. Evaluate lightmap generation with Blender cycles
  14. The things that need to happen, or are under NDA, and are not listed on this roadmap :)

In addition to the roadmap, a thorough history of the engine and the company people it are available here.

GameDev News


GFS On YouTube

See More Tutorials on DevGa.me!

Month List