Start learning how to code with Ruby/RGSS using RMXP : suggestions?

PeachyGlitch

Villager
Member
Joined
Dec 2, 2022
Messages
9
Reaction score
7
First Language
Spanish/French
Primarily Uses
RMXP
Hi :kaohi:
I've been using RMXP for a year now and I love it. So I've decided to finally learn how to program. For this I used the Slip into Ruby tutorial, among others in this forum. I also followed a course on Skillshare. I also found this 4 hour youtube tutorial particularly useful:

The problem is that most of the tutorials I find are for Ruby or Ruby on Rails, and not specifically for RGSS and RMXP.

Do you have any recommendations on where I can go next to learn Ruby/RGSS?

Thank you veeery much :kaoluv:
 

Roninator2

Gamer
Regular
Joined
May 22, 2016
Messages
5,225
Reaction score
1,557
First Language
English
Primarily Uses
RMVXA
But I believe these are for VX Ace

courses are plentiful, but I do not know of any for older rgss. yet the principles are similar
 

Trihan

Speedy Scripter
Regular
Joined
Apr 12, 2012
Messages
6,815
Reaction score
7,804
First Language
English
Primarily Uses
RMMZ
I never did a Slip into Ruby series that specifically breaks down XP because by the time I started it XP wasn't really all that popular any more. The differences aren't *massive*; mostly it's the same basic code split into multiple modules, though RGSS3 did introduce a number of improvements RGSS didn't have. Do you have any specific questions about it that SiR doesn't cover or at least give a starting point for?
 

PeachyGlitch

Villager
Member
Joined
Dec 2, 2022
Messages
9
Reaction score
7
First Language
Spanish/French
Primarily Uses
RMXP
First of all, thank you very much @Trihan for Slip into Ruby, it's great. As Slip into Ruby was not designed for RMXP, I had to figure out some things that didn't work, and why they didn't work; it has forced me to "take the mechanism apart", to get into the RMXP code. It has also taught me that if there is something I can't do or it's costing me too much, that's OK; just read the section and do the next one. I also really appreciated the use of metaphors to explain programming.

I don't have a specific question, that's the thing, I haven't reached the level of asking things yet. Maybe I just have to keep training with different tutorials, with different perspectives, until it "clicks"?. Maybe I'll try a micro-project before starting the bigger project. Maybe switching to RMMV or RMVX might also help, as there are more resources.
 

Trihan

Speedy Scripter
Regular
Joined
Apr 12, 2012
Messages
6,815
Reaction score
7,804
First Language
English
Primarily Uses
RMMZ
First of all, thank you very much @Trihan for Slip into Ruby, it's great. As Slip into Ruby was not designed for RMXP, I had to figure out some things that didn't work, and why they didn't work; it has forced me to "take the mechanism apart", to get into the RMXP code. It has also taught me that if there is something I can't do or it's costing me too much, that's OK; just read the section and do the next one. I also really appreciated the use of metaphors to explain programming.

I don't have a specific question, that's the thing, I haven't reached the level of asking things yet. Maybe I just have to keep training with different tutorials, with different perspectives, until it "clicks"?. Maybe I'll try a micro-project before starting the bigger project. Maybe switching to RMMV or RMVX might also help, as there are more resources.
If you can afford to, I'd definitely recommend it. XP is pretty ancient at this point and even though it has one of the best mapping functions of the series it has a number of quirks and bugs that make it a slog to work with, particularly the bug that only lets you enter 3 lines of text per message unless you bulk enter them, and then you can't go back and edit 4-line text afterwards because the 4th line doesn't display. I couldn't go back to XP now, I only have it to complete my collection.
 

Roninator2

Gamer
Regular
Joined
May 22, 2016
Messages
5,225
Reaction score
1,557
First Language
English
Primarily Uses
RMVXA
Maybe switching to RMMV or RMVX might also help, as there are more resources.
If you do switch, I would say the smallest step should be to vx ace. Then MV and Finally MZ unless you take enough time so that the Unity version is out.
You can get VX, but it also has some flaws. Yet if you work within any programs limitations then it's not a problem.
VX Ace primarily is limited to the resolution 640x480. So going to MV is better in that respect, but then you have to remember that MV and MZ are Javascript, which makes learning ruby useless. except for the programming principles.
 

PeachyGlitch

Villager
Member
Joined
Dec 2, 2022
Messages
9
Reaction score
7
First Language
Spanish/French
Primarily Uses
RMXP
So going to MV is better in that respect, but then you have to remember that MV and MZ are Javascript, which makes learning ruby useless. except for the programming principles.

That is very interesting. I didn't know that RMMV and RMMZ use Javascript. There are plenty of tutorials for Js and it's an "important" language, from what I understand. Several people have recommended that if I have to learn a language, it should be that one.
 

