Can the scripting system be easier?

Engr. Adiktuzmiko

Chemical Engineer, Game Developer, Using BlinkBoy'
Veteran
Joined
May 15, 2012
Messages
14,682
Reaction score
3,003
First Language
Tagalog
Primarily Uses
RMVXA
as far as my experience is concerned, RGSS3 is already simple and easy to use (comparing it to others)


if there's one thing to make it easier, add autocomplete and intellisense
 
Last edited by a moderator:

??????

Diabolical Codemaster
Veteran
Joined
May 11, 2012
Messages
6,513
Reaction score
3,203
First Language
Binary
Primarily Uses
RMMZ
You're basically proposing to open source the (original) RGSS. (Besides the high unlikeliness of that ever happening) Why do you think that this makes it easier for script writers? Then they have to learn another language (C++) and writing portable scripts will be more difficult if changing fundamental classes is possible.
Yes exactly that.

As it stands, it would not 'force' others to learn a new language, it would simply make it easier for them to implement said language into their codes. I mean, who has time to sit and write insane amounts of code just to make a simple dll, for i dunno, bitmap processing for example, keyboard and mouse input processing would be another fine example. I mean, these kind of things can be done in pure ruby but having an option to code C++ directly in the script editor... <3

Yea, I get what your saying about 'if fundamental classes where changed' - realistically though, if it was ordered as it currently is - with a specified section for 3rd party scripts (under materials) and a section for default scripts(above materials) then I dont think that would be a major issue.

Also - they could easily have 2 script editors - one for 'default scripts - nor changeable directly within their code, but all the code being visible for easy modification by the 3rd party scripters.

Maybe its only me that thinks it would be beneficial. but for an example : being able to remove the default F keys from processing - this would really improve MANY projects. Any project that uses a custom keyboard script instantly benefits from removal of the F1 key and ALL projects benefit from the inadequate F12 reset process being removed...
 

Zoltor

Veteran
Veteran
Joined
Jan 18, 2014
Messages
1,550
Reaction score
211
First Language
English
Primarily Uses
as far as my experience is concerned, RGSS3 is already simple and easy to use (comparing it to others)

if there's one thing to make it easier, add autocomplete and intellisense
Oh god no, the stupid system can't even tell you that something should've been uppercase instead of lower case, I doubt it would beable to handle autocomplete of all things.
 
Last edited by a moderator:

Napoleon

Veteran
Veteran
Joined
Dec 29, 2012
Messages
869
Reaction score
97
First Language
Dutch
Primarily Uses
You're basically proposing to open source the (original) RGSS. (Besides the high unlikeliness of that ever happening) Why do you think that this makes it easier for script writers? Then they have to learn another language (C++) and writing portable scripts will be more difficult if changing fundamental classes is possible.
Rewriting all that through c++ dll files is even harder and STILL requires knowledge about C++... Again it's just "hiding" stuff to make it look easier for the newbie scripter. Because currently you have no viable other option.

I mean, who has time to sit and write insane amounts of code just to make a simple dll, for i dunno, bitmap processing for example
Erm my project has one such DLL file that does that :p . Not written by me though.

Why do you think that this makes it easier for script writers? Then they have to learn another language (C++) and writing portable scripts will be more difficult if changing fundamental classes is possible.
Learning another language? Ruby is the other (forced) language to most game programmers imo. Most Game programmers know C/C++/Java or others but not Ruby I believe. Hell, even Python is more common than Ruby. For me Ruby was the 'another language' and it was a major step down.

And let's be honest, Ruby+RPG Maker is not great for your resume. But C/C++ is.

I don't believe that they can make RGSS easier. They could improve the script editor but that doesn't look like a selling point to me so I wouldn't if I were them.
 

cremnophobia

Veteran
Veteran
Joined
Dec 10, 2013
Messages
216
Reaction score
97
Primarily Uses
I think this C/C++ discussion derails the thread.

Rewriting all that through c++ dll files is even harder and STILL requires knowledge about C++... Again it's just "hiding" stuff to make it look easier for the newbie scripter. Because currently you have no viable other option.
It's a bit more work, but definitely not harder. And an alternative Input module just requires Ruby: Win32API or DL (which adds pointer arithmetic to Ruby, btw).

En- and disabling of F1 (including reading and writing the settings) or F12 can easily be added as Ruby methods. Additional support of writing and loading Ruby extensions would be great (and most likely possible), but what you two expect is way too much. It also adds another layer (after events and scripts). This isn't mapping where additional layers are (usually) great. Most people don't need that.

