Subscribe to GameFromScratch on YouTube Support GameFromScratch on Patreon

24. January 2016

 

Kode Studio 16.1 was just released, a fork of the Visual Studio Code editor specifically modified to work with the Kha library for Haxe.  Eventually Kode Studio should be useful as an IDE for general Haxe development... maybe, read on for more on this.

 

From the release notes:

The first public version of Kode Studio is out, Github hosts the downloads. Kode Studio is a fork of Visual Studio Code, optimized for Kha (Kore support will also be added). This is a very early version of Kode Studio but features debugging support which is in many ways superior to anything else currently around for Haxe based development, based on VSCode's Chrome debugger, Haxe's JavaScript target and a modified HTML5 target in Kha. It's cross-platform, very fast (runtime and compile time) and very convenient (no additional software required).

To get started with Kode Studio, just unzip the archive, start the executable and open a directory (File -> Open Folder) containing a Kha project - or open an empty folder and hit the "Init Kha Project" command (Press F1, type Kha, click it).
Kode Studio Create Kha Project

To debug open the debugging panel (the bottom icon on the very left) and click the green play button.
Kode Studio Debugging

Code completion will work after your first debugging session.

We hope you will enjoy developing in Kode Studio but as mentioned before, this is a very early release. Please tell us about any problems you encounter.

Oh and here are the answers to the questions everybody wants to ask:

