Posted on Leave a comment

LDtk The Level Designer Toolkit

LDtk, or Level Designer Toolkit, is an open source MIT licensed Haxe based 2D level editor from the creator of Dead Cells. If it looks familiar that is because we recently covered it when it was known as LEd. In just a few short months though, LDtk has come a long way, including community ports to Linux and MacOS. With the 0.5 release (the re-brand version number), tons of new features were added to LDtk including:

  • Tiles flipping: in Tile Layers, you can mirror tiles before painting them by pressing X or Y (or Z). This also works from group of tiles.
  • Tiles stacking: you can now optionaly stack multiple tiles in a single cell of a Tile layer, reducing the need for multiple layers. For example, you could paint a brick wall, then enable stack mode (T), and add details like cracks or vines over the same wall. Be careful though: erasing of stacked elements can be tricky, so you should use a mix of multiple layers and stacking to get the best results.
  • New editing options barGrid lockingSingle layer mode and Empty space selection moved to a new more streamlined button bar.
  • File association: project files now use the extension *.ldtk instead of *.json. Therefore, on Windows, double-clicking such files will open the app accordingly. If you prefer the .json extension, you can force it in each project settings (but will lose benefit of the file association).
  • Auto-layer rule preview: when you move your mouse over a rule, you will now see which cells in the current layer are affected, making their testing MUCH easier.
  • Tiled (TMX) export: this optional export now generates proper standard tile layers. However, to support LDtk stacked tiles feature (see above), multiple Tiled layers might be generated per single LDtk layer. Also, IntGrid layers are now properly exported to Tiled (as standard tile layers, with an auto-generated tileset image).
  • New color picker: it supports copy/paste, manual hex value editing and a much better UI (thanks to simple-color-picker).
  • Flood-fill fixes: if you hold SHIFT while clicking in a Tile layer, it will flood-fill the area using currently selected tiles (randomly, or by stamping group of tiles, depending on the current mode).
  • Flood-fill erasing: just use SHIFT+Right click to erase a whole contiguous area.
  • The layer Rule editor now overlaps left panel and allows level editing while being open (makes rule testing much easier). Press Escape to close it.
  • In Tile layers, you can press L to load a saved tileset selection (using S key)
  • Renamed the Level panel to World (for the 0.6.x future update).
  • It’s now possible to change the tileset or even the source layer of an Auto-Layer without loosing your rules.
  • Auto-layer baking: turn a complex Auto-Layer into a standard Tile layer (think of it as the flatten feature in Photoshop). Be careful, it’s a one-way operation.
  • Unified “Show/hide grid” and “Grid locking” options. You can now just press G to toggle grid (which also implies “grid locking” in supported layer types).
  • All options (such as “Grid on/off”, or “Compact panel mode”) are now saved to a JSON file in your app folder, in userSettings/.
  • Help window is now a side panel.
  • Opaque tiles are detected in tilesets for use in various optimizations (mostly related to the new tile stacking feature).
  • Fixed a crash when deleting IntGrid layer while an AutoLayer uses it as source.
  • Added some colors to UI buttons
  • New exit button icon.

You can learn more about LDtk releases here, including an even newer 0.5.1 beta release. As mentioned earlier the project is open source with the code released under the MIT license and available on GitHub. You can learn more about LDtk here with downloads available on Itch.io. You can learn more about LDtk and see it in action in the video below.

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

Reclaim hard-drive space with LVM

LVM is a tool for logical volume management which includes allocating disks, striping, mirroring and resizing logical volumes. It is commonly used on Fedora installations (prior to BTRFS as default it was LVM+Ext4). But have you ever started up your system to find a message like the image above, after you logged in? Uh oh, Gnome just said the home volume is almost out of space! Luckily, there is likely some space sitting around in another volume, unused and ready to re-alocate. Here’s how to reclaim hard-drive space with LVM.

