Producer Letter #4: ACTION GAME MAKER Visual Scripting

ACTION GAME MAKER

The latest in the long-running “Maker” series of game development toolkits, “ACTION GAME MAKER” brings 2D action game development to those of all skill levels! Built using Godot Engine, “ACTION GAME MAKER” provides access to professional level functions without any programming required!

Hello again, everyone! Producer Morino here. For this fourth Producer Letter, I’d like to go into some more details about the Visual Scripting system used by ACTION GAME MAKER. As you may be aware, there’s a lot of competition in the “non-coding” category of game development tools. Even just within the Godot community there’s several no code assets available. Given this situation, I’d like to take a little time to clarify how ACTION GAME MAKER does things differently! Our strongest goal for development is to ensure that we have a system that is [b]easy and approachable even for people with zero skill at programming.[/b] [h2]Our Thoughts on Visual Scripting[/h2] [h3]Visual Scripting Generalities[/h3] It can be reasonably said that most game engine-based visual scripting systems are developed as just converting code from text to a visual structure. Indeed, this is how it was in Godot 3. Under such a structure, the knowledge needed to take advantage of the scripting system is quite similar to that needed by a programmer. While this does ensure that there’s few limitations and that is easy for someone using the system to easily switch to programming, it doesn’t make it easier for someone without programming knowledge to access the system. Thus the barrier to entry remains high. For example, a person may want to implement a “walk left or right” function. Under low-level visual scripting systems this means the user needs to implement things like “when the left key is pressed, change the X variable to 1”, “when right key is pressed, change the X variable to -1”, “while X is less than 0, flip the walk animation and play”, and other such sub functions. Knowing which sub functions are needed – and how to implement them – is a difficult task that requires a lot of knowledge and practical experience. [h3]ACTION GAME MAKER’s Visual Scripting[/h3] With ACTION GAME MAKER, our intent is to improve our scripting system from Pixel Game Maker MV and make it even easier for those without programming knowledge to use. This is similar to our intent with the RPG Maker franchise as well! By careful writing of our UI text and explanations, it should be possible for new users to get started. We are targeting high level conditions and actions that are human-centric, such as “When the A button is pressed”, “Move in the direction currently faced”, “When touched by another Object”, or “Lock on to the Attacker when an Attack is detected”, as we are trying to link intent to language to configuration in an easy to follow chain. Let me explain more using our current work-in-progress UI (apologies for the Japanese screenshots, but no UI translation has been done at this time). [img]{STEAM_CLAN_IMAGE}/45101521/dde29d879a312f4160df44c69a13d8951c342700.jpg[/img] Our system uses boxes, sometimes called nodes, that contain an Action (or Actions) that need to be performed. These Action boxes are connected via Link Conditions, which are represented by the arrow lines. When a Condition or Action box is selected, the right panel will update with the configuration information for the selected item. For this sample, we’ve configured it to use the Condition of “A button” and “When pressed”. This means that as soon as the button input is detected, the Condition is valid. This specific Condition connects the Movement and Jump Action boxes. [img]{STEAM_CLAN_IMAGE}/45101521/498babf457de9bbe2a5ebcc0e928025c52a48e4b.jpg[/img] Now let’s look at the Action configuration panel. This specific Action box is configured to enable a wall grab. So this Action will play the Wall animation in the “Right” orientation. It’s also been configured to ignore movement input, not change orientation/facing, and ignore gravity. This means that until a new Link Condition is activated the Object will not update. It is through this combination of Actions and Conditions that will allow full games to come together. I showed off some of the easiest to understand items today, but “Fire Projectile”, “Move in Direction of Orientation”, “Change Variable” and more than 50 additional Actions will be available. Some people feel that this could be limiting what can be created with such a scripting system. But based on our experience with this system in Pixel Game Maker MV, people were able to create platformers, puzzles, simulations, shooters, fighting games, and other genres besides. For examples, you can take a look at the titles that we released on the Nintendo Switch: [url=https://rpgmakerofficial.com/act_game/?lang=en]https://rpgmakerofficial.com/act_game/?lang=en[/url] Since we are implementing basically all functionality from Pixel Game Maker MV, ACTION GAME MAKER will have at least the same level of variety. We hope that our users will have fun figuring out how to implement all sorts of different mechanics in our system! [h2]Scripting Improvements Over PGMMV[/h2] Now a little bit of information for those who are already familiar with our scripting system from Pixel Game Maker MV. I’m sure you’re all wondering what might have changed now that we’re based on Godot! Firstly, a number of the actions are based on Godot functions. Our “Display Text” action is based on Label Node, and “Display Gauge” is based on Godot’s Progress Bar. We’re not intending to reinvent functions in ACTION GAME MAKER that Godot already provides! We’re also leaving in Godot properties. This means you’ll be able to use the “Adjust Node Properties” Action to adjust things like coordinates, visibility, and more – just like you would any other variable. This ensures that Node properties can be adjusted dynamically. For our more advanced users, we are including an Action called “Send Signal”. Signals are a Godot system that allows a Node to notify other Nodes when something happens. With a “Send Signal” action, you’ll be able to send a database record or Object variable as a Signal to another Node. It is expected that this also will make it easy for those who can also write GDScript to switch between our visual scripting and GDScript. With our previous effort, there was a lot of limitations in accessing base engine functionality due to how the abstraction was performed and that caused a lot of issues for our users. We’re paying a lot more careful attention this time to make sure that our abstractions are providing accessibility without creating a divide between Godot and ACTION GAME MAKER. And we apologize for the short notice, but we will be attending the Digital Games Expo 2024, being held in Akihabara on November 3rd! ACTION GAME MAKER will be available for anyone to get their hands on. An acrylic stand will be given out as a present to everyone who gives it a try! It is my hope that many people will stop by! [img]{STEAM_CLAN_IMAGE}/45101521/cb99276b75d06605720bb1c1035d49c074f2b192.jpg[/img] That’s all for this month! Please look forward to my 5th Letter, coming this November! And thank you for your continued interest in ACTION GAME MAKER!