What was learning JavaScript like for you? And where are you with it now?

WingedHares

Veteran
Veteran
Joined
Apr 19, 2021
Messages
68
Reaction score
182
First Language
Gibberish
Primarily Uses
RMMZ
Long story short, I'm trying to learn JavaScript since I realize I can't always rely on others to do the programming / scripting part for me. I use MZ and I need quite a lot, so yeah, can't expect anyone to be loyal enough to work with me long-term.

No matter how kindly I treat them nor how much money I pay them, I still risk some flaking anyway. Ain't good for my poopy mental health :'3

So here I am~
But it's all so overwhelming and intimidating, you know? Learning something entirely new and different from scratch. Especially when my brain isn't exactly neurotypical. +100 to the pain x'D

So yeah, mostly wanna hear some uplifting experiences, I suppose. To keep me motivated. But struggles and such are welcomed too, so I won't see learning it with a rose-tinted glasses, lolol.

Thank you! :kaojoy:
 

ShadowDragon

Realist
Veteran
Joined
Oct 8, 2018
Messages
6,022
Reaction score
2,356
First Language
Dutch
Primarily Uses
RMMV
I struggle alot too with JS, but I try to make plugin as I learn it.
it isn't always easy, but as I do it as hobby, it takes ALOT of time.

my ULS system a pain, specially the window and drawing information,
same with my MC plugin, but it is working.

you can learn the basic from some tutorials that make them and how
to understand them as well using a plugin and see how it is written.

and figure out what function does what and how and when.
that is also a bit how I learn the basics as well, but I need to constant
re-read my own code and improve/extend where I was left because
in a way I am.

learning JS is really difficult for me, for others easier, and you can know
most basic JS within 2-4 month, to learn the entire engine JS and the
core script what they does can be more time consuming, but also
depening what kind of function you seek and do-able for a beginner.
 

Johnny_Ray

Also known as Toby Yasha
Veteran
Joined
Sep 11, 2019
Messages
166
Reaction score
242
First Language
English
Primarily Uses
RMMZ
I personally consider myself at an intermediate level currently, and i agree with the fact that jumping right to engine's guts, so to speaks, can make it look harder than it seems but that's only because you are looking at the code with a beginner's eyes.

I'm not saying i can't make sense of everything in the code of course but the more i learn javascript the more sense it makes, at first when i started using the engines i was heavily making use of plugins and what the engine had to offer, wanting to do more fancier stuff i delved into yanfly calls "Lunatic" code where you use some of the engine's code or that of yanfly's, simple enough to understand after a while.

But eventually i wanted to go even more complex and that's when i made a custom skill tree inside a common event using switches, variables, a few plugins, it wasn't the best looking "code" behind the scenes but hey, it worked and that's what mattered to me. Afterwards i posted the skill tree on reddit on someone liked it enough to ask me to make one for them and that's when it started for me, that's when i started going a bit deeper than before, i started using arrays and some of it's functions, it turned out even better than my first attempt at the skill tree, even before going full into javascript.

Fast forward a little forward and i wanted to make an auto-battler game and i started messing with JSON and javascript, can't say i got very far but i learned a bit how to use functions and at the same time i tried to get as far as possible from plugins, or better said, use less and make my own.

Can't say i got far with the initial idea of the game but it helped a bit in learning how to really use javascript and how to make a game inside a plugin so to say, after i didn't like this idea i went into a gamejam, clueless but not totally, sadly i didn't make it to the deadline and i'm still continuing working on this game months after the jam's been over but in this period (start of the year until now) i learned a lot about javascript and how to make a game with my own custom code, mind you that i didn't use the engine's code in doing so as it feels easier to understand something you make rather than trying to make sense of someone else's code, in a sense i feel like i'm making a game into a custom engine if i exclude some important plugins like the hudMaker, pictureCallCommon, Dtext,etc.

A site which helped in my learning experience was https://www.w3schools.com/js/default.asp as you can try to code stuff and see if you understood what the code does.

Not sure how much of what i've written makes sense to you but i hope it gives you an idea or two on how to tackle programming.

PS, almost forgot about this one, i also tried messing with the code of plugin makers to make some basic plugins and understand how they work.
 

Mike-Turtle

Veteran
Veteran
Joined
Apr 17, 2021
Messages
91
Reaction score
191
First Language
English
Primarily Uses
RMMV
I started learning JS about four/five years ago to make a game on MV. At the time I only had rudimentary knowledge of Ruby and Python scripting.

