Subscribe to GameFromScratch on YouTube Support GameFromScratch on Patreon

21. March 2017


KDevelop started life as a Linux based IDE created by the KDE group.  In the last year however it has expanded to have beta support for Windows while a Mac OS version is also under development.  They just released KDE 5.1.0 bringing tons of new features to the IDE including LLDB support, cppcheck, OpenCL language support, improved Python language support, in-IDE theme selection, Perforce integration and more.


Details from the release announcement:

LLDB support

We had a great student for GSoC 2016 implementing LLDB support in KDevelop. The end result is that we now have a debugger framework which can be used both for the GDB & LLDB MI communcation. The LLDB plugin teaches KDevelop to talk to the standalone LLDB MI Driver (lldb-mi); so now it's possible to use LLDB as an alternative debugger backend for KDevelop. One interesting thing with LLDB that it's also potentially useful on OS X & Windows for us, especially when the Windows port of LLDB is getting more and more stable.

Analyzer run mode

With 5.1, KDevelop got a new menu entry Analyzer which features a set of actions to work with analyzer-like plugins. During the last months, we merged analyzer plugins into kdevelop.git which are now shipped to you out of the box:


Cppcheck is a well-known static analysis tool for C/C++ code. Cppcheck is useful for taking a closer look at your source code checking for common programming faults such as out of boundsKDevelop accesses, memory leaks, null pointer dereferences, uninitialized variables, etc. pp. With the Cppcheck integration in KDevelop running the cppcheck executable is just one click away. KDevelop will pass the correct parameters to cppcheck including potential include paths and other options.

Other analyzers in the pipeline: Valgrind, clang-tidy, krazy2

While the Cppcheck plugin is shipped out of the box, other analyzers are not considered 100% stable yet and still reside in their own repositories. The clang-tidy plugin looks super promising (another static analysis & refactoring tool for C/C++) as it really easy to use from the command-line and thus easy to integrate into our IDE. We plan to import more of those analyzers into kdevelop.git so they'll be part of the kdevelop tarball and are thus available to you without having to install yet another package.

Initial OpenCL language support, CUDA support upcoming

Since 5.1 KDevelop is able to parse code written in the Open Computing Language (OpenCL). The OpenCL language support inside KDevelop is backed by our Clang-based language support backend and thus just required minimal changes in KDevelop to start supporting it. Support for handling NVidia's CUDA files will be part of 5.2 instead. Stay tuned.

Note that for KDevelop to detect .cl files as OpenCL files, an up-to-date shared-mime-info package which contains this patch is required. Alternatively, you can add the mime type yourself by creating the file /usr/share/mime/text/x-opencl-src.xml with appropriate contents and re-running update-mime-database yourself.

Improved Python language support

Python language support now supports Python 3.6 syntax and semantics. In addition, thanks to the work of Francis Herne, various long-standing issues in the semantic analysis engine have been fixed:

  • Loops and comprehensions infer types correctly in many more cases, including on user-defined types with __iter__ and __next__ methods.
  • Type guessing works for arguments named by keywords (not only **kwargs), and works better for class/staticmethods.
  • Property accesses get the return type of the decorated method.
  • Types are inferred correctly from PEP-448 syntax in container literals.
  • Unsure types are handled in subscripts and tuple unpacking.
  • Uses are found for __call__() and __get/setitem__().

These improvements were accompanied by cleaning up dusty code, making future changes simpler as well.Furthermore, our style checker integration has been rewritten, making it much faster and easier to configure.

Perforce integration

Thanks to Morten Danielsen Volden we now have Perforce integration in kdevplatform.git, which can be used freely starting with KDevelop 5.1. Perforce is a commercial, proprietary revision control system. The Perforce integration in KDevelop simply works by running a local version of the p4 executable (needs to be installed independently of KDevelop) with appropriate parameters. This is similar to how KDevelop integrates with other VCS, such as Git & Bazaar.

Color scheme selection inside KDevelop

It is now possible to select the current color scheme from within KDevelop, a feature which has been requested several times in the past. This is especially useful for when KDevelop is run under a different desktop environment than KDE Plasma, where the color scheme settings may not be easily accessible.

Ongoing support for other platforms

