Subscribe to GameFromScratch on YouTube Support GameFromScratch on Patreon
3. June 2019


Raylib is an open source C based cross platform game framework released under the zlib/libpng open source license that I previously referred to as “the easiest C/C++ game framework I’ve ever found” and that description is still true today.  Raylib started life as a way to teach non-programmers game development in an accessible manner and I would say for the most part, mission accomplished.  Since that initial release, raylib has continued to improve and the just released raylib 2.5 is one of the biggest releases yet.

Details from the release notes:

  • New window management and filesystem functions to query monitor information, deal with clipboard, check directory files info and even launch a URL with default system web browser. Experimental High-DPI monitor support has also been added through a compile flag.

  • Redesigned Gamepad mechanism, now generic for all platforms and gamepads, no more specific gamepad configurations.
    Redesigned UWP input system, now raylib supports UWP seamlessly, previous implementation required a custom input system implemented in user code.

  • rlgl module has been redesigned to support a unique buffer for shapes drawing batching, including LINES, TRIANGLES, QUADS in the same indexed buffer, also added support for multi-buffering if required. Additionally, rlPushMatrix()/rlPopMatrix() functionality has been reviewed to behave exactly like OpenGL 1.1, models_rlgl_solar_system example has been added to illustrate this behaviour.

  • VR simulator has been reviewed to allow custom configuration of Head-Mounted-Device parameters and distortion shader, core_vr_simulator has been properly adapted to showcase this new functionality, now the VR simulator is a generic configurable stereo rendering system that allows any VR device simulation with just a few lines of code or even dynamic tweaking of HMD parameters.

  • Support for Unicode text drawing; now raylib processes UTF8 strings on drawing, supporting Unicode codepoints, allowing rendering mostly any existent language (as long as the font with the glyphs is provided). An amazing example showing this feature has also been added: text_unicode.

  • Brand new text management API, with the addition of multiple functions to deal with string data, including functionality like replace, insert, join, split, append, to uppercase, to lower... Note that most of those functions are intended for text management on rendering, using pre-loaded internal buffers, avoiding new memory allocation that user should free manually.

  • Multiple new shapes and textures drawing functions to support rings (DrawRing(), DrawRingLines()), circle sectors (DrawCircleSector(), DrawCircleSectorLines()), rounded rectangles (DrawRectangleRounded(), DrawRectangleRoundedLines()) and also n-patch textures (DrawTextureNPatch()), detailed examples have been added to illustrate all this new functionality.

  • Experimental cubemap support, to automatically load multiple cubemap layouts (LoadTextureCubemap()). It required some internal rlgl redesign to allow cubemap textures.

  • Skeletal animation support for 3d models, this addition implied a redesign of Model data structure to accomodate multiple mesh/multiple materials support and bones information. Multiple models functions have been reviewed and added on this process, also glTF models loading support has been added.

You can download raylib here, while the source code is available here.  In terms of learning the API, pretty much all you need to know is available on this cheatsheet.  Additionally there are a huge number of examples available (that can run in your browser) right here, each including full source code.

GameDev News


30. May 2019


GDevelop, the open source beginner friendly 2D game engine, just released beta 70.  We recently mentioned GDevelop in our Codeless Game Engines article and have previously covered it in depth in this video.


There are no formal release notes, just this tweet:

image


The star feature of this release is certainly the ability to create custom behaviors using the build in event system, in addition to the existing JavaScript method.  Details on creating custom behaviors is available here.  GDevelop is available for Mac, Windows and Linux and can be downloaded here.

GameDev News


28. May 2019

No-code or codeless systems are becoming more and more common among game engines and they offer a few benefits. Using a visual programming language enables non-programmers to interact with the code in a more tactile way, while the code itself tends to be a bit more self documenting then most scripting or programming languages. Make no mistake, you are still programming, you just aren’t typing in lines of code in a text editor, instead you script logic by defining events and properties or by connecting nodes together in a graph.

If you are interested in game engines with traditional scripting options, be sure to check out our guides to C/C++, C#, Haxe, Lua, JavaScript and Python game engines.

In this article we are going to look at the majority of codeless options among modern game engines, both 2D and 3D.

3D Game Engines

Armory 3D

Built on top of the Blender open source 3D application, this game engine has a node based option for game development, in addition to a Haxe based API.  Learn more here.

clip_image002

BuildBox

BuildBox is a commercial game engine sold on a subscription basis that uses an entirely visual based node programming system.  Aimed at making games without requiring any programming knowledge.

clip_image004

CryEngine

CryEngine is a AAA calibre game engine with a visual programming language named Schematyc.  It is designed to enable programmers to expose portions of their game logic to designers.  Writing a full game in Schematyc is not really the purpose.

clip_image010

CopperCube 6

CopperCube 6 recently received a free version.  It is designed to work by attaching and configuring actions and behaviors to game objects.  You can expend the functionality in JavaScript, but creating a game entirely without coding is quite possible.

Learn more here.

clip_image008