At the start, I thought I'd never get very good. Partly because it seemed intimidating, and partly because I'm dyslexic.

Today: My real job is working with JS, HTML, and CSS. I still use JS on making games. Our team's latest, Desktopia, shows off some of the things you can accomplish using JS/HTML on RMMV.

Advice: just start writing code. Anything. I started by simplifying some of the annoying frequently used Math. functions so as to simplify them for my dyslexia. Example: I use random numbers a lot so my very first function was this:

Code:
function rando(r) {
    return Math.floor(Math.random()*r)
}

I've never written the whole thing since :D
 

Arthran

Veteran
Veteran
Joined
Jun 25, 2021
Messages
515
Reaction score
497
First Language
English
Primarily Uses
RMMZ
For me, learning JavaScript entailed spending like half an hour reading about it at W3Schools, and then I just sorta jumped in and started writing code. When I had questions, I'd just pull up Google on my second monitor and find answers. At this point, I think I'm reasonably adept at JavaScript.

I don't know that my experiences are really helpful to you though, because I was already pretty comfortable in 9 programming languages and a few scripting languages before I decided to learn JavaScript. So I didn't need to learn any programming concepts--I just needed to familiarize myself with JavaScript's quirks and syntax, neither of which were particularly foreign to me.
 
Joined
Dec 16, 2017
Messages
338
Reaction score
1,418
First Language
English
Primarily Uses
RMMZ
I started learning JS about 5 years ago as well. Before that I'd worked with some simple HTML/CSS. When I was a kid I had learned BASIC, which was actually kind of a huge impediment to understanding JS conceptually. At this point I'd consider myself the lower half of intermediate. It's my favorite part of the dev process, and the only reason I don't focus on it more is that it's hard for me to find four straight hours to devote to it. Tilesets I can work on piecemeal, but it takes me a while to get into flow with coding.

The main thing is to keep pushing when you reach an obstacle. Sometimes you'll be totally stumped on how to do something to the point of frustration/rage, and then you'll have a dream about how to solve the problem or you'll just wake up in the middle of the night with a sudden understanding of the answer. Those moments make all the pain of the frustration worth it.
 

ATT_Turan

Forewarner of the Black Wind
Veteran
Joined
Jul 2, 2014
Messages
5,031
Reaction score
3,195
First Language
English
Primarily Uses
RMMV
You don't really say anything about how you're trying to learn, so it's hard to offer any helpful commentary on that.

I will say this - I have found most people have a hard time trying to learn a coding language in order to work with a game's codebase. That's like trying to learn piano in order to get through Für Elise - trying to jump into something complicated without stepping up to it is very difficult and frustrating.

Like Arthran, my experience of learning JavaScript consists of Googling functions or bits of syntax that I don't recognize. But I spent two years taking classes in high school following an educational methodology to code in C++, so JavaScript is nearly identical to that.

I suggest, if you're not already, following tutorials (I second Arthran's suggestion of w3schools, starting with the Statements chapter), preferably interactive ones, or even taking an actual class. That should introduce you to concepts in a logical, progressive way.

Once you learn in a fundamental way, you'll understand what you're looking at and trying to do in RPG Maker. Just like once you've taken piano lessons following a method book for a few years, you would understand how to learn Für Elise.
 

WingedHares

Veteran
Veteran
Joined
Apr 19, 2021
Messages
68
Reaction score
182
First Language
Gibberish
Primarily Uses
RMMZ
Thank you so much for sharing your experiences, everyone! Much appreciated~ For the advices as well :kaoluv:

You don't really say anything about how you're trying to learn, so it's hard to offer any helpful commentary on that.
Not really looking for one actually, so I was pleasantly surprised to get a few advices xD

Mostly just need a boost in motivation and to not feel so alone, yeah. I'm already doing a bit( a lot? ) of scripting in editor thanks to a few plugins ( the plugin commands make things look too bulky for my taste, so I just do the scripts ). I understand a bit of code language from that + just looking up JS vids in the past on and off out of curiosity, lol, so I get a lot of what you guys are saying, thankfully :D

Not saying I don't need advice ( especially since just scripting and actual JS are probs rather different, lol ), but I guess I didn't want the topic to stray from you guys' experiences? Whatever it was, it just wasn't on my mind when I made the topic, so whoops xD

Currently, I'm just trying to learn the fundamentals. I'm a visual and audio learner, so I follow tutorials on YouTube. Would enroll in a class, but tight budget, so, lmao. Beggars can't be choosers :kaoblush:

It's been interesting and fun so far. Kind of refreshing to be learning again since I've already gotten quite advanced in most of the skills I have :D

I guess my biggest stressor right now is how to apply everything and make plugins for RMMZ + bugfix the plugins that have been left behind, lol ( which admittedly are what make it all so intimidating and overwhelming to me ), especially since there's not a lot of JS MZ vid tutorials out there. I see some text ones floating around tho, so yeah, will definitely look into them. Once again, beggars can't be choosers xD

Will be looking into you guys' recommendations as well! :kaojoy:

But yeah, I'll leave the stressor for later ( I seriously got too far ahead with myself there, lol ) and just focus on the fundamentals for now ^w^)b

Thanks again, everyone! I shall do my best :kaoluv:
 

Arthran

Veteran
Veteran
Joined
Jun 25, 2021
Messages
515
Reaction score
497
First Language
English
Primarily Uses
RMMZ
Currently, I'm just trying to learn the fundamentals. I'm a visual and audio learner, so I follow tutorials on YouTube.
This is just my opinion, but I personally wouldn't rely on videos to try to learn programming. Programming isn't really an "audio and visual" type of activity--it's staring at a bunch of text, and typing a bunch of text, for hours on end--so you're probably going to have to get used to being able to concentrate on text.

But more importantly, when you're learning programming, you're going to want to look at ample amounts of sample code that demonstrates the various concepts that you're learning. You're going to want to be able to scroll up and down, to reference various parts of the sample code, and you're going to want to be able to go at your own pace to absorb it and make sense of it. You're also probably going to want the ability to easily go back and look at previous examples, either as reference for when you're writing your own code, or to answer new questions that might pop up into your head as your level of knowledge and understanding grows. You also would benefit from having the ability to test out the sample code yourself, and tweak things and learn from it.

You can't do any of that stuff when you're watching a video, because the video is dictating your pace, and what code you're able to see at any given time. The video is generally not going to be able to show the full amount of sample code at one time, and you won't have the ability to easily scroll around to check out various parts as you need to. You won't be able to take your time absorbing and understanding the code. You won't be able to go back and reference early parts of the example, or earlier examples. You won't be able to test out the code yourself (unless you're typing it along with the person). You'll probably too busy focusing on what the person is saying, so you won't have the freedom to come up with your own thoughts and explore your own questions about stuff. Frankly, I just think that video is a terrible format to teach something like this.

Even if you do take an actual course, you're not just going to be staring at a person while they type stuff into an editor. The majority of your learning is still going to come from reading on your own, and typing code on your own. I took 2 years of C++ and 1 year of Java while I was in High School. Then I proceeded to major in Computer Science in college. So needless to say, I've taken my fair share of programming courses. And you know what? There wasn't a single one where I wasn't required to go home and read a text book on my own every night. In some of the courses, I was also required to type every code example from every chapter. And in pretty much all of the courses, I was periodically required to do some type of "lab", where I was given a problem and some guidelines, and had to write a program that solved said problem within the bounds of said guidelines. Really, the teacher's main role is just to be there to force me to do all of those things, and to check my work afterward.

Also, you don't need to be looking for MZ-specific tutorials, until you're comfortable with JavaScript itself. There is no tutorial that will be able to teach you all of the knowledge that you need in order to effectively write plugins. To be able to write plugins effectively, you're going to need enough JavaScript proficiency to be able to go through the engine's source code, find the parts that are relevant to the type of plugin that you want to make, and understand them well enough that you can figure out how you need to change them.
 
Last edited:

Mike-Turtle

Veteran
Veteran
Joined
Apr 17, 2021
Messages
91
Reaction score
191
First Language
English
Primarily Uses
RMMV
Just to amend @Arthran 's point: I found videos extremely helpful when learning. You might want to try the Khan Academy Series. They are free. As another audio/visual learner found it fantastic to have someone explain a concept before I had to jump into it. They give great examples and give you an opportunity afterwards to write some code.

Also, as an A/V learner you should download Sublime Text editor, another free resource. It's beginner friendly, colorful, and has some neat features that help you navigate through all your open files.
 

ATT_Turan

Forewarner of the Black Wind
Veteran
Joined
Jul 2, 2014
Messages
5,031
Reaction score
3,195
First Language
English
Primarily Uses
RMMV
there's not a lot of JS MZ vid tutorials out there.
That's kind of what I (and I think a few others in the thread) are getting at. Trying to say "I'm going to learn to code for RPG Maker MZ" is a harder/inefficient/incorrect approach.