The key to easily re-alocate space between volumes is the Logical Volume Manager (LVM). Fedora 32 and before use LVM to divide disk space by default. This technology is similar to standard hard-drive partitions, but LVM is a lot more flexible. LVM enables not only flexible volume size management, but also advanced capabilities such as read-write snapshots, striping or mirroring data across multiple drives, using a high-speed drive as a cache for a slower drive, and much more. All of these advanced options can get a bit overwhelming, but resizing a volume is straight-forward.

LVM basics

The volume group serves as the main container in the LVM system. By default Fedora only defines a single volume group, but there can be as many as needed. Actual hard-drive and hard-drive partitions are added to the volume group as physical volumes. Physical volumes add available free space to the volume group. A typical Fedora install has one formatted boot partition, and the rest of the drive is a partition configured as an LVM physical volume.

Out of this pool of available space, the volume group allocates one or more logical volumes. These volumes are similar to hard-drive partitions, but without the limitation of contiguous space on the disk. LVM logical volumes can even span multiple devices! Just like hard-drive partitions, logical volumes have a defined size and can contain any filesystem which can then be mounted to specific directories.

What’s needed

Confirm the system uses LVM with the gnome-disks application, and make sure there is free space available in some other volume. Without space to reclaim from another volume, this guide isn’t useful. A Fedora live CD/USB is also needed. Any file system that needs to shrink must be unmounted. Running from a live image allows all the volumes on the hard-disk to remain unmounted, even important directories like / and /home.

Use gnome-disks to verify free space.
Use gnome-disks to verify free space

A word of warning

No data should be lost by following this guide, but it does muck around with some very low-level and powerful commands. One mistake could destroy all data on the hard-drive. So backup all the data on the disk first!

Resizing LVM volumes

To begin, boot the Fedora live image and select Try Fedora at the dialog. Next, use the Run Command to launch the blivet-gui application (accessible by pressing Alt-F2, typing blivet-gui, then pressing enter). Select the volume group on the left under LVM. The logical volumes are on the right.

Explore logical volumes in blivet gui.
Explore logical volumes in blivet-gui

The logical volume labels consist of both the volume group name and the logical volume name. In the example, the volume group is “fedora_localhost-live” and there are “home”, “root”, and “swap” logical volumes allocated. To find the full volume, select each one, click on the gear icon, and choose resize. The slider in the resize dialog indicates the allowable sizes for the volume. The minimum value on the left is the space already in use within the file system, so this is the minimum possible volume size (without deleting data). The maximum value on the right is the greatest size the volume can have based on available free space in the volume group.

Use the resize dialog in blivet-gui to set the new volume sizes.
Resize dialog in blivet-gui

A grayed out resize option means the volume is full and there is no free space in the volume group. It’s time to change that! Look through all of the volumes to find one with plenty of extra space, like in the screenshot above. Move the slider to the left to set the new size. Free up enough space to be useful for the full volume, but still leave plenty of space for future data growth. Otherwise, this volume will be the next to fill up.

Click resize and note that a new item appears in the volume listing: free space. Now select the full volume that started this whole endeavor, and move the slider all the way to the right. Press resize and marvel at the new improved volume layout. However, nothing has changed on the hard drive yet. Click on the check-mark to commit the changes to disk.

Review the changes in blivet-gui and then accept to reclaim hard-drive space.
Review changes in blivet-gui

Review the summary of the changes, and if everything looks right, click Ok to proceed. Wait for blivet-gui to finish. Now reboot back into the main Fedora install and enjoy all the new space in the previously full volume.

Planning for the future

It is challenging to know how much space any particular volume will need in the future. Instead of immediately allocating all available free space, consider leaving it free in the volume group. In fact, Fedora Server reserves space in the volume group by default. Extending a volume is possible while it is online and in use. No live image or reboot needed. When a volume is almost full, easily extend the volume using part of the available free space and keep working. Unfortunately the default disk manager, gnome-disks, does not support LVM volume resizing, so install blivet-gui for a graphical management tool. Alternately, there is a simple terminal command to extend a volume:

