Subscribe to GameFromScratch on YouTube Support GameFromScratch on Patreon
25. January 2020


Over on the Unity blog there is a discussion of the upcoming changes to VR and AR support in Unity 2019.3.  The Unity engine is migrating to a new plugin based framework called the Unity XR SDK.

We have been working to improve our multi-platform offering, enabling direct integrations through a unified plugin framework. The resulting tech stack consists of an API that exposes common functionalities across our supported platforms in a frictionless way for creators while enabling XR hardware and software providers to develop their own Unity plugins. This architecture offers the following benefits:

  • Multi-platform developer tools such as AR Foundation and the XR Interaction Toolkit
  • Faster partner updates from supported plugins via the Unity Package Manager
  • More platforms have access to an interface to leverage Unity’s XR rendering optimizations and developer tools

Unity has developed new XR plugins for our supported platforms as part of this shift. Additionally, we have deprecated our built-in platform implementations in 2019.3.

With the move to a plugin architecture future support for OpenXR will be handled by Valve in the future.  From version 2019.3 onward, GearVR, Daydream and Vuforia will no longer be supported, forcing you to use the Unity 2018 LTS release if you wish to support those platforms.  Additionally Google Cardboard support is ultimately going to be provided by this Google open source project.

In comments there was further details about VR/AR support improvements in the Unity 2019.3:

Hi Felix, Unity’s 2019.3 release is coming soon, and there are new features in XR that will roll out in that update. In 2019.3, we have enabled Vulkan for Oculus Quest, using multiview fixed foveated rendering (FFR). Additionally, the Universal Rendering Pipeline (URP) and High-Definition Rendering Pipeline (HDRP) are both supported in our XR SDK, and will continue to be supported. Lastly, our new XR Plugins are compatible with the new input system. That means if you add the Magic Leap XR Plugin and Input System packages, for example, you will get the controller layouts for Magic Leap devices.

You can learn more about the changes in the video below.

GameDev News


6. January 2020


3DBuzz is one of the original online learning resources for computer graphics, programming and game development, first launching way back in 2002.  Until recently the site was completely commercial, with prices set on a per course basis or available under a monthly subscription.  They announced they will be shutting down, for the most unfortunate of reasons, and have released all of their content for free download.

Details from 3dbuzz.com:

Hello everyone,

The 3D Buzz community has been amazing and inspirational for 2 decades. However, all good things...

3D Buzz, Inc has closed its doors. Subscription and recurring payments have already been suspended. This page is our final gift to such a wonderful community. Below you will find download links to all of our available material, free of charge.

Thank you for so many years of support. You are all, truly, the best community anyone could hope for. May we see each other again somewhere in the ether...

From all of us to all of you,

Remember to always look, listen, and learn.

Goodbye, good health, and good luck.

If you visit 3DBuzz.com you may get a security warning, this seems to be linked to an invalid SSL certificate and can be ignored.  The entire content of the site add up to over 200+GB in size.  As a result, some readers over on Reddit have been working to set up torrents, so if you are interested in grabbing the entire archive of video tutorials, be sure to check out that thread.  Otherwise you can download each video one by one in zip format.

Thank you for your generous gift 3DBuzz and our condolences on your loss.

GameDev News


18. December 2019


Unity have just released a new demo project the Lost Crypt.  Over the last year a large number of new 2D features have been added to Unity and this project demonstrates how to use them all together in a simple 2D game.

Details from the Lost Crypt blog post:

Highly skilled teams have been making gorgeous 2D games with Unity for years, but we wanted to enable everyone, from individual artists to large teams, to have even more 2D tools available to create great-looking games. And many of them will be production-ready as part of Unity 2019.3, which is currently available in beta.

We created Lost Crypt using the complete suite of 2D tools. This lively scene features animation, light effects, organic terrain, shaders, and post-processing, all made natively in 2D. It shows how teams and projects of all sizes, targeting any platform, can now get more engaging and beautiful results faster.

Lost Crypt should run well on any desktop computer and we have also implemented on-screen controls with the new Input System in case you want to run it on an iOS or Android device. In our tests it ran at 30 fps on common devices like an iPhone 6S.

The Lost Crypt example is available in the Unity Asset store.

In addition to the new 2D demo, Unity are also running three Mega Bundles with savings up to 90% off.  Finally a reminder that back in October Unity announced price increases, and those go into effect on January 1st.  Check out more details of the Lost Crypt videos and sales in the video below.

GameDev News


16. December 2019


Unity have just released Tiny Racing preview 3, the demonstration project for the in process Project Tiny.  Tiny Racing is a Mario Kart style game that runs on the Tiny runtime, including being able to run it in your browser.  Project Tiny is a new runtime and SDK with a modular approach with the aim of making Unity development “pay for what you need and no more” in approach, building on top of the also in development DOTS technology stack.

Details of Project Tiny from the Getting Started Guide on Google Docs:

Compared to “regular” Unity content, Project Tiny content targets the new DOTS Runtime and has no dependency on the existing UnityEngine.  The DOTS Runtime is a new execution environment focused on DOTS code, with a very lightweight small core runtime that can be extended by modules providing additional features.  Our goal is to ensure that you pay code size and execution cost only for the features that you actually use. All functionality is provided as pure DOTS modules, delivered as assemblies, and is interacted with using DOTS and ECS methods.

Project Tiny is part of a spectrum of “regular” Unity and pure DOTS capabilities.  Our goal is to ensure that if a project is compatible with the DOTS Runtime, it also works in DOTS Hybrid / Unity. (We’re not there yet.)

If you are interested in trying out the Tiny Racing demonstration the project is available on GitHub, simply clone and import into Unity 2019.3 or later.  You can learn more about Tiny Racing here.  If you are interested in learning more or seeing Tiny Racing, be sure to check out the video below.

