Subscribe to GameFromScratch on YouTube Support GameFromScratch on Patreon
15. October 2018


The academy award winning book Physically Based Rendering from Theory to Implementation 3rd Edition is now available free online in it’s entirety at http://www.pbr-book.org/.  This book is hugely important to the game and film industry as this is where the expression Physically Based Rendering (PBR) was coined, and it is the underlying rendering technology behind every major modern 3D game engine.

Description of PBR 3rd Edition from the book homepage:

Physically Based Rendering, Third Edition describes both the mathematical theory behind a modern photorealistic rendering system as well as its practical implementation. A method known as “literate programming” combines human-readable documentation and source code into a single reference that is specifically designed to aid comprehension. Through the ideas and software in this book, you will learn to design and employ a full-featured rendering system for creating stunning imagery.

This new edition greatly refines its best-selling predecessor by adding sections on bidirectional light transport; stochastic progressive photon mapping; a significantly-improved subsurface scattering implementation; numerical robustness issues in ray-object intersection; microfacet reflection models; realistic camera models; and much more. These updates reflect the current state-of-the-art technology, and along with the lucid pairing of text and code, ensure the book's leading position as a reference text for those working in rendering.

The author team of Matt Pharr, Greg Humphreys, and Pat Hanrahan garnered a 2014 Academy Award for Scientific and Technical Achievement from the Academy of Motion Picture Arts and Sciences based on the knowledge shared in the first and second editions of the book this book. The Academy called the book a “widely adopted practical roadmap for most physically based shading and lighting systems used in film production.”

Additionally you can still buy print (and digital) copies on Amazon via this affiliate link, should you desire the feeling of paper in your hands.  This is not an easy text, and isn’t required reading for everyone, but if you are working on rendering technology or want a peek behind the curtain this is definitely a book you should check out today.

Click here to read the book now.

GameDev News Programming


5. October 2018


During my recent MagicaVoxel video I mentioned that this application deserves a place on my “Top 10 free game development tools” list.  Then I realized I’d never created such a list, so now I have!  This is a collection of 10 free (as in money, not freedom, although many are open source as well) tools that all game developers should download, especially if money is tight!  This list is applications only, so does not include game engines, frameworks or libraries.  Beyond the top 10, there are a few honourable mentions that just missed the list.  Let me know in the comments below if you have an additional suggestion or disagree with my choices!

10. Inkscape

9. git

8. DragonBones

7. Krita

6. Tiled

5. Paint.NET

4. MagicaVoxel

3. Audacity

2. Visual Studio Code

1. Blender


Honourable Mentions

GIMP

TexturePacker

Sculptris

Aseprite

Gravit Designer


The Video

Art General Design Programming


26. September 2018


SKIP, previously known as Reflex, is a general purpose programming language developed as a research project at Facebook over the last 3 years.  Facebook have finished development and authorized the language lead developer to release the project as open source.  SKIP is available on Github under the MIT source license.

The leader developer made the following Tweet announcing the release today:

image


You can learn more about the language at http://skiplang.com/.  The language can be downloaded as a Docker image, with full installation instructions available here.  There is also a web based playground application for trying out SKIP on the website.  SKIP is described as:

Skip is a general-purpose programming language that tracks side effects to provide caching with reactive invalidation, ergonomic and safe parallelism, and efficient garbage collection. Skip is statically typed and ahead-of-time compiled using LLVM to produce highly optimized executables.

Programming News


24. September 2018


MonoGame, the open source game framework based on Microsoft’s long defunct XNA framework, just released version 3.7.  The biggest new feature of this release is most likely official support for the Nintendo Switch platform, but it also contains several improvements and fixes.  If you are interested in learning how to use MonoGame, be sure to check out our complete MonoGame tutorial series.


