RPG maker MV Battle system

Shannonburnum

Villager
Member
Joined
Dec 20, 2017
Messages
21
Reaction score
0
First Language
english
Primarily Uses
N/A
How do I create a battle system similar to the PSP game Mimana Iyar chronicles, I could use a lot of help on this, but I'd like to know where to start.
 

MushroomCake28

KAMO Studio
Global Mod
Joined
Nov 18, 2015
Messages
3,729
Reaction score
4,685
First Language
English
Primarily Uses
RMMZ
I don't know that game, but the first question is: do you know how to code?
 

bgillisp

Global Moderators
Global Mod
Joined
Jul 2, 2014
Messages
13,528
Reaction score
14,261
First Language
English
Primarily Uses
RMVXA

I've moved this thread to Learning JavaScript. Please be sure to post your threads in the correct forum next time. Thank you.



You start by learning how to code in Javascript. And if you are wanting to do this for the IGMC, forget it. You'll need months to learn enough to code your own battle system.
 

Shaz

Veteran
Veteran
Joined
Mar 2, 2012
Messages
40,108
Reaction score
13,713
First Language
English
Primarily Uses
RMMV
I suggest you pick something slightly easier to learn with. The battle system is one of the most difficult/complex systems, and you want to make it even more difficult/complex. You need to learn to crawl, then walk, then run, in that order.
 

TheoAllen

Self-proclaimed jack of all trades
Veteran
Joined
Mar 16, 2012
Messages
5,599
Reaction score
6,552
First Language
Indonesian
Primarily Uses
RMVXA
I don't do JS code for MV. But I did create my own in Ace. The tip I could give it to you is first learn how to code. After learn how to code, start to make whatever plugin you have in mind. If you want to create something that is already been create by someone else, then do it in your own version. People often said don't reinvent the wheel. But reinventing helps you to learn how and why it's been designed that way.

The plugins you're making may not directly related into making a battle system. But it can helps you to learn tricks one, two, or even more. And by the time you know at least 70% ~ 80% of the MV default code, you're good to go. You will also have lot of tricks under your sleeve to deal with battle system complexity.

TLDR: It's exactly what Shaz said
 

Shannonburnum

Villager
Member
Joined
Dec 20, 2017
Messages
21
Reaction score
0
First Language
english
Primarily Uses
N/A
I suggest you pick something slightly easier to learn with. The battle system is one of the most difficult/complex systems, and you want to make it even more difficult/complex. You need to learn to crawl, then walk, then run, in that order.
The whole crawl, walk, run, thing is precisely why I want to do this battle system first, once I've gotten "it" out of the way everything else will be easier in comparison and because of that I won't feel as eager to slow down or stop, besides this is more on the subject of how to make a battle system, what does the code look like when its constructed, if I can find that out this whole process, though still difficult, will become a more manageable task, instead of some large brawly monster, you know what I mean?
 

Shannonburnum

Villager
Member
Joined
Dec 20, 2017
Messages
21
Reaction score
0
First Language
english
Primarily Uses
N/A
I don't do JS code for MV. But I did create my own in Ace. The tip I could give it to you is first learn how to code. After learn how to code, start to make whatever plugin you have in mind. If you want to create something that is already been create by someone else, then do it in your own version. People often said don't reinvent the wheel. But reinventing helps you to learn how and why it's been designed that way.

The plugins you're making may not directly related into making a battle system. But it can helps you to learn tricks one, two, or even more. And by the time you know at least 70% ~ 80% of the MV default code, you're good to go. You will also have lot of tricks under your sleeve to deal with battle system complexity.

TLDR: It's exactly what Shaz said
While I appreciate the advice, the word "tricks" bothers me, I don't want to learn a round-about way of dealing with the issue, I need to tackle it head on, answer me this, are the codes for a characters "animation" the same as the codes for a characters "Free motion" on the battle field?
 

Shaz

Veteran
Veteran
Joined
Mar 2, 2012
Messages
40,108
Reaction score
13,713
First Language
English
Primarily Uses
RMMV
If you really, really want to tackle one of the most difficult plugins as your first task, while you're still learning to program and learning the engine, you're going to find yourself quite alone. If you look through the script/plugin requests forums at all of the "please make me XYZ battle system" requests, see how many of them are answered. Most are not. If those experienced with coding and with the engines don't have enough time to invest in making a battle system, they're not going to want to spend even more time helping someone else who knows nothing about the engine or JavaScript, who will need hand-holding the entire way.

