Posted on Leave a comment

Scatter for Godot

Today we are looking at Scatter for the Godot Game Engine. Scatter is a Godot add-on that makes it incredibly easy to instance mesh objects in your game level. This makes level design tasks like placing grass, paths, fences, etc incredibly simple. Additionally Scatter supports instancing multiple meshes (think different tree meshes to make a forest) in the same scatter, excluding splines or points from being scatter targets and more.

Scatter is an open source project with the source code hosted on GitHub under the MIT open source license. The project is implemented as a simple Godot add-on, so simply clone the repository into your projects Addons folder (or create one if you don’t have one already). Next load your project, go to Project Settings, then Plugins and make sure Scatter is enabled.

Once scattered is enabled, you create a Scatter object. This is a spline path that defines the boundaries of the scatter object. You need to add a ScatterItem child to your Scatter, then add a MeshInstance to the ScatterItem. This mesh instance is the 3D model that will be “scattered” around the boundary defined by the Scatter path.

The creator of the Scatter add-on also created Concept Graph for Godot, an excellent procedural generation extension we previously covered here. You can learn more about Scatter for Godot and see it in action in the video below.

Posted on Leave a comment

Easy Anime Character Creation with VRoid Studio and Blender

Creating anime characters for game development has never been easier with tools like VRoid Studio and Blender. In this tutorial we showcase using VRoid Studio, a free tool for creating textured and animated anime avatars. If VRoid Studio sounds familiar, we featured this tool as recently as 2019.

In the video below we walk through the following processes:

  • Using VRoid Studio
  • Exporting VRM files
  • Importing VRM into Blender
  • Creating a simple animation
  • Exporting from Blender in GLB/GLTF format
  • Importing GLB formats into the Godot game engine
  • Exporting VRoid characters to Mixamo for animting

In addition to VRoid Studio you need the VRM importer for Blender. If you are using the Unity game engine, there is a Unity importer for VRM files available as well, although we wont be covering it in the video below.

One area of importance with any tool, especially free tools, are what the license terms are. You can see the list of appropriate uses here, which specifically includes “Selling video games and other products featuring characters created with VRoid Studio”. Once you have all the appropriate tools, check out the video below for step by step instruction son how to create an animated anime character for use in Godot using VRoid Studio and Blender.

Posted on Leave a comment

Waterways & Terrain Add-Ons For Godot

Today we are going hands on with two powerful Godot plugins, Waterways and Heightmap Terrain for Godot. Both are open source add-ons that work in Godot 3.2.x and both are hosted on GitHub. In the video below we showcase using easy add-on and show how they work well together.

Waterways

Formally known as WaterGenGodot on GitHub, Waterways enables you to quickly create rivers using spline controls. You have full control over the path the river follows, the look of the water and even have fine tuned control over the foam generated by collisions with other objects in the scene.

Heightmap Terrain

This add-on adds terrain creation tools to Godot. Either import and existing heightmap or create your own from scratch. You get full sculpting tools for raising and lower terrain, simulating erosion, etc. You also get tools for painting the texture layer on your newly created terrain. You also get the ability to export as a mesh or heightmap for use in other applications or engines.

Getting Started Tutorial

Installing the plugins is a straight forward exercise. Clone each project from GitHub to a directory of choice. You can get the git url on GitHub here:

Get GitHub URL for Godot Addon

Assuming you have a git client installed, from a command line run the command git clone then the copied url. For example:

git clone https://github.com/Arnklit/WaterGenGodot.git

Now in your Godot project (or create one if you dont have one already), create a folder called addons then copy the addons directory from the two just cloned projects. In your project you now simply need to enable each addon. In Godot go to Project->Project Settings menu. Now switch to the Plugins tab and make sure both are enabled:

Enabling Godot Waterways & Heightmap Terrain Plugins

Now you’re ready to go! Be sure to check the video below to see both Water Ways & Heightmap Terrain for Godot add-ons in action.

Posted on Leave a comment

Facebook Sponsor The Godot Game Engine

The Godot Game Engine have just been sponsored by Facebook Reality Labs. It comes in the form of a grant that is funding future XR (Virtual Reality/Augmented Reality) development. As a direct response to this grant, Bastiaan Olij is now going to be hired full time starting early 2021. In addition to being the lead developer on the Godot VR efforts, Bastiaan also worked on GDNative and other core Godot contributions. He also runs a very solid Godot technical YouTube channel available here.

