Subscribe to GameFromScratch on YouTube Support GameFromScratch on Patreon

24. March 2016

 

There is a new preview release of Unreal Engine, 4.11 Preview 8, obviously for those willing to walk on the wild side.  As always, it can be downloaded using the Epic Game Launcher.

 

This release is entirely bug fixes, including:

Fixed! UE-27462 ShooterGame fails to launch on Xbox One
Fixed! UE-28057 Android crash a couple minutes into StrategyGame
Fixed! UE-28492 Lighting needs to be rebuilt in UE4 4.11 Samples
Fixed! UE-28232 2D scene capture component crashes the editor when dragged into the viewport
Fixed! UE-28441 [CrashReport] Crash on Duplicating from Higher on Beam Emitter Type Module in LOD1
Fixed! UE-28491 Placing a Constant 3 Vector in a Material on Mac Metal causes log spam
Fixed! UE-28391 HotReload is not updating instances already placed in the level
Fixed! UE-27424 Reimplement GC cluster fixes in 4.11 to fix memory leaks
Fixed! UE-28051 Android LaunchOn camera forced down in jolts when fired rapidly
Fixed! UE-28442 SunTemple crashes on iPad 4 when opened multiple times
Fixed! UE-28201 Can select child actor component in scene outliner after loading level
Fixed! UE-28169 PSVR is mispredicting on several UE4 titles, need to adjust the prediction timing
Fixed! UE-28114 Crash in shaped text when measuring an empty range
Fixed! UE-28068 Eyes incorrectly offset with instanced stereo enabled
Fixed! UE-27892 iOS leaks all HTTP responses
Fixed! UE-28386 [Mac][Metal] - Panic/Crash when closing active window of packaged project
Fixed! UE-28000 Instanced Stereo Rendering not being used
Fixed! UE-27617 UnrealMatch3 not displaying UMG background material on mobile devices
Fixed! UE-27637 Leap Motion plugin broken with 4.11, need updated code from them
Fixed! UE-24713 Match3 crash on several Android devices Data != NULL
Fixed! UE-26167 Unreal Match 3 Movie is causing crash on startup
Fixed! UE-28558 Letterboxing in blueprint First Person on some aspect ratios
Fixed! UE-28438 Player spawns inside the floor
Fixed! UE-28564 Blueprint Errors not displaying in Log
Fixed! UE-28054 Unable to get mouse control in the server window when networking in editor
Fixed! UE-27863 Project freezes when launching on mobile
Fixed! UE-28526 Match3 does not compile in debug
Fixed! UE-26565 Shootergame fails to package for WindowsXP
Fixed! UE-25688 Some ContentExamples maps have player start outside level boundary
Fixed! UE-28240 Lighting needs to be built in Sanctuary map in Shooter Game
Fixed! UE-27855 Crash launching project on mobile devices
Fixed! UE-27798 Erroneous MoveFixedBody warnings when running construction scripts in game
Fixed! UE-27535 Starting position of physics simulated bp is different in Standalone Game
Fixed! UE-27154 Using StereoPano capture commands crashes the editor
Fixed! UE-26789 Available HTML5 browsers are not automatically listed in the HTML5 SDK project settings
Fixed! UE-28434 Matinee Capture Movie is rendering distorted when aspect ratio is set to 2:1
Fixed! UE-28293 Multiple Content Example intro boards have typos or need rewording
Fixed! UE-23446 If a hot reload is performed after adding a custom UserDefinedEnum class to the project, the Editor will crash.
Fixed! UE-28189 Crash Occurs When Duplicating Static Mesh with Foliage Placed on it
Fixed! UE-27824 Component in Child Blueprint Parented to Inherited Component Disappears
Fixed! UE-26768 Sequencer crashing engine when opening Sequencer File with Audio setup inside (FAsyncAudioDecompressWorker::DoWork() [audiodecompress.cpp:336])
Fixed! UE-24967 Integrate D3D12 update from MS
Fixed! UE-28005 KiteDemo: Deer spawn immobile in Kite Cinematic
Fixed! UE-28003 Fail to QuickLaunch HTML5 through UnrealFrontEnd
Fixed! UE-28162 Components added via IWCE in 4.11 to actor with inherited root component spawn in wrong location
Fixed! UE-27795 Split Pins on a referenced Macro Library will crash the editor on restart
Fixed! UE-28122 Plugin Warden links to invalid store page
Fixed! UE-28154 Math expression node text not editable on creation
Fixed! UE-28118 Instanced stereo rendering doesn't handle arbitrary eye gap sizes.
Fixed! UE-27856 "Always" Save on Compile does not save the Blueprint
Fixed! UE-27859 Cannot spawn tab because no spawner is registered for 'BlueprintProfiler' for multiple assets in Automation Test
Fixed! UE-27987 Match3 Settings menu text is inconsistent
Fixed! UE-27995 Match3 loses theme selection buttons after returning to Start Screen on Android
Fixed! UE-28312 Android store version should not be limited to 65535
Fixed! UE-28013 Rivalry runs very slow on Nexus 9 before Android 6.0
Fixed! UE-26994 Directional Light (stationary) causing blown out lighting on suntemple with Mobile Renderer
Fixed! UE-26900 Consistent hitch 1 minute into play on some Android devices
Fixed! UE-27509 Save on compile set to always causes a crash on compile
Fixed! UE-26284 KiteDemo: Missing foliage textures
Fixed! UE-24793 iPadPro uses wrong resolution
Fixed! UE-28196 Demo Display doesn't render text in Content Examples
Fixed! UE-27990 Broken textures in KiteDemo
Fixed! UE-28471 Shader Complexity view no longer showing particle effects
Fixed! UE-26194 FBX Import flips faces of mesh on Import for static meshes