answer me this, are the codes for a characters "animation" the same as the codes for a characters "Free motion" on the battle field?
No, they are not. If this is too hard for you to find out on your own, you have a long, steep climb ahead of you.

I can see you're going to insist on continuing, even though everyone with any kind of experience is advising against it. I wish you luck, but I won't be providing any assistance.
 

Andar

Veteran
Veteran
Joined
Mar 5, 2013
Messages
31,431
Reaction score
7,712
First Language
German
Primarily Uses
RMMV
The whole crawl, walk, run, thing is precisely why I want to do this battle system first, once I've gotten "it" out of the way everything else will be easier in comparison
I'll give you another comparison:
"I'll want to run the olympic triathlon, because once I can run that it will be much easier to simply swim, run or bike after that".
Yes, after you succeed in the olympic triathlon everything else will be simpler.
Unfortunately the olympic triathlon is not something anyone can succeed in without first learning smaller parts.

Or in other word: before you can run a 100km marathon as another example you should train to finish the 10km marathon.

In this comparison the battlesystem is the 100km marathon, and the others gave you the advice to first run the 5 km marathon an then the 20km marathon before trying to tackle the 100 km range.

Or as another comparison: you cannot learn quantum physics without learning mathematics first, and it's easier to learn mathematics without looking at quantum physics the entire time.
 

TheoAllen

Self-proclaimed jack of all trades
Veteran
Joined
Mar 16, 2012
Messages
5,599
Reaction score
6,552
First Language
Indonesian
Primarily Uses
RMVXA
the word "tricks" bothers me, I don't want to learn a round-about way of dealing with the issue, I need to tackle it head on
Certainly you don't know what I mean by "tricks". It isn't round-about dealing with the issue, although you could call it like that at the same time. Maybe you thought it was about "I can't do that, so let's do this instead". If so, well no. Coding / programming has many "tricks" that would actually help you than if you tackle it "head on".

To give you an example, one of the common trick is about refreshing window content. Suppose you were trying to create a HUD window that display variable on map. It sounds cheap, but if you do it wrong, you might be confused as for why the window is not refreshing the value. Then you "tackle it head on" by refreshing the HUD window for every frame. Another problem arises, because it's refreshing every frame, one window addition could cause massive lag. So the "trick" is to only refreshes it when the value of the variable changed. Displaying variable HUD on map sounds cheap, but even with that, it could be confusing for beginner scripters how to do it right.

Example above might have nothing to do with doing battle system. But you could learn how to code properly. What to do and what not to do. If you're hitting right to make battle system, you will have a poorly written code, and why these and those doesn't work. You might also do something you weren't suppose to do. And if you asked people what's wrong with your poorly written code, people may say "Well, everything" (which I think it's why shaz said she doesn't want to provide assistance).

once I've gotten "it" out of the way everything else will be easier
When the first time I learned to code, I had a dream to create my own battle system as my end goal (and I did it). So you're pretty much as the same boat as I used to be. But, instead of tackle head on to battle system, I learned everything that helped me to create battle system.

To give you an example (again), I wanted to have moving sprites. So what I need to know? I need to know how to display sprites. After that, how to move the sprite coordinate? I need to change x and y properties. But, how I could make it move from point A to point B within x frames? Well, I need to know the linear function, etc.

if I can find that out this whole process
To find out the whole process, you need to know tiny bits of the knowledge. Maybe you need to know how to manipulate arrays. Maybe you need to know how to manipulate hashes. Maybe you need to know more about abcd ...

Knowing the process itself is not enough. Maybe you know the process but then you stumbled upon "I have no idea how to change these". Which that backs again you're lacking of experience to do so. Maybe to change the process, you need to manipulate something, and this something was never been an example of default battle system code or even the whole default code. This is what I called "tricks". You learn this by making unrelated plugins and that is not only about battle system.

However, if you're still insisting to do so. No one is stopping you. Maybe you will learn a different experience than most of us.
 

MushroomCake28

