A downloadable asset pack for Windows

Buy Now$5.99 USD or more

This asset (along with many others) is free for all Sorcerer-and-above Patreons

What is this asset?

This asset is a battle system for GameMaker Studio 2 with many features:

  • Single Hero vs Single Monster battles as in Dragon Quest 1
  • Now includes file for MULTIPLE heroes and monsters
  • Launch battles from World Map (and return to it afterwards)
  • Placeholder code for player death
  • Player gains XP and Gold after each successful battle (but not for cowardly running!)
  • Monsters have access to different spells/abilities and it's easy to add and modify your own as well as change the existing monsters
  • Example arrays + enumerators included as a basis for a much larger game
  • Screen-shake when player takes damage
  • Message system displays messages dynamically
  • Basic player death animation - easily replaceable
  • Originally a YouTube tutorial series, this file contains all of the code found in the 3+ hours of videos, plus additional features only available here

[UPDATED JULY 29 2019 - made it much easier to combine with my Shop & inventory system]

[UPDATED JAN 8 2020 - finally updated the battle system to allow for multiple monsters/heroes. If you are using the Shop & Inventory system files, you'll need to update the arrays to be similar to those in the multiple battle system file found here.]

This download includes all the code from episodes 1-4 of my Classic NES Battle System, along with the Addendum episode (launching battles from the world map as well as returning to the world map).

That's a total of 3 hours+ of video time in one condensed package!

I also spent some time cleaning up the code, creating enumerators as an example for use and for easier readability and a few other goodies!

Supporting me through Itch means a lot to me and will show me that there's a demand for this kind of content. The more support I get, the higher quality videos I'll be able to produce as I'll be able to spend more time on them rather than freelancing.

In case you found me through Itch rather than YouTube, here's a link to the first episode of the tutorial: 

StatusReleased
CategoryAssets
Release date Jan 19, 2019
Rating
Rated 5.0 out of 5 stars
(2 total ratings)
AuthorGameMaker Rob
GenreRole Playing
Made withGameMaker
Tags2D, battle, Fantasy, Game engine, GameMaker, JRPG, Singleplayer, Turn-based, Tutorial
Code licenseArtistic License 2.0
Asset licenseCreative Commons Attribution v4.0 International
Average sessionA few seconds
InputsKeyboard, Mouse

Purchase

Buy Now$5.99 USD or more

In order to download this asset pack you must purchase it at or above the minimum price of $5.99 USD. You will get access to the following files:

Single_Battle_System_Tutorial_GameMaker_Rob_Final_v2.yyz 459 kB
multiple_battle_system_v2.yyz 538 kB

Development log

Comments

Log in with itch.io to leave a comment.

Deleted 252 days ago

Are the object(s) in the room. That's often a reason why you only see a black screen,

Deleted 252 days ago
Deleted 252 days ago
(3 edits)

As in a specific monster spawns?

In the step event of obj_battle, look for the line shown in the screenshot and change irandom(totalMonsters) to e_mon.slime, if you want a slime to spawn, for example.

Deleted 252 days ago

The easiest is probably using a single global variable that you decide how it's set.

Eg you could draw invisible rectangles in the room, and give them a number that correlates to the monster enumerator eg:
monster = e_mon.slime;

Then in the collision event, with the player, you set the global variable to the monster variable
eg

global.monster = monster

Hi there, I just purchased this project and I tried getting it to run but it gives me an error message. Do you know what is wrong? 
"___________________________________________

############################################################################################

ERROR in

action number 1

of Create Event

for object obj_main:

Variable obj_main.ag_music(100079, -2147483648) not set before reading it.

 at gml_Object_obj_main_Create_0 (line 399) - audio_group_load(ag_music);

############################################################################################

gml_Object_obj_main_Create_0 (line 399)
"

Did you import it into a project or just try to run it in it's own project?

I imported it into a blank game and tried to run it by itself. 

Ok Im sorry to hear that. I will check it out myself and get back to you/update the project if it's broken.

(1 edit)

Thank you. 

I only used the multiple monster file if that matters or clarifies anything.  

(1 edit)

The issue was a missing audiogroup. It doesn't actually have any audio files in it, so it's useless atm but I re-added the audiogroup back in.
I uploaded the file as v2.

Awesome project! Im curious if theres an easy way to spawn specific monsters, as an example, bosses that wouldnt be a randomized battle, it would always be that exact enemy.

(2 edits)

i found the part of obj_battle where its choosing the enemies based on the obj_monster index variable, is there a better way than just changing that variable during a battle start? How would you handle it?

Just some way to recognise that a boss battle is happening. At the moment I tend to have arrays that I pull from to determine who the enemy is. You could have a variable that is normally set to -1 (ie random battles) and you set that variable to a particular number when you want to fight a particular monster.

This means you just need to keep resetting that variable to -1 at the end of a battle.
How/when you set that variable to something other than -1 depends on how you have your game setup atm.

Is this compatible with Game Maker 8?

I don’t plan to get GM Studio Since I don’t like having to pay for subscriptions, so I’m sticking with GM8.

it wont be compatible no

Hi! I saw the windows logo. Does it work on Mac's version of GMS2 ?

I'm not able to test it as I don't have a Mac. I would assume so because it's a gamemaker project (and I'm also assuming that Mac Gamemaker use the same file formats).
If you buy it and have problems, let me know though! I'm sure you can refund via Itch also.

ahaha thx for your reply. I just bought your whole 2D RPG kit and plan to study the codes along with your tutorial videos. Thanks for your contributio! It is a wonderful work!

Thats great to hear!

Bought this a while ago, quick question:
Is this easy to combine with Shop and Inventory System for GameMaker Studio: 2?

Hi schnickfitzel. As far as I can remember they should work together. I'll look into that now actually and get back to you. I think the only potential issue could be the naming of global arrays.

I added a few checks inside the Shop/Inventory code and re-uploaded it to stop the player being able to open the inventory from inside obj_player. The inventory system is also a 2D array that can stack items, while the Battle System does not have stacking. Checking for player input also needs to be synchronised (like HELD_LEFT / HELD_RIGHT is not present in the battle system - it's only keyboard checks).

It's definitely doable but it also depends on your coding ability and ability to understand my code, which can be hard if my style is very different from yours.

These problems arose because the files are from two different tutorial videos I did and I was definitely not thinking about integrating the two when I designed them.

It makes sense for me to go back and change some things in both of them so that they are easily mixed together so I think I'll be doing that. It feels wrong to change the classic battle system to stacked items but I think it's for the best!

Thank you very much for your feedback.

I'm glad you're updating the assets, bought it right away ;)

Keep up the good work!

Excellent asset! I needed something like this. Thanks!

You're very welcome!