사용자:구순돌/연습장/GDevelop

위키백과, 우리 모두의 백과사전.
GDevelop
원저자Florian Rival (4ian)
개발자Florian Rival (4ian), Victor Levasseur, Aurélien Vivet (Bouh), Arthur Pacaud (arthuro555), Franco Maciel (Lizard-13), Todor Imreorov (blurymind)[1]
발표일2008년 8월 11일(15년 전)(2008-08-11)
미리보기 버전
5.0.0 beta112 / 2021년 7월 15일(2년 전)(2021-07-15).[2]
저장소https://github.com/4ian/GDevelop
프로그래밍 언어C++, JavaScript
운영 체제Windows, Linux, macOS, Web browser
플랫폼Linux, macOS, Windows, iOS, Android, HTML5, Universal Windows Platform
언어English, Community Provided Translations [1]
종류Game creation system
Game engine
Game integrated development environment
라이선스MIT License
웹사이트gdevelop.io

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.[3][4][5] Created by Florian Rival; a software engineer at Google,[6] GDevelop is mainly aimed at non-programmers and game developers of all skillsets, employing event based visual programming similar to engines like Construct, Stencyl, and Tynker.[7][8]

Due to its ease of use and being distributed under an open-source license, GDevelop has found use in games education, ranging from primary school to university courses.[5][9][10] It has also been used by educators and researchers to create learning and serious games.[11][12]

Game Creation without Programming Languages[편집]

One of GDevelop's primary goals is to allow creators to make full video games without using any programming languages. This is primarily done through three methods:

Event-based logic[편집]

GDevelop's primary focus is to allow all users to create games without code or a programming language. This is accomplished via an Event system,[13] 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.

Behaviors[편집]

Behaviors allow for advanced combinations of pre-built functions and events to add logic like physics-based movement, pathfinding, acting as a platform or platform character game, allowing to move the object with the mouse or touch, transitions, etc.[14] 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 users to extend the existing set of behaviors without coding.

Easy content pipeline[편집]

All game content, such as character art, backgrounds, text, etc, can be added directly through a point and click interface in the editor. Some example content types are Sprites, Tiled Sprites, 9-Patch (Panel) Sprites, Text Objects, Text Objects with BBText support, Shape Painters, and more. Music and Sounds can be imported directly into the events that utilize them.

Other Features[편집]

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:

Extensions[편집]

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.[15] Extensions can also implement new engine capabilities such as Kongregate API integrations or full masking support. Extensions can do a lot of things to help your game be better. Some things extensions can do are add gamepad support and cheats like the Konami code.

Javascript Language Support[편집]

Although GDevelop's primary focus is using the event system to enable development without any programming language code, a Javascript Code block can also be used in place of any event.[8]

In addition to using JavaScript code blocks for game logic, this also allows advanced users to extend the capabilities of events by directly manipulating the engine. This opens up new horizons for any developer.

Monetization Support[편집]

GDevelop supports AdMob, Shopify, and Facebook Ads allowing for advertising in the form of video, banner, interstitial screen and link to purchase.

Shader effects[편집]

Introduced in beta 84,[16] 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.

Built-in Content Editors[편집]

Gdevelop's IDE also has built in editors for graphics and audio. Piskel[17] is integrated for editing art, and JFXR[18] is integrated for creating sound effects.

One-Click Export[편집]

Games can be exported directly to Android, Windows, Linux, and Web platforms.[19] 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, Google Play, etc.

Supported platforms[편집]

GDevelop allows users to compile games into stand-alone games, without requiring the software to run.

The following platforms are supported for One-Click Export:

  • Windows 7/8/10
  • Ubuntu (Linux)
  • Android
  • HTML5 (Web)

Additionally, the projects can be exported locally, and manually compiled to the following platforms:

  • Windows 7/8/10
  • Windows Store UWP
  • Linux
  • Android
  • iOS
  • HTML5 (Web)

Technologies used[편집]

GDevelop 5 uses GDJS, the same JavaScript engine as GDevelop 4, an older and currently unsupported version. It uses Pixi.JS v5 as a renderer. The editor interface is in React and uses asm.js to manipulate projects using the C++ code inherited from GDevelop 4.[20] Both the editor interface and games are packaged using Electron.

GDevelop 4 uses a GDCpp, a C++ engine, as well as GDJS, a JavaScript engine. GDCpp uses SFML and GDJS uses Pixi.JS v4 as a renderer. The editor interface is written in C++ and is essentially based on the library SFML for multimedia management and on wxWidgets user interface. The software also uses Boost and TinyXML. The IDE and GDCpp were packaged via a standard C++ compiler.

History[편집]

According to the main author of the software:

The idea with GDevelop is making game creation accessible to anyone, from beginners to seasoned game developers. GDevelop allows you to create the logic of your game using visual events, composed of conditions and actions. You can also build your game objects by composing pre-defined and customizable behaviors. This means that the entry barrier of learning the syntax and idioms of a programming language is removed. For people that are not developers, it’s a way to quickly get up and running with an intuitive interface. Lots of people love sandbox games. GDevelop is a sandbox - but what you can do with it is unlimited.[21]

GDevelop's initial 1.0 release was in 2008, on a foundation that was primarily C++ and had a more native OS focus. Over the years more and more features were added such as tilemap support, a particle system, and limited network support. Leading up to 2018, discussions were had around migrating GDevelop to a more portable and platform-agnostic base, and in January of 2018 GDevelop 5 (GD5) was released.[22]