Godot

The Godot game engine has a Visual Scripting Language, with much of the same functionality of GDScript.  You can mix and match between the two scripting styles in the same game.  Honestly though, it’s not really that useful yet.

Learn more here.


clip_image014

Unity

Unity doesn’t actually support Visual Scripting, although a Visual Scripting language is in the works for a 2019 release.  In the meanwhile there are several addons adding a Visual programming language such as Bolt.


clip_image022

Unreal Engine

Unreal has perhaps the most robust visual programming language in the form of Blueprint, that can be used for everything C++ can, beyond changing the engine code itself.  It is also perhaps the most complicated visual programming language on this list.

clip_image024

2D Game Engines

Clickteam Fusion 2.5

Perhaps most famous for making the 5 Nights series of games, this game engine use a tree/spreadsheet hybrid approach.

Learn more here.

clip_image006

Construct 3

Construct 3 is a commercial, subscription based game engine that runs entirely in the browser.  Uses an event sheet programming model very similar to GDevelop and ClickTeam Fusion.

Learn more here.

VSConstruct3

Stencyl

Stencyl is a game engine using a lego style brick approach to programming.  There is a free version available and the visual programming language ultimately generates Haxe code, which you can also code with.

Learn more here.

clip_image018

Scratch

Scratch is an MIT project aimed at teach programming concepts to kids.  It, like Stencyl, uses a lego brick style programming interface.

Learn more here.

clip_image020

GDevelop

GDevelop is a free and open source game engine that uses a programming model based on behaviors and events.

Learn more here.

clip_image012

GameMaker Studio 2

YoYoGame’s GMS2 has been around for decades and is a complete game editing environment with two programming options.  A visual drag and drop programming system, and their own GM scripting language.

Learn more here.

clip_image028


GameSalad

GameSalad is focused at students and non-programmers and is programmed using a behavior based logic system.  I have virtually no experience with this game engine.

clip_image026

Pixel Game Maker MV

Pixel GameMaker MV is a complete commercial game making package from the same publisher as RPGMaker.  It uses a visual programming system and property based programming model.  It’s also pretty awful, IMHO.

Learn more here.


clip_image016   

Design Programming


23. May 2019


Scirra announced today that they will be adding JavaScript language support to their currently codeless cross platform game engine, Construct 3.  We did a hands-on video on Construct 3 shortly after it was released, and the lack of scripting support was one of my biggest complaints.

Details of the new scripting support from the Construct blog:

We are well aware that not programming has been central to the design of Construct since Construct 2. We know many of our users will have chosen Construct specifically for this reason. Some may even have no intention of ever using coding. We're still committed to this approach and also fully intend to keep developing features for events. So why are we doing this?

At Scirra we've always aimed to help get more people involved with and excited about technology. We want to make amazing tools that make incredible technologies accessible to all, allowing them to be active creators rather than passive consumers. With the rising profile of technology in the world today and more people than ever getting involved with technology and programming, we think this is an important step towards that goal.

Details about price:

Once we're ready to launch it, the scripting feature will be sold as a separate add-on for Construct. However anyone who's ever had a Construct 3 subscription - of any kind, past or present - will get the scripting add-on for free, for life, at no additional cost. Currently this still applies to new subscribers too, so if you want to use the feature and have been thinking about subscribing, you'll save money if you subscribe now! We'll announce the cut-off date for this offer in the near future.

Details about the timeline:

We are aiming to have an early version of the scripting feature in the next beta release of Construct some time in the next couple of weeks. If you're already a subscriber, you'll be able to test it as soon as the next beta. The feature will continue to develop and expand over time, and we'll likely have more news about it in future. So stay tuned and we look forwards to seeing what you can all do with it!

GameDev News


1. May 2019


The PixiJS HTML5 2D rendering library just had their first release in almost 2 years, with the release of PixiJS v5.  PixiJS is an open source, MIT licenses library available here on Github.

The v5 release experienced a great deal of internal refactoring to improve modularity and performance but also resulted in a 20% reduction in size compared to v4.  The API however stayed relatively uniform so migration shouldn’t be difficult, with a supporting migration guide available here.  The new version includes new sprite batching support that should have a pretty profound effect on drawing several different sprites.  The Graphics object also received a few new tricks such as now being cloneable, supporting holes, texture fills and more.

Perhaps the biggest new feature is the new mid level API that has been added, that Pixi itself builds on top of.  Describe in the announcement blog like such:

Ok so I saved the best till last as I think this isn’t far the coolest part of v5. The midlevel API. We created an API that basically abstracts as much of WebGL as possible but still keeping all the power, giving you guys the power to create awesome WebGL that is automatically optimised for you!

In fact all of v5 is built on top of this API. Expect a more detailed post and examples for this one soon.

Additionally, the community created an excellent new tool in the form of the browser based Pixi Playground, a complete editor and runtime environment for playing with Pixi applications.

GameDev News


AppGameKit Studio

See More Tutorials on DevGa.me!

Month List