Subscribe to GameFromScratch on YouTube Support GameFromScratch on Patreon
6. January 2016

 

Another Unity 5.3 patch was released today.

 

From the release notes:

Fixes
  • (750357) - iOS: Added font containing Lao characters to the fallback list.
  • (none) - iOS: Don't enable bitcode by default for Mono.
  • (none) - OpenGL core: Fixed a crash with AMD and NVIDIA on Windows when using RenderTexture with recent drivers.
  • (none) - OpenGL core: Fixed a crash with Intel GPUs on Linux.
  • (none) - OpenGL core: Fixed text rendering with AMD GPUs on OSX 10.9.
  • (756734), (756754) - OpenGL ES: Fixed crashes with new Samsung firware.
  • (752821) - [treeview] Make right and left arrow select next/previous parent for fast expand/collapse.
  • (758120) - WebGL: Fixed a crash when setting Application.runInBackground, if Strip Engine Code is enabled.

Windows download link.

Mac download link.

GameDev News


5. January 2016

 

LibGDX, the cross platform open source Java based gaming library, just released version 1.8 today and unlike many recent releases, there is a ton in this release.  The biggest aspect of this release is probably the change to LWJGL 3 on the backend.  LWJGL is a Light Weight (that’s the LW part) Java (the J) based Game Library (GL, tada!) that LibGDX desktop targets were built on top off.  Some of the limits of LWJGL 2 were holding back what LibGDX could do, such as multiple monitor support.

From the announcement blog post, the big wall of text of new features:

[1.8.0]
- API Change: Rewrote FreeType shadow rendering (much better).
- Added spaceX/Y to FreeType fonts.
- Higher quality FreeType font rendering.
- Hiero updated to v5, now with FreeType support and other new features!
- GlyphLayout now allocates much, much less memory when processing long text that wraps.
- Added LWJGL 3 backend, see https://github.com/libgdx/libgdx/issues/3673 for more info.
- Added Graphics#getFramebufferWidth and Graphics#getFramebufferHeight for HDPI handling
- API Change: Added HdpiUtils. Instead of calling GL20#glViewport and GL20#glScissor yourself
  please use HdpiUtils instead. It will ensure that you handle HDPI monitors correctly when
  using those OpenGL functions. On HDPI monitors, the size reported by Gdx.graphics 
  getWidth/getHeight is in logical coordinates as dictated by the operating system, usually half
  the HDPI resolution. The OpenGL drawing surface works in backbuffer coordinates at the full
  HDPI resolution. If you pass logical coordinates to glViewport and glScissor, you only 
  affect a quarter of the real backbuffer size. Use HdpiUtils instead, it will do the right thing, while letting you continue to work in logical (aka returned by Gdx.graphics.getWidth/getHeight) coordinates.
- API Change: Graphis#getDesktopDisplayMode() has been renamed to Graphics#getDisplayMode() and
  returns the current display mode of the monitor the window is shown on (primary monitor on
  all backends except LWJGL3, which supports real multi-monitor setups).
- API Change: Graphics#getDisplayModes() return the display modes of the monitor the monitor
  the window is shown on (primary monitor on all backends except LWJGL3 which supports real
  multi-monitor setups).
- API Change: Graphics#setDisplayMode(DisplayMode) has been renamed to 
  Graphics#setFullscreenMode(). If the window is in windowed mode, it will be switched 
  to fullscreen mode on the monitor from which the DisplayMode stems from.
- API Change: Graphics#setDisplayMode(int, int, boolean) has been renamed to 
  Graphics#setWindowedMode(int, int). This will NOT allow you to switch to fullscreen anymore, 
  use Graphics#setFullscreenMode() instead. If the window is in fullscreen mode, it will be
  switched to windowed mode on the monitor the window was in fullscreen mode on.
 - API Addition: Graphics#Monitor, represents a monitor connected to the machine the app is
  running on. A monitor is defined by a name and it's position relative to other connected
  monitors. All backends except the LWJGL3 backend will report only the primary monitor
 - API Addition: Graphics#getPrimaryMonitor() returns the primary monitor you usually want
  to work with.
 - API Addition: Graphics#getMonitor() returns the monitor your app's window is shown on,
  which may not be the primary monitor in >= 2 monitor systems. All backends except the 
  LWJGL3 backend will report only the primary monitor.
 - API Addition: Graphics#getMonitors() returns all monitors connected to the system. All
  backends except the LWJGL3 backend will only report the primary monitor.
 - API Addition: Graphics#getDisplayMode(Monitor) returns the display mode of the monitor
  the app's window is shown on. All backends except the LWJGL3 backend will report the
  primary monitor display mode instead of the actual monitor's display mode. Not a problem
  as all other backends run on systems with only a single monitor so far (primary monitor).
