Quantcast
Channel: Game From Scratch - GameDev News
Viewing all 1352 articles
Browse latest View live

Bowling With Game Engines Tutorial Series

$
0
0


This is a brand new series being launched on YouTube and GameFromScratch and is somewhat different in scope.  The aim is to essentially make the same game several times in different game engines.  We are creating a simple bowling game in various different 3D game engines.  In fact, we are creating this bowling game which we completed earlier using the PlayCanvas game engine.


For each game engine in the series we will implement basically the exact same game, along with a step by step text version, plus a video of the process.  This should be useful for a number of reasons.  First it enables you to directly compare the workflow between different game engines.  Second, it shows... perhaps not best practices, but how to get started creating a full featured, if extremely limited, 3D game with physics, scenes, model importing an more.


At this point in time I have begun implementing it in a number of different engines, including:

    • PlayCanvas
    • Atomic Game Engine
    • Godot 2.x
    • Unity
    • Unreal Engine

Depending on the popularity of the series I am willing to implement the game in other engines as well with a few caveats.  The engines need to support all the required features ( level editor, 3d model importing, physics, etc ) required to make the game.  So while I could implement such a title in a code focused API such as Ogre or LibGDX, it’s completely outside of the scope of what I am trying to accomplish here.  I also need to have access to the game engine, either through public domain, free trial, etc.  This currently rules out some engines such as Leadwerks and Shiva unfortunately. 


Beyond the engines listed above, I’d love to hear what other engines you would like to see covered? 



Unity 5.6.1p4 Patch Released

$
0
0


Unity released a new patch for the Unity 5.6 branch, 5.6.1p4.  This patch has several improvements and fixes, details from the patch release notes:


Improvements
  • Android: Enabled NEON in Umbra.
  • UI: CanvasRenderer::OnTransformChanged will not be called when object is inactive. (815861)
  • Video: Optimized video decoding directly into RenderTexture if it is the same size as the video stream
  • Video: Skip-ahead functionality improvements.
Changes
  • GI: Added support for LOD baking in Progressive Lightmapper. Light Probes are not necessary anymore when baking LODs using Progressive Lightmapper.
  • GI: Support for double sided materials in Progressive Lightmapper. Added a new material setting that causes lighting to interact with backfaces. When enabled, both sides of the geometry get accounted for when calculating Global Illumination. Backfaces do not count as invalid when seen from other objects. Backface rendering is not controlled by this setting nor will backfaces be represented in the lightmaps. Backfaces bounce light using the same emission and albedo as frontfaces.
Fixes
  • (916119) - Android: Fixed a regression where Banner Ads are invisible, but still clickable.
  • (905867) - Android: Fixed an out of memory crash when using a static splash screen.
  • (910194) - Animation: Fixed an issue where using an override controller multiple times would not animate correctly.
  • (917343) - IL2CPP: Fixed an issue which caused IL2CPP to fail to convert assemblies if two non-existing methods with the same declaring type were referenced from any assemblies.
  • (907449) - Particles: Correctly initialize default curves, when creating new Particle Systems.
  • (907277) - Particles: Fixed an occasional crash when emitting from a skinned mesh renderer shape.
  • (none) - Particles: Fixed incorrect values for emission burst min and max when upgrading from an older Unity version.
  • (912158) - Physics 2D: Fixed an issue where ContactFilter2D collision normal limits failed.
  • (917323) - Physics 2D: Fixed an issue with Raycast not always detecting a CapsuleCollider2D or a BoxCollider2D.
  • (909020) - Video: Fixed issues regarding video looping/end detection.
  • (904924) - Video: Fixed failing VP8 transcode on Windows due to unsupported audio codec.
  • (898171) - Video: Fixed an intermittent failure to load video tracks on iOS.
  • (906044) - Video: Fixed invalid video stride evaluation.
  • (900524) - Video: Added support for transcoding to tiny VP8 resolutions.
  • (904578) - WebGL: Fixed AudioSource.time return value.
  • (903767) - WebGL: Fixed IE InvalidStateError load-time error.
  • (901252) - WebGL: Fixed Profiler connection.
  • (903092) - WebGL: Fixed Template Custom tags not being replaced at build time.
  • (892185) - WebGL: Fixed WebAssembly build failure with Full exceptions on Windows.
  • (897782) - WebGL: Fixed WebAssembly missing setTempRet function.
  • (891835) - WebGL: Fixed WebAssembly missing setThrow function.
  • (891431) - WebGL: Fixed WebAssembly runtime error: integer overflow/unrepresentable.
  • (905625) - WebGL: Fixed custom cursor support.
  • (898210) - WebGL: Released WebCam after use so other tabs can use it.
  • (871541) - Windows Store: Fixed a crash which happened when retrieving WheelHit.Collider after having previously set it to null on .NET scripting backend.
  • (909977) - Windows Store: Fixed a potential stack overflow when building a project with a large custom cursor.
  • (914797) - Windows Store: Fixed exceptions thrown in OnGUI callback not being logged on .NET scripting backend.
  • (912074) - Windows Store: Fixed System.Numerics.dll not being referenced by scripts when using IL2CPP scripting backend.
  • (909703) - Windows Store: Fixed UNetWeaver crashing when using .NET 4.6 API Compatibility level with IL2CPP scripting backend when deriving from .NET 4.6 specific types.
  • (902234) - Windows Store: Fixed WorldAnchorStore.GetAsync crashing the player.

CopperCube 5.7 Released

$
0
0


CopperCube is a 3D game engine that aims at being simple, all in one and easy to use, with minimal to zero coding required.  They just released version 5.7 which brings a few new major features such as dynamic level loading, realtime shadows and more.

