Subscribe to GameFromScratch on YouTube Support GameFromScratch on Patreon

27. September 2017


Aseprite, a pixel based drawing and animation app, just released version 1.2.  New features include pixel aspect ratios, gradients, reference layers and more.  There were also several bug fixes and improvements.


From the release blog post:


Aseprite v1.2 is finally the new stable version (*). If you were already using the beta version, you will not notice substantial changes. But if you were using Aseprite v1.1.13, there are a lot of new features for you (like pixel aspect ratio, layer groups, overlapping frame tags, gradients, reference layers, etc.)

This is a list of the changes from v1.2-beta12 to the final v1.2:

  • Added new Addition, Subtract, Divide blending modes
  • Added support to change theme and UI scaling without restarting (#471)
  • Disable transformation handles in the selection when a Shift or Shift+Alt are pressed by default (reported here)
  • Fixed high CPU usage on Timeline when we copy layers/frames/cels (bug report)
  • Fixed snap to grid bug with selection tool
  • Fixed crash closing all files & opening a new one when preview window was playing an animation
  • Windows: New x64 version (included in the installer and on Steam, it’ll install the x64 version on x64 machines)
  • Windows: New --disable-wintab option to avoid loading wintab32.dll
  • Removed Windows XP support (Please contact us in case that you still need a previous version with Windows XP support.)
  • macOS: Use the native macOS menu bar (#135)
  • macOS: Now ⌘M and ⌘H will Minimize and Hide the window respectively. Use Ctrl+M for Color Curves, and Ctrl+H to change View > Show Extras options.
  • macOS: Fixed bug setting broken mouse cursors in some special cases
  • macOS: Retina support (#903)
  • Fixed other bugs (including #1569, and #1423 thanks to @cebolan)

Several new features were delayed just to create a more stable v1.2 version. So sorry for everybody that don’t get what they asked for :’( Soon I’ll release the first v1.3-beta1 with some crazy new stuff, so stay tuned.


We took a look at Aseprite in action in this video should you wish to learn more.

GameDev News, Art ,

25. September 2017


SDL 2.0.6 has been released.  SDL, the Simple Directmedia Layer, is a low level C framework providing cross platform low level services for 2DSdl-logo game developers.  SDL has been used for such titles as FTL:Faster than Light, Axiom Verge and Starbound and hundreds of other titles.  It provides access to graphics, gamepad, windowing and more.  It is completely free and open source.  The 2.0.6 release contains several bug fixes as well as new cross platform Vulkan support.


Details of this release:

General:

  • Added cross-platform Vulkan graphics support in SDL_vulkan.h
    SDL_Vulkan_LoadLibrary()
    SDL_Vulkan_GetVkGetInstanceProcAddr()
    SDL_Vulkan_GetInstanceExtensions()
    SDL_Vulkan_CreateSurface()
    SDL_Vulkan_GetDrawableSize()
    SDL_Vulkan_UnloadLibrary()
    This is all the platform-specific code you need to bring up Vulkan on all SDL platforms. You can look at an example in test/testvulkan.c
  • Added SDL_ComposeCustomBlendMode() to create custom blend modes for 2D rendering
  • Added SDL_HasNEON() which returns whether the CPU has NEON instruction support
  • Added support for many game controllers, including the Nintendo Switch Pro Controller
  • Added support for inverted axes and separate axis directions in game controller mappings
  • Added functions to return information about a joystick before it’s opened:
    SDL_JoystickGetDeviceVendor()
    SDL_JoystickGetDeviceProduct()
    SDL_JoystickGetDeviceProductVersion()
    SDL_JoystickGetDeviceType()
    SDL_JoystickGetDeviceInstanceID()
  • Added functions to return information about an open joystick:
    SDL_JoystickGetVendor()
    SDL_JoystickGetProduct()
    SDL_JoystickGetProductVersion()
    SDL_JoystickGetType()
    SDL_JoystickGetAxisInitialState()
  • Added functions to return information about an open game controller:
    SDL_GameControllerGetVendor()
    SDL_GameControllerGetProduct()
    SDL_GameControllerGetProductVersion()
  • Added SDL_GameControllerNumMappings() and SDL_GameControllerMappingForIndex() to be able to enumerate the built-in game controller mappings
  • Added SDL_LoadFile() and SDL_LoadFile_RW() to load a file into memory
  • Added SDL_DuplicateSurface() to make a copy of a surface
  • Added an experimental JACK audio driver
  • Implemented non-power-of-two audio resampling, optionally using libsamplerate to perform the resampling
  • Added the hint SDL_HINT_AUDIO_RESAMPLING_MODE to control the quality of resampling
  • Added the hint SDL_HINT_RENDER_LOGICAL_SIZE_MODE to control the scaling policy for SDL_RenderSetLogicalSize():
    “0” or “letterbox” - Uses letterbox/sidebars to fit the entire rendering on screen (the default)
    “1” or “overscan” - Will zoom the rendering so it fills the entire screen, allowing edges to be drawn offscreen
  • Added the hints SDL_HINT_MOUSE_NORMAL_SPEED_SCALE and SDL_HINT_MOUSE_RELATIVE_SPEED_SCALE to scale the mouse speed when being read from raw mouse input
  • Added the hint SDL_HINT_TOUCH_MOUSE_EVENTS to control whether SDL will synthesize mouse events from touch events

Windows:

  • The new default audio driver on Windows is WASAPI and supports hot-plugging devices and changing the default audio device
  • The old XAudio2 audio driver is deprecated and will be removed in the next release
  • Added hints SDL_HINT_WINDOWS_INTRESOURCE_ICON and SDL_HINT_WINDOWS_INTRESOURCE_ICON_SMALL to specify a custom icon resource ID for SDL windows
  • The hint SDL_HINT_WINDOWS_DISABLE_THREAD_NAMING is now on by default for compatibility with .NET languages and various Windows debuggers
  • Updated the GUID format for game controller mappings, older mappings will be automatically converted on load
  • Implemented the SDL_WINDOW_ALWAYS_ON_TOP flag on Windows

Linux:

  • Added an experimental KMS/DRM video driver for embedded development

GameDev News

22. September 2017


LWJGL, the Light Weight Java Game Library, just released version 3.1.2.  LWJGL is a series of Java bindings for several underlying media APIs such as OpenGL, OpenAL and Vulkan.  This release also added OpenVR and OpenEXR support among other changes and fixes.

Details from the release notes:

This build includes the following changes:

Bindings
  • Added OpenVR bindings.
  • Added Tiny OpenEXR bindings.
  • Added Yoga bindings.
  • bgfx: Updated to API version 41 (up from 34)
  • glfw: Updated to pre-release 3.3.0 version (up from 3.2.1). Includes many fixes and new features:
    • Last error code query (glfwGetError)
    • Requesting attention from the user (glfwRequestWindowAttention)
    • Platform dependent scancodes for keys (glfwGetKeyScancode)
    • Window maximization events (glfwSetWindowMaximizeCallback)
    • Window attribute modification (glfwSetWindowAttrib)
    • Joystick hats (glfwGetJoystickHats)
    • Library initialization hints (glfwInitHint)
    • Headless OSMesa backend
    • Cursor centering control (GLFW_CENTER_CURSOR)
    • macOS: Cocoa hints (GLFW_COCOA_RETINA_FRAMEBUFFER, GLFW_COCOA_FRAME_AUTOSAVE, GLFW_COCOA_GRAPHICS_SWITCHING, GLFW_COCOA_CHDIR_RESOURCES, GLFW_COCOA_MENUBAR)
    • macOS: Vulkan support via MoltenVK
    • X11: Moved to XI2 XI_RawMotion for disabled cursor mode motion input
    • EGL: Added support for EGL_KHR_get_all_proc_addresses and EGL_KHR_context_flush_control
  • jemalloc: Updated to 4.5.0 (up from 4.4.0)
  • LibOVR: Update to 1.14.0 (up from 1.10.0)
  • lmdb: Updated to 0.9.20 (up from 0.9.18)
  • NanoVG: Added support for fallback fonts.
  • nuklear: Updated to 1.37.0 (up from 1.29.1, with the new versioning)
  • OpenAL: Added AL_SOFT_source_resampler extension.
  • stb
    • Updated stb_dxt to 1.0.6 (up from 1.0.4)
    • Updated stb_easy_font to 1.0 (up from 0.7)
    • Updated stb_image to 2.15 (up from 2.13)
    • Updated stb_image_resize to 0.94 (up from 0.91)
    • Updated stb_image_write to 1.05 (up from 1.02)
    • Updated stb_perlin to 0.3 (up from 0.2)
    • Updated stb_rect_pack to 0.11 (up from 0.10)
    • Updated stb_truetype to 1.15 (up from 1.12)
    • Updated stb_vorbis to 1.10 (up from 1.09)
  • tinyfiledialogs: Updated to 2.8.3 (up from 2.7.2)
  • Vulkan: Updated to 1.0.49 (up from 1.0.38)
Improvements
  • MemoryStack: Increased default stack size to 64kb (up from 32kb)
  • Shared library loading can now utilize a ClassLoader specified by the caller. (#277)
  • Significantly reduced DEBUG_MEMORY_ALLOCATOR and DEBUG_STACK overhead in Java 9 using the new StackWalker API.
  • Migrated windows builds to appveyor and updated to Visual Studio 2017 (up from 2015)
  • EGL: The core API now includes javadoc links to the Khronos references pages
  • OpenGL ES: The core API now includes javadoc links to the Khronos references pages
Fixes
  • Assimp: Struct member nullability fixes
  • Linux: Removed dependencies to newer GLIBC versions.
  • LibOVR: Fixed layout of the ovrInputState struct.
  • OpenAL: Removed buffer auto-sizing from alcCaptureSamples. The number of samples must now be specified explicitly, similar to alcRenderSamplesSOFT.
  • Vulkan: Function addresses are now retrieved only once, using the optimal method for each function type.
    • This avoids warnings on pedantic validation layers.
  • Fixed callback invocation bugs on 32-bit architectures.
  • Fixed various javadoc formatting issues (#308)
Breaking Changes
  • Mapped more integer parameters and return values to Java boolean, that were missed while working on #181.
    • Xlib's Bool
    • OpenCL's cl_bool
    • DynCall's DCbool
  • Moved JNI global reference functions from MemoryUtil to the generated org.lwjgl.system.jni.JNINativeInterface.
  • The Vulkan capabilities have been split into two classes: VKCapabilitiesInstance and VKCapabilitiesDevice.
    • Flags for core Vulkan versions exist in both classes.
    • Flags for instance extensions exist only in VKCapabilitiesInstance.
    • Flags for device extensions exist only in VKCapabilitiesDevice.
    • Functions that dispatch on VkInstance or VkPhysicalDevice exist only in VKCapabilitiesInstance.
    • Functions that dispatch on VkDevice and device-derived handles exist only in VKCapabilitiesDevice.
    • Bootstrapping functions can be retrieved with VK.getFunctionProvider().

GameDev News

15. September 2017


Some time back Microsoft launched the UWP, Universal Windows Platform, a target enabling you to create Windows store apps that could also be run on XBox One hardware.  There was however a big catch, limited resources.  From the UWP documentation:

  • The maximum memory available to an app running in the foreground is 1 GB.

    • The maximum memory available to an app running in the background is 128 MB.
    • Apps that exceed these memory requirements will encounter memory allocation failures. For more information about monitoring memory use, see the MemoryManager class reference.

  • Share of 2-4 CPU cores depending on the number of apps and games running on the system.

  • Share of 45% of the GPU depending on the number of apps and games running on the system.

  • UWP on Xbox One supports DirectX 11 Feature Level 10. DirectX 12 is not supported at this time.

  • All apps must target the x64 architecture in order to be developed or submitted to the store for Xbox.

So, basically you got access to half of an Xbox One…  Bummer.  Thankfully in the upcoming Fall Update, that is all about to change!  From the Microsoft blog:

Since the advent of consoles, developers have asked for ways to create games for one platform that you could run anywhere. With the release of the Expanded Resources feature in the Windows Fall Creators Update, we are taking the industry closer to that goal than it has ever been before. Now, developers will automatically have access to 6 exclusive cores, 5 GB of ram and full access to the GPU!

Awesome!  I have a video discussing this change available here.

GameDev News

14. September 2017


The Defold Engine just got it’s own community hub, available at defold.com/community.  In addition to the existing forums and social media pages, the community portal now includes an asset portal and a community games showcase.

image

The Asset portal currently contains just under 30 different projects including new project templates, to Unity Ad plugins and UI systems.  The system also enables authenticated users to upload their own assets.  The new Games page showcases games made using the Defold game engine and also includes the ability to upload your own titles.  The look is very polished, although the icons used right now are rather large requiring a fair bit of scrolling.  Hopefully as the site gets more populated, the sizes are dialed back a little bit for efficiencies sake.


Defold is a free 2D Lua powered game engine.  If you are interested in learning more, we have a complete tutorial series available here.

GameDev News

Month List

Popular Comments