KAMO Studio
Global Mod
Joined
Nov 18, 2015
Messages
3,729
Reaction score
4,685
First Language
English
Primarily Uses
RMMZ
As my colleges here all unanimously say, you should learn coding by tackling smaller and easier tasks first. The marathon example and the quantum physic example are spot on. A battle system isn't a single task to code, but rather an assembling of many tasks all coordinated in harmony. You'll need to be able to play with HUD, sprites, animations, damage formulas, screen effects, battle logic, etc.

When I create a battle system, I pretty much have everything sorted in my head. I know exactly how I will execute each task. The simple fact that you are asking if the moving animation is the same as on the battlefield reveals that you are not ready to create a battle system on your own from scratch.

We realize that you won't budge no matter what we say. So my suggestion is to tackle other tasks of your game first. Surely your game will need a menu, maybe a mini-map, a quest system too perhaps? I highly suggest you leave the battle system for the end. And like @Shaz said, all the request for battle systems on the forum are unanswered, and for a reason. We coders can help people if it's a simple question like "why isn't my cursor moving in x window", but we won't spend hours on questions simply too broad or too big.

Finally let me tell you a little story. The first time I code a battle system, it was in RPG Maker VX. It never got finished, because it was so buggy, optimization was terrible, and it was crashing the game after one turn (the second time an actor attacked). So I deleted my battle system and started a second one. It was better, but still not what I was looking for. It was working this time, but it wasn't the battle system of my dreams, the one I dreamed of building when I started to code. It took me 4 battle systems before I was satisfied with it. Experience makes you better, which allows you to build better stuff. My battle system today in my current game is highly superior to the one I built in VX Ace, which is superior to the one I built in VX. People here aren't trying to attack you or anything, they're just trying to help. We have all been there before and we are trying to lend you a hand.
 

Shannonburnum

Villager
Member
Joined
Dec 20, 2017
Messages
21
Reaction score
0
First Language
english
Primarily Uses
N/A
Certainly you don't know what I mean by "tricks". It isn't round-about dealing with the issue, although you could call it like that at the same time. Maybe you thought it was about "I can't do that, so let's do this instead". If so, well no. Coding / programming has many "tricks" that would actually help you than if you tackle it "head on".

To give you an example, one of the common trick is about refreshing window content. Suppose you were trying to create a HUD window that display variable on map. It sounds cheap, but if you do it wrong, you might be confused as for why the window is not refreshing the value. Then you "tackle it head on" by refreshing the HUD window for every frame. Another problem arises, because it's refreshing every frame, one window addition could cause massive lag. So the "trick" is to only refreshes it when the value of the variable changed. Displaying variable HUD on map sounds cheap, but even with that, it could be confusing for beginner scripters how to do it right.

Example above might have nothing to do with doing battle system. But you could learn how to code properly. What to do and what not to do. If you're hitting right to make battle system, you will have a poorly written code, and why these and those doesn't work. You might also do something you weren't suppose to do. And if you asked people what's wrong with your poorly written code, people may say "Well, everything" (which I think it's why shaz said she doesn't want to provide assistance).


When the first time I learned to code, I had a dream to create my own battle system as my end goal (and I did it). So you're pretty much as the same boat as I used to be. But, instead of tackle head on to battle system, I learned everything that helped me to create battle system.

To give you an example (again), I wanted to have moving sprites. So what I need to know? I need to know how to display sprites. After that, how to move the sprite coordinate? I need to change x and y properties. But, how I could make it move from point A to point B within x frames? Well, I need to know the linear function, etc.


To find out the whole process, you need to know tiny bits of the knowledge. Maybe you need to know how to manipulate arrays. Maybe you need to know how to manipulate hashes. Maybe you need to know more about abcd ...

Knowing the process itself is not enough. Maybe you know the process but then you stumbled upon "I have no idea how to change these". Which that backs again you're lacking of experience to do so. Maybe to change the process, you need to manipulate something, and this something was never been an example of default battle system code or even the whole default code. This is what I called "tricks". You learn this by making unrelated plugins and that is not only about battle system.

However, if you're still insisting to do so. No one is stopping you. Maybe you will learn a different experience than most of us.
Gotta say, I'm reluctant to admit it but you make a far point, I guess pushing against every problem isn't always the best solution, alright, so where should I start.
 

Shannonburnum

