RPG maker MV Battle system

● ARCHIVED · READ-ONLY
Started by Shannonburnum 17 posts View original ↗
  1. 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.
  2. I don't know that game, but the first question is: do you know how to code?
  3. I've moved this thread to Learning JavaScript. 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.
  4. MushroomCake28 said:
    I don't know that game, but the first question is: do you know how to code?
    No, but I'm learning, its a slow processes.
  5. 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.
  6. 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
  7. Shaz said:
    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?
  8. TheoAllen said:
    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?
  9. 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.

    Shannonburnum said:
    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.
  10. Shannonburnum said:
    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.
  11. Shannonburnum said:
    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).

    Shannonburnum said:
    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.

    Shannonburnum said:
    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.
  12. 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.
  13. TheoAllen said:
    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.
  14. Andar said:
    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.
  15. Shannonburnum said:
    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.
  16. 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.
  17. TheoAllen said:
    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