I quote:

I saw some feedback for RMVXA suggesting that the scripting system should be "super easy" compared to what it basically is right now.
Actually, why do you use a RPG Maker at all? It seems to be the totally wrong tool for the job in your case. Or an open source version of the RGSS where you can change everything and meet your requirements (at least the non-editor stuff)?

They could improve the script editor but that doesn't look like a selling point to me so I wouldn't if I were them.
Yes, they could and even should. I think some improvements could make scripting easier.

Of course, you can always use a different script editor or any kind of text editor or even an IDE instead, but not many people do that. It takes some short time to setup, but you can do it. There is also an issue with warnings in RGSS. There isn't a way to show them, but at least Kernel#warn works. Things like autocomplete or checking for valid syntax (including showing diagnostics) can be implemented, even though Zoltor doesn't think so.
 

Engr. Adiktuzmiko

Chemical Engineer, Game Developer, Using BlinkBoy'
Veteran
Joined
May 15, 2012
Messages
14,682
Reaction score
3,003
First Language
Tagalog
Primarily Uses
RMVXA
Don't generalize things... I for one only knew VB and a bit of C++ before going into RM, so any language would have been a new language for me...


@Zoltor - As it is yeah, but you'll never know once they manage to add it. If they would add it, I do think they would at least make it work correctly.
 
Last edited by a moderator:

Tsukihime

Veteran
Veteran
Joined
Jun 30, 2012
Messages
8,564
Reaction score
3,846
First Language
English
Rewriting all that through c++ dll files is even harder and STILL requires knowledge about C++... Again it's just "hiding" stuff to make it look easier for the newbie scripter. Because currently you have no viable other option.
If you mean to open source whatever C code they might be using, I don't really see how that would make anything easier for RM scripters. Or do you mean the problem with the scripting system is the fact that it's ruby, and not C, which "most game developers" are familiar with?


I'd find achieving compatibility to be a much harder task if you wanted to go with what what "most programmers" know.
 
Last edited by a moderator:

Napoleon

Veteran
Veteran
Joined
Dec 29, 2012
Messages
869
Reaction score
97
First Language
Dutch
Primarily Uses
Don't generalize things... I for one only knew VB and a bit of C++ before going into RM, so any language would have been a new language for me..
It may be generalizing, but statistically most game programmers probably have knowledge about C/C++/Java and definitely not Ruby. And I'm not talking about a tiny percentage more. Basically ~95% of all game programmers learn it at school anyway. But if you didn't go to 'game-dev-school' or any programming education and are still hardcore into game programming (not designing or artists and such) then C++ is something you have to learn at some point. No (viable) way around it.

I disagree about using Ruby just for it's strong aliasing, meta-programming and relatively easy learning curve. Yeah I know it's personal but here is why:

Ruby has probably the easiest compatibility of all languages. BUT, the development time to write something in Ruby compared to C++ or in Visual Studio = probably 300-600% slower for me and that's probably still a huge understatement if I also include debugging. I'd often be much better off writing a little compatibility patch in C++/C#/etc. than having a compatible script in Ruby. And you still need like 9 months before you can write any decent scripts in Ruby. Man the scripts that I wrote a year ago... not good... They worked but they were crap.

And when it comes to the real complex systems like the battle systems then none of 'em is really compatible. They all interfere with each other. I can't even put MOG's battler motion on victor's side-battle+ani battle because it just won't work. So I checked why and I found out that neither didn't overwrite. It was simply because the way their aliases worked, they were not compatible at all even with aliasing.

Hell, even Yanfly's message system is bugging me all over the place to the point that I now disabled it. He wrote it probably perfectly. But still the moment you alias the same method 10x over at some point it's gonna be incompatible somewhere. But again, you only get these problems once your project grows immensely in (script- & map-)size. But the 'power of Ruby' is lost once things start to get big.

Example problem I had recently:

Script A moves sprite 5px to the right. Script B increased the sprites size. Both use an alias so all is well at this point. But then script A uses the right side of the sprite to check for it's location for some reason and then things start going all wrong and the sprite eventually ends up somewhere totally off-screen or simply refuses to move at all. Yes I could patch it but it was done at several points throughout the scripts... Also patching it would be a pain when updating any of the scripts. The power of Ruby was not here at this specific case once again.