Is the fork necessary? Couldn't it be an extension?
Currently it could be an extension for the most part, there are about 20 lines of code outside of extensions right now. But that is not were Kode Studio is headed. All functionality of Kit (Kha's previous GUI tool) will be integrated. The IDE will be tightly coupled to Kha's and Kore's build systems. Much of that can not be done in extensions. VSCode is a strong base but it's also a cage that has to be blast open to do Kha justice.

Is this a general Haxe IDE?
Right now - no. In the future - probably yes. But will it be a better Haxe IDE than VSCode plus the proper extensions? Probably not. The focus is clearly on Kha and Kore for Kode Studio. Every change done to the VSCode Haxe plugins that's not specific to Kha will end up in pull-requests for the original projects - namelyhttps://github.com/jcward/vscode-haxe andhttps://github.com/jcward/vscode-hxcpp-debug

GameDev News ,

23. January 2016

 

Corona Labs just released a Corona SDK auto complete package for the popular Atom text editor.

From the release:

We would like to announce the immediate availability of a code completion package for the Atom editor, which provides code completion as well as a description and links to the Corona Docs.

You have two options to install the package: through Atom’s package interface or from the command line.

If you choose the Atom’s package interface, open up the Preferences screen and click on Install.

In the search box, type corona and hit enter. The autocomplete-corona package should show as the first option. Click on the Install button. This will install the package and you can start using it immediately.

If you prefer, you can install it from the command line by executing:

apm install autocomplete-corona

You may also need to enable the language-lua package as well, to get the syntax highlighting.

demo

This is a no-frills package that uses Corona’s own docs to provide the code completion. Simply tab to complete and then tab between parameters to fill them out.

This tool complements our Corona Editor and Corona Composer GUI tools to help you make your apps easier.

Atom also supports building your project. There is not a pre-built Corona SDK build provider. However, you can configure your own by putting an extra file in the folder with your main.luanamed:

.atom-build.json

You must include this file in every project you want to build. The contents of the file will vary depending on if you are using a daily build or public build. And it will vary between OS X and Windows.

Here is an example OS X version for public releases:

{
  "cmd": "/Applications/CoronaSDK/Corona\\ Simulator.app/Contents/MacOS/Corona\\ Simulator",
  "args": ["main.lua"],
  "name": "Corona SDK",
  "cwd": "{PROJECT_PATH}",
  "sh": true
}

If you use daily builds change the first line to the right folder:

{
  "cmd": "/Applications/CoronaSDK-2811/Corona\\ Simulator.app/Contents/MacOS/Corona\\ Simulator",
  "args": ["main.lua"],
  "name": "Corona SDK",
  "cwd": "{PROJECT_PATH}",
  "sh": true
}

For Windows, you will need to provide the right path to your Corona SDK install folder.

{
  "cmd": "C:\Program Files (x86)\Corona Labs\Corona SDK\Corona\\ Simulator.exe",
  "args": ["main.lua"],
  "name": "Corona SDK",
  "cwd": "{PROJECT_PATH}",
  "sh": true
}

You must also install the build package to use this. Click here to learn more about these build scripts.

If you are an Atom fan, you will now be more empowered.

GameDev News

22. January 2016

 

Cocos2D-X, the popular cross platform C++ 2D game library, just released version 3.10.  If you are interested in learning more, I have a full Cocos2D-x tutorial series available here.Cocos2d-x Logo

 

From the release notes:

[HIGHLIGHT] UI: Rewrite Scale9Sprite and improve the scale9sprite performance and reduce memory consumption.

[HIGHLIGHT] UI: Change PageView to derive from ListView.

[NEW] Core: Added Application::getVersion() to get the app version.

[NEW] UI: Add PageView indicator.

[NEW] UI: Label add three Overflow type to new label, see release note for more information.

[NEW] UI: UIText::clone supports clone the text effect.

[NEW] Label: Add methods to query label effect state.

[NEW] UI: UIRichText support the new line element.

[REFINE] 3rd party: WebP loading improvements WebP loaded as premultiplied alpha if it has.

[REFINE] UI: Slider `setCapInsetProgressBarRebderer` change to `setCapInsetProgressBarRenderer`.

[REFINE] UI: RichText support new line element.

[REFINE] UI: Set focus to Widget when touched.

[REFINE] 3D: Change char* to string in Terrain.

[REFINE] Studio: Merge Studio ActionTimeLine change back into engine.

[REFINE] Studio: Merge Studio changes for compatible withe 32bit Mac System.

[REFINE] Studio: Merge Studio changes for lua-binding, js-binding and simulator.

[REFINE] Mac: Make engine compatible for 32bit Mac.

[REFINE] 3rd party: WebP loading improvements WebP loaded as premultiplied alpha if it has.

[REFINE] Audio: AudioEngine on Linux replace the original SimpleAudioEngine with a new version of FMOD, now AudioEngine support all platforms!

[REFINE] IOS: Add virtual keyword for some render related function.

[REFINE] UI: Fixes boring deprecated warning in HttpRequest.

[REFINE] Network: Fix Downloader bug on iOS & Android platform.

[REFINE] Studio: Fix deprecation warning in SkeletonRenderer.

[REFINE] JS: Add js test case for fix, improve template.

[REFINE] Network: Permit http access to cocos2d-x.org in test projects on iOS.

[REFINE] Network: Crash when removing a remotely downloaded image from texture cache in js-binding.

[REFINE] Win10: WinRT project update version to v3.10.

[REFINE] Console: Add quiet option for Cocos Toolkit.

[REFINE] JS: New GC model for js-binding.

[REFINE] Doc: Fix typos in documentation and comments.

[REFINE] UI: update controlButton size calculate with new Scale9Sprite logic.

[REFINE] Win10: Added missing _USRJSSTATIC preprocessor define for ARM builds.

[REFINE] JS: Added ccvector_to / ccmap_to converted to new js-binding API.

[REFINE] UI: Slider misprint fix.

[FIX] Network: fix possible websocket crash in its destructor.

[FIX] Core: Fix premultiplyAlpha for mipmaps and compressed textures.

[FIX] UI: Fix Scale9sprite rendering error when content size smaller than the sum of leftInset and rightInset.

[FIX] Win32: Fix EditBox crash when removing an EditBox in a scheduler.

[FIX] Android: Fix cannot add view to mFrameLayout when extends Cocos2dxActivity.

[FIX] 2D: Fixed actionNode set at wrong position bug.

[FIX] 3D: Fix the movement of PUParticle lags one frame.

[FIX] UI: Fix the wront argument of setPlaceholderFontName in EditBox.

[FIX] UI: Fix EditBox editBoxEditingDidEnd may use the original text after change the text of EditBox in user script.

[FIX] Audio: Fix `FinishCallback` never be called in Windows.

[FIX] UI: Fix Layout stencil clipping nested with Clipping Node rendering issue.

[FIX] UI: Keyboard doesn't hide when click the screen outside of EditBox on iOS platform.

[FIX] UI: Fix a fatal bug in EditBox implement on Windows platform.

[FIX] UI: Fix edit box setPlaceholderFontName and scale font size issue.

[FIX] Core: Fix memory leak when initWithImage() failed.

[FIX] Network: CCDownloader on iOS is broken in v3.9 js-binding.

[FIX] JS: Bindings fixes for Menu, Sprite and Label.

[FIX] Studio: Remove weak reference in ActionNode.

[FIX] UI: shouldStartLoading method should return value to js in js-binding.

[FIX] UI: Fix scrollview render error.

[FIX] JS: Fix win32 js project crash issue.

[FIX] UI: Button touch doesn't work with scale9 enabled.

[FIX] JS: Fix evalString doesn't return result issue.

[FIX] JS: Fix ComponentJS proxy management issue in JSB.

[FIX] Android: Fix include in cocos network module.

[FIX] Network: Fix web socket crash.

[FIX] UI: Fix TextField missing default password style text setting.

[TEST] S9SpriteTest: Scale9Sprite fade actions with cascade opacity.

[TEST] Web: Remove default focus block from UIFocusTestVertical.

[TEST] Lua: Fix pageViewTest Horizontal scroll won't work in Lua-test.

 

Cocos2d-x can be downloaded here.

GameDev News ,

22. January 2016

 

This news came to me from cra0zy on Twitter and it’s a bit of a bummer.  OpenTK, a popular set of OpenGL bindings for .NET languages is currently dead.  The original founder walked away from the project and the guy that has been maintaining the project for the last several months posted this message to Github.

 

Notice

@frassle (current maintainer) is stepping away from this project. The project owner is not around to give direction, and I don't have access to the website, nuget account, travis account or most permissions on the github account. I can't push this project forward.

As I'm the only one whos maintained this repo for the last 6 months with my absence pull requests and issues will probably stay unresolved. I'd suggest developer look to other projects like MonoGame or SDL2#.

As this is a large project used by many people I thought it best to add this notice before signing off.

 

So basically nobody has full access to the project anymore and the guy that has been keeping the project on life support just quit.  The line “look to other projects like MonoGame” is an interesting one, as I am pretty certain Monogame itself is dependent on OpenTK.

 

At the end of the day it may not be all that big of a deal.  Obviously all of the source code is still out there if someone else wants to pick up the torch and run with it.  Additionally, with Vulkan “coming soon”, I can’t imagine there will be a great deal of changes in the world of OpenGL in the future.

GameDev News

22. January 2016

 

As always the patch can be downloaded here.  This patch contains:

Improvements
  • Documentation: In the scripting API, added information to Graphics.SetRenderTarget() and CommandBuffer.SetRenderTarget() about using linear lighting mode. Updated the wording about using linear lighting mode in the Graphics.Blit() entry.
  • iOS/IL2CPP: Added support for Xcode 7.3 (don't use __declspec attributes).
  • Samsung TV: Added support for 2016 TVs.
Changes
  • MSE: Prevent calling some Editor mode only APIs on EditorSceneManager from play mode, including EditorSceneManager.OpenScene, EditorSceneManager.SaveScene etc.
  • MSE: Prevent calling some play mode only APIs on SceneManager from Editor mode, including SceneManager.LoadLevel, SceneManager.LoadLevelAsync etc.
Fixes
  • (745139) - Animation: Fixed an issue with stepped keys having the wrong value.
  • (745781) - Animation: Fixed animation events not firing on the last frame of a looping animation.
  • (754373) - Animation: Fixed crash when deleting all Euler keys in animation curve
  • (753866) - Animation: Fixed Crossfade called subsequently not properly interrupting transition.
  • (none) - AssetBundles: Fixed the assetbundle reading bug when compressed data could be read as uncompressed.
  • (715753) - AssetBundles: Fixed AssetBundle.CreateFromFile retaining file descriptor.
  • (none) - AssetBundles: Fixed memory leak when loading asset bundles with lzma compression.
  • (none) - AssetBundles: Fixed possible assetbundle caching error when starting multiple downloads with an empty cache.
  • (747492) - Direct3D: improved performance in GPU bound scenarios.
  • (754487) - Graphics (Editor): In play mode set the graphics device sRGB write mode to match the lighting mode e.g. enable sRGB write mode in linear lighting mode.
  • (none) - Graphics: Fixed crash when setting shader properties.
  • (760943) - IL2CPP: Do not incorrectly free blittable arrays marshaled as [In,Out] parameters.
  • (758926) - IL2CPP: Prevent a NotImplementedException exception from occurring in il2cpp.exe when the Unbox opcode is used with certain generics. This usually occurs when an assembly is built with Visual Studio.
  • (none) - IL2CPP: Removed an unnecessary Box used to null check before calling a virtual method.
  • (none) - iOS: Fixed Apple Pencil position reporting on iPad Pro.
  • (754068) - Lines & Trails: Fixing issue where rendering in VR was offset for one eye.
  • (752423) - MSE: Fixed a crash when trying to get the root count on an invalid Scene.
  • (751923) - MSE: Fixed loading new unsaved scene during playmode using Application.LoadLevel(index) or SceneManager.LoadScene(index).
  • (753550) - MSE: Now make sure inspector in ActiveEditorTracker for MonoBehaviours are not garbage collected. The ActiveEditorTracked manages the objects itself.
  • (752599) - MSE: Throw null reference exception if SerializedObject has been disposed.
  • (none) - OpenGL (legacy): Added work around buffer state tracking failure.
  • (742591) - OpenGL: Fixed binary shader cache, cache was always disabled because of a bug in the caps.
  • (751743) - OpenGL: Fixed mipmap generation for render textures using OpenGLES.
  • (none) - Samsung TV: Fixed the smarthub button problem.
  • (none) - Substance: Fixed console spam about unavailable material properties.
  • (752039) - Substance: Fixed a crash when checking/unchecking  'Generate all outputs' or 'Generate mipmaps' on OSX.
  • (751300) - Substance: Fixed a crash when reimporting SBSARs with multiple material instances on OSX.
  • (663236) - Substance: Fixed editor stutter when using RebuildTextures on OSX.
  • (none) - Substance: Fixed emission color being set to opaque white when resetting a ProceduralMaterial.
  • (754556) - Substance: Fixed textures not properly generated on player awake when affected only by constant inputs.
  • (none) - Substance: Output textures from ProceduralMaterials without any input are now always generated.
  • (740182) - WebGL: Prevent browser from processing Arrow Keys.
  • (747236) - WebGL: Prevent browser from processing Backspace and Tab key presses.
  • (747549) - Windows Store: Fixed AccessViolationException when initializing matchmaking in UNet.
  • (755473) - Windows Store: Fixed TouchScreenKeyboard crashes when it's members are used immediately after Open().

GameDev News

Month List

Popular Comments

Intel RealSense Plugin For Unreal Engine Released
Subscribe to GameFromScratch on YouTube Support GameFromScratch on Patreon


10. February 2016

 

Intel RealSense is a technology and SDK for computer vision including motion controls, facial recognition and more.  There are several cameras and laptops on the market these days that are compatible with RealSense.  Very similar in scope and function to Kinect for the Xbox and Xbox One.

Well, earlier this week a plugin was released for Unreal Engine enabling RealSense support.  From the announcement:

Intel is always excited to introduce innovative tools and technologies that empower the world's most passionate content creators. In case you're unfamiliar, the Intel RealSense cameras use infrared light to compute depth in addition to normal RGB pictures and video. To assist in the development of applications with this technology, Intel created the RealSense SDK, a library of computer vision algorithms including facial recognition, image segmentation, and 3D scanning. 

Short-Range, User-Facing RealSense Camera Developer Kit

Seeing the potential use cases for this technology in gaming, we would now like to introduce you to the RealSense Plugin, a collaborative effort among games engineers at Intel to expose the features of the RealSense SDK to the Blueprints Visual Scripting System in UE4.

Check out the plugin source code and a sample project here.

PLUGIN OVERVIEW

The plugin is architected as a set of Actor Components, each of which encapsulates a distinct set of features from the RealSense SDK. Using these relatively lightweight components, you can add 3D sensing capabilities to nearly any actor in your game, and you can access this data anywhere by simply instantiating another instance of the same component.

Figure 2: ace scanning and mapping in Unreal Tournament using the Scan 3D Component

PLUGIN COMPONENTS

Currently, the plugin features these three RealSense Components:

  1. Camera Streams Component: Provides access to the raw color and depth video streams from the RealSense camera.
  2. Scan 3D Component: Supports the scanning of real-world objects and human faces (Pictured above).
  3. Head Tracking Component (Preview): Supports the detection and tracking of a user’s head position and orientation.

The downside to head tracking controls is the user ultimately still has to look at the screen!  So while it would be awesome to have the computer track your head movements in say... a car racing sim, you still need to keep your head looking straight ahead.  Well except of course in VR, where this entire process is done in the hardware.  Have any of you encountered actual cool usage of RealSense in a game?

GameDev News

blog comments powered by Disqus

Month List

Popular Comments