Villager
Member
Joined
Dec 20, 2017
Messages
21
Reaction score
0
First Language
english
Primarily Uses
N/A
I'll give you another comparison:
"I'll want to run the olympic triathlon, because once I can run that it will be much easier to simply swim, run or bike after that".
Yes, after you succeed in the olympic triathlon everything else will be simpler.
Unfortunately the olympic triathlon is not something anyone can succeed in without first learning smaller parts.

Or in other word: before you can run a 100km marathon as another example you should train to finish the 10km marathon.

In this comparison the battlesystem is the 100km marathon, and the others gave you the advice to first run the 5 km marathon an then the 20km marathon before trying to tackle the 100 km range.

Or as another comparison: you cannot learn quantum physics without learning mathematics first, and it's easier to learn mathematics without looking at quantum physics the entire time.
Hmm, fair point.
 

TheoAllen

Self-proclaimed jack of all trades
Veteran
Joined
Mar 16, 2012
Messages
5,599
Reaction score
6,552
First Language
Indonesian
Primarily Uses
RMVXA
so where should I start.
You start from basic how to code started from writing "hello world" on console log.
Once you know the basic knowledge on how to code, you then begin to look at mv code.
After you look at mv code, you ask urself how can you make it better?

Don't ever neglect such tiny experience. As Mushcake said, battle system is a collection of small tasks working together in harmony. If you couldn't even make such a small task, you will never create battle system.
 

MushroomCake28

KAMO Studio
Global Mod
Joined
Nov 18, 2015
Messages
3,729
Reaction score
4,685
First Language
English
Primarily Uses
RMMZ
Here's the order I went through when learning to code for RPG Maker:

Learn the language's basic (variables, objects, functions, arguments, syntax, etc.):
- Master each variables (know how to work with integer/floats, strings and how to manipulate them, array and how to work with them, etc.)
- Create your first scene within rpg maker (will be a black screen, you can call it by script event)
- From there add a sprite to the scene and play with it (position, bitmap, zoom, tone, etc.)
- Add windows and play with them. First of all a Window_Base, in which you can draw text, icons, lines, etc.
- Play with Window_Selectable next, add options and a functioning cursor.

Create a Menu:
- From here you have the necessary knowledge to create a menu. It is simply a scene with a background image and some windows that work together.
- Create a general menu by adding windows with each party member' status, add a window selectable with options to different menu sub-section (status, equip, items, etc.)
- Proceed to create the other sub menus.

Learn about the default RPG Maker (VX Ace/MV) code:
- You'll need to familiarize with different kind of sprites (base/character/spritesets), scenes (especially the Scene_Map), objects (game_siwtch, game_variables, game_party, game_system, etc.), and how to work the database.
- Test stuff: a mini-map plugin, a crafting plugin, an active dialogue (dialogue that flows while the player has control of the character and can run around the map), a teleport to known location system, etc.

After all that you're pretty much ready to tackle the battle system. After going through all that, you'll learn:
1) How the programming language works and its syntax.
2) How RPG Maker operates.
3) How to play with the pre-existing systems.
 

Shannonburnum

Villager
Member
Joined
Dec 20, 2017
Messages
21
Reaction score
0
First Language
english
Primarily Uses
N/A
You start from basic how to code started from writing "hello world" on console log.
Once you know the basic knowledge on how to code, you then begin to look at mv code.
After you look at mv code, you ask urself how can you make it better?

Don't ever neglect such tiny experience. As Mushcake said, battle system is a collection of small tasks working together in harmony. If you couldn't even make such a small task, you will never create battle system.
Hmm, yeah your right, thanks
 

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

Latest Threads

Latest Profile Posts

Day 9 of giveaways! 8 prizes today :D
He mad, but he cute :kaopride:

Our latest feature is an interview with... me?!

People4_2 (Capelet off and on) added!

Just beat the last of us 2 last night and starting jedi: fallen order right now, both use unreal engine & when I say i knew 80% of jedi's buttons right away because they were the same buttons as TLOU2 its ridiculous, even the same narrow hallway crawl and barely-made-it jump they do. Unreal Engine is just big budget RPG Maker the way they make games nearly identical at its core lol.

Forum statistics

Threads
106,038
Messages
1,018,466
Members
137,821
Latest member
Capterson
Top