If you mean to open source whatever C code they might be using, I don't really see how that would make anything easier for RM scripters. Or do you mean the problem with the scripting system is the fact that it's ruby, and not C, which "most game developers" are familiar with?
Well, rewriting the bitmap drawing, clearing, etc. would be easier if you could see how Degica did it. Then you could also see why it's not optimal and perhaps even improve it instead of totally rewriting it. Right now all I know is that it's not optimal but I have no idea why. The default internal code lost the benchmark tests compared to the custom dll and they do exactly the same. That is typical to closed source engines. They are hardly ever improved.

But yes once people start editing the internal code somehow, script compatibility would go completely down the drain and the power of Ruby in this case could be mostly lost. So I must agree there is a big downside to it. Also scripting in RPG Maker would be more hardcore and the learning curve could be too steep for most.
 
Last edited by a moderator:

whitesphere

Veteran
Veteran
Joined
Mar 14, 2014
Messages
1,688
Reaction score
784
First Language
English
I think, if Enterbrain were ever going to do anything major to make the RPG Maker scripting language easier, it would make the most sense to use Java as a base instead of Ruby.  If the base classes were well designed and documented, in theory, it would be far easier to work with and expand.    And if RPG Maker were a pure Java application, it would benefit from any ongoing improvements to the Java language without any effort on Enterbrain's part.  And, of course, cross platform would work well except for Apple (they are changing to their own proprietary language, naturally)

But, since Enterbrain isn't a large company, I really doubt they're going to perform huge changes to their core software.  It's the classic development problem of "Lots of requests, few resources to do those requests."  That one request would probably take a few years for experienced Java developers to do.
 

Engr. Adiktuzmiko

Chemical Engineer, Game Developer, Using BlinkBoy'
Veteran
Joined
May 15, 2012
Messages
14,682
Reaction score
3,003
First Language
Tagalog
Primarily Uses
RMVXA
and how many of that 95% use RPG Maker? I'm just wondering. If I'm a game programmer who knows a lot or had proper education, I'd probably use a more powerful engine or my own than using RPG Maker.
 
Last edited by a moderator:

Andar

Veteran
Veteran
Joined
Mar 5, 2013
Messages
31,359
Reaction score
7,672
First Language
German
Primarily Uses
RMMV
and how many of that 95% use RPG Maker? I'm just wondering. If I'm a game programmer who knows a lot or had proper education, I'd probably use a more powerful engine or my own than using RPG Maker.
Not neccessarily - I could program a lot myself (and have worked in several programming languages including Assembler), but why should I? I have only limited time to work on my games, and RM mostly does what I want (when using existing scripts). I haven't even tried to learn Ruby yet - with my background and knowledge I could learn it in about one or two weeks if I really wanted, but so far I haven't seen any reason to put in that time.
 

Engr. Adiktuzmiko

Chemical Engineer, Game Developer, Using BlinkBoy'
Veteran
Joined
May 15, 2012
Messages
14,682
Reaction score
3,003
First Language
Tagalog
Primarily Uses
RMVXA
depends on what you want to do maybe. it's just that maybe I know quite a number of people who knows programming who opted for a more powerful engine.


anyway I do believe that quite a huge amount of people using RM are on the non programmer side, and I really do think RGSS scripting is pretty easy to learn.


and of course I could be wrong, after all I'm just a hobbyist who just happened to like application and game development. :)
 
Last edited by a moderator:

BoluBolu

Veteran
Veteran
Joined
Apr 24, 2014
Messages
452
Reaction score
117
Primarily Uses
Wow I read all the post from the last I posted in this thread and I found this is quite funny, how come this thread began to discussing about C++ and other languanges? I Just quote that Ruby is more friendly than C++ (at least for me), Maybe because C and C++ is my first :) . But again yeah RGSS is easy. 
Sometimes eventing is more complex than scripting I can't deny it.

Now I just remembered that I want the script system to be easier is, perhaps Enterbrain can do maximize the encapsulation system for every method. I mean like this :