Some details of the work he will be performing from the Godot news announcement:

  • OpenXR implementation for desktop and mobile. OpenXR is the new open standard for XR (Extended Reality, encompasses Advanced Reality (AR) and Virtual Reality (VR)). The OpenXR specification reached version 1.0 in 2019, and now has multiple conformant implementations by major XR players (Oculus, Microsoft, Valve, and more!). As an open source, cross-platform and vendor neutral game engine, we’re thrilled by the support that IHVs are giving to OpenXR and want to rely on it as our main interface.
  • Extending Godot’s input action system to support VR specific actions across all devices based on their respective capabilities (hand tracking, controller sensors, buttons).
  • Adapt the XR plugin system to the new Vulkan renderer design. While Godot 3.2’s XR support is functional, the upcoming Godot 4.0 release changes all the rendering backend and needs work to make XR functional again.
  • Implement Vulkan rendering on Android. This is necessary for mobile VR devices such as Oculus Quest 2, and will benefit all Godot users who want to make Android games.
  • Various rendering optimizations:
    • Stereoscopic rendering enhancements, providing details about the eye for which an image is rendered.
    • Support for compositor layers, which make it possible to render e.g. UI as an overlay without going through the eye buffer with lens distortion, allowing for sharper and more stable UI.
    • Support for variable rate shading in Vulkan, providing performance gains with techniques such as foveated rendering.
    • Rendering optimizations for mobile, implementing alternative techniques to the ones suitable on desktop platforms for better mobile performance.

This Godot Engine sponsorship from Facebook is their second in less than a month. In November it was announced that Facebook had become corporate sponsors of the open source Blender development fund. Even if you aren’t a big fan of Facebook, this investment in the Godot engine should be a win for everyone. You can learn more about the grant in the video below.

Posted on Leave a comment

Godot 3.2.4 Beta 4 Released

Godot have just released a new version of Godot 3.2.4, beta 4. We have already discussed several of the recent improvements in the 3.2.4 release including 2D Sprite Batching and the new improved FBX Importer. In addition to further improvements in those areas and various bug fixes, the beta 4 release brings a few new features to the table.

Details from the Godot Engine blog:

In particular, this build adds optional GDNative support to the HTML5 target, on top of the pre-existing optional multithreading support. The HTML5 export templates now come in three flavors which you can select in the export preset: normal, threads enabled and GDNative enabled. Multithreading and dynamic linking (GDNative) can’t be used at the same time due to current WebAssembly limitations.
Note: Threads enabled and GDNative enabled templates are only available for standard builds for now, as there are other issues to solve to make them work with Mono.

Additionally, beta 4 adds support for MP3 loading and playback! Until recently, the MP3 audio format was patent-encumbered and could therefore not be included in Godot, but the last patent expired in 2017, so a MP3 loader and decoded could finally be implemented.

There are also a number of fixes to the rewritten FBX importer which should improve compatibility, so if you ran into issues with it in previous builds, make sure to retry your models!

You can learn more about Godot 3.2.4 in the video below, including a quick tutorial showing how to use MP3’s in your Godot game.

Posted on Leave a comment

Godot 4 New 2D Features Showcase

Over on the Godot Engine blog they recently put together a summary of some of the exciting new 2D features that will arrive in Godot 4. Today we go hands-on with the majority of these new features. In addition to the new tricks showcased in the video there are other 2D improvements in Godot 4 including across the board performance improvements (due to the new Vulkan renderer and internal optimizations) as well as support for 2D signed distance fields.

Highlighted new features include:

  • new 2D CanvasTexture with support for diffuse, normal and specular maps
  • better support for 2D lights (all drawn in a single pass)
  • directional light and shadow support
  • new child clipping feature
  • new CanvasGroup for grouping multiple sprites into a single draw call

In addition to these new features, Godot have also just released an update on the improvements to tilemap support, which will be covered in a separate video. Check out the video below to see these excellent new Godot 2D features in action.

Posted on Leave a comment

Godot On Steam Using GodotSteam

If you are creating a commercial PC game using Godot there is a good chance you are going to want to publish on Steam. If that is a case if your game requires any network services such as achievements, a leaderboard or DLC you are probably tempted to use Steam’s own Steamworks suite of APIs. In that case you most likely want to know about GodotSteam an open source implementation of the SteamWorks API for Godot 2/3, providing convenient GDScript interfaces for the vast majority of the Steamworks features.

GodotSteam is an open source project hosted on GitHub that is implemented using the Godot module system. The source code is under the flexible and permissive MIT license. There is a GDNative branch available although sadly it appears to have been abandoned. Being a module means you will have to download and build your own version of Godot, a process I describe in this video. If the world of Godot, modules and GDNative are all new to you, don’t worry, we have an overview available here.

If you want to get started with GodotSteam there are excellent tutorials and comprehensive documentation available here. You can learn more about Godot, Steamworks and GodotSteam in the video below.

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.

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.

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.