Complete details of the release are available here and summarized below.

  • Realtime Shadows Support
  • Big game support and dynamic level loading
  • Simplified uploading games to Android Play Store
  • Floating point render targets

As well as smaller fixes including:

  • The default Android update mode is now 'every frame' instead of 'when scene changed', resulting in a more smooth gameplay. Also, this will reduce the 'stuttering' which some people noticed on faster Android devices.
  • The editor now uses some bigger default window sizes when run on bigger screens
  • Windows .exe Apps no longer store their variables in the "CopperCubeApp" folder in the registry, but in a folder named after the application name.
  • The engine now uses less memory when run on Windows / Mac OS
  • WebGL: Replaced local files warning with updated information (the "allow-file-access-from-files" flag doesn't work anymore with Chrome)
  • Fixed a bug causing dynamic point lights not to rendered correcty sometimes when there was a directional light active as well
  • Improved polish translation
  • Fixed a problem when using the "Restart scene" action which caused memory to leak.
  • Resetting a behavior now using the "Reset" action causes the FPS camera and keyboard controlled camera also to reset their keyboard states


You can learn more about CopperCube here.

Spine 3.6 Released

$
0
0


Esoteric Software just released version 3.6 of their 2D boned based animation software Spine 3.6.  Spine enables you to animate 2D sprites in a manner very similar to that used in 3D packaged, then easily use those animations in various game engines with the provided runtimes.  The 3.6 release brings a number of new features, including:

  • in application preview with several runtime controls3.6-clipping
  • clipping (see image to right)
  • black tinting
  • mesh manipulation tools
  • weight painting tools
  • point attachments
  • improved file dialogs
  • AnimationState improvements
  • several runtime improvements


You can learn a lot more details about this release in the release blog post or read the change logs.  If you want to learn more about Spine, we did a hands-on review available here and embedded below in video form.

Three.js r86 Release

$
0
0


Three.js, the popular open source 3D JavaScript framework, just released version r86.  If you want to learn more about Three.js, we have a two part series available here and here.  This release contains several changes and fixes, as well as adding 3ds support to the editor, documentation improvements, new examples and more.  The changes to the core from the release notes:


Source

New GameMaker Console and Ultimate Versions Released

$
0
0


YoyoGames have announced two new versions of their popular GameMaker game engine, console and ultimate.  Console is a license that enables you to target PS4 or XBox One development, while Ultimate is an all in one license for all of their supported platforms.


From the press release:

DUNDEE, SCOTLAND – JUNE 20, 2017 – YoYo Games is expanding the ways in which professional developers can get their hands on one of Wizard_Image_Editor_Screenshotthe world’s leading 2D game engines, GameMaker Studio 2. The engine is now available as a console-only license and an all-in-one Ultimate license. Both the Console and Ultimate versions require users to be officially registered developers on all platforms for which they wish to use GameMaker Studio 2.

Console

Developers also now have the option to purchase a console-only license, which includes:

  • A straightforward way to access powerful development tools for either PlayStation 4 or Xbox One;
  • Provides the exact same game-engine functionality as the Ultimate version;
  • Can be purchased for $799.99 per seat for a one-year license.

Ultimate

Videogame developers looking for a one-stop-shop route can now purchase the GameMaker Studio 2 Ultimate license, which allows:

  • Cross-platform development for all supported platforms, including PlayStation 4, Xbox One,Windows, Mac OS, iOS, Android and more;
  • Admittance to all of GameMaker Studio 2’s well-regarded support platforms and communities;
  • Can be purchased for $1,500 per seat for a one-year license.


In addition to the two new licensing options, GameMaker also released version 2.07 with the following new features:

  • New image editor tools such as Blur and Reverse Frames;
  • Rewrite of the engine’s start page for a better experience;
  • HTML5 updates and bug fixes.

The full changelog of the 2.07 release is available here.

Corona Is Now Free

$
0
0


Corona is a popular 2D cross platform Lua based game engine.  It was previously available in two editions, the free version and the enterprise version.  As of yesterday, this is no longer the case.  Going forward the Enterprise version is now simply called Corona and is completely free.


From the email I received:

June 22, 2017

Oh, and we are changing our product name: it's now Corona!

Starting with daily build 2017.3100, you will find that we’re offering a single product named Corona. This is a combined product which includes our traditional Simulator-based product and our native-based product in a single download.

Perhaps more importantly, we have removed all revenue sharing requirements and revenue limits associated with Corona Native. You can build your own plugins if you wish, or you can continue to use our fantastic suite of ready-to-go plugins, saving you critical time in your development process.

That brings us to the Corona-branded splash screen. While Enterprise subscribers were formerly able to build apps without the splash screen, all developers must now purchase/own the Splash Screen Control plugin to customize or disable it. However, to ease in the transition, we are granting existing Enterprise customers a 1-year license to the plugin.

Finally, we are introducing new support plans. If you're an existing Enterprise “Small Business” subscriber, you will receive one year of our Priority support subscription, while Enterprise “Unlimited” subscribers will receive one year of our Priority Plus support.

Please take a moment and read ourannouncement about the changes, and join us in the forums to discuss these wonderful changes. Free is awesome!



At this point you may be wondering how they will make money if they no longer sell a product? They actually cover that fact in their announcement:

Q. How does Corona Labs make money under the free model?

A. First and foremost, we want to emphasize the value in using our current ready-to-go monetization plugins. Between paid advertising plugins, revenue-share-based plugins, and free monetization plugins where we have a partnership with the provider, we encourage you to build apps that use advertising as a component of your income strategy. The more successful your app is, the more successful we will be.

The Corona Marketplace is also an area we want to see grow. We encourage you to begin there and browse for any art/audio assets you may need, as well as game templates which can be used to kick-start your own projects. We also want to encourage our developers to become content providers for the marketplace! If you have a game template that others can use as a framework — even if it’s a simple one — please submit it and create a new income stream for yourself as a Marketplace provider.

Another exciting development is that we are ramping up our publishing support. We are now working in cooperation with large, experienced publishers to make sure you have the best success possible. With our publishing services, you’ll gain access to pre-release services, cross-promotion, user acquisition, in-game analytics, App Store Optimization (ASO), and more.


What about people that already paid for Corona Enterprise?  Well, sorry to say, but you are out of luck.

Steam 2017 Summer Sale For Game Developers

$
0
0


It’s once again that time of year!  The Steam Summer sale is on, so its time to load up on cheap games that you will probably never actually have the time to play!  In addition to a ton of games however, more and more Game Development related software has been showing up on Steam and as part of the sales.  Do keep in mind however, that most of the items you see on sale will be on sale again. 


The following are a few (somewhat random) highlights of what is currently on sale and of interest to game developers.


There are of course several dozen more programs for sale in the sale.


Win2D 1.21.0 Released

$
0
0


Microsoft just launched Win2D version 1.21.0.  Win2D is an immediate mode GPU accelerated 2D library using C++, C# or VB.Net on Windows platforms.  By far the biggest new feature of this release is the ability to draw SVG (Scalable Vector Graphics) graphics. 


From the release announcements:

Win2D version 1.21.0 is now available on NuGet (for Windows 10 or Windows / Phone 8.1) and GitHub.

New in this release:

  • Load, draw, and manipulate SVG (scalable vector graphics) documents  (requires Windows 10 Creators Update)
  • Load and save JpegXR images using extended precision pixel formats  (16 and 32 bit floating point, or 16 bit normalized integer)
  • ColorManagementProfile now supports Simple and Extended types as well as ICC color profiles  (requires Windows 10 Creators Update)
  • Added a CanvasComposition.CreateDrawingSession overload that allows specifying DPI
  • Building Win2D for UWP now requires Visual Studio 2017  (but if you are just using it in an app rather than compiling it yourself, both VS 2015 and 2017 continue to be supported)

Bugfixes:

  • #479– CanvasVirtualControl OnRegionsInvalidated not triggered when launching app
  • #486– Crash when resource loading completes after Canvas is already unloaded
  • #487– ComputeHistogram does not take into account the SourceRectangle
  • #491– CanvasControl & CanvasVirtualControl do not disable the accessibility view
  • #496– Crash in Microsoft_Graphics_Canvas RegisteredEvent::Release
  • #498– CanvasGradientMesh TensorPatch Colors documented incorrectly
  • #515– Crash when passing a CanvasCommandList to CanvasImage.SaveAsync

Win2D supports a subset of SVG 1.1. For more details, see Direct2D’s page about SVG support.


Win2D is available on Github as well as NuGet.

Starling 2.2 Released

$
0
0


Starling 2.2 was just released today.  Several new features were added including inverted masks, stronger blurs, binding scale9 grids to texture, async bitmap upload and more.  Starling is an open source game framework for ActionScript (Flash)  offering an easy 2D api with graphics acceleration.  The Starling framework has been used to power several popular games including titles in the Angry Birds series.


Details from the changelogs:

  • added 'DisplayObject.isMaskInverted' (thanks to Ehsan Marufi)
  • added support for stronger blurs with fewer passes to BlurFilter
  • added 'Image.bindScale9GridToTexture' for automated scale9Grid setup (thanks to Kevin Foley)
  • added 'Image.bindPivotPointToTexture' for automated pivot point setup
  • added 'Image.automateSetupForTexture' for automated setup of all the rest ;)
  • added workaround for memory issue on iOS concerning BatchPools
  • added 'padding' to TextField class → allowing injection of 'TextOptions' into TextField
  • added convenience methods and properties to 'Padding' class
  • added 'Painter.setupContextDefaults' and using it in 'DisplayObject.drawToBitmapData'
  • added support for asynchronous bitmap texture uploads (via 'Texture.asyncBitmapUploadEnabled')
  • added support for specifying the alpha value with which the context is cleared each frame
  • added support for overriding 'updateTransformationMatrix' in display objects
  • added methods for quickly checking the current platform in SystemUtil (thanks to Kevin Foley)
  • added 'numSides' parameter in 'Polygon.createEllipse' and 'createCircle' (thanks to Ehsan Marufi)
  • added 'StringUtil.parseBoolean' and using it for XML parsing in TextureAtlas
  • added 'TextureAtlas.addSubTexture' (thanks to Ehsan Marufi)
  • added 'RectangleUtil.extendToWholePixels' and using it to optimize area processed by fragment filter
  • added 'DisplayObject.drawToBitmapData' method
  • added link to new manual to README
  • added iPad support and auto-orientation to scaffold project
  • added 'Field Agent' utility for simple distance field creation
  • added depth test settings to RenderState (thanks to Alexander Mokretsov)
  • added 'styleSheet' property to TextField
  • added color component setter functions to 'Color' class (thanks to Alexander Mokretsov)
  • added 'letterSpacing' property to 'TextFormat' class (thanks to pbalmasov)
  • added 'antiAliasing' property to FragmentFilter
  • changed 'TextField.setRequiresRecomposition' to be public
  • changed that Travis build now always uses the latest AIR SDK
  • changed that Starling now stops with an error if AIR/Flash runtime version is not supported
  • changed 'scaffold_mobile' project to be better suited for current mobile device
  • changed that 'copyFrom' is called before setting the new style in MeshBatch (thanks to Robert Carone)
  • changed IntelliJ IDEA resource utility so it's easier to use
  • changed that 'depthAndStencil' warning is printed out on first use of masks
  • optimized MiniBitmapFont: replaced XML with compressed ByteArray to save space
  • optimized masking: now using depth test to prevent masks from being drawn (thanks to Ehsan Marufi)
  • optimized transformation matrix workflow
  • optimized 'removeEventListener' by avoiding duplicate vector creation (thanks to Josh Tynjala)
  • optimized pushing and popping of state stack in DisplayObjectContainer (thanks to vroad)
  • fixed that objects were not notified if HOVER phase ended due to display list changes
  • fixed possible null reference error in Sprite3D instances
  • fixed that back buffer could be left in unknown state after disabling 'Starling.shareContext'
  • fixed that 'alignPivot' did not force transformation matrix update on Sprite3D
  • fixed that internal 'dispose' was called twice on empty TextField (thanks to 5k0rp)
  • fixed that render context was disposed before the stage (thanks to neuronix)
  • fixed that changing camera settings did not force redraw
  • fixed 'drawToBitmapData' when called on the stage with negative viewPort.x/y
  • fixed that DisplacementMapFilter did not clamp edge pixels
  • fixed that 'copy_resources.rb' script could not handle multiple configurations
  • fixed that helper matrix was not initialized in FragmentFilter (thanks to bwhiting)
  • fixed iPad logic of mobile scaffold
  • fixed that 'Juggler.removeDelayedCalls' didn't remove the id of the delayed call
  • fixed that disposing video texture did not always cut connections to camera and net stream
  • fixed some class references in the API documentation
  • fixed that 'setRequiresRedraw' was not called after resizing native window (thanks to Josh Tynjala)
  • fixed that masking a filtered object with a clipRect did not work
  • fixed exception on rendering of mesh occurring when its style was changed
  • fixed that back buffer sizes below 32x32 lead to an exception (now forcing this minimal size)
  • fixed null pointer exception in Pool.getPoint3D