There is also one important known issue with NVidia chips on Mac OS:

Important Known Issue: UE-27673 - Mac (El Capitan on Nvidia GPUs) crashes when building lighting. This is due to an Nvidia GPU driver bug on OSX El Capitan 10.11.3 or earlier. The solution for this is to update to OSX 10.11.4.

GameDev News

23. March 2016

 

Construct, a popular codeless HTML5 game engine, just released a new beta update.  The major new features are the ability to schedule audio playback web view improvements.

 

Complete changes from the changelog:

Changelog

Add Audio: 'Schedule next play' action for sample-accurate playback timing

Add New example: Audio scheduling

Add New example: Multiple colored shadow-casting lights

Add Video: now supported in WKWebView. This is achieved by using a local HTTP server (cordova-plugin-httpd) solely to serve video files.

Change IAP: rewritten support for Cordova on iOS using the updated cc.fovea.cordova.purchase plugin

Change Cordova export: replace references to org.apache.cordova.media and org.crosswalk.engine with the newer IDs cordova-plugin-media and cordova-plugin-crosswalk-webview, allowing both to use the latest versions. Note however for Crosswalk builds to work on PhoneGap Build you will need to specify the version by adding to config.xml, until they make CLI 6+ the default.

Change Audio: in Cordova on iOS in WKWebView mode, no longer waits for a touch before starting music.

Change Audio: rudimentary memory management for music in WKWebView mode. Should now only keep one decompressed music track in memory at a time, preventing high memory usage in large projects.

Change Cordova export: updates to the new Intel XDK project format

Change NW.js: work around a bug that could leave ghost processes behind in apps that were upgraded from NW.js 0.12

Change Events: adding an effect can now bring back actions that disappeared after "replace object" because an effect was missing

Bug Fix Tilemap plugin: did not properly clear remaining tiles after loading a tilemap from JSON

Bug Fix Tilemap editor: should no longer change editing tilemap when pressing undo

Bug Fix Pathfinding behavior: did not always correctly update the obstacle map when changing layouts

GameDev News

23. March 2016

 

The popular semiconductor company ARM, just released the OpenGL ES 3.0 Developer Guide.  It’s available as a free PDF download at this location.  It’s a short read at just 75 pages.

Here is a quick look at the books about/audience/table of contents:

About this book

image

This book introduces a number of features from OpenGL ES 3.x and the Android Extension Pack, that
you can use with a Mali™ GPU.

Intended audience


