Subscribe to GameFromScratch on YouTube Support GameFromScratch on Patreon
9. August 2016


After a few release candidates, Godot Engine just released version 2.1.  If you’ve never heard of the Godot Engine, it’s a popular MIT licensed open sourced 2D/3D game engine, we previously featured it in the Closer Look series in addition to a pretty massive tutorial series, should you wish to learn more.  Godot 2.1 focused heavily on usability issues, the kind of things that make a developers life smoother on a daily basis.Godot



Features of Godot Engine 2.1 include:

    • new asset sharing platform
    • new plugin api
    • dynamic font support
    • fully internationalized editor UI
    • editor visual customization
    • user customizable key bindings
    • live script reloading
    • profiler and frame profilers
    • remote scene inspector
    • HIDPI/Retina display support
    • drag and drop support
    • contextual menus
    • script editor improvements
    • improved asset pipeline
    • improved resource preview and thumbnails
    • new animated sprite features

You can read a great deal more about these new features in the release post.


This feature takes a hands-on look at the new functionality available in Godot 2.1:

GameDev News

7. August 2016


I’ve been a huge fan of the open source Godot Engine for a very long time, in fact I’ve done an in-depth tutorial series available here.  Godot has seen a number of improvements in the upcoming 2.1 release, but the recently added Visual Scripting interface is probably the biggest new addition.  In this post we are going to look at this new functionality.  A couple of warnings to start.  First, as of writing ( 8/7/2016 ), Visual Scripting is only available in the development branch.  So you will have to build Godot engine from scratch from the Github repository.  Second, this functionality is extremely early and not fully developed.  There is currently no debugger or profiler support and expect bugs.  Heck, I’m having trouble even running scripts at this point, but it’s probably user error on my end.  You have been warned!


I also did a video showing hands on with the new Godot Visual Scripting language.  It is available embedded below.


Creating a Visual Script


Creating a script is a simple process, basically identical to creating a GDScript.  Add a new script as usual.



Now in the Create Node Script, pull down language and select VisualScript.  VisualScript’s have a .vs extension in Godot.



Creating Visual Scripts


Visual Scripts are basically a flow chart of nodes, like so:




You start by implementing a function.  All of the usual GDScript functions are here:



This enables you to handle various events within your games lifecycle.  This will create a new node on the graph that acts as an entry point:



You notice in this example there is a parameter “event” here.  With it selected you can see it’s values in Inspector:



You will notice on the right side of the Function node there is an arrow and blue dot.  The arrow is for program flow, while the dot represents output.  Other nodes can have various inputs, which are also color coded.  We can now add other nodes to our graph, from the Available Nodes section.


There is basically a one to one ratio of nodes and functions available in GDScript.  Add a new Node from the InputEvent section for Is Pressed, simply drag and drop from the Available Nodes to the drawing surface.  Now we connect the two nodes together.



You will notice the newly created is_pressed test has another line out to continue the process as well as a bool output (notice the different color coding).  We could not continue our code by branching to a conditional like so:



Of course, this is VERY early, but it does give you an idea of how Visual Scripting will work in Godot.


The Video


12. July 2016


Earlier today I somewhat belatedly mentioned the Godot 2.0.4 release.  In that post I mentioned the upcoming 2.1 release... well I should have waited a few hours, as Beta 2.1Godot has just been released.  Keep in mind however, it is a Beta so buyer beware.  If you are working on a production project, you may be wise to wait for the full release.  The 2.1 release has been focused on improving usability.


The features of this release include:

  • New asset sharing platform: Godot has a new platform for sharing assets between users. It's still rough, but it will improve with time. As of now there is almost no content to test it with, but we will upload some plugins and the demos there in the coming days.
  • New plugin API: Downloaded assets can be used as plugins to extend the editor functionalities. Our first attempt at offering an API for this is still probably incomplete, so help us improve it with your feedback.
  • Support for dynamic fonts: Load TTF and OTF font files directly into your projects. This aids enormously with internationalization.
  • Fully internationalized editor UI: Godot can now be used in several languages and displays all unicode characters properly (including CJK). Right-to-left language support is still unimplemented though.
  • Editor visual customization: Change font sizes or set custom fonts, set custom themes, etc.
  • Customizable keybindings: Most keybindings can now be customized and there is a new binding editor in the editor settings.
  • Live script reloading: Saved scripts in the editor will be reloaded in the running game automatically, and tool scripts will also be automatically reloaded.
  • Profiler & frame profiler: Godot has a fully featured profiler (with graph plotting), which allows going back in time and see the performance numbers and most used functions frame by frame.
  • Remote scene inspector: Inspect the scene tree of the running game live, including nodes and resources.
  • HiDPI/Retina support: Godot detects high resolution monitors and offers the editor UI with native resolution. All Godot icons were redone in vector graphics for the occasion, thanks a lot to @drjmwho did almost all of them!
  • Drag & drop support: Godot now supports drag & drop editor-wide. Dragging assets from filesystem explorer to Godot will also open the relevant import dialogs.
  • Contextual menus: Godot now also supports contextual menus where relevant.
  • Script editor usability improvements: Incremental search, better highlighting, smart function matching in code-completion, etc.
  • Improved asset pipeline: Automatic re-import and reload of assets and scenes when changed.
  • Improved thumbnailer: Previews are updated in real-time, and thumbnails of resources will appear in the inspector.
  • New AnimatedSprite features: Labelled animations, and the ability to play animations without an AnimationPlayer.

You can download the release here, scroll down to locate the beta link.