- Added option to include credentials on cross-origin http requests (used only for GWT backend).
- Added option to specify crossorigin attribute when loading images with AssetDownloader (GWT), see #3216.
- API Change: removed Sound#setPriority, this was only implemented for the Android backend. However, Android itself never honoured priority settings.
- API Change: cursor API has been cleaned up. To create a custom cursor, call Graphics#newCursor(), to set the custom cursor call Graphics#setCursor(), to set a system cursor call Graphics#setSystemCursor(). The Cursor#setSystemCursor method has been removed as that was not the
right place. Note that cursors only work on the LWJGL, LWJGL3 and GWT backends. Note that system cursors only fully work on LWJGL3 as the other two backends lack a means to set a specific system cursor. These backends fall back to displaying an arrow cursor when setting any system cursor.
- API Addition: Added Lwjgl3WindowListener, allows you to hook into per-window iconficiation, focus and close events. Also allows you to prevent closing the window when a close event arrives.
 


There are a lot more details available on the announcement post if you want more details on the specifics of the update. 

GameDev News


5. January 2016

 

Ok, this one is a bit off the topic of game development, but I figured I would share it here for other people struggling with slow renders in Camtasia.  I use Camtasia Studio for all of the video tutorials here on GameFromScratch and while I enjoy the program, rendering speeds vary between awful and OMG!MAKEITSTOPBURNBUUUURRRRNNNN.

 

It pains me to say I never thought about this as a way to speed things up until now.  As of Camtasia Studio 8, they started supporting CUDA rendering on GPU.  Problem is, if you like me are running an Optimus GPU, it uses the wrong one and the results are way slower.  Telling it to run on the dedicated GPU resulted in a 3x increase in speed for me.

 

Simply right click the shortcut or executable and select the high performance GPU:

image

 

This is standard behavior on trying to get all sorts of games to run correctly, but sadly it never occurred to me to try it with Camtasia.  This setting can also be permanently set using the nVidia Control panel, but I’ll leave that as an exercise for the reader, there are a few thousand documents covering this already.

 

If your machine doesn’t have Optimus, it might still be a good idea to try rendering with GPU support off and seeing if you get an increase, simply go to Tools-options and untick the appropriate setting

image

 

I’m amazed that Camtasia support aren’t making this exceedingly to start with.   This little fix is going to save me about 2 hours a week on average!

 

There is a video version of this process available here or embedded below.

Totally Off Topic


4. January 2016

 

I covered this briefly in another tutorial but I’ve noticed enough people searching for it, I decided it deserved a post of it’s own.  The GearVR software has a special developer mode that enables you to run GearVR applications without being inserted in a GearVR headset.  This tutorial shows the process of enabling developer mode.  Obviously you need a late model Galaxy S6/Note phone to follow along.

 

It is also available as an HD video.

 

Enabling Developer Mode

  • Swipe down and select Settings gear icon
  • Tap Applications
  • Tap Application Manager
  • Locate Gear VR Service, tap
  • Tap Manage Storage
  • Tap VR Service Version Several times
  • Swipe Developer Mode on.  Now you can run without the Rift (great way to record video by the way…)

 

If successful it should look like this:

Screenshot_2016-01-04-15-32-54 [347917]

 

Use the Developer Mode toggle to turn devmode on and off.  Be aware that while developer mode is enabled your phone is going to flicker like mad as it alternates between each eye.

 

Video Version

Programming


4. January 2016

 

PlayCanvas, a popular 3D HTML5 game engine have added support for Spine the 2D bone based animation software from Esoteric Software.

 

You can get the plugin from Github, details from the announcement:

This is the first version of PlayCanvas plugin for the Spine Animation tool.

Image

Spine allows you to create bone-driven 2D animations so it does away with the need for huge sprite atlases and tedious animation processes.

Using the PlayCanvas Spine plugin you can drag and drop your Spine Animations into the Editor and get them straight into your game.

Read more on the plugin's Github page

GameDev News


AppGameKit Studio

See More Tutorials on DevGa.me!

Month List