There is no "beginning point" for MZ, the entirety of it is professionally-written code, so you're not going to find any learning progression in it. That has to be done in your tutorials outside of MZ. Even the simplest thing you might do to augment your project in MZ is going to be several lessons in whatever schooling you have.

The idea is to say "I've learned JavaScript as a language," at which point you can just read what's in the files in MZ's js folder and understand what's going on. There's nothing inside of MZ's code that is somehow specific to MZ, so there's generally not any reason to make a JS MZ tutorial. If you understand how to read and use variables, functions, loops, etc. you can see what's going on in there.

That all being said, I know Trihan has a "Jump Into JavaScript" for MV which is generally similar/the same, and I think he also did some streaming coding on his Twitch. Again, that's not really for actually learning how to code level...it presumes that you know what he's talking about in regards to data structures and functions and just explains what various methods do without you having to piece your way through.
 

WingedHares

Veteran
Veteran
Joined
Apr 19, 2021
Messages
68
Reaction score
182
First Language
Gibberish
Primarily Uses
RMMZ
This is just my opinion, but I personally wouldn't rely on videos to try to learn programming. Programming isn't really an "audio and visual" type of activity--it's staring at a bunch of text, and typing a bunch of text, for hours on end--so you're probably going to have to get used to being able to concentrate on text.

But more importantly, when you're learning programming, you're going to want to look at ample amounts of sample code that demonstrates the various concepts that you're learning. You're going to want to be able to scroll up and down, to reference various parts of the sample code, and you're going to want to be able to go at your own pace to absorb it and make sense of it. You're also probably going to want the ability to easily go back and look at previous examples, either as reference for when you're writing your own code, or to answer new questions that might pop up into your head as your level of knowledge and understanding grows. You also would benefit from having the ability to test out the sample code yourself, and tweak things and learn from it.

You can't do any of that stuff when you're watching a video, because the video is dictating your pace, and what code you're able to see at any given time. The video is generally not going to be able to show the full amount of sample code at one time, and you won't have the ability to easily scroll around to check out various parts as you need to. You won't be able to take your time absorbing and understanding the code. You won't be able to go back and reference early parts of the example, or earlier examples. You won't be able to test out the code yourself (unless you're typing it along with the person). You'll probably too busy focusing on what the person is saying, so you won't have the freedom to come up with your own thoughts and explore your own questions about stuff. Frankly, I just think that video is a terrible format to teach something like this.

Even if you do take an actual course, you're not just going to be staring at a person while they type stuff into an editor. The majority of your learning is still going to come from reading on your own, and typing code on your own. I took 2 years of C++ and 1 year of Java while I was in High School. Then I proceeded to major in Computer Science in college. So needless to say, I've taken my fair share of programming courses. And you know what? There wasn't a single one where I wasn't required to go home and read a text book on my own every night. In some of the courses, I was also required to type every code example from every chapter. And in pretty much all of the courses, I was periodically required to do some type of "lab", where I was given a problem and some guidelines, and had to write a program that solved said problem within the bounds of said guidelines. Really, the teacher's main role is just to be there to force me to do all of those things, and to check my work afterward.

Also, you don't need to be looking for MZ-specific tutorials, until you're comfortable with JavaScript itself. There is no tutorial that will be able to teach you all of the knowledge that you need in order to effectively write plugins. To be able to write plugins effectively, you're going to need enough JavaScript proficiency to be able to go through the engine's source code, find the parts that are relevant to the type of plugin that you want to make, and understand them well enough that you can figure out how you need to change them.
Thank you! All accounted for! I follow along with the person, ofc, and change things, like the words they use, etc, so it would be an act of active learning :D

If I just watch and listen, I'll fall asleep for sure, lmao.

My current process goes like this;
Focus on what they say regarding one part > pause > then try to replicate it with memory alone + add my own flair. If I get an error, I'll scroll up on my code and figure out on my own what I did wrong ^v^)b

Ofc, I'm not gonna rely on videos alone, especially when resources can get pretty slim on some parts. But I figured since I'm new to this, I should learn in the way most comfortable and fun for me first.

After all, if I get stressed out, bored, overwhelemed, etc, and stop, what's the point then?

People learn in all sorts of ways too. And so far? This works best for me and I'll think about the rest once I've aced the modest goal I've set out for myself; understand the fundamentals by heart :kaoluv:

Sidenote: I'm not new at staring at a bunch of code either, lol. The way I event right now is pretty script heavy. Scrolling wayyyyy up and down to fix my mistakes aren't new. Going dayyys on end to problem solve isn't new. Ofc, it's nothing compared to actual coding, but.

Heck, JS code right now looks rather pretty compared to that with all the colors and better organization x'D

I'd never thought I'd say this, but; I feel quite right at home with coding. Idk why. Maybe it's the hard rules. Certainty. Like, as long as I come to understand what's going on, I'll be able to problem solve whatever it is and make whatever I want.

Definitely a welcomed change from art and writing, where everything is quite malleable and mired with uncertainty.

So yeah, no matter the frustrations, I think I'll manage and I'm excited to see what I can do with it in the future :kaojoy:

Dang, if only I can go back in time and tell my younger self to just LEARN CODING! He was curious, interested, but scared. And hey, turns out? I haven't been bitten clean off yet. Just gnawed and scratched and pounced across the head, like a little kitten eager to play. And if you engage wholeheartedly? It'd be a worthwhile experience :kaoluv:

Lol, if I sound optimistic and romantic, remember; I'm an artiste! :kaohi:I swear I've thought about all the bad things that could happen because anxiety is wack like that, lmao. But yeh, not gonna stop me. NOT ANYMORE. WHEN I'VE NOW COME TO LEARN THE BEAUTY OF CODING :kaosalute::kaopride:

Just to amend @Arthran 's point: I found videos extremely helpful when learning. You might want to try the Khan Academy Series. They are free. As another audio/visual learner found it fantastic to have someone explain a concept before I had to jump into it. They give great examples and give you an opportunity afterwards to write some code.

Also, as an A/V learner you should download Sublime Text editor, another free resource. It's beginner friendly, colorful, and has some neat features that help you navigate through all your open files.
This exactly! Thank you so much! I'll check them out! :kaojoy::kaoluv:

That's kind of what I (and I think a few others in the thread) are getting at. Trying to say "I'm going to learn to code for RPG Maker MZ" is a harder/inefficient/incorrect approach.

There is no "beginning point" for MZ, the entirety of it is professionally-written code, so you're not going to find any learning progression in it. That has to be done in your tutorials outside of MZ. Even the simplest thing you might do to augment your project in MZ is going to be several lessons in whatever schooling you have.

The idea is to say "I've learned JavaScript as a language," at which point you can just read what's in the files in MZ's js folder and understand what's going on. There's nothing inside of MZ's code that is somehow specific to MZ, so there's generally not any reason to make a JS MZ tutorial. If you understand how to read and use variables, functions, loops, etc. you can see what's going on in there.

That all being said, I know Trihan has a "Jump Into JavaScript" for MV which is generally similar/the same, and I think he also did some streaming coding on his Twitch. Again, that's not really for actually learning how to code level...it presumes that you know what he's talking about in regards to data structures and functions and just explains what various methods do without you having to piece your way through.
Thank you so much! Yeah, I'm just gonna focus on general JavaScript stuff for now and do JS practice projects until I'm confident enough to tackle MZ~

And I had an inkling that was the case, but wasn't sure exactly, so thank you for clarifying that any JS stuff would be useful for MZ! :kaoluv:

I had the misconception due to there being MV or MZ only scripters, so yeah, I thought they were different somehow, but turns out it had nothing to do with the language itself, lol. Glad to know! :D
 

ATT_Turan

Forewarner of the Black Wind
Veteran
Joined
Jul 2, 2014
Messages
5,031
Reaction score
3,195
First Language
English
Primarily Uses
RMMV
I had the misconception due to there being MV or MZ only scripters, so yeah, I thought they were different somehow, but turns out it had nothing to do with the language itself, lol. Glad to know! :D
There's a fairly small portion of the engine's code that changed between MV and MZ. So people who only write plugins for one of them simply don't have the interest in reading the code for an engine they don't use to learn the changes. JavaScript is JavaScript.
 

Latest Threads

Latest Profile Posts


Krow and Dova's Cool New Game | Release Trailer

Launch trailer!
Here is an work in progress (unfinished as of now) Music Album i'm making:


The songs are entirely made with this site:


Please tell me what you think about each song!
The game's already out there. Now what?

Forum statistics

Threads
124,576
Messages
1,164,511
Members
163,401
Latest member
ComfiCouch
Top