RPGMaker alternatives

andrewsk

New Member
Aug 3, 2018
7
0
Hello there!

I have an idea about developing a "sandbox" game and looking for an engine that will suit me. Would be really grateful for advice from community. The thing is, I have been using RPGMaker MZ/MV for a while, but there are certain aspects of it that I find frustrating. The game I'm trying to develop is supposed to have these mechanics:

1. Tile-based open world which you can navigate, for which RPGM seemed suitable.
2. Daytime progression
3. Conditional events
4. Branching storytelling and character progression based on variables.
5. Simple in-game internet with "news", "websites" and social media simulacra. (So I will need a possibility of editing a custom interface)
6. Qte (optional)
7. Logic minigames (optional)

As you can see, the RPGMaker seems to be an obvious solution here, but I really don't like how storing variables, switches and event scripts are organized. I have a lot of branching logic, a lot of variables and I find event editor interface to be very clunky and not user-friendly. Even at early stage of development it's borderline unmanagable for me. Granted, you can write custom js/ruby scripts and plugins, but those are not very comfortable to navigate in rpgmaker. I'm okay with writing scripts myself, since I have basic skills in Python and Javascript.

So, before I will have written a lot of code that I will abandon anyway, I want to try out alternatives. What would ideal engine support (which probably does not exist, but anyway):
1. Easy development of tile-based maps for which I could use my own assets, like in RPGMaker.
2. Out of the box solutions for movement, collisions and movement animations (or at least a template that will have all of those partially implemented).
3. Support for commands like: show image, fade in, fade out, play sound, show text with npc avatar. And others command needed for cutscenes.
4. More or less user-friendly asset management (tiles, images, sounds).
5. Possiblity to easily develop custom interfaces and menus. There are supposed to be an ingame pc and cellphone that are part of the gameplay.
6. The most important part - possibility to manage event scripts as convential "code assets" based on functions and procedures (OOP will probably be unnecesary). From this code I'd like to call engine commands as functions that will look like show_image(assethandle, duration, coordinates). I'd really like to store certain repeatable logic, all of the progressions variables and stats in code that I've written myself. Then I would use this code as event script, when, for instance, a MC steps on an event-tile. At the same time, it would be really great if the engine commands would not require a lot of reverse-engineering on my side and would have at least some sort of documentation. The programming language itself is not much of an issue, if it's not something exotic.
7. Alternatively to previous approach - a no-code solution, but only if its organized better than in rpgm. I mean if-else branching, cycles, variable stores that are navigable (indexed, ideally), text editor that does not limit the input area. But I'd still would prefer to write event logic myself.

So, RPGMaker is suitable for items 1-5, but is lacking for item 6, IMO. I realize that I'm not the most seasoned user of RPGmaker and I might miss something here, but at this stage I really want to try something a little different. It seems like I'm looking for what is essentially a hybrid of RPGMaker and a simple code editor.

I've heard about RPGM extensions for Unity and Godot but they seem to get a lot of flak in user reviews, and I really doubt I want to purchase them.

What I'm NOT looking for:
1. Ren'Py or other engines that are more suitable for VNs.
2. Engines that will force me to code all the boilerplate stuff like movement and collision logic myself.
3. HTML engines (would be a little too clunky)

Would really appreciate your advice, thanks in advance!
 
Last edited:
Aug 28, 2021
152
130
Godot could be an alternative that fit (most of) your requirements.

1) It got a system like RPGmaker with tiles, their collision, navigation, etc. In version 3.5, the LTS, it's easy to use, in 4 it seem harder (I don't use it, it have been revamped so, maybe, I'm just lost). There is an autotiling option.

2) Godot use node for everything, nodes come with their functions ; CharacterBody have movement already implemented. Collision must be set manually (with their respectives nodes). There is AnimationPlayer to create animations but you have to code how they start.

3) Out of the box godot don't have those fade, its images related nodes let you change almost everything easily. You will need to take a look to Tween for fading, for example ; its godot "tool" to easily change whatever value over time.

4) Asset management is drag and drop. It create a import file and detect when a file has been modified. It's suggested to manage asset trough godot to minimize problem with import file.

5) I think menu creation is not very easy but it's very powerful. Some hours are mandatory to learn what is available.

6) Godot use C+ if you want or gdscript, its own language, it loolk like your function example
show_image(assethandle, duration, coordinates)
You can call function from almost any script whenever you want (You refer to a class, add a dot and the function you want with its arguments. ex : Dialog.pop_up(character_name, "happy") *it's a fake example, none of it exist).
It let you create singleton to share logic and/or variables everywhere and have it always loaded.
For progression storage, there is a class call Resource mostly aimed to store data.
 
  • Like
Reactions: andrewsk

andrewsk

New Member
Aug 3, 2018
7
0
Godot could be an alternative that fit (most of) your requirements.

1) It got a system like RPGmaker with tiles, their collision, navigation, etc. In version 3.5, the LTS, it's easy to use, in 4 it seem harder (I don't use it, it have been revamped so, maybe, I'm just lost). There is an autotiling option.

2) Godot use node for everything, nodes come with their functions ; CharacterBody have movement already implemented. Collision must be set manually (with their respectives nodes). There is AnimationPlayer to create animations but you have to code how they start.

3) Out of the box godot don't have those fade, its images related nodes let you change almost everything easily. You will need to take a look to Tween for fading, for example ; its godot "tool" to easily change whatever value over time.

4) Asset management is drag and drop. It create a import file and detect when a file has been modified. It's suggested to manage asset trough godot to minimize problem with import file.

5) I think menu creation is not very easy but it's very powerful. Some hours are mandatory to learn what is available.

6) Godot use C+ if you want or gdscript, its own language, it loolk like your function example

You can call function from almost any script whenever you want (You refer to a class, add a dot and the function you want with its arguments. ex : Dialog.pop_up(character_name, "happy") *it's a fake example, none of it exist).
It let you create singleton to share logic and/or variables everywhere and have it always loaded.
For progression storage, there is a class call Resource mostly aimed to store data.
Thanks, this actually makes me consider to give it a try. I anticipated that expecting both built-in animations and effects and proper scripting language would be too much, but may be after I've set up the environment it will be better than dealing with RPGM limitations.
 

HaldaneWorks

Newbie
Game Developer
Feb 1, 2024
23
57
You can tweak RPG Maker however you want, if you know Javascript. My own game does a lot already. For instance I have a dialogue system where I write dialogue in a custom script language which is encoded in game variables. A plugin command then plays the dialogue back whenever I want.

But I also want to expand that in the way you suggest here, since writing is far preferable to editing event commands with the mouse (tennis elbow is not fun).

My idea was to make a plugin to interpret Script commands so that they can be used to write event logic. Basically like you say, allow you to write down commands like show text, wait, show picture, etc. (and any other) in a simple/clear script language, and then have these commands execute in order when the event runs.

I say using the Script command for this (rather than, f.ex., Comment) because that gives you unlimited lines of text.

This being said, I get the appeal of looking for alternatives. You certainly have to put in a loooot of hours if you want to make major changes to how RPGM works.