You can read a great deal more about this release here.  Starling is available for download here.

Defold Engine 1.2.107 Released

$
0
0


Defold Engine 1.2.107 has just been released.  The Defold Engine is a Lua powered 2D focused game engine made freely available by King.  If you want to learn more about the Defold Engine, we have a full tutorial series available here.  The 1.2.107 release improves asset pre-loading, texture loading/creation performance and more.


Details from the release notes:

Engine

  • DEF-2772 - Added: Async decoding of WebP images
  • DEF-2651 - Added: Async texture GPU upload
  • DEF-2770 - Added: Added LuaSocket documentation
  • DEF-2688 - Fixed: The particle spawn rate spread is now working
  • DEF-2768 - Fixed: Libraries with unusual folder structure crashed Bob
  • DEF-2756 - Fixed: Small improvement on error handling if the generated R.java doesn't compile
  • DEF-2625 - Fixed: Increased buffer used to parse game.project values to 2048

Documentation

  • We've added a brand new tutorial of how to make a classic 15 puzzle game
  • we've also added documentation for LuaSocket in both editors
  • Lots of smaller fixes


There was also some discussion on features that are currently in the works:

Native Extensions

The work on Windows support is progressing nicely.
The main parts of the build pipeline is functional, with some cleanup left to do.
Planning for a release in the next sprint.

