Posted on Leave a comment

PCUI — UI Framework Powering PlayCanvas Engine Open Sourced

Yesterday PCUI, an open source UI framework for creating game tools and other web applications, was open sourced. PCUI is named as such because it is the UI layer powering the battle tested PlayCanvas game engine. It provides over a dozen controls, as well as implementing logic such as the Observer pattern for making binding your UI to your data. PCUI is open source under the liberal MIT license with the source code available on GitHub.

Details from the PlayCanvas blog:

Today, PlayCanvas is launching PCUI: a new, open source front-end framework for the web.

PCUI is designed with tools developers in mind. It is particularly well suited to building viewer and editor applications, providing a rich set of beautiful and consistent controls. It already powers the PlayCanvas Editor – the world’s most powerful WebGL production tool.

Here you can see tree controls, panels, buttons, checkboxes, toolbars, menus and more. The Editor also relies on PCUI’s observer system, that makes it easy to synchronize the state of your application’s UI with that of the underlying data. Plus, it has a built-in support for history to make implementing redo/undo a breeze.

In addition to the PlayCanvas game engine, PCUI is used to power the PlayCanvas GLTF viewer project as well, a project which is open source and shows you a real-world example of using PCUI in a TypeScript application. PCUI is also extremely well documented with several examples available. If you are interested in learning more about PlayCanvas be sure to check out two part tutorial. You can learn more about the PCUI release in the video below.

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

FlatRedBall Engine Review

FlatRedBall is an open source C# based game engine with development dating back to 2005. It was originally built to run on-top of Managed Direct X, then was ported to XNA and when XNA was depreciated, it was again ported to run on top of the MonoGame framework.

FlatRedBall provides a layer of APIs and tooling on top of MonoGame designed to simplify the process of creating 2D games. You can currently create games for Windows (and UWP), Android and iOS, with Mac and Linux targets currently a work in progress. The heart of the tooling is Glue, which “glues” together the various other tools, including plugins for tasks such as UI development as well as support for the Tiled 2D map editor.

FlatRedBall is open source with the source code available on GitHub under the flexible and permissive MIT open source license. You can check out FlatRedBall in action in the video below (or here on Odysee). If you are interested in learning more or encounter a problem, they have an active Discord server available here.

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

Lumberyard 1.26 Released

Amazon have just released a new version of their CryEngine derived game engine, Lumberyard. Lumberyard is free to use, with the source code available, so long as your multiplayer services are either self hosted or use Amazon technologies. The 1.26 release brings several new features, including several around quality of life and usability.

Key features of Lumberyard 1.26 include:

  • UI 2.0 with updates across the entire user interface
  • WhiteBox modelling tool improvements
  • Updates to dynamic terrain and landscape canvas
  • PhysX physics simulation now production ready
  • Improvements to Setup Assistant and Project Configurator
  • RAD Tools support for physics simulation telemetry
  • Updated and streamlined Viewport Interaction Model (needs to be enabled)
  • Improved documentation

You can learn a great deal more about the Lumberyard 1.26 release in the release notes or by watching the video below. A great deal of focus was also given to the documentation including a new Welcome Guide to get you up and running.

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

Unreal Engine Marketplace Giveaway for October 2020

It’s the first Tuesday of the month and that means it time for Unreal Christmas in October. Every month Epic Games gives away several assets for Unreal Engine developer and this month we got more than double the normal amount of new assets!

This months “Free for October” assets include:

The “Permanently Free” collection grew a fair bit as well:

Just be sure to “buy” the free assets before the first Tuesday in November and they are yours forever. You can learn more about this months giveaway in the video below.

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

NeoAxis 2020.6 Released

The NeoAxis game engine just had a new release, NeoAxis 2020.6. NeoAxis is a Windows based 2D/3D game engine we previously showcased here and that was recently open sourced, sorta. The biggest new feature of NeoAxis 2020.6 is initial support for the Android platform. Other NeoAxis 2020.6 features include:

  • Android support via Xamarin.Android and OpenGL ES with Vulkan support in the future
  • New GUI controls including:
    • Tab Control
    • Context Menu
    • Tooltip
    • Toolbar
    • Images on UI Buttons
  • Easy Skybox importing
  • Automatic material tuning

You can learn more about the NeoAxis 2020.6 release here. Our previous hands-on video is available below.

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

Beef 0.42.7 Released

Beef is a new open source cross platform programming languages that attempts to take C#-like syntax and giving it performance similar to C++ including manual memory management. Beef is available for Windows, Mac and Linux and includes a custom IDE. The 0.42.7 release adds the following new features:

  • Dynamic boxing from System.Variant
  • decltype(val).MemberName expressions
  • Scope moved outward for ‘out’ variable declaration
  • Improvements to unassigned variable detection
  • Added explicit “Test” project type
  • Reflected interface method dispatch
  • Interface filtering for distinct build options
  • IDE file recovery after crash/power loss
  • Better handling of merge conflict markers in source code

