11 Jan 2021
3 min read
In this article, I will talk about game development programming languages and tools (Unity, GDevelop). Also, I will talk about why I think it is good to start with GDevelop if you don't have game development experience.
GDevelop is a 2D cross-platform, free and open-source game engine, which mainly focuses on creating PC and Mobile games, as well as HTML5 games playable in the browser. GDevelop is mainly aimed at non-programmers and game developers of all skill-sets.
Behaviors allow for advanced combinations of pre-built functions and events to add logic like physics-based movement, path finding, acting as a platform or platform character game, allowing to move the object with the mouse or touch, transitions, etc. Behaviors can be added to game objects, and the same object can have several behaviors. Behaviors can also be created using the Event system - allowing to extend the existing set of behaviors without coding.
All game content, such as character art, backgrounds, text, etc, can be added directly through a point and click interface in the editor. Music and Sounds can be imported directly into the events that utilize them.
GDevelop has two separate clients, Web and Local. The web client allowing for game development directly through the browser and saving to a cloud storage solution. Both versions share the majority of their feature-set. A non-exhaustive feature-set available to both clients include:
User-made extensions can be created to allow for custom events, behaviors, or functions. Existing events can be turned into extensions from within a project's event sheet. These extensions can be shared within the IDE to the entire community and can be added within a few clicks. Extensions can also implement new engine capabilities such as Kongregate API integrations or full masking support.
GDevelop supports AdMob, and Shopify, allowing for advertising in the form of video, banner, interstitial screen and link to purchase.
Introduced in beta 84, GDevelop currently supports effects applied to each layer of a game scene. Shaders allow for advanced graphical effects such as drop shadows, reflections, scanlines, color swapping, and much more without having to create custom art for the effect.
Games can be exported directly to Android, Windows, GNU/Linux, and Web platforms. It is possible to make a local export that allows for manual iOS, Android, or desktop OS compiling, as well as export to platforms like Kongregate, Itch.io, or others.
Unity is a cross-platform game engine developed by Unity Technologies, first announced and released in June 2005 at Apple Inc.'s Worldwide Developers Conference as a Mac OS X-exclusive game engine. As of 2018, the engine had been extended to support more than 25 platforms. The engine can be used to create three-dimensional, two-dimensional, virtual reality, and augmented reality games, as well as simulations and other experiences. The engine has been adopted by industries outside video gaming, such as film, automotive, architecture, engineering and construction.
Unity gives users the ability to create games and experiences in both 2D and 3D, and the engine offers a primary scripting API in C#, for both the Unity editor in the form of plugins, and games themselves, as well as drag and drop functionality. Prior to C# being the primary programming language used for the engine, it previously supported Boo.
Within 2D games, Unity allows importation of sprites and an advanced 2D world renderer. For 3D games, Unity allows specification of texture compression and resolution settings for each platform that the game engine supports, and provides support for bump mapping, reflection mapping, parallax mapping, screen space ambient occlusion (SSAO), dynamic shadows using shadow maps, render-to-texture and full-screen post-processing effects.
Unity is a cross-platform engine. The Unity editor is supported on Windows, macOS, and the Linux platform, while the engine itself currently supports building games for more than 25 different platforms.
Recently, I've started working on a 2D platform game using GDevelop. I think that it is a great way to start with game development, because it's primary focus is to allow all users to create games without code or a programming language. This is accomplished via the Event system, which creates logic by monitoring for Conditions on when to trigger, and actions to take once the event conditions are met. The majority of events are presented in normalized language, so creators can avoid having to understand coding concepts found in many programming languages.
Most games have their game engines made in C or C++. For game dynamics and gameplay, some scripting language is usually used.
So, to conclude, if you are a beginner and you are without game development programming experience, GDevelop is a great way to start.
My name is Nemanja Grubor. I am a Bachelor of Engineering student experienced in Oracle PL/SQL Database Development, Core PHP, and Delphi. Currently working as a freelancer (software development) and as a software development lecturer (experience in lecturing C++ programming language and Oracle Databases - SQL, PL/SQL, APEX).
See other articles by Nemanja
Ground Floor, Verse Building, 18 Brunswick Place, London, N1 6DZ
108 E 16th Street, New York, NY 10003
Join over 111,000 others and get access to exclusive content, job opportunities and more!