Subscribe to GameFromScratch on YouTube Support GameFromScratch on Patreon

12. January 2017

 

Unity have just released patch 5.5.0p4.  No new functionality but it contains a large number of fixes:

Fixes
  • (858785) - Analytics: Fixed occasional windows editor crash on shutdown.
  • (827110) - Android: Disabled fence sync on poor performing drivers.
  • (855603, 859268) - Android: Fixed a crash when reloading or resuming scene which uses WebCamTexture.
  • (848830) - Android: Fixed an exception when trying to build to a non-existent path.
  • (845080) - Android: Fixed an issue where pausing during the splash screen would cause sprites to be black.
  • (855612) - Android: Gradle build and project export now support icon override.
  • (803872) - Android: Post process now executed before app is pushed to device.
  • (855545) - Animation: Fix for a crash using Resources.UnloadUnusedAssets with Animators caused by orphaned references.
  • (858208) - AR: Fixed a crash when exiting play mode during a Holographic Simulation session.
  • (848920, 858080, 860956) - Asset and Scene Management: Fixed a bug where importing multiple native DCC source files resulted in the contents of imported prefabs randomly switching places.
  • (849875) - Collab: Fixed an issue whereby the collab toolbar continued to have 'sign in' button even after signing in from the collab tool bar.
  • (859350) - Editor: Fixed an editor crash when switching platforms on a command line build.
  • (none) - Editor: Fixed local cache server not working if there were spaces in the path to the Unity Editor executable.
  • (858043) - Editor: Fixed Sprite Editor not always grid slicing fully black sprites correctly.
  • (793891) - Editor: Fixed launching Unity getting stuck on a grey screen for a minute or longer when your internet connection is bad.
  • (834243) - Editor: Fixed the issue that personal user is able to skip a mandatory survey.
  • (857504) - Editor: Fixed the splash screen 'Preview' button showing the NoiseModule preview texture.
  • (828286) - Editor: Reduced heap allocations for each frame when rotating the scene view in the editor.
  • (849376) - Graphics: Fixed a bug when importing Alpha8 textures which didn't import them as a single channel texture.
  • (852116) - Graphics: Fixed a crash during texture importing if the import failed.
  • (853722) - Graphics: Fixed a crash during texture importing if the texture format wasn't supported by the platform.
  • (825464) - Graphics: Fixed console error generated when using WWW.movie to create a movie texture.
  • (767034) - Graphics: Fixed errors spamming the console when performing GPU profiling on a DX11 Standalone build.
  • (none) - Graphics: Fixed the GPU Profiler in standalone mode.
  • (732380) - Graphics: Stopped rendering projectors twice if there is any transparent object visible to the camera.
  • (849356) - Graphics: Stopped the texture importer ignoring pure white Alpha channels by default. It is now a user option to choose to ignore it.
  • (810286) - iOS: Fix 2nd stage splash on iPhones with landscapeRight orientation
  • (856989) - iOS: Fixed crash in application:openURL:sourceApplication:annotation due to missing null check with Facebook SDK.
  • (831195) - iOS: Removed extra offset in constraint in default launchscreens.
  • (851764) - Lighting: Only clear the lighting progress bar when lighting is in progress. Stops lighting system accidentally closing other (non-lighting) progress bars.
  • (867312) - Metal: Fixed a memory leak when loading scene.
  • (807091) - Multiplayer: Fixed hostmigration sync issue.
  • (853316, 826931) - Multiplayer: Made sure isLocalPlayer works as expected on OnDestroy.
  • (none) - Networking: Skip proxy check when using the "file://" protocol on Windows.
  • (828188) - Physics: Display message in Inspector for Rigidbody2D when auto-mass is used on a Prefab or an inactive object.
  • (829769) - Physics 2D: Ensure that Rigidbody2D interpolation is reset if the Transform rotation is changed.
  • (715922) - Physics 2D: Fixed some 2D polygon outlines that were almost collinear causing collision detection problems.
  • (764734) - Shadows: Fixed a memory leak and assert when shadows are cast from lights with specific properties and in a specific scene setup.
  • (857270) - Substance: Fixed a crash when compressing small non-square textures to ETC with 'fast' quality.
  • (none) - Test: Corrected CHECK_EQUAL parameter and added another check for validation call count.
  • (856733) - UI: Fixed a curve preview cache not updating preview if curve data had changed but not the bounds.
  • (845756) - UI: Fixed a NullReferenceException when changing font to none.
  • (861467) - VCS: Don't attempt to connect to a Perforce server if any of the following parameters are unset: Server, User or Client.
  • (none) - VR: Fixed the usage of VRSettings.renderViewportScale in Camera's OnPreCull so that it was not a frame latent on all supporting SDKs. Fixed issues with Valve's Renderer adaptive quality feature.
  • (858634) - VR: Y-Axis Range For VR Controllers now match XBox controllers
  • (759286, 782587) - WebGL: Disabled deferred rendering on webgl1.0.
  • (850383) - WebGL: Fixed build with improperly tagged plugins
  • (none) - WebGL: Fixed Content-Length header field for local web server response that caused some audio files to have .duration == inf or zero. This was not reproducible with the normal workflow but could occur with a specific asset store plugin for webgl audio streaming.