Facebook Gameroom

Another upcoming big feature is support for Facebook's Gameroom.
This will allow you to use Facebook and in app puchases on the Windows platform through their new platform.
This feature is estimated to arrive in the next release.

Particles in GUI

A long awaited feature is support for particles in GUI.
It is a big task with some big refactoring involved, but it is going well.
A recent benefit from this was the batching of particle systems.


One other small part of this release is anonymous usage tracking, something many are surely not going to like.

We have also added anonymous tracking of how the editor is being used* in order for us to better understand our users, help us with prioritisation and improve the product.

(*Clarification edit: it tracks what version is running and what parts of the editor that are used)

People REALLY hate this stuff, myself included, so if it can’t be toggled off, this new feature strikes me as a mistake.

Leadwerks 4.4 Released

$
0
0


Leadwerks game engine 4.4 was released yesterday  Leadwerks bills itself as the easiest to learn way to build 3D games.  The primary scripting language is Lua, while the professional version has C++ programming as an option.  The 4.4 release adds new GUI support, inverse kinematics, updated post processing effects and more. 


From the release blog:


Leadwerks Software today announced the release of version 4.4 of their topselling game engine on Steam.  This version adds a new GUI system, support for inverse kinematics, and enhanced visuals.  The free update goes out today to over 20,000 paid users on Steam. Screenshots_screenshot259.thumb.jpg.7fe75bab83a6be87c1aa01f197efa93a.jpg

Leadwerks Game Engine 4.4 sees the introduction of Leadwerks GUI, a system for creating resolution-independent in-game menus.  Custom GUI elements can be created with Lua script, or an item can be selected from a number of pre-built GUI scripts including buttons, tabbed panels, slider controls, and more.  Leadwerks GUI is designed for the future, with support for 4K and 8K displays, as well as VR menus of any resolution.

Inverse kinematics are now supported, with two new joints that provide fine control over the orientation of physics bodies.  These can be used to control the end effector in an IK setup, or for precise control of moving objects.  The Leadwerks physics system has been updated to the latest Newton Dynamics 3.14.

