Subscribe to GameFromScratch on YouTube Support GameFromScratch on Patreon

6. April 2016


Mesa 11.2.0 has just been released.  Mesa started life many years ago as an open source (MIT License) implementation of the OpenGL graphics API.  Over the years the Mesa project has implemented several other APIs such as OpenVG and OpenGL ES.  Mesa has also become a steward of sort for open source graphic driver implementations shown here.  Another common usage scenario for Mesa is the software layer, that allowed compatibility with accelerated graphics on non accelerated hardware.


Enough with what Mesa is, and back to the release.  Details of the 11.2 release:

- CI
 - Add Travis-CI configuration file.

- Documented more environment variables, squashed a ton of typos.

- Core mesa
 - Fix locking of GLsync objects.
 - Ongoing work for GL_OES_geometry_shader support

 - Massive amount of fixes - ubo/ssbo amongst others.
 - Significant rework in preparation for GL_ARB_enhanced_layouts support.

- GL
 - Reduced binary size (by about 15%)

- Nine
 - Various fixes - multithreading, rounding issues, honour alignments, etc.

 - Add support for WGL_ARB_render_texture

- OSMesa (both classic and gallium)
 - Add new OSMesaCreateContextAttribs() API

 - Android: Add ANDROID_framebuffer_target and ANDROID_recordable support.
 - Wayland: Try to use wl_surface.damage_buffer for SwapBuffersWithDamage
 - X11: Fixed a number of crashes

Video backends:
 - Correct the timestamping during video decoding

 - Disable MPEG4 by default
 - Make the implementation thread safe
 - Add BOB/motion adaptive deinterlacing

- i965
 - Add more KBL PCI IDs
 - Fleshed out libi965_compiler in preparation for Vulkan support

- llvm
 - POWER8 optimised codepaths

- nouveau
 - Renamed various symbols to follow the naming scheme used by Nvidia.
 - Updated against the new nouveau UAPI
 - Initial support for GM20x GPUs
 - Added a nouveau backend for st/va
 - Ongoing work towards compute shaders support
 - More performance counters work - added SM30 (Kepler), removed unused ones.

- radeon(s)
 - Dropped support for LLVM 3.5. LLVM 3.6 or later is required
 - ETC support for Stoney
 - Disable MPEG1 (UVD)
 - Big endian fixes

- svga
 - Avoid emitting redundant commands - SetIndexBuffer, SetVertexBuffers
 - Increase the fence timeout

- virgl
 - Add virtio 1.0 PCI IDs

Platform specific:
- Android
 - Added virgl to the build
 - Handle secondary arch on mixed 32/64bit builds, ARM64 support
 - Fixes when building for SSE 4.1 capable CPU
 - Various compatibility fixes for AOSP build system rework

 - DragonFly support/fixes
 - Removed hardcoded link libraries references (-ldl, -lpthread)
 - Check for correct python binary name.

- Windows
 - Visual Studio 2013 or later is now required

This release adds support for the following extensions:

- GL_ARB_arrays_of_arrays on all gallium drivers that provide GLSL 1.30
- GL_ARB_base_instance on freedreno/a4xx
- GL_ARB_compute_shader on i965
- GL_ARB_copy_image on r600
- GL_ARB_indirect_parameters on nvc0
- GL_ARB_query_buffer_object on nvc0
- GL_ARB_shader_atomic_counters on nvc0
- GL_ARB_shader_draw_parameters on i965, nvc0
- GL_ARB_shader_storage_buffer_object on nvc0
- GL_ARB_tessellation_shader on i965 and r600 (evergreen/cayman only)
- GL_ARB_texture_buffer_object_rgb32 on freedreno/a4xx
- GL_ARB_texture_buffer_range on freedreno/a4xx
- GL_ARB_texture_query_lod on freedreno/a4xx
- GL_ARB_texture_rgb10_a2ui on freedreno/a4xx
- GL_ARB_texture_view on freedreno/a4xx
- GL_ARB_vertex_type_10f_11f_11f_rev on freedreno/a4xx
- GL_KHR_texture_compression_astc_ldr on freedreno/a4xx
- GL_AMD_performance_monitor on radeonsi (CIK+ only)
- GL_ATI_meminfo on r600, radeonsi
- GL_NVX_gpu_memory_info on r600, radeonsi


More information on the Mesa project is available on their homepage.

GameDev News

5. April 2016


Officially announced at GDC 2016, Unity has begun a certification program.  In a nutshell, it’s a way to prove to employers and prospective employers that you do in fact know what you are talking about when you say you “know Unity”.  This is a very common practice in the world of IT, especially if you come from a corporate background.


But... is it useful? 


Frankly, that depends.  Mostly it depends if the certification actually means anything, if the certification process is actually vetted, the material certified is sufficiently challenging without being arbitrarily obtuse or impractical in the real world.  Basically, the certification is valuable if people value it.  In the corporate world, sometimes a certification was sufficient to get you hired in a given field, while other certifications literally aren’t worth the paper they are printed on.


