• Hey Guest! Ever feel like entering a Game Jam, but the time limit is always too much pressure? We get it... You lead a hectic life and dedicating 3 whole days to make a game just doesn't work for you! So, why not enter the GMC SLOW JAM? Take your time! Kick back and make your game over 4 months! Interested? Then just click here!

Creating a RPG with a class/job system

R

Ranger

Guest
Hello all,

I am new to the world of game design/development, as well as the Game Maker Community.

I've had an idea for a game that I've wanted to make for a long time now, and figured it was time to start pursuing that dream. I've been doing a lot of research on the available engines, tutorials, extensions, and other programs out there, but I just haven't been able to find a lot of info about how to create a job/class system for an RPG.

Is it possible, either through existing features, coding, or extensions, to create a class/job system (warrior, mage, ranger, etc.) for a turn based RPG game? How easy-difficult is it? Is that possible is Game Maker, or would another engine, like Unity, be more in line with what I'm looking for? What would you guys recommend?

Also, if it's possible to ask for any advice for someone getting started, I would greatly appreciate it. The world of coding and game design is new to me, but in doing my research, I was inspired by how nice and helpful this community is. If it helps, here are some specifics about my game idea:

-Turn based combat
-Class/Job system
-RPG with leveling and item management
-Romance options
-2D pixel graphics with hand drawn images for speech bubbles.


Again, thank you for any help or advice you are able to give!
 
W

Widget

Guest
Well, for a traditional JRPG I'm pretty sure the most appropriate engine of choice is RPG Maker. A lot of tools needed to make one are innate to the software.

As for GameMaker, yeah I'd say it's pretty possible but you'd have to make a lot of these systems from scratch. For JRPG's made with GM all I can think of is Towards The Pantheon, it doesn't have a job system or romance to my knowledge but it's the closest I can find to what you're thinking of.

I've heard with how Godot, another game engine, is structured it's pretty good at menu and interface-based games, such as JRPG's. Although with how less popular it is I haven't seen many examples, but there's an ongoing tutorial series on how to make one.
 
These things are all definitely possible in GameMaker. Some things may be a little difficult for beginners (and I wouldn't recommend trying to learn by making something as complex as an RPG), but hey that's what the manual and this forum are for.

1) Turn Based Combat: One of the first things I tried to make when I started trying to use GameMaker was a "Battle Arena" for old-style JRPGs. I probably didn't go about it in the best way (I was still learning), but it DID work. I'd look into using ds_lists to keep track of turn order.

2) Job System: I haven't tried to make a job system, but I'd look into using an enumerator for your various classes.

3) Leveling and Item Management: Experience points can be stored in a variable. Once these points reach certain thresholds, you can increase the level variable. For item management, you can (and I do) use ds_grids. This makes it easier to add new items, alphabetize item lists, or allow players to sort them in an order of their choosing.

4) Romance Options: It would depend on the specifics of your system how you would go about this, but in theory it should work.

5) Graphics: 2D Pixel Graphics are definitely doable, whether with GMS's editor or an external one. As for hand-drawn graphics, PNG files can be imported into GameMaker.
 
T

Triangle

Guest
All of this is absolutely possible, but it will be painful. The good news is that all of the systems you've mentioned seem to me to be similar in their requirements, so when you've learned enough to start with those systems you should be able to build a great deal of the mechanics fairly quickly. But Gamemaker is quite capable at this sort of thing and if you are willing to study and spend the hours wrangling with the code, you should absolutely be able to accomplish this. As for advice for getting started, here's what's helping me work with this process right now (as I am also a beginner, only just started in July!): 1- Code small modular things as much as possible, you're definitely going to tear down a lot of code you'll write and put up new stuff all the time. So it's best to have lots of small things that you know exactly how they work so that the frustration from having to improve your systems is lessened. On my current project I've started over from scratch 5 times so far. 2- Coding is both the most frustrating and joyful process on Earth. Run the game as often as you can to make sure that any mistake you've made is easy to identify. If you've got a problem that makes absolutely no sense, think of all of the things which are happening as you go through the code line by line to help find what part isn't working (and if you aren't sure what a function does, middle-mouse click it to open the guide). If you still can't fix it, take a break until the next day. And finally, try to find time to code as regularly as possible. Writing some code every morning, even if it's just a single variable change, will help you learn much faster. 3- Final specific note about how you want to do the text bubbles: It will work, but if you want to blend pixel art and pencil art you will almost certainly need to blow up the pixel art to a much larger size consistently, which could be very annoying. So be careful.. Good luck with your project!
 

Rob

Member
If you can learn arrays and maybe data structures to the extent to which you've become competent then you'll have no problem creating classes/jobs.

Your biggest hurdle is creating all the different systems in the RPG and making sure they work together. Please make at least a few small games/prototypes first so you understand how to make everything work together. I've been using Game Maker for 3 years and it's only fairly recently that I've felt able to tackle an RPG.

Here's an old video of my progress:


[EDIT] Note - it's probably entirely possible for you to start and complete your RPG now, but you may save yourself a lot of time and headache if you take my earlier advice.
 

Yal

šŸ§ *penguin noises*
GMC Elder
Here's some advice from someone that's made more than one RPG in GameMaker:
  • Priority Queues are PERFECT for the turn order.
  • Macros/Constants are super good at keeping stuff organized. I usually make one for every value I will use as an index in any array ever, such as character and item names:
  • upload_2019-1-1_20-48-11.png
  • Use arrays for all your databases and stuff, they're easy to use. Make more than one of them: player stats for each character could be a 2D array (character on X axis, particular stat on Y axis), item properties another, enemy properties, skill properties, and so on.
  • To make things a bit easier to organize, I recommend having special setup scripts for each array whose sole purpose is to fill one row of the array... taking up one line of code.
  • upload_2019-1-1_20-49-26.png
  • upload_2019-1-1_20-51-16.png
  • State machines are super useful for stuff like battle controllers, attack animations, etc, where you have a lot of logic but you only use a small bit of it at once. The simplest version is just a switch statement like this:
  • upload_2019-1-1_20-52-48.png
 
Top