Post-processing effects have been updated to enhance visual quality.  Bloom, HDR iris adjustment, SSAO, and fog have all been updated for improved graphics.  A new shader has been added to the vegetation system that scattering millions of rocks across a landscape to make terrain more detailed and realistic.

The Leadwerks learning materials have been converted into an all-new documentation system.  This allows easier searching and browsing of tutorials, API documentation, and examples.  A new series of tutorials has been added to teach the basics of C++ programming, in addition to the existing lessons on Lua scripting.

Leadwerks Game Engine can be purchased at a discount during the Steam summer sale.  All Leadwerks games have Steamworks support integrated out-of-the-box and are ready to publish through Steam Direct.


If you are interested, Leadwerks is currently available as part of the Steam Summer Sale at an 80% discount.

Github For Unity Now Open Source

$
0
0


During GDC in early 2017, Github released a Unity extension enabling direct Git and Github functionality inside the Unity editor.  Today at Unity’s European developer conference, Github have now announced that this extension is open source.  The extension enables you to also use the Git LFS ( Large File System ) extension, enabling efficient handling of large files that are common in game development.


Perhaps the most important feature of this release is the ability to manage version control directly in the Unity editor ( as shown below ) enabling you to switch between branches, perform commits and push to Github without having to drop to the command line.

Github


The extension is still under development and some known issues still exist, including:

You can read more about the release here  The extension is available on BitBucke.... er... wait no, that’s not right.  Oh yeah, the sources are available on Github here.

Blend4Web 17.06 Released

$
0
0


Blend4Web is a technology that enables you to create games or applications entirely in Blender but publish them to the web, powered by WebGL.  The 17.06 release brings several new features including support for most Blender constraints, experimental AR support, a new camera logic node as well as new lighting and reflection features.


Details of the release from the release notes:B4W

New Features
  • Support for essential Blender constraints.

    Copy Location, Copy Rotation, Copy Transforms and Track To are available to use now. Also the following API methods have been added: append_copy_loc, append_copy_rot and append_copy_trans.

  • Experimental Augmented Reality support.

    Check out the AR application to get the look of the feature we’re going to improve much in our next releases. The application can be found in the apps_dev/AR folder and is also available in Project Manager.

  • New logic node Set Camera Limits.

    This node allows changing limits of the camera. Each limit can be set separately. Only limits available for current move style of the camera are applied after node execution.

  • Improved AA rendering.

    Scheme of rendering post-processing effects has been changed. It increases performance and quality of the anti-aliasing.

  • New experimental environment lighting algorithm for scenes with Cycles materials.

    Materials with Glossy BSDF and Diffuse BSDF nodes automatically enable environment lighting, which takes into account roughness of the glossy component.

    New algorithm requires WebGL 2.0 or WebGL 1.0 with available extension EXT_shader_texture_lod for correct work.

  • Optimized rendering of reflections.

    Cube reflections for scenes with no reflexible objects has been optimized. Now in such scenes the sky is used for reflections directly without redrawing for each individual reflective object.

  • Support for camera loading.

    From now on it’s possible to load additional cameras to the scene using dynamic loading feature.

  • Physics API improvements.

    Added set_angular_velocity. It allows to set object’s angular velocity.

Changes
  • The “pivot” setting in the “params” parameter for the target_setup method has been made optional.
  • The Material API was improved to provide more clear messages in the browser console in case of errors. Also two methods have been added: is_node_material and is_water_material.
  • Sequential video fallback for video textures isn’t applied anymore in MS Edge due to the native support for HTMLVideoElement.
Fixes
  • Fixed incorrect rendering of materials with normal mapping.
  • Fixed VR code snipped.
  • Fixed keyboard events when the engine is working inside an iframe.
  • MSAA is disabled from now on for Adreno 4xx/5xx GPUs to prevent some rendering bugs.
  • Fixed translating/rotating of non-active cameras.
  • Fixed getting coordinates for mouse/touch events via the get_coords_x and get_coords_y methods.
  • Fixed bug with looped speakers that couldn’t be stopped in Firefox after calling the stop and the play methods sequentially.
  • Fixed sky redrawing after world node material parameters change.
  • Removed auto applying modifiers for objects with the Array modifier.
  • Fixed rendering artifacts for the transparent node materials in Firefox under Linux.
  • Fixed applying a node material animation after material inheritance.
  • Workers were disabled for physics simulation in IE11 and MS Edge to improve physics stability.

Unity Deprecating Support for Direct X 9

$
0
0


Unity have announced that as of Unity 2017.3 Unity Editor and Player will no longer support the Direct X 9 renderer.  Why you may ask?  Unity have posted a blog explaining this:

Due to diminishing hardware numbers and the loss of platform support from Microsoft, we have come to the conclusion that continued support of the DirectX 9 API is no longer feasible and is working against us when it comes to developing new features in Unity. It has become increasingly difficult to support and maintain feature parity across several DirectX API versions (9, 11, and 12).

With the rise of new graphics APIs, we feel that Unity continues to have excellent coverage of the hardware and API choices available now and in the future.


What does this mean in practical terms?  Once Unity 2017.3 is released, that version and future version will no longer be able to target Window XP machines.  This is becoming increasingly less of an issue, but there are still a number of users working on Window XP.  Here are the current OS breakdown for Windows users according to the most recent Steam Device survey.

image


At this point we are talking > 1% of the PC market.  All told, a fairly reasonable cut-off in my opinion.  Even with Direct X 9 support going away, Windows XP machines can still be supported via the OpenGL renderer.