Details from the forum release post:

  • Remove Scale and Rotation properties from Matrix. #5584
  • Added Switch as a platform. #5596
  • DirectX: Fixed multisample clamping logic. #5477
  • SDL Gamepad DB update. #5605
  • Add Missing method OpaqueDataDictionary.GetValue. #5637
  • Increase code coverage in Model* family. #5632
  • Fix scroll wheel events on Windows Universal. #5631
  • Implement GetHashCode on Vertex types. #5654
  • Implement GetHashCode and ToString methods for Joystick. #5670
  • Fixed Gamepad DPad on Android. #5673
  • Pipeline process not terminating on exit fix. #5672
  • Added Joystick.IsSupported property. #5678
  • Use GraphicsCapabilities.MaxTextureAnisotropy on SamplerState. #5676
  • Make SpriteBatch.End throw when Begin not called. #5689
  • Add Open Output Directory option to Pipeline Tool. #5690
  • Rename Exit to Quit on Pipeline Tool Linux Headerbar. #5687
  • Added minimum size to the Pipeline Tool window. #5692
  • Added Id and DisplayName properties to Gamepad. #5625
  • Improved GameController database loading for DesktopGL. #5606
  • RPC curves are now updated before Cue is played. #5709
  • Fixes to Texture2D.FromStream on Windows DirectX. #5712
  • Support DistanceScale and DopplerFactor under OpenAL. #5718
  • Implemented Microphone for OpenAL platforms. #5651
  • Implemented caching of staging resources used to copy data from a Texture2D under DirectX. #5704
  • Reusable function for raising events. #5713
  • Remove reference to SharpDX from project templates. #5611
  • Improvements to VideoPlayer for Desktop DirectX. #5737
  • Use SharpDX NuGet packages from our NuGet packages. #5748
  • Fixed leaks that affected shutting down and recreating GraphicsDevice under DirectX. #5728
  • Texture2D mipmap generation and population fixes. #5614
  • Remove SharpDX.RawInput.dll reference from DirectX graphics backend. #5723
  • New fast Texture2D.FromStream implementation for DesktopGL ported from STB. #5630
  • Added support DrawInstancedPrimitives on OpenGL platforms. #4920
  • Fixed mouse touch event to release when mouse moves outside the client area or we loses focus. #5641
  • Added GraphicsAdapter.UseDebugLayers to enable GPU debug features in release builds. #5791
  • Fixed DirectX back buffer update when multisampling changes. #5617
  • Adds Xbox One S controller support to Linux. #5797
  • Do not allow the Pipeline tool to delete files outside the content folder. #5820
  • OpenGL Mouse.SetCursor now works with alpha correctly. #5829
  • Implement Mouse.SetCursor() for Windows. #5831
  • Fix pre-emptive song finish in OggStreamer. #5821
  • UWP Templates use target version selected in wizard. #5819
  • Implement Mouse.WindowHandle under Windows DirectX. #5816
  • Improve shader error/warning parsing in Pipeline Tool. #5849
  • Fix crash on multi-editing bool values in Pipeline Tool. #5859
  • Fixes to XACT sound effect pooling. #5832
  • Improved disposal of OpenGL resources. #5850
  • Better support for WAV audio formats in content pipeline and FromStream. #5750
  • Fix for build hang with no mgcb file in project. #5886
  • Removed deprecated Rider settings from Linux installer. #5881
  • Improved performance of SpriteFont.MeasureString() & SpriteBatch.DrawString(). #5874
  • Sort content when saving MGCB files. #5930
  • Fix a crash when building content in xbuild. #5897
  • Fixed back button problems in UWP. #5810
  • Removed Windows 8.1 and Windows Phone 8.1 support. #5809
  • Upgrade to SharpDX 4.0.1. #5949
  • Update the UWP Template to use the Latest SDK. #5931
  • Fixed the Scissor rect calculation on DesktopGL and OpenGL platforms. #5977
  • Calculate the Client Bounds a bit later. #5975
  • Rework Android OpenGL Framebuffer Support. #5993
  • Implemented GraphicsDevice.GetBackBufferData. #5114
  • Optimizations to Length and Normalize in Vector3 and Vector4. #6004
  • Added MGCB man page for Linux. #5987
  • Included mgcb autocomplete for bash. #5985
  • Fixed GamePad.SetVibration crash. #5965
  • Fallback SurfaceFormat for RenderTargets. #6170
  • Added O(1) EffectParameter lookups by name. #6146
  • Reduce MouseState garbage in Desktop DirectX. #6168
  • Made SpriteFont constructor public. #6126
  • New Template System using Nuget. #6135
  • Use StbSharp for all Texture2D.FromStream. #6008
  • Dynamic reference loading in Pipeline Tool. #6202
  • Fix Pipeline tool to work regardless of Mono changes. #6197
  • Update Template Icons and Fix Mac Info.plist. #6209
  • Fix typo in VS2013 Shared Project Template. #6216
  • Fill up dotnet template info. #6226
  • Support Mac Unit Tests. #5952
  • Updated Assimp to latest version. #6222
  • Make sure that the window titlebar is within screen bounds on DesktopGL. #6258
  • Fixed trigger/dpad button state and reduced garbage in iOS Gamepad. #6271
  • Updated Windows Universal Min SDK Versions. #6257
  • Fix property content serialization detection when using a property named Item. #5996
  • Fix launcher default mimetype in Linux installer. #6275
  • Restore NVTT. #6239
  • Support unicode in window title under DesktopGL. #6335
  • Add crash report window to Pipeline Tool. #6272
  • Fix linking for copy action in Pipeline Tool. #6398
  • Implemented KeyboardInput and MessageBox for Windows DX. #6410
  • Fixed audio interruption bug on iOS. #6433

Programming


24. September 2018


A little over a year ago, we checked out GDevelop in the Closer Look game engine series.  Since that review was published, GDevelop 5 was released.  Today we took a quick look at the new version of GDevelop 5, a massively streamlined and easier to use version.  If you checked out GDevelop earlier, I highly recommend you check again.  If you haven’t, and are looking for an open source, cross platform, no programming required 2D game engine, GDevelop is a great option.



Click here to get started with GDevelop.

Programming


See More Tutorials on DevGa.me!

Month List