1. So creating a variable is creating an object? So a variable is a type of object? Am I using the right word in saying "creating" or should it be something else?
Yep, "create" is a common term in that context. Another possibility is "declare". I think "create" is more common, but the meaning remains intact, use whichever terms you prefer~
2. So Game_CharacterBase() is a variable? It was created beforehand by someone else?
Game_CharacterBase is a variable whose value is an object, it's defined in the base code;
Game_CharacterBase() is a function used to initialise the properties of new instances of that object's prototype:
Code:
function Game_CharacterBase() {
this.initialize.apply(this, arguments);
}
new Game_CharacterBase() is a special statement that tells the game to create a
new object using
Game_CharacterBase as the prototype. The result is a new variable (distinct from
Game_CharacterBase) whose value is an object.
3. What kind of function is (d)? I'm using to seeing numbers and strings there. What is d in this context? It's a value? In this case? What value does it refer to?
Here,
d is a "function input", or more formally a "function parameter" or "function argument". It is a variable used inside the function, and its value is assigned when the function is called. For example:
Code:
$gameMap.event(1).moveStraight(4);
This calls the
moveStraight function of the specified event with
d = 4. Incidentally, the same principle is used with the
event function here: we pass the value 1 into the function so that it'll return the
Game_Event object for event ID 1. The result: event 1 will try to move one step to the left. (Directions are based on a standard numpad layout: 2 is down, 4 is left, 6 is right, 8 is up.)
4.
I don't understand this sentence despite having read it multiple times. I'm sorry

. So everything an object then? A variable is an object, a variable is an object? I didn't understand the car analogy either

.
Some value types are called "
primitive": you've outlined the common ones in your Review section. Everything else is an object!
5. So rpg_objects.js is just a file then. What do you mean it's split into separate files? What kind of files are contained into rpg_objects.js?
Ah, I should have been clearer there. I meant that the game code is split into files, and
rpg_objects.js is one of those files.

You can easily open a project's folder through the editor by going to
Game > Open Folder from the menu bar; from there, you can find all the code files (including
rpg_windows.js,
rpg_managers.js, etc) in the
js subfolder.
6. I don't understand this either. I thought rows and columns were values. Then I'd later on change those values to numbers in order to call the function to get a result. What's a function input then? I really need to get that vocabulary sorted out in my head.
I think I've caused confusion by being too technical. A variable has a name, a.k.a. key, by which it is referred in code (e.g. "rows"); it also has a value assigned to it (e.g. 5). Function inputs are basically just variables used within a function, I mentioned them earlier in this post.
7. Regarding your next paragraph, it's like GameCharacterBase (why don't you use camel casing here? Should the "g" be in smallcaps?) is the tree. Prototype is a branch and moveStraight is an extension of the prototype branch. It's sort a main folder with a subfolder which has another subfolder inside it. Why do you say property/function? Are they interchangeable in terms?
Yes!
Game_CharacterBase is defined in the default code, so we're just using the name it's been given. It's a common modern programming standard to name classes in
PascalCase and objects (i.e. instances of those classes) in
camelCase, cf.
Coding style (MDN). You can name stuff whatever you like, though, as long as it's not a
reserved keyword.
Technically speaking, like variables, a property has a key (a.k.a. name) and a value; that value may be a function.
I'm still reading on inheritance, your message about it. I don't understand it but I'll keep reading about it.
I wouldn't worry about it too much, I don't understand it all that well either! Unless you want to start making entirely new scenes/windows etc rather than just modifying the existing ones, you'll probably never have to use the concept.
8. Suppose I wanted to change the way the battles are in my little project. I would need to do just like you suggested that I do with the bouncing script. I would need to find how it's already handled by the library and modify what's there to suit my needs.
Yes! I would suggest experimenting with smaller-scale things first, though; RMMV's battle system is somewhat notoriously convoluted (
Scene_Battle,
BattleManager, various windows, etc).