Unity 2017.1 Officially Released

$
0
0


Announced in beta a few months back, Unity 2017.1 is finally available.  There are some pretty massive new feautres in this release such as Cinemachine (advanced camera controls for cutscenes), Timeline (for sequencing) and new post-processing filters.  Unity Collaborate, the Unity team asset system, is now out of beta in this release.   The release also sees improvements in the 2D realm, with the new 2D Sprite Atlas replacing Sprite Packer.

For programmers, there are some extremely welcome additions in 2017.1 as well.  Unity now supports Visual Studio 2017 Community as part of the install (instead of 2015).  Perhaps most importantly and over due... C# 6 is finally here!  Sort of.  This release includes experimental support for C#6 and .NET 4.6.


A summary of the major new features from the Unity blog.


Artists & Designers: Brand new tools for storytelling and in-game sequences

Unity 2017.1 introduces new ways artists & designers can create stunning cinematic content, compose artistic camera shots and tell better visual stories with the Timeline, Cinemachine and Post-processing tools.

Timeline is a powerful new visual tool that allows you to create cinematic content such as cutscenes and trailers, gameplay sequences, and much more.

Cinemachine is an advanced camera system that enables you to compose your shots like a movie director from within Unity, without any code, and ushers in the era of procedural cinematography.

Post-processing lets you easily apply realistic filters to scenes using film industry terminology, controls, and colour space formats to create high quality visuals for more dramatic and realistic looks, so you can tell a better visual story.

Efficiency: collaboration, live-ops analytics, tools

We’re announcing Unity Teams, a set of features and solutions that simplifies the way creators work together, which includes Collaborate (now out of beta) and Cloud Build.

Our live-ops Analytics introduces new, easier ways to understand your users and dynamically react and adjust your games without having to redeploy.

On top of that, there are many productivity updates to the Editor, including improvements to FBX import, animation workflows, 2D functionality, working with assets bundles and Visual Studio integration.

Graphics & Platforms:  improvements across the board

There are a number of advancements in the areas of Particle Systems and the Progressive Lightmapper offering more options to achieve your artistic vision and control performance. Various platforms get rendering boost options with Deferred Rendering on iOS and NVIDIA VRWorks on PC.

Those are just the highlights of Unity 2017.1, read on to get the full list and juicy details!


This is only scratching the surface of new functionality in this release.  Be sure to read the full blog post for more details.  Unity 2017.1 is available for download here.

Unreal Engine 4.17 Preview 1 Released

$
0
0


Unreal Engine just released a new preview release, version 4.17 preview 1.  Of course this release is a preview, meaning you should expect flaws and probably shouldn’t use it in a production environment.  While the 4.17 release doesn’t have any standout new features, it is absolutely packed with new functionality and improvements.