The original method#--------------------------------------------------------------------------# * Battle Start#-------------------------------------------------------------------------- def battle_start BattleManager.battle_start process_event start_party_command_selection endBecome like this#--------------------------------------------------------------------------# * Battle Start#-------------------------------------------------------------------------- def battle_start battle_manager_battle_start do_process_event start_party_command_selection end def battle_manager_battle_start #new method BattleManager.battle_start end def do_process_event # new method process_event end The original method#--------------------------------------------------------------------------# * Battle Start#--------------------------------------------------------------------------def battle_startBattleManager.battle_start# So I can insert code in here without overwriting this method battle_startprocess_eventstart_party_command_selectionendI don't know if that is silly, but I believe that will make a noob scripter like me to do aliasing more easier :) . No need to do that for all methods, just for important method or complex method. I know doing this for every method will be a pain in the a**. But that's really what I can think of for "Can the scripting system be easier?" Sorry If I'm wrong :) . Sometimes make one script to be compatible with another script need a lot more work and even lot of workaround :( .
 

Chaos17

Dreamer
Veteran
Joined
Mar 13, 2012
Messages
1,311
Reaction score
485
First Language
French
That's really a funny conversation becuse as an eventer I found that scripting is harder than eventing while you guys think the contrary ;)
 

Zoltor

Veteran
Veteran
Joined
Jan 18, 2014
Messages
1,550
Reaction score
211
First Language
English
Primarily Uses
That's really a funny conversation becuse as an eventer I found that scripting is harder than eventing while you guys think the contrary ;)
I understand scripting, and such just fine, but yea I have to agree. Atleast eventing is in a language that's natually known, so It's easy to remember what needs to be done where, and how off the top of one's head. Where with scripting, It's a pain to remember things off the top of one's head.

I always have to look at similar types of scripts, to remember how exactly to do X, Y, and Z, It's such a pain. Not to mention it takes longer to fix a error in scripting+test it(no doubt the utterly broken debugger makes it worse then it should be, but still), then it does with eventing.

Also it should be noted, if you're not a master coder, and a really fast typest, making a compareable complex/big system, will always take longer in scripting(4,000 lines of script, screw that lol, you might as well write a novel instead). Scripting does tend to be more efficient with making medium sized systems/features though(usually there's minor sortcuts you can make, that ends up 1-2 steps fewer then the evented version), however that is ofcourse if you can remember enough of the script off of your head, to create it in a timely manner.
 
Last edited by a moderator:

Ralpf

Veteran
Veteran
Joined
Jun 5, 2014
Messages
590
Reaction score
152
First Language
English
I have some programming experience (Java/C#) but have not looked into learning Ruby yet, at a glance it doesn't look too hard and I can kinda figure out what is happening with some of the simpler scripts.

As many have said making a programing language simpler isn't always the answer...make it too simple and it becomes so weak it may as well not exist. There is another option though, and that is beefing up the eventing system, I can think of a few things off the top of my head that would probably wouldn't be too hard to implement. However more options could make it more daunting for the novice (which is a big portion of the RPGMaker customers I have to assume). So that is something that has to be approached carefully, too.
 

BoluBolu

Veteran
Veteran
Joined
Apr 24, 2014
Messages
452
Reaction score
117
Primarily Uses
That's really a funny conversation becuse as an eventer I found that scripting is harder than eventing while you guys think the contrary ;)
When I mean eventing is more complex, it's not the basic eventing :p , it becomes more complex because what can be done via eventing is limited compared to scripting. I really amazed at people who can do something great(involves system or something else) via eventing that usually should be done via scripting, no offend :) .

They usually mess with a lot of variables, switches, nested conditional branchs, common events. And for me, remembering all those variables and it's value, conditional, which switch to trigger something, common event, what switch need to trigger it, it's really complex(at least for me). And compared to remember the RGSS library which is not dynamic, sometimes it can be a pain in the a** :( .

I mean for every new event or scene we need to make a new variable or switch, then we need to remember those thing and it's value, for a new scene, we need to make a new one again, and again and again(it's something new again and again, with dynamic value), whilst RGSS is not something dynamic, if you can remember how to make a window, then until ten years again the method is same :D .

More over what I mean a great eventer is really creative, this for example :

That's an example of a nice custom shop scene via eventing. Just look at the common event, variable, and conditional, it's LOT. And to do that the eventer must be a creative person :) . And yeah I need to learn more about eventing power :) .
 

Zoltor

Veteran
Veteran
Joined
Jan 18, 2014
Messages
1,550
Reaction score
211
First Language
English
Primarily Uses
When I mean eventing is more complex, it's not the basic eventing :p , it becomes more complex because what can be done via eventing is limited compared to scripting. I really amazed at people who can do something great(involves system or something else) via eventing that usually should be done via scripting, no offend :) .