GameDev News


26. November 2019

.

This is a very common question, so this guide and video is setting out to answer why *I* might choose to use Godot over those other engines. Keep in mind, this isn’t me saying Godot is better or worse than those engines. Additionally, I have a video on Unreal vs Unity in the works, so if you want to decide which of those engines to use, stay tuned for that.

Without further ado, let’s jump in.

Free

Obviously, the lack of a price tag is one of the most obvious features of Godot. Yes, you can start for free with both Unity and Unreal Engine, but both ultimately have a price tag. With Unity, you pay a per seat license fee if you make over 100K a year. With Unreal Engine you pay a fixed 5% royalty after the first $3000 dollars earned. If you’re not making money nor plan to, this obviously doesn’t matter… but the more successful your game is, the better a deal free is!

Open Source

On the topic of free, we also have free as in freedom. Godot is free in both regards, to price tag and license, being licensed under the MIT license. Unity trails in this regard having only select subsets of the code available. Unreal Engine has the source code available and you can completely build the engine from scratch, as well as being able to fix problems yourself by walking through a debug build and applying fixes.

UE4 however is under a more restrictive proprietary license, while Godot is under the incredibly flexible and permissive code license.

Another aspect in Godot’s favor… it’s also by far the smallest code base and very modular in design from a code perspective. This makes it among the easiest engines to contribute code to. The learning curve to understand the source code is a fraction of that to get started contributing to Unreal, while contributing to Unity is frankly impossible without a very expensive negotiated source license.

Language Flexibility

Over the years Unity have *REMOVED* language support. Once there was UnityScript and Boo, a python like language, in addition to C#. Now it’s pretty much just C# and their in development visual scripting language.

Unreal on the other hand has C++ support, with the C++ thanks to Live++ usable very much like a scripting language (although final build times are by far the worst of all 3 engines!), as well as the (IMHO) single best visual programming language available, Blueprints.

For Godot the options are much more robust. First off there is the Python-lite scripting language, GDScript. You can also use C++, although the workflow for gameplay programming may be suboptimal. Additionally, C# support is being added as a first-class language and there is a visual programming language available here as well, although I can’t really think of a reason to use it as it stands now.

Where Godot really shines though is its modularity. GDScript itself is implemented as a module, meaning making other custom scripting languages is a borderline trivial task, as is extending or customizing GDScript. Additionally, there is GDNative/NativeScript it makes it fairly simple to link to external code, without having to jump into the guts of Godot (nor having to compile Godot) or to write performance critical code in C or C++. Finally, you have the ability to create C++ “modules” that have access to all of the C++ classes available in Godot without having to make changes to the underlying codebase.

Ease of Use

This one is obviously subjective, but if you are looking to create a game, especially as a beginner, the learning curve and ease of use with GDScript make this the easiest of the 3 engines to pick up, at least in my opinion. Unreal Engine is frankly fairly appalling for 2D titles, having basically abandoned Paper2D (their 2D API) on the vine. Over the last couple years Unity have really been focusing heavier on dedicated 2D support, but you still must dig through a lot of cruft and overhead to get to the meat of your game.

With Godot you pretty much everything you need for 2D out of the box and the ability to work directly with pixel (or % based) coordinates.

It’s Tiny

Unreal and Unity are multi GB installs and both have a hub or launcher app. Godot… a 50ish MB zip file (plus templates for a couple hundred more MB needed when deploying). Download, unzip and start game development!

You Like it Better?

You may, or you may not like the coding model of Godot. Chances are if you like the Node based approach to game development, you will love Godot. All three game engines (and almost all modern game engines) take a composition-based approach to scene modeling. Godot takes it one step further, making everything nodes, trees of nodes, even scenes are simply nodes. The approach is different enough that users may either love or hate the approach. If you love the approach Godot takes, you will be productive in it. If you don’t like it, you’re probably better served using Unity or Unreal.

Why Not Pick Godot Then?

I am not even going to pretend that Godot is the perfect game engine and ideal in every situation… there are certainly areas where Unity and Unreal have a small to huge advantage. This could be its own entire video, but a quick list include:

  • Performance concerns, especially on large 3D scenes (hopefully resolved with proper culling and the upcoming Vulkan renderer). In 3D, both engines out perform Godot quite often
  • Platforms… Unity and Unreal support every single platform you can imagine, Godot supports most of the common consumer categories and takes longer to get support for devices like AR/VR. Hardware manufacturers work with Unity and Epic from the design stages, while Godot pretty much must wait for hardware to come to market and then for someone to implement it. Another huge difference, and one of the few downsides to open source software, it isn’t compatible with the closed proprietary licenses of console hardware. While Godot has been ported to run on console hardware, it isn’t supported out of the box and probably never will be.
  • Ecosystem. Godot has a vibrant community but can’t hold a candle to the ecosystem around Unreal and especially Unity. There are simply more users, more books, larger asset stores, etc.
  • The resume factor… this is a part of ecosystem continued. It’s easier to get a job with Unity experience or Unreal experience on the resume than Godot. While many people wouldn’t (and really for a full-time hire, shouldn’t) care what engine you use, when people are hunting for employees, they often look for Unity or UE experience specifically. The other side of this coin is the number of people with Unity or UE experience is larger if you are the one doing the hiring.
  • As with many open source projects, it’s still heavily dependent on one or two key developers. If the leads left the project, it would be a massive blow to the future of Godot. Meanwhile there are hundred or thousands of people being paid to develop Unity or Unreal and the departure of any individual member isn’t likely to have a tangible impact.

The Longer Video Version

Programming General


AppGameKit Studio

See More Tutorials on DevGa.me!

Month List