Details of the release from the Unreal forums:

  • Animation/Physics Updates:
    • Baking out materials on StaticMesh instances is now supported.
      • Support for baking out materials on a Static or Skeletal Mesh asset is also added as an experimental feature (requires enabling the Asset Material Baking under Experimental settings).
    • New physics optimizations by having PhysX tasks batched together to reduce overhead. This can be tuned with p.BatchPhysXTasksSize. Bigger batch sizes reduce per-task overhead at the cost of less parallelism.
    • The ‘Additional Meshes’ feature for previewing modular meshes now uses the ‘Copy Pose’ node instead of ‘MasterPose’. This means it can support meshes that do not share a Skeleton, and bones are copied by name.
    • ProceduralMeshComponent now supports Async PhysX Cooking, avoiding hitches at runtime.
    • Runtime PhysX Cooking can be turned on and off as a plugin instead of an engine recompile.
    • The animation Asset Browser now uses folder filters.
    • Added a MakeDynamicAdditive node to animBlueprints.
    • Two Bone IK improvements including a ‘NoTwist’ option and an ‘Enable Debug Draw’ option.
    • (Experimental) Animation Blueprints can now be live edited and recompiled while running on a PIE/SIE instance. When choosing an instance to debug in the level, the viewport is now 'connected' to that instance and displays a mirror of the instance's animation state.
    • (Experimental) Clothing Tools improvements.
      • Refactor of clothing paint tool framework to create a more extensible editor.
      • Clothing Masks are supported. This allows multiple masks to be defined and swapped between during development while testing different configurations.
      • Reworked tools framework for cloth painter and added new tools.
  • Audio Updates:
    • Audio Streaming is no longer experimental, and contains a number of fixes.
    • (Early Access) The new Unreal Audio engine now supports Android, PS4, Xbox One, iOS, and Mac OS.
  • Console Updates:
    • New features and improvements are coming for development on XBox One, Nintendo Switch, and PS4. Since console code is not available for the Previews, details will be provided with the final 4.17 release.
  • Core Updates:
    • Plugins may now declare dependencies on other plugins, allowing the engine to automatically enable and load anything they require. Dependencies can be listed in a .uplugin using with the same syntax as .uproject files.
    • UE4 now includes support for the PVS-Studio static analyzer (available separately). To enable static analysis with PVS-Studio, append -StaticAnalyzer=PVSStudio to the UnrealBuildTool command line.
  • Gameplay/Scripting Updates:
    • The Asset Manager now has Blueprint access and is ready for production. The Asset Manager is a global object that can be used to discover, load, and audit Maps and game-specific asset types in the editor or at runtime. It provides a framework to make it easier to create things like Quests, Weapons, or Heroes and load them on demand, and can also be used to set up cook and chunk rules when packaging and releasing your game. The Asset Manager tab in Project Settings can be used to set up the rules for your game. Primary Asset Types that are scanned by the Asset Manager can be queried at runtime before they are loaded, and can then be asynchronously loaded on demand. To use the asset manager, call functions on the native UAssetManager class (which can be subclassed for your game), or call Blueprint functions in the Asset Manager category such as Async Load Primary Asset.
    • A new Orphan Pin feature has been added to help avoid mysterious content breakage as the result of pin removals. Any time a pin that is in use has been removed from a node, instead of that pin quietly vanishing, breaking all connections, the pin will now be retained as an Orphan, and an error (if it is connected) or a warning (if it is an input pin with a non-default value) will be emitted.
    • Native member variables can now make use of uproperty markup to be exposed to Blueprints via ufunction accessors even if the property had been previously exposed directly using BlueprintReadOnly or BlueprintReadWrite markup.
  • Mobile Updates:
    • Translucent objects marked as “Mobile Separate Translucency” will be rendered separately after Bloom and Depth Of Field. This option can be found in Translucency section of Material Editor.
    • Executable sizes have been reduced on iOS and Android. Further mobile executable size reductions are coming in 4.18.
      • For iOS we now disable exceptions for ObjectiveC by default, saving around 6.5 MB from the executable size.
      • For Android we have enabled -ICF flag for android shipping builds. This saves around 5 MB from the Engine’s .so size (uncompressed) and 1.2 MB inside the apk file (compressed).
    • Android applications built with OpenGL ES3.1 or Vulkan will now use native sRGB sampling instead of emulating it. You can expect better texture brightness.
    • The Android toolchain now supports NDK 14b with NDK 15 as experimental.
      • Google Play Services upgraded to 9.8.0
      • Gradle is supported as an experimental build option. This is enabled per project in the Android Project Settings with the “Enable Gradle instead of Ant [Experimental]” checkbox.
    • Android support for ultra-wide aspect ratios. By default maximum supported screen aspect ratio is 2.1 (width / height). Android will automatically letterbox application on devices with bigger aspect ratio. Default aspect ratio can be changed in Android section of Project Settings.
  • Rendering Updates:
    • A new Composure Compositing Plugin is available to help with real-time compositing pipelines. (note, this currently causes the project to crash in Preview 1) It includes many features, such as:
      • Binding mechanism between a Player Controller and a Texture Render Target 2D to replace the engine default’s video game rendering pipeline by the project specific C++ or Blueprint implemented compositing pipeline output
      • Parametric lens distortion
      • UVMap pass to distort textures according UV displacement map and UV matrices
      • Engine tonemapper independent pass
      • Experimental alpha channel support in Engine’s post processing chain
      • Post process material domain and their alpha channel output support in the Blueprint canvas drawing API
      • And more…
    • (Experimental) Shaders are now supported in Plugins and Projects due to changes made to the shader file directory structure and a new file extension.
      • USH files are used for shader header files that do not contain a shader entry point and that should only be included by other shader files
      • USF files would be the only non includable files that have the shader entry points.
      • Shader files have been split under public and private folders. The public API should be placed in files under a public folder, while the implementations are placed in the private folder.
      • Plugins & projects modules that have global shaders requires PostConfigInit loading phase.
      • Project and plugins can include other plugin’s USH file in Public directory freely.
      • USF files should be only in Private directory.
      • All calls to IMPLEMENT_SHADER_TYPE, should now include the full path of the USF shader file (e.g. “/Engine/Private/Foo.usf” or “/Plugin/FooBar/Private/MyComputeShader.usf”).
      • C++ Generated files should be mapped within the /Engine/Generated/ virtual directory.
      • Shaders/ directory requires at least a Private/ or Public/ directory, and Generated/ directory shall not exist.
    • Bent Normal Maps are an additional piece of information that can come when calculating ambient occlusion. With this information we can do multiple things to improve indirect lighting. Most traditionally bent normals are used with AO to improve diffuse indirect and make it look closer to GI. We also use this information in a powerful but less traditional way, for Reflection Occlusion (occlusion for specular indirect light). This can reduce specular light leaking significantly, especially when SSR data is not available.
    • We have added several Blueprint and Material nodes to generate point locations using the Sobol quasi-random sequence. The Sobol sequence can generate points with a large number of independent dimensions.
    • We have added Texture-based Importance Sampling Blueprint nodes to place points according to a given density function. Blueprint nodes allow flexible 2D placement based using a texture to drive the placement. The Make Importance Texture Blueprint node processes the texture for use, and the Importance Sample Blueprint node gives point locations driven by the provided density.
  • Sequencer Updates:
    • Sequencer is now more tightly integrated with the World Outliner. The World Outliner shows which level sequences an actor is bound in. It also displays actors spawned by sequencer so that you can access all actors bound by sequencer in one location. There’s also a new filter in the “View Options” to “Show Only Sequencer Actors”.
    • There’s a new toggle which helps you divide up your work so that you can be confident in whether a change to a property will affect a single shot or propagate to other shots. When “Allow Sequencer Edits Only” is enabled, any edits to properties will automatically create a track if it doesn’t exist and/or a keyframe. These changes will be isolated to the particular shot you’re working on and won’t leak into others. When “Allow Level Edits Only” is enabled, you’ll be editing default properties on objects. Properties that already have tracks in sequencer will be disabled in the details panel when you want to make global changes that affect all shots.
    • Improvements to blending, including automatic easing between blendable sections, per-channel animation of transforms, and more.
    • Auto-key has been simplified to be a single toggleable state.
  • Tools Updates:
    • Slate has a new clipping system that properly supports complex layered clipping quads with arbitrary transforms. Additionally widgets can now individually opt into clipping their children. More details here.
    • UI improvements to the Materials and Sections panels of the Static and Skeletal Mesh Editors.
    • In VR Mode, selecting a camera or actor with a camera now gives an in-world preview of what that camera sees.
  • VR Updates:
    • Spectator screens are now supported on the Oculus and HTC Vive.
    • Stereo layers have been unified across all platforms, allowing developers to use them agnostically across any platform without worrying about functional differences between platforms.
    • (Experimental) Google Tango AR platform support is now available as a plugin.