GameDev News

12. July 2016


Godot is a popular open source 2D/3D game engine.  If you are interested in learning more I did a closer look review as well as a complete tutorial series.  They just released Godot 2.0.4 in advance of the soon to be released 2.1.


From the 2.0.4 release notes:


  • Many new classes documented! Thanks to all those that got involved after our call for contributors! Feel free to join us as there's still a lot to do, but the progress is heart-warming!
  • Updated libraries: GLEW 1.13.0, libogg 1.3.2, libvorbis 1.3.5, libtheora 1.1.1, libpng 1.5.27
  • Ability to rotate controls using tool
  • Added classes' short descriptions as tooltips in the create dialog
  • Added 'fat' option for bits param on scons for osx, produces a binary containing both 32 bits and 64 bits binaries
  • Added InputMap.get_actions()
  • Change low processor usage mode to cap to 60 FPS rather than 40 FPS
  • Change the default comment color to #676767
  • Debugger: show error message if description is not available
  • Dynamic property list for control margins allowing floating point properties to be used with ratio anchors
  • iOS: added "arch" parameter, made iphone use it to build isim
  • OSX: Key modifiers (Ctrl, Alt, Meta and Shift) may be used as Input keys now
  • OSX export: Default to fat format, make it an enum
  • Prettier str() for arrays
  • Rename CanvasItem.edit_get() to edit_get_state()
  • The create dialog starts collapsed now. The original behavior can be reactivated in the editor settings
  • Various enhancements to the script editor, such as member variables highlighting, breakpoint markers, caret blinking, etc.

Bug fixes:

  • Avoid crash if setting modifiers fails
  • Avoid mirroring to go negative to fix crash
  • Change invalid characters when get user data dir on Windows & Unix
  • Correctly parse utf8 from zip_io open, also fixes issues when exporting or opening android apk files
  • Editor: Fix base dir when going back to project manager
  • Fix a inherited transform bug with Camera2D preview drawing
  • Fix bug in String==StrRange comparison
  • Fix CanvasItem.get_global_transform() andCanvasItem.get_local_transform()
  • Fix crashes in code completion and SamplePlayer
  • Fix error storing path for children of instanced nodes in .tscn
  • Fix errors while exporting to Android
  • Fix File.get_as_text() to return the whole file
  • Fix OpenSSL connections on 64-bit Windows
  • Fix own world option of Viewport
  • Fix parsing of floats in scientific notation
  • Fix several bugs related to node duplication and signals
  • Fix Theora video playback without a Vorbis stream
  • Fix unsaved modifications in scripts being overwritten on filesystem changes
  • Fix visual server error when minimizing the window
  • Fixed ancient bug that prevented proper theme editing
  • Fixed bug using DirAccess in Android Marshmallow due to data dir being a symlink
  • Fixed various bugs with inner classes
  • LineEdit: Fix and improve selection behaviour
  • Make Input Actions config not affect the editor
  • Properly deliver localized coordinates when passing gui events through parents
  • Resolve numerical error when comparing instancing an inheritance to avoid wrongly saving unchanged properties
  • Windows: prevent freeze while moving or resizing the game window.
  • And many other nice changes that we can't possibly list here without boring you to the end of times!

Godot is available for download here.  Stay tuned for the 2.1 release which should arrive any day now.

GameDev News

13. May 2016


Version 2.0.3 of Godot Engine was just released.  Godot is an open source 2D/3D cross platform game engine I have extensively covered in tutorials available here.  Two of the biggest new features are from the way Godot is built.  Starting with this release OSX 64bit binaries are available.  Meanwhile on Windows, Visual Studio is now being used to compile Godot, replacing MingW, would should result in a pretty solid increase in performance.  If you run into incompatibilities, please be sure to let the team know.  In addition to these changes, OpenSSL was re-enabled in this release, after some prior security concerns.  There are of course several bug fixes and enhancements in this release.


The following features and changes were added in this release:


  • Many new classes documented! Thanks to all those that got involved after our call for contributors! Feel free to join us as there's still a lot to do, but the progress is heart-warming!
  • Ability to shrink all images x2 on load
  • Add preview of the Camera2D's screen boundaries
  • Allow dragging on only one (global) axis when holding down shift
  • More precise InputMap Axis descriptions in project settings
  • Move export GUI debug toggle to export settings window
  • New Dictionary.has_all(Array)
  • Script editor usability improvements:
    • Autocomplete no longer shows duplicates
    • Fixed code completion after opening bracket
    • Options to change the caret color and toggle blinking
    • Option to trim trailing white space on save
  • Subclasses can extend from other subclasses via relative paths
  • Update to Godot's regex library
  • Update OpenSSL to version 1.0.2h

Bug fixes:

  • AnimationPlayer: Prevent resetting timeline when pinned
  • Fix behavior of OS.set_window_resizable
  • Fix Camera2D ignoring zoom when checking limits
  • Fix checking unsaved changes only in current scene
  • Fix launching from .app on OSX
  • Fix 'Quit to Project Manager' not stopping the running application
  • Fix shader editor syntax coloring
  • Fix to avoid video texture scaling
  • GridMap: Fix backwards rotate hotkeys
  • Keep editable instances data when replacing tree root node
  • Made trackpad behaviour optional in 3D mode
  • Reimplement key input events in Emscripten export
  • Rotation APIs: Better exposure for degrees methods
  • Tabs: various usability fixes

You can read the full release notes in the change log here.

GameDev News

GFS On YouTube

See More Tutorials on!

Month List