They usually mess with a lot of variables, switches, nested conditional branchs, common events. And for me, remembering all those variables and it's value, conditional, which switch to trigger something, common event, what switch need to trigger it, it's really complex(at least for me). And compared to remember the RGSS library which is not dynamic, sometimes it can be a pain in the a** :( .

I mean for every new event or scene we need to make a new variable or switch, then we need to remember those thing and it's value, for a new scene, we need to make a new one again, and again and again(it's something new again and again, with dynamic value), whilst RGSS is not something dynamic, if you can remember how to make a window, then until ten years again the method is same :D .

More over what I mean a great eventer is really creative, this for example :

That's an example of a nice custom shop scene via eventing. Just look at the common event, variable, and conditional, it's LOT. And to do that the eventer must be a creative person :) . And yeah I need to learn more about eventing power :) .
Just some advice that you should definitely take, name your common events, switches, and variable after the desired system/function they are meant to achieve.
 

whitesphere

Veteran
Veteran
Joined
Mar 14, 2014
Messages
1,688
Reaction score
784
First Language
English
and how many of that 95% use RPG Maker? I'm just wondering. If I'm a game programmer who knows a lot or had proper education, I'd probably use a more powerful engine or my own than using RPG Maker.
I've had a "proper" programming education and work as one. 

However, in my opinion, if I get the majority of the functionality I need from within the RPG Maker framework, I'd much rather drop the remainder than put in the huge amount of effort required to create my own RPG system from scratch THEN add in the sound effects, music, graphics, etc.  THEN finally, after months or years of labor, I could start writing the game itself. 

Even if I started with, say, Unity, assuming I were familiar with it, I'm sure I'd have to construct a fair amount just to get to the point where I could start laying out maps, etc.

Now, if someone absolutely requires functionality or performance that RPG Maker doesn't have, such as making a 3D RPG, or having hundreds of events onscreen at once, then I agree 100%, they will need to use a different engine. 

My point is:  Just because someone can do something doesn't mean they always want to do it.
 

BoluBolu

Veteran
Veteran
Joined
Apr 24, 2014
Messages
452
Reaction score
117
Primarily Uses
Just some advice that you should definitely take, name your common events, switches, and variable after the desired system/function they are meant to achieve.
Thanks for advice, but I did, I even wrote all section of switches,variables and common event in Microsoft Word for documentation the use of it one by one. i.e Index 1 - 10 Used as a music switches and something like that. What I emphasize is, what event can done, is limited, compared to script, yet great eventer can overcome this with their own creativity in manipulating variable, switch, and common event(And usually  a lots of it).

For example : I want to give a certain skill a mark, so when it being cast by either actor or enemy(which has the skill), a tint screen effect will appear and also put how many turns should the tint screen last in screen, for each skill can be different in type tint and amount of turn. Now I remember I read a thread someone could do this via eventing that involves common event, conditional branch, and switch, I tried to think how it can be done via common event without touching script, and for almost 1 hour I can't solve it. Then I do it via script, and not more than 1 hours it can be done easily, without involves any common event, conditional or switch. Just give notetags in certain skill and it will do what it should do(really simple), but of course I need to know in which place should the code take place, what is the algorithym and etc, perhaps this is the difficult part in scripting, but again if you can do this at leat one time, next time doing this will be a breeze, especially if you like to give documentation  :) .

But again it depends on the person, everyone has their superiority and I appreciate it :) .
 

Users Who Are Viewing This Thread (Users: 0, Guests: 1)

Latest Threads

Latest Posts

Latest Profile Posts

Holy stink, where have I been? Well, I started my temporary job this week. So less time to spend on game design... :(
Cartoonier cloud cover that better fits the art style, as well as (slightly) improved blending/fading... fading clouds when there are larger patterns is still somewhat abrupt for some reason.
Do you Find Tilesetting or Looking for Tilesets/Plugins more fun? Personally I like making my tileset for my Game (Cretaceous Park TM) xD
How many parameters is 'too many'??
Yay, now back in action Happy Christmas time, coming back!






Back in action to develop the indie game that has been long overdue... Final Fallacy. A game that keeps on giving! The development never ends as the developer thinks to be the smart cookie by coming back and beginning by saying... "Oh bother, this indie game has been long overdue..." How could one resist such? No-one c

Forum statistics

Threads
105,857
Messages
1,017,019
Members
137,564
Latest member
McFinnaPants
Top