Posted on Leave a comment

Facebook Joins Blender as Corporate Sponsor

Today Blender announced that Facebook would be joining the Blender Development Fund as a Corporate Sponsor. A corporate sponsor is the highest tier of sponsorship and means at least 120K euro per year in financial support, which generally gets translated as two full time developers on the project. Facebook will be joining the likes of Unity, Epic Games, AMD and NVIDIA in the corporate supporter tier.

Details from the Blender announcement:

To support these artists and the countless other animators, researchers, engineers, designers and content creators who depend on open source tools, Facebook wishes to contribute to the development of Blender. Which is why we’re proud to announce that Facebook will join the Blender Foundation’s Development Fund as a Corporate Patron as of Q4, 2020.  

We at Blender see this as another important signal of the industry’s willingness to migrate to open source, and contribute to open source’s continual improvement.

Ton Roosendaal,
Chairman Blender Foundation

Facebook currently use Blender in their AR product Spark AR Studio in addition to their ownership of Oculus. If you are worried about the corporate influence on Blender, don’t worry about it, for reasons described in this video. If you want to learn more about Facebooks support for Blender be sure to check out the video below.

[youtube https://www.youtube.com/watch?v=4aNzkxQs-K4?feature=oembed&w=1500&h=844]
Posted on Leave a comment

The BIG Royalty Free Music Bundle

Humble are running another bundle of interest to game developers, this one is the BIG Royalty-Free Music Bundle, a collection of “albums” containing game ready music in WAV and MP3 formats. The music is licensed in a way that enables you to distribute the music in your games, commercially or otherwise. As with all Humbles, this one is organized into tiers:

1$

  • Dark skies and other disasters
  • Haunted
  • The vanishing of Elisabeth Rose
  • Chronicles of the illusion world
  • Archives vol 1: the dark side

15$

  • Chuck kick ass
  • Shadows guild
  • The monster that lies within
  • Cult
  • Mindhunter
  • Forever and a day
  • Imagine
  • Archives vol 2: the love

25$

  • Chaos logic chaos the butterfly effect
  • The 29th planet
  • Black sails
  • Darkventures
  • Jotun
  • Pandemonium
  • Once upon a nightmare
  • Witchcraft
  • Slasher
  • The Lab
  • Dreamagination
  • Pixel: faster stronger harder
  • Superheroes

As with all Humble Bundles, you decide how the money is allocated, between Humble, Charity, the publisher and if you so choose (and thanks if you do!) to support GFS by purchasing with this link. You can learn more about the bundle in the video below.

[youtube https://www.youtube.com/watch?v=OrN3zg8rQyA?feature=oembed&w=1500&h=844]
Posted on Leave a comment

Unity Super Sale On Now Until Dec 4th

Unity are running their annual Super Sale just in time for Black Friday, with 700+ assets 50% off as well as daily specials that are 70%+ off. Additionally if you purchase Unity pro or Unity Enterprise, you currently get an additional license, such as Unity Build, MARS, ArtEngine, Reflect or Pixyz, a heck of a deal if you were going to get a pro subscription anyways!

The daily deals are as follows:

The above items are only for sale on the date listed, so if you click a link on any other day you will see regular pricing. All of the above links contain an affiliate code that pays GFS a small commission if used (and thanks if you do!). You can learn more about the sale in the video below.

[youtube https://www.youtube.com/watch?v=GLcCN9IpRH4?feature=oembed&w=1500&h=844]
Posted on Leave a comment

Applied Math & Statistics Book Bundle

The Applied Math & Statistics Toolkit by Morgan & Claypool bundle is now live on Humble. While not directly books about game development math, they are more on math fundamentals and that is the underpinning of game development. As with all Humble Bundles it is organized into tiers:

1$ Tier

  • Essentials of Game Theory
  • Matrices in Engineering Problems
  • Statistics is Easy 2nd Edition

8$ Tier

  • Introduction to Logic 3rd Edition
  • An Introduction to Proofs with Set Theory
  • Discrete Distributions in Engineering and Applied Sciences
  • Analytical Performance Modeling for Computer Systems
  • Probability and Statistics for STEM

15$ Tier

  • An Introduction to Multivariable Mathematics
  • C Programming and Numerical Analysis
  • Essentials of Applied Math for Engineers and Scientists 2nd Edition
  • Fast Start Advanced Calculus
  • Fast Start Differential Calculus
  • Fast Start Integral Calculus
  • Introduction to Statistics Using R
  • An Introduction to Partial Differential Equations
  • An Introduction to Numerical Methods for Physical Sciences

As with all Humble Bundles, you decide how your funds are allocated, between the publisher, charity, Humble and if you so choose (and thanks if you do) to support GFS using this link. You can learn more about the bundle in the video below.

[youtube https://www.youtube.com/watch?v=FbcjGYTXLf8?feature=oembed&w=1500&h=844]
Posted on Leave a comment

Podman with capabilities on Fedora

Containerization is a booming technology. As many as seventy-five percent of global organizations could be running some type of containerization technology in the near future. Since widely used technologies are more likely to be targeted by hackers, securing containers is especially important. This article will demonstrate how POSIX capabilities are used to secure Podman containers. Podman is the default container management tool in RHEL8.

Determine the Podman container’s privilege mode

Containers run in either privileged or unprivileged mode. In privileged mode, the container uid 0 is mapped to the host’s uid 0. For some use cases, unprivileged containers lack sufficient access to the resources of the host machine. Technologies and techniques including Mandatory Access Control (apparmor, SELinux), seccomp filters, dropping of capabilities, and namespaces help to secure containers regardless of their mode of operation.

To determine the privilege mode from outside the container:

$ podman inspect --format="{{.HostConfig.Privileged}}" <container id>

If the above command returns true then the container is running in privileged mode. If it returns false then the container is running in unprivileged mode.

To determine the privilege mode from inside the container:

$ ip link add dummy0 type dummy

If this command allows you to create an interface then you are running a privileged container. Otherwise you are running an unprivileged container.

Capabilities

Namespaces isolate a container’s processes from arbitrary access to the resources of its host and from access to the resources of other containers running on the same host. Processes within privileged containers, however, might still be able to do things like alter the IP routing table, trace arbitrary processes, and load kernel modules. Capabilities allow one to apply finer-grained restrictions on what resources the processes within a container can access or alter; even when the container is running in privileged mode. Capabilities also allow one to assign privileges to an unprivileged container that it would not otherwise have.

For example, to add the NET_ADMIN capability to an unprivileged container so that a network interface can be created inside of the container, you would run podman with parameters similar to the following:

[root@vm1 ~]# podman run -it --cap-add=NET_ADMIN centos
[root@b27fea33ccf1 /]# ip link add dummy0 type dummy
[root@b27fea33ccf1 /]# ip link

The above commands demonstrate a dummy0 interface being created in an unprivileged container. Without the NET_ADMIN capability, an unprivileged container would not be able to create an interface. The above commands demonstrate how to grant a capability to an unprivileged container.

Currently, there are about 39 capabilities that can be granted or denied. Privileged containers are granted many capabilities by default. It is advisable to drop unneeded capabilities from privileged containers to make them more secure.

To drop all capabilities from a container:

$ podman run -it -d --name mycontainer --cap-drop=all centos

To list a container’s capabilities:

$ podman exec -it 48f11d9fa512 capsh --print

The above command should show that no capabilities are granted to the container.

Refer to the capabilities man page for a complete list of capabilities:

$ man capabilities

Use the capsh command to list the capabilities you currently possess:

$ capsh --print

As another example, the below command demonstrates dropping the NET_RAW capability from a container. Without the NET_RAW capability, servers on the internet cannot be pinged from within the container.

$ podman run -it --name mycontainer1 --cap-drop=net_raw centos
>>> ping google.com (will output error, operation not permitted)

As a final example, if your container were to only need the SETUID and SETGID capabilities, you could achieve such a permission set by dropping all capabilities and then re-adding only those two.

$ podman run -d --cap-drop=all --cap-add=setuid --cap-add=setgid fedora sleep 5 > /dev/null; pscap | grep sleep

The pscap command shown above should show the capabilities that have been granted to the container.

I hope you enjoyed this brief exploration of how capabilities are used to secure Podman containers.

Thank You!

Posted on Leave a comment

Blockbench 3D Modelling Application Review

BlockBench is a free 3d modelling, texturing and animation application for creating Minecraft style models. Blockbench is available on Windows, Mac and Linux, as well online.

Blockbench features include:

  • Blockbench is an all in one 3D Editor and Animator for Minecraft and other games and applications
  • Blockbench comes with a powerful animation editor. Animations can later be exported to Minecraft: Bedrock Edition, rendered in Blender or Maya, or shared on Sketchfab.
  • Customize Blockbench with the built-in plugin store. Or create your own plugin and add a new feature or new format.
  • Collaborate with your friends on models, textures and animations – in real time, over the internet!
  • Blockbench is available in 12 languages, and the number is growing.
  • Create, edit and paint texture right inside the program. Create or import palettes, paint, draw shapes or automatically create templates.

You can learn more about Blockbench and see it in action in the video below.

[youtube https://www.youtube.com/watch?v=emhdpVv0Gx8?feature=oembed&w=1500&h=844]
Posted on Leave a comment

Epic Games Invest in Houdini Maker SideFX Software

Epic Games have just made an investment in SideFX Software, the maker of the procedural graphics powerhouse software Houdini.

Details of the investment from the SideFX blog:

We’re happy to share an exciting update: Epic Games is now a minority investor in SideFX. In Epic, SideFX gains a strong partner whose passion for the industry closely aligns with ours.

Kim Davidson remains the majority owner of SideFX, as well as President and CEO. He continues his strong, unwavering commitment to SideFX’s staff, customers, and partners.

SideFX and Epic are both committed to SideFX continuing its work with other industry partners – including all other content creation applications and game engines. This new development will have no impact at all on the Houdini development roadmap, as SideFX will continue to define its own path as an industry-leading procedural 3D platform for the film, TV, advertising and games sectors.

Dollar values of the investment were not disclosed. From the announcement it appears the investment should have minimal impact on neither Houdini or Unreal Engine. Epic Games have been making more and more investments of late including their $15M investment in Manticore Games.

Posted on Leave a comment

Babylon.JS 4.2 Game Engine Released

Babylon.js, the open source 3D web based game engine, just released version 4.2 with a ton of new features and tools. Key features of the 4.2 release include:

  • New particle editor for direct creation of particle systems in the Inspector
New Node System in Babylon.js
  • new Sprite Editor built into the Inspector to create, control and save sprites
  • new Skeleton viewer to visual bones and bone weights in Inspector
  • texture inspector for debugging texture issues
  • PBR support in the Node material editor with access to metallic, roughness, clearcoat, sheen etc when creating materials
  • new Procedural Texture, Particle Shader, Post Processing modes added to the Node editor
  • reusable frames in Node Material editor, enabling you to reuse shader code between projects easily
  • playground templates, essentially quick access code snippets in the code editor using Ctrl+Space
  • direct support for pre-filtered .hdr files
  • support for React Native for creating native applications
  • KTX + Basis U texture compression support
  • much, much more

You can learn more about the release in this article here or by watching the video below. Babylon.js is an open source project under the Apache 2 license with the source code available on GitHub. If you are interested in learning more about Babylon, be sure to check out our older Babylon.js tutorial series.

[youtube https://www.youtube.com/watch?v=aiTAfDB8Dis?feature=oembed&w=1500&h=844]
Posted on Leave a comment

Luminar 4 with Affinity Photo

This tutorial is going to be a little outside the normal topic of game development but should still be of interest to some of you because Luminar 4 is currently available on Humble Bundle. Luminar 4 is an AI powered image manipulation program that’s easy enough even I can use it! One of the challenges though is that it doesn’t formally support Affinity Photo out of the box, and Affinity Photo is my photo manipulation weapon of choice. Therefore in this tutorial we will show how to get Luminar 4 up and running on Affinity Photo 1.8.

If you are simply interested in learning more about Luminar 4 be sure to check out our hands-on video, it’s an impressive program.

Installing Luminar 4 with Affinity Photo

First, install Luminar 4. Just go with the defaults and don’t worry about the plugins portion if you don’t already have Photoshop installed.

After Luminar is installed, navigate to the install folder in Explorer. In my case it’s C:\Program Files\Skylum\Luminar 4. Once there, locate and copy the file Luminar4.8bf. Now we need to copy it into the Adobe plugins folder, a folder that you will most likely have to create. In explorer go to the folder C:\Program Files\Common Files and if one does not exist, create a folder called Adobe. Inside Adobe create a folder called Plug-ins, then inside that create a folder called CC, then paste the Luminar4.8bf file into that directory. The end result should be something like this:

Luminar 4 plugin folder creation for Adobe Photoshop in use with Affinity Photo

Now right click Luminar 4 in the start menu and Run as Administrator. Now select File->Install Plugins from the main menu.

Install Plugins Menu in Luminar 4

So long as you copied the file earlier into the right folder, you should now see Uninstall in the resulting Window.

Uninstall Luminar Plugin

Click Uninstall then Install and you are done with Luminar. Now fire up Affinity Photo and select Edit->Preferences. In the resulting window select Photoshop Plugins.

Selecting Photoshop Plugins in Affinity Photo

Now click the add button, then select the Luminar directory.

Adding the plugin in Photo

Once selected, Luminar 4 should show up in the detected plugins section. After installing the plugin it will prompt you to restart Affinity Photo. Once done, you can access Luminar 4 in Plugins->Skylum Software->Luminar 4

Running Luminar 4 in Affinity Photo

While these instructions are specific to Affinity Photo, any program such as Paintshop Pro should also be able to install Luminar using this process.

You can learn more about Luminar 4 and the Humble Bundle (plus see the above process in action) in the video below. The Humble links contain an affiliate code that enables you to direct a portion of the proceeds from your purchase to support GFS and thanks so much if you do!

[youtube https://www.youtube.com/watch?v=LIIRvS_mMD0?feature=oembed&w=1500&h=844]
Posted on Leave a comment

Godot FBX Importer Improvements In Godot 3.2.4

In Godot 3.2 FBX support was improved by implementing the open source AssImp library. In the upcoming release of Godot 3.2.4 we are getting an all new FBX importer. While based on AssImp initially, this project took over a year to developed, removed over 50K lines of non-FBX related code and made improvements across the board.

Developer Gordon MacPherson recently wrote about the experience on the Godot blog and detailed the following changes:

  • We rewrote all the mesh code to support all formats of FBX meshes correctly.
  • We built an entire abstraction for the FBX transform information, which was a very complex and convoluted undertaking to get working properly.
  • We designed a better handler for the animations which can compensate for the complex transform information, which means that we can handle animations correctly.

The project is ready for use but there are some plans in the pipeline:

  • Finish porting the rewrite to Godot 4.0 (we use the 3.2 branch in production, so that’s where this was developed and quality controlled by many users).
  • Locator bones. Right now, you need to bake your animation before exporting.
  • Improve material mappings (most are supported, some need mapping).
  • Fix bugs in the beta phase, we expect them.

Be sure to check out the blog post for details on the project, why they did it and why you should care. In the video below we put Godot 3.2.4 through the paces with a couple FBX tests, including this scene from Sketchfab. Unfortunately until Godot 3.2.4 is released, you will have to build Godot from source, just be sure to checkout the 3.2 branch from GitHub. Special thanks to IMVU for sponsoring the project.

[youtube https://www.youtube.com/watch?v=60Ofqmytzu0?feature=oembed&w=1500&h=844]