As always, the patch is available for download here.

GameDev News

6. January 2017

 

Back in September I reported on the impending end to development of the cross platform C++ game framework Marmalade.  It was slated to see it’s final release in March of 2017.  According to an email I received earlier today, it seems a last minute savior has stepped in, GMO Cloud k.k.  Not a traditional gaming company, GMO Cloud is a Japanese group of companies known primarily for cloud hosting and security solutions, perhaps most famously in the west as the parent company of GlobalSign, one of the oldest SSL certificate companies in existence.  While not a gaming company, it does appear that they intend to continue development of Marmalade and to continue supporting Marmalade developers.  Excerpt from their press release:

GMO Cloud K.K. (President and CEO: Mitsuru Aoyama, “GMO Cloud”), a member of the GMO Internet Group, was granted the exclusive rights to use the Marmalade software development kit (SDK) by Marmalade Technologies Ltd (Headquarters: London, UK, “Marmalade Technologies”) on November 24, 2016. The Marmalade SDK features cross platform support.


 This license will allow GMO Cloud to accelerate the development of and the ability to offer new features for the Marmalade SDK. GMO Cloud wants to increase its ability to support the development of games and apps in both Japan and abroad in order to expand and enhance sales and support throughout the world.

Followed by

To help meet these needs, GMO Cloud obtained a license to resell the cross platform SDK “Marmalade,” which enables the development of games and apps compiled from a single source code. They released the SDK on July 1, 2015 and currently offer it to game developers in Japan.


 “We are very excited about GMO managing the development and distribution of the Marmalade SDK to enable our customers to continue building compelling content with the high performance and flexible C++ framework that the Marmalade SDK delivers” said Bruce Beckloff chairman and CEO Marmalade Technologies Ltd.


 GMO Cloud believes that by performing everything from development to provision of the SDK that it had previously only sold, it will be able to further stimulate the development of games and apps in Japan and around the world. The company has thus been transferred exclusive rights to use Marmalade from Marmalade Technologies. In addition to selling it in the Japanese and overseas markets, GMO Cloud will develop new features for this tool that will make developers’ lives easier. The company will also enhance the sales and support that it offers in Japan and elsewhere to make Marmalade a more popular SDK, continuing to support the evolution of the game and app development market.

 

You can read the full press release here.  Certainly good news for existing Marmalade developers.  Will be interesting to see what the future holds.

GameDev News

4. January 2017

 

Inkscape is a popular open source vector based graphics package available for Windows and Linux.  The OS X version is not yet available for reasons explained here.  Version 0.92 adds a few new features including mesh gradients, new live path effects and more.  Below is a summary of the new features, although much more detailed release notes are available here.

Exciting New Features

Mesh gradients are a powerful tool enabling artists to more easily create photo-realistic drawings - a feature we would love to see made part of the W3C's Scalable Vector Graphics (SVG) standard; if you find this feature as cool as we do, please request that your favorite web browser adopts support for it too!

Inkscape works closely with the SVG standards committee, and thanks to our many generous donors, the Inkscape project sponsors an engineering representative to attend SVG working group meetings over the past few years. A welcome outcome of this participation is the improvement and addition of over a dozen SVG and CSS properties.

Live Path Effects are proving to be a vibrant ecosystem in the Inkscape project, and many innovative new ideas have been percolating over the past couple years since our last release. Spiro Live, BSpline, and Roughen essentially provide new drawing modes. The Simplify LPE cleans up vector elements non-destructively by smoothing paths, shapes, groups, clips, and masks. Perspective/Envelope and Lattice Deformation 2 enable artists to interactively deform/transform drawing elements. Other new features enable interactive mirroring, interactive rotation of copies along an arc or circle, and dozens of other additions and enhancements.

 

Below is a video showing Inkscape 0.92 in action.  You can learn more about and download Inkscape here.

GameDev News

4. January 2017

 

Today marks the release of Cocos2d-x 3.14.  Cocos2d-x is a popular open source cross platform C++ game library that was used to make games such as BADLAND, Clash of Kings and Final Fantasy Record.  If you want to learn more about Cocos2d-x, we have a complete tutorial series available here.

 