Yeah, that sounds like a complete cop out answer, but it’s also true.  Certifications that are purchased or that can be found as a prize in the bottom of a box of cracker jacks mean absolutely nothing.  On the other hand, certifications are also often used as a cash cow for organizations and for profit colleges to milk the unaware.  Certification and training are very often not the same thing, a point many are confused by.  In the end, the Unity certification value will ultimately be decided by the community.  If it’s respected and used as a hiring benchmark, it will certainly be worth getting.  If it is not, it wont be.  Again, I know that sounds like a cop out answer, but it’s the way these things work.


Anyways, that’s talking about IT certifications in general, what about this new Unity one?  Well first off, they have courseware coming soon.  This represents training materials aimed at getting you ready for the certification process.  Generally video tutorials, printed materials, project files and a course syllabus to prepare you to take the certification.  Generally these kinds of things assume you have tertiary knowledge ( ie, C# skills, game programming concepts ) but otherwise start from ground zero and then train you to the point you would be able to pass certification.  In the case of Unity, they describe the courseware as:

Whether you are preparing for certification or simply want to increase your proficiency with Unity, the Unity Certified Developer Courseware provides a structured learning path that starts at square one and leads you through the process of making a working game.

  • Includes 14 hours (~2 days) of instructional videos, developed by Unity Technologies.
  • Teaches key concepts in both coding and game design – develop an end-to-end understanding of game creation with Unity.
  • Focuses on best practices – learn the best and most efficient methods for building a game with Unity.
  • Includes game project files – follow along and learn hands-on through the direct application of skills.
  • Covers 20 topic areas specifically geared toward preparation for Unity Certified Developer Exam.
  • Available in 1, 3, and 6-month Access Passes – learn at your own pace and on your own schedule.

14 hours certainly doesn’t sound like sufficient instruction to go extremely in-depth, especially for a program that “start at square one”.  How much does all of this cost?  No idea.  That’s obviously going to be a pretty big decision point in the end.  The cost for this kind of material can vary massively, from the cost of a book or two, to a couple of grand.


Alright, back to the certification process itself.  They are held at major Unity conferences as well as events around the world.  You can locate your closest location using this tool.  In my particular case, I’d need to travel 2-4 hours to find a test.  Somewhat odd that Ottawa has an event but not Toronto, but anyways...



And the price of the test you say?  I imagine that it varies from location to location, but in my case the Montreal event is shown below:



Finally you may be asking yourself, what exactly are you going to be tested on?  Well the objectives of the examine are summarized in this PDF.  Looking through the overview to be honest, the exam looks like the kind of thing someone with any game programming experience could breeze through with an hour or two of brush up time with Unity, while someone who has no prior game programming experience has no hope in hell of gleaming this much experience in 14 hours of training.  I also have to say... a few of these topics are a bit...  unexpected.  For example:


These are topics that have almost NOTHING to do with Unity, are going to be tangental at best to a programmer and downright yawn inducing for an artist.


On the other hand, I sound overly negative of this course and I shouldn’t be.  Certifying a minimum level of ability in an industry that is so accessible to amateurs is a noble effort and if done right has some value.  If it is ultimately going to be worth while will in the end be determined by the community.

GameDev News

4. April 2016


Torque2D, an open source (MIT) 2D game engine build on top of Torque 3D technology, just released version 3.3.  This release adds two major new features, positional audio and TextSprite.

From the release notes:

Positional Audiot2d

Simon already put together an in-depth blog post on the virtues of positional audio. You can find it here. Let me give you the highlights. First, one scene can act as a listener. Then any object in that scene can call %object.playSound("beepAssetID") to play that sound. Those sounds can take an optional second parameter which is an AudioDescription. The AudioDescription can specify if the sound should loop along with a few handy other features. These were previously available in older versions of the engine so I image many of you will get the hang of them quickly.
Of course the whole point of all this is to hear the sound in the position it is on the screen. The best part is that the Doppler Effect happens. So you can make things quiz past your characters without any extra work. Again see Simon's blog for more details.


My contribution was the TextSprite. The previous bitmap font sprite, called the ImageFont, has been removed, but I tried to keep the TextSprite as similar as possible to keep updating your projects simple. The TextSprite is far more powerful than the ImageFont and I don't think you'll want to look back once you start using it.


It all starts with a FontAsset which is a new asset that basically takes a Bitmap Font File as its main parameter. This is the file generated directly by AngelCode's Bitmap Font Generator. In fact, the ToyAssets module includes a configuration file with a few example fonts to make it super easy to use. Basically to add a new font you just save the file using the Font Generator and then make a FontAsset taml file with the asset name and a reference to a font file. And just like that, you've got a new font that you can use in your game. The documentation is in the Github T2D Wiki if you want to learn more.


The TextSprite is loaded with cool features so I'll type fast. First, you give your TextSprite a valid FontAsset. Unlike the ImageFont, you can set the size of the TextSprite and think of its bounding box as a box to type in. Inside the box you can align the text to the left, right, center, and justify. You can also vertically align the text to the top, middle, or bottom. When it hits the edges of the box you can set the overflow options. Horizontally, this includes the ability to word-wrap the text, which was a major missing feature of the ImageFont. But you can also shrink the text to fit, clip the text, or just let it overflow the box. Vertically you have similar options sans the wrap.
The font has a font size that applies to every character, but you can further customize the size by scaling the font in the x or y direction. On the font level you can also set the kerning (that's font lingo for space between characters). And finally, since this is a sprite you can set the blend color, rotation, and do things like collisions. You can even grow the sprite which will dynamically change the word-wrapping over time. We could stop here and you'd be happy, but it gets better.

Super Cool Features

You might want to sit down for this. You can change the blend color, scale, and position of individual characters. That means that you can have all white text and put that critical word in blue. You can make the letters shake for a cold character. You could have the text appear one letter at a time as a dialog box as seen in nearly every game. All this and more is now possible with the TextSprite. A new TextSprite Toy has been added to the Sandbox that demonstrates some of these tricks. Take a look at it and then give it a try.

GameDev News ,

3. April 2016


The following is a recap of major events in the world of game development for the week ending April 3rd, 2016.  I do a weekly video recapping the news available here with this weeks embedded below.  This post is a collection of links mentioned in the recap.


The Video

HD Version of this video available here.

GameDev News

3. April 2016


Allegro, a cross platform C++ based 2D game engine, just released version 5.2.0.  This release is source compatible with prior releases, but is not binary compatible.  The following changes occurred in this release:


  • Add al_is_event_source_registered (koro).

  • Make destructors log messages more meaningful.

  • Mouse emulation API for touch devices is now unstable.

  • Rename al_convert_bitmaps to al_convert_memory_bitmaps.


  • Haptic API is now unstable.

Android port:

  • Fixed bogus display destruction on Android which previously caused zombie states.

OSX port:

  • Fix OSX mouse state position scaling.

  • Fix other various scaling issues.

  • Make toggling ALLEGRO_FRAMELESS work.

  • Fix an issue where fullscreen windows would occasionally leave empty space for the titlebar.

  • Fix incorrect debug assert in the audio addon.

Windows port:

  • Make Allegro apps DPI-aware by default, which means that they won't be scaled by the OS.

  • Fix compilation for the CPU detection code on some compilers.

  • Don't sync the D3D bitmap when locking with WRITE_ONLY.

  • Remove dsound.dll runtime loading.

  • Don't link xinput and d3dx9 libraries (they are still required at runtime though if you're using the relevant features).

  • Fix a bug where al_wait_for_event_timed can block despite 0 timeout (Aldo Nunez).

Build system:

  • Install PDB files when building with MSVC.


  • Fix source links for API entries with multi-line prototypes.

  • Make the readme look prettier on GitHub.

  • Tons of assorted documentation improvements, especially for the audio addon.


  • Add a stability system where some unstable APIs need to be opted into by defining ALLEGRO_UNSTABLEbefore including Allegro headers.

Audio addon:

  • Fix sporadic deadlocks

  • Recorder API is now unstable.

Native dialog addon:

  • al_toggle_menu_item_flags is now unstable.

TTF addon:

  • Add an option to pre-cache the glyphs, useful for platforms where the current algorithm is buggy (typically some Android devices).

Video addon:

  • Temporarily remove FFmpeg backend, as it was too buggy, didn't build and was too hard to fix.


  • Make ex_vsync less likely cause a seizure.

  • Make ex_draw_bitmap and ex_touch_input switch in/out on Android.

  • Add documentation to ex_bitmap (Daniel Johnson).

  • Improve ex_logo text entry experience.

The full change log is available here, Allegro can be downloaded here.

GameDev News

Month List

Popular Comments

Torque 3D version 3.7 released
Subscribe to GameFromScratch on YouTube Support GameFromScratch on Patreon

Home > >

2. July 2015

Torque 3D is a now open source engine with a long and storied history. Today they just released version 3.7. Hands down the biggest new feature is the release or an OpenGL renderer, making a Linux beta client available, with other platforms down the road.


Other highlights of this release include:

  • We finally updated to PhysX 3. And Bullet 2.8!
  • We've integrated two former commercial addons, both of which were open-sourced: Sahara and Walkabout. The former allows you to easily add snow, dust, moss and similar effects to your environments using a technique the author calls 'material accumulation', and the latter provides an editor/tweaker on top of recast/detour autogenerated navmeshes, as well as integration with the exiting AIPlayer class.
  • We've had community contributions that add ribbon trails you can attach to almost anything, and a nice vignette PostFX shader.
  • Performance improvements to the scripting engine, as well as anonymous functions.
  • So many bugfixes.


Full release notes are available here.


blog comments powered by Disqus

Month List

Popular Comments