This book is for software developers who want to create OpenGL ES content for devices with Mali™
GPUs.

Table Of Contents


Using this book
This book is organized into the following chapters:
Chapter 1 Introduction
This chapter introduces the ARM Mali GPU OpenGL ES 3.x Developer Guide.
Chapter 2 Pixel Local Storage
This chapter describes Pixel Local Storage (PLS).
Chapter 3 ASTC texture compression
This chapter describes Adaptive Scalable Texture Compression (ASTC).
Chapter 4 Compute shaders
This chapter describes compute shaders.
Chapter 5 Geometry shaders
This chapter describes geometry shaders and how they can be used.
Chapter 6 Tessellation
This chapter describes the use of tessellation and some optimization techniques.
Appendix A Android Extension Pack
Android Extension Pack enhances OpenGL ES 3.1 gaming with a number of extensions.

GameDev News

22. March 2016

 

A week ago CryEngine V was launched and I have been intending to check it out but I couldn’t.  Put simply, the login servers just didn’t work.  Some people managed to get in eventually, but if you tried to login in while the servers were broken it damaged that login and it would never work.  I just received the following email:

 

Hi YOU!

Due to last week's server issues some users have yet to receive their confirmation email, and are still unable to login.

Our team solved the problem, but we need affected users to register again. If you haven't received an activation email or your log in doesn't work, we kindly ask you to register again. You can use the same registration email as before.

If you still have any issues after doing so, please contact us.

We are very sorry for the inconvenience caused, and thank you for your understanding.

Thanks,
CRYENGINE Support

 

Signing up for a new account finally got me in.  That said , it seems my desired username is now taken as a result.  Considering my last major experience with CryEngine was when they leaked all their developers information several years back, I will say I’m not exactly thrilled with their server side support...

 

If you’ve been waiting to try CryEngine, try it again.  I personally managed to create an account this time at least.

 

EDIT: Nevermind... spoke to soon

image

 

Seriously CryEngine, this is beyond pathetic at this point.

EDIT2:  The CryEngine Login Failed. Server not reachable error seems to be linked to authorizing your account.  For some reason when I went back to the confirmation email and authorized a second time it started working.

GameDev News

22. March 2016

 

This page is in support for the video tutorial on using Sprites/Images in Love as part of the GameDev For Complete Beginners tutorial series.  It contains the code and images used in the tutorial.  There is also a copy of the tutorial embedded below.

 

Images

The graphics are from this pack of images, made transparent using this process.

ALC-17AttackChoppers

 

Simply right click and save to your project directory.

 

Source Code

Drawing an Image

local imageFile

function love.load()
    imageFile = love.graphics.newImage("ALC-17.PNG")
end

function love.draw()
    love.graphics.draw(imageFile)
end

 

Using a Spritesheet

local imageFile
local frames = {}

local activeFrame
local currentFrame = 1
function love.load()
    imageFile = love.graphics.newImage("AttackChoppers.PNG")
    frames[1] = love.graphics.newQuad(0,0,128,64,imageFile:getDimensions())
    frames[2] = love.graphics.newQuad(128,0,128,64,imageFile:getDimensions())
    frames[3] = love.graphics.newQuad(0,64,128,64,imageFile:getDimensions())
    frames[4] = love.graphics.newQuad(128,64,128,64,imageFile:getDimensions())
    activeFrame = frames[currentFrame]
    print(select(4,activeFrame:getViewport())/2)
end

function love.draw()
    --love.graphics.draw(imageFile,activeFrame)
--[[    love.graphics.draw(imageFile,activeFrame,
        love.graphics.getWidth()/2 - (select(3,activeFrame:getViewport())/2) * 2,
        love.graphics.getHeight()/2 - (select(4,activeFrame:getViewport())/2) * 2,

            0,
            2,
            2)
]]--
    -- draw image 4x size centered
    love.graphics.draw(imageFile,activeFrame,
        love.graphics.getWidth()/2 - ({activeFrame:getViewport()})[3]/2 * 4,
        love.graphics.getHeight()/2 - ({activeFrame:getViewport()})[4]/2 * 4,
        0,
        4,
        4)
end