kyonides

Reforged is laughable
Regular
Joined
Nov 17, 2019
Messages
1,885
Reaction score
960
First Language
English
Primarily Uses
RMXP
If you can afford to, I'd definitely recommend it. XP is pretty ancient at this point and even though it has one of the best mapping functions of the series it has a number of quirks and bugs that make it a slog to work with, particularly the bug that only lets you enter 3 lines of text per message unless you bulk enter them, and then you can't go back and edit 4-line text afterwards because the 4th line doesn't display. I couldn't go back to XP now, I only have it to complete my collection.
Just as a curiosity, that bug disappears if you run it on Linux via Steam's Proton emulation. Weird right?

@PeachyGlitch who knows? Now that WebAssembly exists, that might change things on what language to use online.

MV depends heavily on prototyping functions, which is not a good design. It happens because it follows the ES5 standard. At least in ES6 you get simple class inheritance, like just for 1 class IIRC.

As a side note, in Ruby a class can have multiple superclasses alias parent classes but only if they belong to the same family. There is no multiple inheritance from classes with different origins. You use mixing alias modules instead. They are similar to C++ namespaces.
 
Last edited:

Trihan

Speedy Scripter
Regular
Joined
Apr 12, 2012
Messages
6,815
Reaction score
7,804
First Language
English
Primarily Uses
RMMZ
Just as a curiosity, that bug disappears if you run it on Linux via Steam's Proton emulation. Weird right?

@PeachyGlitch who knows? Now that WebAssembly exists, that might change things on what language to use online.

MV depends heavily on prototyping functions, which is not a good design. It happens because it follows the ES5 standard. At least in ES6 you get simple class inheritance, like just for 1 class IIRC.

As a side note, in Ruby a class can have multiple superclasses alias parent classes but only if they belong to the same family. There is no multiple inheritance from classes with different origins. You use mixing alias modules instead. They are similar to C++ namespaces.
Huh, that is actually super interesting.
 

Arthran

Regular
Regular
Joined
Jun 25, 2021
Messages
1,209
Reaction score
1,861
First Language
English
Primarily Uses
RMMZ
While I personally recommend just switching to MZ, I will mention another option. If you use mkxp-z, then you can actually use RGSS3 in RPG Maker XP. That way you can keep using the editor that you're comfortable with, but you can use the better documented version of RGSS. It would also have the benefit of improving your performance, and also unlocking the Ruby 3 standard library (so that any Ruby books you find will be more applicable). If you're interested, I've written an explanation of how to add it to your project here.

Several people have recommended that if I have to learn a language, it should be that one.
Even though I've been known to thumb my nose at JavaScript from time to time, I will admit that that's probably a fair statement. It's a handy language to know this day and age.

MV depends heavily on prototyping functions, which is not a good design. It happens because it follows the ES5 standard. At least in ES6 you get simple class inheritance, like just for 1 class IIRC.
ES6 classes are just syntactic sugar that still convert to function prototypes under the hood. There is no functional difference between the two--it's just a matter of whichever way you think looks prettier or more readable or whatever.
 
Last edited:

MaryMarryMe

Warper
Member
Joined
Mar 23, 2023
Messages
2
Reaction score
0
First Language
English
Primarily Uses
RMMZ
Hi! Thanks for sharing your recommendation on alternative options since I prefer sometimes to stick with the editor I'm comfortable with. Speaking of your insight on JavaScript and ES6 classes, I'm actually curious - what other languages or frameworks do you recommend for someone looking to expand their coding skills beyond RPG Maker?
 
Last edited:

Latest Posts

Latest Profile Posts

Kes
You have no idea how much time I spent last night trying to get a Santa hat to fit on my avatar's head. Failure. Head's too small.
I realized recently since my game is still a turn based game, that something like the card game Yomi is a lot closer to what I should try to aim for combat wise. Should also help for those who don't really play fighting games to make things a bit easier to understand. ugh the struggles of trying to show love for my 2 favorite genres in 1 go lol.
Did a bit of work on the chemistry tiles I want.

Hey There!


QPcure.png

My next plugin will be: "Dynamic Temperature Stats"

Now you might be wondering... What does it do?

Well, it's a fascinating plugin that adds a body temperature mechanic to characters.

(MORE INFO ⬇️)
Holy crap, it's cold. Our heat went out this morning and the repair guy won't get the part needed to fix it at least until tomorrow. Had to be now of all times, when we have stuff to do all week and it's the coldest night of November so far.

Forum statistics

Threads
136,561
Messages
1,267,583
Members
180,244
Latest member
buttermequeasy334
Top