We're continuously improving the Windows version of KDevelop and we're planning to release a first KDevelop version for OS X soon (yep, we're repeating us here, please stay tuned!). For the Windows version, we upgraded the KF5 version to 5.32 and the LLVM/Clang version to 3.9.1.


KDevelop is completely free and available for download here.

GameDev News

20. March 2017


Epic have released a new hotfix for Unreal Engine, 4.15.1.  This update is composed entirely of fixes, including:

Fixed! UE-42385 Crash adding an AnimComposite to itself
Fixed! UE-41929 Crash on reimport animation when there is an additive animation track and fbx frame number is different
Fixed! UE-41921 Crash Re-Importing animation with Additive Layer Tracks after adding a bone to the hierarchy
Fixed! UE-41817 Crash when manipulating Bone Space IK before setting EffectorSpaceBoneName
Fixed! UE-40025 Inconsistant Line Trace behavior
Fixed! UE-42756 UnrealVS not installing correctly for VS2017
Fixed! UE-42321 Unable to launch project from Visual Studio using installed engine build
Fixed! UE-42411 Resource files are not recompiled when Version.h changes
Fixed! UE-42205 Hot reload reported as failed in Visual Studio for projects opened in the Editor after having hot reloads performed successfully previously
Fixed! UE-42507 check(PIEInstanceID != -1) fails when executing SeamlessTravel
Fixed! UE-42480 SetVectorParameterValueOnMaterials In Construction Script Not Working in Packaged Game
Fixed! UE-42459 BP nativization doesn't work with localized text
Fixed! UE-42166 Crash when pressing Ctrl-Z after creating a blueprint function
Fixed! UE-41893 Child blueprints cannot override functions if their parent was nativized
Fixed! UE-41168 Crash opening blueprint when a node class has been removed (e.g., anim blueprint with Ragdoll node with Immediate Mode plugin disabled)
Fixed! UE-42209 Incorrect error message when child actor mobility doesn't match
Fixed! UE-42253 Enum Element Names Reset on Project Upgrade
Fixed! UE-42375 No input received from Raw Input device when packaged for 32bit
Fixed! UE-39884 Foliage LODs do not appear to use the base LODs lightmap any longer
Fixed! UE-42390 Ad banner is displayed incorrectly on Android 7.0 devices
Fixed! UE-42361 Slate UI asset colors washed out on iOS
Fixed! UE-42191 Scene Captures not working on Android
Fixed! UE-42036 Exposure Is More Extreme In High-End Mobile Preview Modes
Fixed! UE-42368 Find Sessions Consistently Returning Results Length of 0
Fixed! UE-42452 No textures listed when selecting material
Fixed! UE-42789 Rebuilding lighting not saving rebuilt light data
Fixed! UE-42196 Static meshes with auto-generated LODs can no longer share lightmaps between LODs
Fixed! UE-42179 Crash in FStreamingTextureLevelContext::GetBuildDataIndexRef
Fixed! UE-42165 [CrashReport] UE4Editor_Renderer!FReflectionEnvironmentSceneData::ResizeCubemapArrayGPU() [reflectionenvironment.cpp:215]
Fixed! UE-42102 Cooked build size increase due to MIC problem
Fixed! UE-41950 GitHub 3252 : Added MobileMaterialInterface to UsedMaterials
Fixed! UE-29491 Eye Adaption is incorrect at any size other than Fullscreen in PIE
Fixed! UE-42554 Regression: Visibility property is not seen in the animation track in UMG
Fixed! UE-42210 Crash when using Ctrl+Z to undo a single digit change in the size of a widget
Fixed! UE-41829 Crash scrubbing through sequencer when playing montage from old assets
Fixed! UE-42665 Update default super search engine to Bing
Fixed! UE-42428 Enabling "Show Only Modified Properties" causes details panel menu to disappear
Fixed! UE-42312 Crash when saving a Data Table that is referencing itself in a Data Table Row Handle
Fixed! UE-35606 Crash when Importing .OBJ using the File > Import into Level Option
Fixed! UE-42669 "Package localization ID mismatch during cook!" log spam
Fixed! UE-41797 Update to Korean localization
Fixed! UE-42106 Edge case where cursor can become hidden in gameplay
Fixed! UE-42631 Stereo off while prox sensor uncovered causes low framerate
Fixed! UE-42576 Oculus crash on "stereo on" when the proximity sensor is not triggered.
Fixed! UE-42101 [daydream] Black screen with FirstPersonTemplate and 4.15P4
Fixed! UE-41604 Integrate fix for improper failure case for allocation of RenderTargets in Oculus
Fixed! UE-41568 Need to enable GearVR on Win64 platforms


As always, the hotfix is available for download in the Epic Game Launcher.

GameDev News

17. March 2017


Unity have released a new patch, this one bringing the Unity game engine to version 5.5.2p3.  The patch is composed entirely of fixes including:

  • (868587) - Animation : Fixed a race condition in the legacy animation system which could cause a crash if a GameObject and an Animation assigned to that GameObject were deleted in the same frame.
  • (864273) - Editor: Fixed an issue with deselect of single selected item in hierarchy with ctrl/cmd+click.
  • (864246) - Editor: Fix for time not updating in Editor if play mode is entered and then exited while paused.
  • (861345) - Editor: Fixed an issue with vertex snapping jumping to extreme values in isometric view.
  • (858292) - GI : Fix for lightmaps not being loaded in a standalone player when loading scene through an AssetBundle.
  • (862215) - GI : Fix for lightprobe gizmos being rendered too bright in Linear color space.
  • (none) - Graphics : Fixed D3D12 cubemap mip generation.
  • (868935) - Scripting: Fixed MonoBehaviour array field with initializer getting resized to 0 by serialization.
  • (none) - Tizen: Fixed a crash that occurred when an app tried to exit.
  • (858645) - UI : Fixed the issue of fonts created at runtime not showing up when added to text.
  • (none) - VR: Updated Oculus to version 1.12. This fixed a GearVR timeout issue.
  • (886630) - Windows: Fixed the logging code in the Windows Editor/Standalone player so that messages got printed at once instead of one byte at the time.


As always you can download the patch here.  In addition to the patch Unity released an updated post outlining the future of their networking support for the Unity engine.

GameDev News

16. March 2017


Corona Labs, the makers of the Corona SDK Lua powered game engine, have been sold to Appodeal, a mobile advertising firm.  Back in November of 2015 Corona was acquired by Perk then in September of 2016 it was sold back to the CEO, so it’s been a rocky couple of years over at Corona Labs.  Let’s hope this deal provides some stability for the Corona engine.


Details from the announcement:

One of the laurels of Corona SDK is how easy it makes it to build games across platforms without compromising on power and flexibility. For those who need to extend beyond what Corona provides “out of the box” with its many APIs and plugins, the Enterprise version of Corona is perfect.

Appodeal is the functional counterpart to Corona — developers can simply sign up for Appodeal, integrate it with a few lines of code, and connect to multiple demand sources (including AdMob and Facebook Audience Network!). Even though Appodeal connects to dozens of ad networks, developers get the convenience of just one easy payment (with the exception of AdMob and Facebook Audience Network). For developers who want even more power and control over their ad network relationships, Appodeal puts you in the driver’s seat so you can tune as you see fit.

An important note is that the acquisition of Corona Labs by Appodeal does not mean that developers must use Appodeal to monetize their games — Corona Labs will continue to offer and support third-party ad networks into the future, although the integration with Appodeal may get deeper over time with the aim to make it even easier to add monetization to your games.

In addition to a natural fit around building easily and monetizing easily, there’s a shared appreciation around the role Corona plays in the indie developer ecosystem. While many ad networks tend to court developers that already have large audiences, Appodeal recognizes that it’s the smaller developers who make up the vast majority of the ecosystem and that nurturing the relationship with these developers will only promote the possibilities of growth and success.

Appodeal is a global company with offices in San Francisco, Barcelona, and Moscow to name a few. Corona has a large developer community in every nook of the world and Appodeal’s international presence and commitment to serving developers worldwide means higher eCPMs no matter where your users are — and where they can’t deliver, their connectivity to AdMob and Facebook Audience Network solves the problem well.

GameDev News

16. March 2017


Wave Engine 2.3.1 was just released.  Wave Engine is a C# powered cross platform 3D game engine I previously featured in the Closer Look series.  The Wave Engine 2.3.1 released brings several new features and improvements, including:

    • OpenGL support on Windows platforms
    • Binary serialization with Protobuf-NET libraryDarkWaveEngine
    • WPF, Windows Form and GTK# templates
    • New Dark and Light themes
    • EdgeCollider2D component added to Physics2D
    • Texture support in vertex shaders
    • New RequiredService attribute
    • Oculus Touch support
    • Relative path support for entity paths
    • Bokeh lens image effect and a new sample illustrating it
    • Add Child button added
    • New QuickStarter sample, with code available on Github.


You can learn more about the release here, while Wave Engine can be downloaded here.

GameDev News

Month List

Popular Comments