Unreal Engine 4.17 Preview 1 can be installed using the Epic Game Launcher.

Defold Engine 1.2.108 Released

$
0
0


A new version, 1.2.108, has been released for the Defold game engine.  The Defold game engine is a cross platform, Lua powered, free (as in beer) mobile focused game engine.  If you are interested in learning more about the Defold engine, we have a complete tutorial series available here.


This new release brings a few new features including new texture formats, native extensions are finally available on Win32 and support for the newest iOS and OS/X versions.


Full details of the release:

  • DEF-2746 - Added: Add 16-bit RGB/A and Luminosity + Alpha support to engine
  • DEF-2796 - Added: WebP lossy/lossless support for 16-bit RGB/A and Luminosity + Alpha
  • DEF-2731 - Added: Added Win32 support in Native Extensions
  • DEF-2778 - Added: Added support for iPhoneOS 10.3 and MacOSX 10.12
  • DEF-2690 - Fixed: Bump max spine scene count for GUI scenes
  • DEF-2716 - Fixed: Minor fix for ColladaUtil if scene only has bones in the visual scenes entry.
  • DEF-1954 - Fixed: WebP lossy compression with HIGH compression level gave visual errors

Godot Receives Beta Python Language Support

$
0
0


The Godot Game Engine has just received Python support via the new GDNative interface.  Unfortunately the project is Linux only at this moment, so MacOS users will have to jump through some additional hoops, while Windows users are simply out of luck.


Details from the Godot blog:

All core features of Godot are expected to work fine:

  • Builtins (e.g. Vector2)
  • Object classes (e.g. Node)
  • Signals
  • Variable export
  • RPC synchronization

On top of that, mixing GDScript and Python code inside a project should work fine, have a look at the Pong example to see how you can convert one by one your existing GDScript code to Python fairly easily.

This release ships a recent build of Godot 3.0-alpha (yes, it's a beta based on an alpha...) and CPython 3.6.1 with the standard library and pip, ready to work with the Python ecosystem in its full glory (can't wait to see people experimenting game AI with Pytorch!).

The project is Linux-only so far, however you should be able to compile it from the sources if you are on macOS (let us know if you do so). Binaries for all platforms will eventually be provided when Godot 3.0 gets stable.

As always, keep in mind this is a beta and you are expected to encounter issues and maybe crashes. If so, make sure to report them on the project's bug tracker ;-)


The project Github page is available here.

BabylonJS 3.0 Released

$
0
0


Babylon.JS 3.0 has just been released.  BabylonJS is an open source WebGL powered 3D game engine.  If you are interested in learning more about BabylonJS I reviewed an earlier version available here as well as a more recent tutorial series available here.  The 3.0 release brings a number of new features to the game engine including WebGL 2 support, WebVR 1.1 support, glTF 2.0 support and more.  Perhaps most interestingly, this release also introduces the Babylon.UI extension for creating user interfaces.


Details from Microsoft’s developer blog:

Support for WebGL 2

WebGL 2 is a great step forward for 3D developers as it allows more control over the GPU. The support for WebGL 2 is completely transparent with Babylon.js 3.0. This means that the engine will automatically use WebGL 2 if available, and it will fall back to WebGL 1 if not. Mode details can be found here.

Support for WebVR 1.1

With a single line of code, you can now unleash the power of virtual reality directly in your browser. Babylon.js 3.0 supports all VR devices, including the new Windows Mixed Reality headsets. Babylon.js can also transparently use WebVR 1.0 if your device does not support the latest version of the specification (Gear VR for instance). It also supports using device orientation events to provide virtual reality on mobile.

You can visit the Build 2017 website to watch a complete session about Babylon.js and WebVR.

You can find the Sponza demo here.

Support for glTF 2.0

glTF is a file format for GL APIs. With Babylon.js 3.0, we added complete support for loading glTF 2.0 files (including physically based rendering materials).

This version was ratified recently by Khronos group. glTF will help the 3D ecosystem to enable all new ways to create, share and consume 3D.

Improved physically based rendering (PBR)

The PBRMaterial used to render physically based objects was completely rewritten. It is now more accurate and better aligned with GLTF2.0 specifications. This material can be used to simulate real life lighting and provide photorealistic scenes.

You can find a live demo here.

Introducing Babylon.GUI

The Babylon.js GUI library is an extension you can use to generate interactive user interface. It relies on hardware acceleration to produce a fast and light way to deal with user interaction.

The Babylon.GUI extension can be helpful with VR scenarios when you cannot display HTML elements. It can also be used to project your UI in 3D. In this case, the UI will be textured on a 3D object but will remain functional.

Support for morph targets

Morph targets are a great way to animate objects by using morphing between different targets. This technique is widely used to animate character heads, for instance.

You can find a technical demo here.

Support for live textures using WebCam

You can now create project webcam content to any textures in your world. This could be used to simulate mixed reality experience or apply some fun effects like in this ASCII art demo.


BabylonJS is available here and on Github.

Viewing all 1352 articles
Browse latest View live