If you want to check out Beef, their is an installer/binaries available for Windows platforms here. On other platforms Beef can be built from source, the source code is hosted on GitHub under the MIT open source license. Earlier in the year we checked out an earlier version of the Beef language and IDE, as you can see in the video below.

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

Recover your files from Btrfs snapshots

As you have seen in a previous article, Btrfs snapshots are a convenient and fast way to make backups. Please note that these articles do not suggest that you avoid backup software or well-tested backup plans. Their goals are to show a great feature of this file system, snapshots, and to inspire curiosity and invite you to explore, experiment and deepen the subject. Read on for more about how to recover your files from Btrfs snapshots.

A subvolume for your project

Let’s assume that you want to save the documents related to a project inside the directory $HOME/Documents/myproject.

As you have seen, a Btrfs subvolume, as well as a snapshot, looks like a normal directory. Why not use a Btrfs subvolume for your project, in order to take advantage of snapshots? To create the subvolume, use this command:

btrfs subvolume create $HOME/Documents/myproject

You can create an hidden directory where to arrange your snapshots:

mkdir $HOME/.snapshots

As you can see, in this case there’s no need to use sudo. However, sudo is still needed to list the subvolumes, and to use the send and receive commands.

Now you can start writing your documents. Each day (or each hour, or even minute) you can take a snapshot just before you start to work:

btrfs subvolume snapshot -r $HOME/Documents/myproject $HOME/.snapshots/myproject-day1

For better security and consistency, and if you need to send the snapshot to an external drive as shown in the previous article, remember that the snapshot must be read only, using the -r flag.

Note that in this case, a snapshot of the /home subvolume will not snapshot the $HOME/Documents/myproject subvolume.

How to recover a file or a directory

In this example let’s assume a classic error: you deleted a file by mistake. You can recover it from the most recent snapshot, or recover an older version of the file from an older snapshot. Do you remember that a snapshot appears like a regular directory? You can simply use the cp command to restore the deleted file:

cp $HOME/.snapshots/myproject-day1/filename.odt $HOME/Documents/myproject

Or restore an entire directory:

cp -r $HOME/.snapshots/myproject-day1/directory $HOME/Documents/myproject

What if you delete the entire $HOME/Documents/myproject directory (actually, the subvolume)? You can recreate the subvolume as seen before, and again, you can simply use the cp command to restore the entire content from the snapshot:

btrfs subvolume create $HOME/Documents/myproject
cp -rT $HOME/.snapshots/myproject-day1 $HOME/Documents/myproject

Or you could restore the subvolume by using the btrfs snapshot command (yes, a snapshot of a snapshot):

btrfs subvolume snapshot $HOME/.snapshots/myproject-day1 $HOME/Documents/myproject

How to recover btrfs snapshots from an external drive

You can use the cp command even if the snapshot resides on an external drive. For instance:

cp /run/media/user/mydisk/bk/myproject-day1/filename.odt $HOME/Documents/myproject

You can restore an entire snapshot as well. In this case, since you will use the send and receive commands, you must use sudo. In addition, consider that the restored subvolume will be created as read only. Therefore you need to also set the read only property to false:

sudo btrfs send /run/media/user/mydisk/bk/myproject-day1 | sudo btrfs receive $HOME/Documents/
mv Documents/myproject-day1 Documents/myproject
btrfs property set Documents/myproject ro false

Here’s an extra explanation. The command btrfs subvolume snapshot will create an exact copy of a subvolume in the same device. The destination has to reside in the same btrfs device. You can’t use another device as the destination of the snapshot. In that case you need to take a snapshot and use the send and receive commands.

For more information, refer to some of the online documentation:

man btrfs-subvolume
man btrfs-send
man btrfs-receive
Posted on Leave a comment

ParticleShop Hands-On

ParticleShop is one of the applications that is featured in the current Be A Creative SuperHero Bundle currently running on Humble. This bundle is a collection of graphical applications and add-ons from Corel. Today we are taking a hands-on look at ParticleShop, a PhotoShop plugin (also compatible with PaintShop Pro 2020 and Affinity Photo) that brings the particle system based brushes from Corel Painter to these other applications.

ParticleShop is described as:

Create stunning image enhancements with ParticleShop, a powerful Adobe® Photoshop® brush plugin powered by Painter. Experience NEW expressive Dynamic Speckle brushes and living grab-and-go Particle brushes and that are easy to use with a pressure sensitive tablet, touchscreen or mouse. Use your creativity and imagination to artistically enhance photos, designs and illustrations with strokes of genius.