lvresize -r -L +1G /dev/fedora_localhost-live/root 

Wrap-up

Reclaiming hard-drive space with LVM just scratches the surface of LVM capabilities. Most people, especially on the desktop, probably don’t need the more advanced features. However, LVM is there when the need arises, though it can get a bit complex to implement. BTRFS is the default filesystem, without LVM, starting with Fedora 33. BTRFS can be easier to manage while still flexible enough for most common usages. Check out the recent Fedora Magazine articles on BTRFS to learn more.

Posted on Leave a comment

Six Great Game Development YouTube Channels

YouTube is an incredible resource for game developers, but sorting the gems out can be a challenge. Today we are going to highlight 6 excellent game development channels, especially if you are a Godot developer, as well as general game development guides, Blender, GameMaker and more.

AskGameDev

AskGameDev is a collection of game developers that set out to answer your questions about game development. They cover many of aspects of gamedev that are often not covered, such as how to run a Kickstarter, how to get or deal with a publisher, as well as several game development themed compilations. AskGameDev also have a website available here.

GDQuest

GDQuest are home to dozens of Godot tutorials, in fact Nathan from GDQuest is a member of the Godot documentation team. In addition to Godot coverage, GDQuest has tutorials on all kinds of FOSS software such a Blender and Krita. The GDQuest website is available here.

HeartBeast

HeartBeast started out as a GameMaker tutorial channel, of which there are dozens of high quality long form tutorial series. In more recent years, Heartbeast has been instead creating high quality multipart and stand-alone tutorials on Godot. HeartBeast also has a website available here.

BornCG

BornCG has been making high quality Blender YouTube tutorials on his channel created in 2008! In more recent years BornCG has been increasingly covering the Godot game engine, as well as creating modern Blender tutorials as well.

DevDuck

DevDuck is the newest channel on this list, less than two year old and already over 100K subscribers, an impressive feat! DevDuck is a professional developer that is documenting his indie game development experience on the side. He started off with Unity but switched to Godot and of course did videos explaining why and how.

KidsCanCode

KidsCanCode have the project mission to get kids started in coding as young as possible, often through the process of creating games. Early on they did mostly Python and PyGame tutorials but then switched to Godot in recent years. They also run the Godot Recipes on their site, a collection of snippets on how to accomplish specific tasks in Godot and GDScript.

You can learn more about all the above channels in the video below.

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

Unreal Engine Free Content for November 2020

Every month for the last couple years Epic Games have given away several assets for Unreal Engine with today being no exception. While the assets are completely free, they are only free until the first Tuesday of December. Once “purchased” the assets are yours forever.

This months free assets include:

Permanently Free Additions:

Unfortunately there is no video yet as YouTube Studio for creators is currently down and nobody can upload or edit videos right now. Once YouTube errors are fixed we will upload a video.

Posted on Leave a comment

Mastering Animation by CRC Press Humble Bundle

There is another Humble Bundle of interest to game developers, the Mastering Animation by CRC Press bundle. This is a collection of e-books around the concept of animation, from traditional to digital, comics, manga and anime, as well as animation related subjects such as legal and writing. The bundle is organized into the following tiers:

1$

  • Dream Worlds: Production Design for Animation
  • Animate to Harmony: The Independent Animator’s Guide to Toon Boom
  • Voice Over for Animation
  • Layout and Composition for Animation
  • Frame by Frame Stop Motion
  • How to Make Animated Films

8$

  • Animation from Pencils to Pixels
  • Designing Sound for Animation
  • The Art of Fluid Animation
  • Hybrid Animation: Integrating 2D and 3D Assets
  • Reel Success: Creating Demo Reels and Animation Portfolios
  • Acting and Performance for Animations
  • Animated Life
  • Making Toons That Sell without Selling Out