local elapsedTime = 0
function love.update(dt)
    elapsedTime = elapsedTime + dt

    if(elapsedTime > 1) then
        if(currentFrame < 4) then
            currentFrame = currentFrame + 1
        else
        currentFrame = 1
        end
        activeFrame = frames[currentFrame]
        elapsedTime = 0
        end
end

 

 

The Video

Programming , ,

Month List

Popular Comments

GameDev Glossary: Library Vs Framework Vs Engine
Subscribe to GameFromScratch on YouTube Support GameFromScratch on Patreon


13. June 2015

 

This is a topic that seems to cause some degree of confusion, especially among new game developers.  We often here the terms “game library”, “game framework” and “game engine” but what is the difference, where does one end and the next begin?  This post attempts to explain the difference as clearly as possible.  It’s important to note, there isn’t a hard and fast definition for each term, basically the meaning prescribed to each is formed by the most popular usage.  I suppose that’s true with most modern words.

 

Library

A library is simply put a collection of code and data intended for reuse.  Libraries are often compiled binaries, such as DLLs, but don’t have to be.  Plenty of JavaScript libraries exist for example, while entire template libraries in C++ are pure code.  In game development terms, a library generally is a collection of code for performing tasks from a specific domain.  For example, playing audio, performing physics, handling input.

Gamedev examples of libraries include FMOD, RakNet, Box2D or Assimp.

There can be some ambiguity here, as FMOD for example contains some tools and calls itself “middleware”, while Box2D refers to itself as an “engine”, both are still essentially libraries.

 

Framework

What happens when you gather a bunch of libraries together, throw in a couple of tools, assembling all the ingredients you need to start creating a game?  Well, you’ve got yourself a framework.  Essentially a framework is a collection of libraries and tools that go together to solve a given task, in this case, making a game.

Gamedev examples include SFML, OGRE, LibGDX and MonoGame.

SFML is a good example of the relationship between libraries and frameworks.  SFML is composed of several libraries… graphics, input, window, audio, etc…  Collected together as a whole they become the framework SFML.  LibGDX is a slightly more interesting example as the inclusion of Scene2D straddles the line between framework and game engine a bit closer than most. 

 

Game Engine

So, a library is a collection of code to accomplish a task, a framework is a collection of libraries to create a game, we does something become an engine?  This classification is probably the least defined but in my opinion two key things separate a framework from a game engine.  In addition to providing all the various libraries needed to create a game, a game engine must include:

  • a scene graph
  • a world/level editor

The scene graph is essentially the data structure that  holds a game’s world.   Generally there are a number of supporting functions for managing, searching and saving the scene graph as well, although often these are left to the game itself to implement.  The level/world editor requirement is probably the biggest distinguishing factor, although there exist some game engines (often 2D) that have no editor ( although I would then argue they are in fact frameworks ).

Game Engine examples include Unity , Unreal, Construct2, GameMaker, HeroEngine and Copperlight.

 

Quite often however, frameworks and engines will be used interchangeably.  Even here on GameFromScratch, the game engine resource refers to both game engines and frameworks using the same moniker.  This is because frankly, at the end of the day, it’s a matter mostly of semantics.

 

What about APIs and SDKs

This is another point of confusion for developers…  what’s the difference between an API, an SDK or simply a library?

Well an API is generally one or more library, as is an SDK.  An API ( Application Programmer Interface ) is generally a programmatic interface to another product.  That product could be an entire operating system, or an embedded programmable interface within a game.  That interface is generally provided in the form of libraries.

An SDK (Software Development Kit) is generally the same thing as a framework.  While a framework is a collection of libraries and tools used to create a game, an SDK can be a collection of tools and libraries to create device drivers for your OS, to use or integrate a technology or hardware such as the Oculus Rift or Android phones.  Of course and SDK can also be aimed at creating games, like DirectX or GameKit.  Then of course just to make life even more confusing, you can have a SDK/API/Library combo, like OpenGL.

Generally where APIs and SDKs vary from everything else discussed today is who provides them.  Quite often these are provided by the OS or hardware manufacturers.

General

blog comments powered by Disqus

Month List

Popular Comments