Cocos2d-x 3.14 brings several fixes and improvements including:

  • [NEW] Add Spine binary file format support
  • [NEW] Action: add a method to get the number of actions running in a given node with specific tag
  • [NEW] Action: new actions: ResizeBy and ResizeTo
  • [NEW] Button: can set title label
  • [NEW] Can disable multi touch on Android
  • [NEW] EventDispatcher: Add hasEventListener to check listener existance
  • [NEW] EditBox: add horizontal text alignment
  • [NEW] EventDispatcher: added hasEvent() to check if an event is added
  • [NEW] Sprite: support slice9 feature
  • [NEW] Slider: add methods to get _slidBallNormalRenderer
  • [NEW] Desktop: add a method to toggle between fullscreen and windowed
  • [NEW] Desktop: add events for window resize, focus and unfocus
  • [NEW] Mac: supports game controller
  • [NEW] JSB: add cc.sys.now() and perfromance.now(), the last one is more accurate
  • [NEW] Lua: add cc.vec3 functions: add, sub and dot
  • [NEW] Lua: use luajit 2.1.0-beta2
  • [NEW] Web: Add cc.CONCURRENCY_HTTP_REQUEST_COUNT to control max concurrent task count for XMLHttpRequest

 

More information about the release is available here, while Cocos2d-x is available for download here.

GameDev News

2. January 2017

 

Mike Fricker, UE4 Technical Director at Epic Games, just released a new plugin for Unreal Engine that enables you to utilize OpenStreetMap data directly in Unreal Engine.  Keep in mind this is just a hobby project and isn’t directly supported by Epic.  OpenStreetMap.org is a crowd sourced (think Wikipedia) map of the world.  This plugin enables you to take data from OSM and use it directly in your game, quickly creating real world accurate cityscapes like the one shown to the right.OSM  Additionally all of the location information is retained upon import, so if you are creating an Alternate Reality based game like Pokemon Go, the data is available to you.  Keep in mind however that OpenStreetMap data is released under the Open Data Commons Open Database License (ODbL).  I am no lawyer, but I believe the license enables you to create closed source projects using the data so long as you give proper attribute, share any modifications you make to the database and make sure that the data itself (not your game code) remains available and open.

 

Details of the plugin from the Readme:

Street Map Assets

When you import an OSM file, the plugin will create a new Street Map asset to represent the map data in UE4. You can assign these to Street Map Components, or directly interact with the map data in C++ code.

Roads are imported with full connectivity data! This means you can design your own navigation algorithms pretty easily.

OpenStreetMap positional data is stored in geographic coordinates (latitude and longitude), but UE4 doesn't support that coordinate system natively. That is, we can't easily deal with spherical worlds in UE4 currently. So during the import process, we project all map coordinates to a flat 2D plane.

The OSM data is imported at double precision, but we truncate everything to single precision floating point before saving our UE4 street map asset. If you're planning to work with enormous map data sets at runtime, you'll need to modify this.

Street Map Components

An example implementation of a Street Map Component is included that generates a renderable mesh from loaded street and building data. This is a very simple component that you can use as a starting point.

The example implementation creates a custom primitive component mesh instead of a traditional static mesh. The reason for this was to allow for more flexible rendering behavior of city streets and buildings, or even dynamic aspects.

All mesh data is generated at load time from the cartographic data in the map asset, including colorized road strips and simple building meshes with triangulated roof polygons. No spline interpolation is performed on the roads.

The generated street map mesh has vertex colors and normals, and you can assign a custom material to it. If you want to use the built-in colors, make sure your material multiplies Vertex Color with Base Color. The mesh is setup to render very efficiently in a single draw call. Roads are represented as simple quad strips (no tesselation). Texture coordinates are not supported yet.

There are various "tweakable" variables to control how the renderable mesh is generated. You can find these at the top of the UStreetMapComponent::GenerateMesh() function body.

(Street Map Component also serves as a straightforward example of how to write your own primitive components in UE4.)

OSM Files

While importing OpenStreetMap XML files, we store all of the data that's interesting to us in an FOSMFile data structure in memory. This contains data that is very close to raw representation in the XML file. Coordinates are stored as geographic positions in double precision floating point.

After loading everything into FOSMFile, we digest the data and convert it to a format that can be serialized to disk and loaded efficiently at runtime (the UStreetMap class.)

Depending on your use case, you may want to heavily customize the UStreetMap class to store data that is more close to the raw representation of the map. For example, if you wanted to perform large-scale GPS navigation, you'd want higher precision data available at runtime.

 

The plugin and it’s source code is hosted on Github available here.  The plugin is released under the very liberal MIT open source license.

GameDev News

Month List

Popular Comments