15$

  • Writing for Animation, Comics and Games
  • Directing for Animation
  • Acting and Character Animation
  • Animation in China
  • The Pocket Lawyer for Comic Book Creators
  • Animation: From Concept to Production
  • Independent Animation
  • Comics for Film, Games and Animation
  • Japanese Visual Culture
  • Lighting for Animation

All books are provided in PDF, EPUB and PRC(?) formats. As with all Humble Bundles you can decide how the proceeds are allocated between Humble, the Publisher, charity 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=ECULX_nPf6c?feature=oembed&w=1500&h=844]
Posted on Leave a comment

Nomad Sculpt

If you’ve ever dreamed of doing 3D modelling on the go, today’s product Nomad Sculpt may be perfect for you. Nomad Sculpt is a 3D sculpting application designed from the ground up to be mobile first. It brings all the functionality you would expect from a modern 3D sculpting application like ZBrush, Mudbox or Blender but it runs on your Android or iOS mobile device!

Key features of Nomad Sculpt include:

  • Clay, Crease, Trim, Smooth, Mask and many other brushes
  • Stroke customization with falloff, alpha and other options
  • Matcap rendering or Physically Based Rendering
  • Vertex painting, with roughness/metalness control
  • Multiresolution sculpting
  • Voxel Uniform Remeshing, along with subtractive boolean
  • Dynamic Topology, to refine locally your mesh
  • Robust layers that supports topology change
  • Designed from the ground up for a mobile experience
  • Support pencil pressure (Apple Pencil, Samsung S Pen, etc)
  • OBJ, STL and glTF support

Nomad Sculpt is available on the App Store and the Android Store. It is $15 for the complete version, but there is a reasonably full functioning, export disabled trial version available. You can also see Nomad Sculpt in action in the hands-on review below.

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

4 cool new projects to try in COPR from October 2020

COPR is a collection of personal repositories for software
that isn’t carried in Fedora. Some software doesn’t conform to
standards that allow easy packaging. Or it may not meet other Fedora
standards, despite being free and open-source. COPR can offer these
projects outside the Fedora set of packages. Software in COPR isn’t
supported by Fedora infrastructure or signed by the project. However,
it can be a neat way to try new or experimental software.

This article presents a few new and interesting projects in COPR. If
you’re new to using COPR, see the COPR User Documentation
for how to get started.

Dialect

Dialect translates text to foreign languages using Google Translate. It remembers your translation history and supports features such as automatic language detection and text to speech. The user interface is minimalistic and mimics the Google Translate tool itself, so it is really easy to use.

Installation instructions

The repo currently provides Dialect for Fedora 33 and Fedora
Rawhide. To install it, use these commands:

sudo dnf copr enable lyessaadi/dialect
sudo dnf install dialect

GitHub CLI

gh is an official GitHub command-line client. It provides fast
access and full control over your project issues, pull requests, and
releases, right in the terminal. Issues (and everything else) can also
be easily viewed in the web browser for a more standard user interface
or sharing with others.

Installation instructions

The repo currently provides gh for Fedora 33 and Fedora
Rawhide. To install it, use these commands:

sudo dnf copr enable jdoss/github-cli
sudo dnf install github-cli

Glide

Glide is a minimalistic media player based on GStreamer. It
can play both local and remote files in any multimedia format
supported by GStreamer itself. If you are in need of a multi-platform
media player with a simple user interface, you might want to give Glide a try.

Installation instructions

The repo currently provides Glide for Fedora 32, 33, and
Rawhide. To install it, use these commands:

sudo dnf copr enable atim/glide-rs
sudo dnf install glide-rs

Vim ALE

ALE is a plugin for Vim text editor, providing syntax and
semantic error checking. It also brings support for fixing code and
many other IDE-like features such as TAB-completion, jumping to
definitions, finding references, viewing documentation, etc.

Installation instructions