Until GD5, the main engine was the C++ engine (GDCpp). GD5 dropped support for it in favor of the JavaScript engine (GDJS), first introduced the 1. July 2013.[23] The reason of the drop was because it had issues across platforms, couldn't run in the browser or on phones due to the renderer (SFML[24]) it was using, and GDevelop was lacking too many contributors in general to support both a JavaScript and a C++ engine. It is planned to bring a native engine back in the long term, but not in the short term[25]

GD5 included a complete rework of the IDE to begin using web technologies, like Pixi.JS and React. Support around GD4 was shifted over to GD5 to bring focus on enhancing the future of the engine.

Since GD5's launch, additional features and functionality have continually been added, such as BBText support,[26] Dialogue Support via Yarnspinner, and layer based shaders via PixiJS Shaders.[26] Development and enhancement of the platform continues from 4ian and a group of repeat contributors.

References[편집]

  1. “GDevelop contributors list”. 2021년 1월 11일. 2021년 1월 11일에 확인함. 
  2. “GDevelop 5.0.0-beta105”. 2021년 2월 6일. 2021년 2월 9일에 확인함. 
  3. Hattersley, Lucy. “How to make your own games on a Mac”. 《Macworld UK》. 2020년 7월 22일에 확인함. 
  4. “Get Started in Game Development - GameDev.net”. 《www.gamedev.net》. 2020년 7월 22일에 확인함. 
  5. Correa, Jose David Cuartas (2015년 6월 27일). 《Digitopolis II: Creation of video games GDevelop》 (영어). Jose David Cuartas Correa. ISBN 978-958-9146-71-2. 
  6. “Porting a Desktop Game Editor to the Browser with WebAssembly”. 《InfoQ》 (영어). 2020년 7월 22일에 확인함. 
  7. Moore, D. M. (2020년 4월 14일). “11 tools to get you started making video games”. 《The Verge》 (영어). 2020년 7월 22일에 확인함. 
  8. Griffey, Julia V. (2019년 12월 12일). 《Introduction to Interactive Digital Media: Concept and Practice》 (영어). Routledge. 151쪽. ISBN 978-0-429-62073-7. 
  9. Yu, Chak Tin; Tomorrowskills, Hobbypress (2020년 6월 10일). 《STEM Education Series: Write Your First 2-player Tank Game: Using GDevelop》 (영어). Amazon Digital Services LLC - KDP Print US. ISBN 979-8-6527-6854-6. 
  10. “GDevelop for the education - Teach game creation”. 《gdevelop-app.com》. 2020년 7월 22일에 확인함. 
  11. Kleftodimos, Alexandros; Evangelidis, Georgios (2018). “Augmenting educational videos with interactive exercises and knowledge testing games”. 《2018 IEEE Global Engineering Education Conference (EDUCON)》: 872–877. doi:10.1109/EDUCON.2018.8363322. ISBN 978-1-5386-2957-4. S2CID 44107170. 
  12. G, Gabriel Elías Chanchí; A, María Clara Gómez; M, Wilmar Yesid Campo (2019). “Proposal of an educational video game for the teaching-learning of the requirements classification in software engineering [Propuesta de un videojuego educativo para la enseñanza-aprendizaje de la clasificación de requisitos en ingeniería de software]”. 《RISTI - Revista Iberica de Sistemas e Tecnologias de Informacao》 2019 (E22): 1–14. 
  13. “Events [GDevelop wiki]”. 《wiki.compilgames.net》. 2020년 8월 6일에 확인함. 
  14. “Behaviors ["GDevelop Wiki"]”. 《wiki.compilgames.net》. 2020년 8월 6일에 확인함. 
  15. “Extensions [GDevelop wiki]”. 《wiki.compilgames.net》. 2020년 8월 6일에 확인함. 
  16. “GDevelop 5.0.0-beta84”. 2020년 1월 6일. 2020년 1월 6일에 확인함. 
  17. “Piskel - Free online sprite editor”. 《www.piskelapp.com》. 2020년 8월 6일에 확인함. 
  18. “Jfxr : Frozen Fractal”. 《frozenfractal.com》. 2020년 8월 6일에 확인함. 
  19. “Publishing games [GDevelop wiki]”. 《wiki.compilgames.net》. 2020년 8월 6일에 확인함. 
  20. “How has been ported the game editor to the browser with WebAssembly”. 2019년 10월 9일. 
  21. “Porting a Desktop Game Editor to the Browser with WebAssembly”. 《InfoQ》 (영어). 2020년 8월 6일에 확인함. 
  22. “Release 5.0.0-beta14 · 4ian/GDevelop”. 《GitHub》 (영어). 2020년 8월 7일에 확인함. 
  23. “Initial addition of GDJS to the source code”. 《GitHub》 (영어). 2020년 8월 9일에 확인함. 
  24. “SFML”. 《SFML》 (영어). 2020년 8월 11일에 확인함. 
  25. “Statement "Native games will be added to GDevelop 5 later." at the bottom of the downloads page”. 《GDevelop official website》 (영어). 2020년 8월 9일에 확인함. 
  26. “Release 5.0.0-beta84 · 4ian/GDevelop”. 《GitHub》 (영어). 2020년 8월 7일에 확인함. 

External links[편집]

틀:Video game engines