We’ve done all of the work for you! Immediately start creating with one of 11 built-in custom brushes. Whether you’re looking to add playful Dynamic Speckle flourishes or compelling Particle flare to your work, you’ll find just the brush you need to artistically enhance your imagery and exponentially increase your range of painting expertise. Plus, explore the additional brush packs that were designed to match your specific workflow needs.

Out of the box ParticleShop ships with a pack with 11 brushes, although the Bundle contains more than a half a dozen additional brush packs. You can see ParticleShop in action, including instructions on how to install in PaintShop Pro and Affinity Photo, as well as showcasing several of the brush packs, in the video below.

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

Using Blender on a Laptop

The Blender user interface has come a LONG way in recent years, especially with the release of Blender 2.8. That said, if you are using Blender on a laptop, especially if you don’t have a numberpad or are stuck using a trackpad, some parts of the experience are less than optimal. Today we are going to look at ways to make using Blender on a laptop more pleasant. We will also show how to turn on experimental mode in case you want to check out some of the more… in development features in Blender.

Using a Trackpad in Blender

Using Blender without a 3 button mouse is not really recommended but sometimes you have to get by with the tools you have available. There are a few ways however to make Blender work better with just a trackpad. The first thing we need to do is turn on 3 button mouse emulation. In Blender go to Edit->Preferences:

Blender Preferences Menu Option

Now select the Input tab on the left, then choose Emulate 3 Button Mouse.

Blender Emulate 3 button mouse

Now you can control most viewport options using your trackpad + key combinations.

ALT + LMB Orbit Camera
ALT + SHIFT + LMB Pan Camera
ALT + CTRL + LMB or Two Finger Swipe Zoom Camera

In addition to these key/mouse combinations, there are now icons available for performing many of these tasks.

Controlling the Blender camera on screen in Blender 2.9

Emulating the Numberpad

Blender also relies heavily on the numberpad for changing cameras (1/3/7/9) or rotating the camera (2/4/6/8) and on laptops 15″ and smaller numberpads are becoming increasingly rare. In this case you have a few different options. First you can leave it as it is and use the on screen controls mentioned above. Otherwise you can turn on NumPad emulation. This turns your standard number row (1 through 0) across the top of your keyboard, into a virtual numberpad.

To enable NumPad emulation, return once again to the Input tab in preferences by selecting Edit->Preferences. This time you want to enable the Emulate Numpad option.

There is a major downside to this approach, in that the use of the 1/2/3 keys to switch editing modes between vertex, edge and face in edit mode will no longer work! So let’s look at how we remap those keys next!

Remapping Edit Mode Keys

Remapping keys is another feature in the trusty preferences dialog (Edit->Preferences). Now locate the Keymap tab on the left. On the right drill down to 3D View->Mesh->Mesh Global then locate Select Mode currently bound to key 1, 2 and 3. You can simply click the 1, then hit 1 again, and with Numpad Emulation enabled it will now show as Numpad 1.

Remapping keys in Blender 2.8x

Of course you also have the option of remapping those keys to any value you wish. Simply click the arrow to the left to drill down for more details.

Remapping keys in Blender detailed

Here you can select multiple key combos in addition to remapping the primary key in the sequence.

Enabling Experimental Features in Blender

Finally we are going to look at the process of enabling Experimental Mode, in case you want to take a walk on the wild side of cutting edge features. This is once again a setting in Edit->Preferences. This time choose the Interface tab, then select Developer Extras. This will cause a new tab to appear, the Experimental tab.

Enabling developer mode and experimental in Blender

Clicking the new Experimental tab will bring you to a new dialog where you can turn experimental features off and on. For example in Blender 2.91 if you want to check out the new Sculpting brushes, enable “Tools with Missing Icons”

The Experimental features in Blender

You can see a detailed step by step demonstration of all of these processes in the video below (or on Odysee).

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

Unity Launch Open Projects

The Creator and Developer Advocacy group over at Unity have just launched a new initiative called Open Projects, a Unity lead effort to develop a vertical slice of a game that is open source and community driven. If you are looking to get experience at working with a team, or perhaps are a student looking to build up your resume, contributing to an Open Project could be a good fit. The intention is to create open projects for multiple genres, but initially they are starting with an action-adventure style game. The final results will be published (assumedly for free) on Steam, with all contributors credited for their efforts.

There is a bare-bones project in place now you can download from GitHub. In fact GitHub is central to the entire process, as this is where the project will be housed and where all code and asset collaboration will occur. In addition to GitHub they are coordinating the project in a dedicated Open Projects forum, as well there is a Contribution Guide on Google Docs available here. Project management tasks are managed here powered by Codedecks, an online PM tool specifically for game developers.

You can learn more about Unity Open Projects in the video below (or on Odysee here).

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