The repo currently provides vim-ale for Fedora 31,
32, 33, and Rawhide, as well as for EPEL8. To install it, use these
commands:

sudo dnf copr enable praiskup/vim-ale
sudo dnf install vim-ale

Editors note: Previous COPR articles can be found here.

Posted on Leave a comment

Ultimate Fantasy Bundle Giveaway

We have teamed up with the folks at Infinity PBR to run a giveaway of the currently running Ultimate Fantasy Game Development Bundle. There are two ways to enter the bundle. You can either tweet a response to this thread on Twitter or you can leave a comment in the #contests thread on the GFS Discord server.

Even if you already have the bundle we have you covered as there is a bonus draw containing 5 additional asset packs that are not part of the bundle. Be sure to specify which bundle you are interested in entering for when you enter. On Monday we will randomly select two winners who will receive the highest tier of the Ultimate Fantasy bundle and one winner of the bonus bundle. Good luck!

You can learn more about the Fantasy Bundle here and learn more about the giveaway and see additional bundle assets in action in the video below.

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

Godot Engine Web Update

The Godot game engine recently released a developer update of their Web export development progress. This blog post discussed some of the upcoming features of the new WIP web exporter, including work to support GDNative on the Web, which would be a huge step forward.

Of perhaps more interest though is the new version of Godot Online, a version of Godot that runs entirely in your browser. Getting started is remarkably simple, go to Godot Online url, then upload a zipped copy of the project you want to edit by clicking Choose File then selecting the zip, once done hit the Start Godot Editor button:

Uploading your Godot project

Next click the Import button, then navigate to the zip file containing your project.

Importing your Godot Project online

Next you need to create a project, this is the same process as normal Godot, create a new empty folder in your projects directory then click Import & Edit:

Creating your Godot import project

At this point everything else should be exactly like using normal desktop Godot. The only major difference is exporting your project. When you are done you can export your project as a zip file using the Project->Tools->Download Project Source.

Exporting your Godot Online project

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

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

How to rebase to Fedora 33 on Silverblue

Silverblue is an operating system for your desktop built on Fedora. It’s excellent for daily use, development, and container-based workflows. It offers numerous advantages such as being able to roll back in case of any problems. If you want to update to Fedora 33 on your Silverblue system, this article tells you how. It not only shows you what to do, but also how to revert things if something unforeseen happens.

Prior to actually doing the rebase to Fedora 33, you should apply any pending updates. Enter the following in the terminal:

$ rpm-ostree update

or install updates through GNOME Software and reboot.

Rebasing using GNOME Software

The GNOME Software shows you that there is new version of Fedora available on the Updates screen.

Fedora 33 is available

First thing you need to do is to download the new image, so click on the Download button. This will take some time and after it’s done you will see that the update is ready to install.

Fedora 33 is ready for installation

Click on the Install button. This step will take only a few moments and then you will be prompted to restart your computer.

Restart is needed to rebase to Fedora 33 Silverblue

Click on Restart button and you are done. After restart you will end up in new and shiny release of Fedora 33. Easy, isn’t it?

Rebasing using terminal

If you prefer to do everything in a terminal, than this next guide is for you.

Rebasing to Fedora 33 using terminal is easy. First, check if the 33 branch is available:

$ ostree remote refs fedora

You should see the following in the output:

fedora:fedora/33/x86_64/silverblue

Next, rebase your system to the Fedora 33 branch.

$ rpm-ostree rebase fedora:fedora/33/x86_64/silverblue

Finally, the last thing to do is restart your computer and boot to Fedora 33.

How to roll back

If anything bad happens—for instance, if you can’t boot to Fedora 33 at all—it’s easy to go back. Pick the previous entry in the GRUB menu at boot, and your system will start in its previous state before switching to Fedora 33. To make this change permanent, use the following command:

$ rpm-ostree rollback

That’s it. Now you know how to rebase Silverblue to Fedora 33 and roll back. So why not do it today?