Envision, Create, Share

Welcome to HBGames, a leading amateur game development forum and Discord server. All are welcome, and amongst our ranks you will find experts in their field from all aspects of video game design and development.

Interactive Battle Music System

This request is intended for 'A' class scripters... experts on the RGSS/Ruby system with a knowledge of RMXP's hidden classes, specifically the audio class.

It is also intended for scripters with a decent-to-high level of expertise in music writing and theory.

It almost invariably requires a rewrite of the AUDIO class itself.[/FONT]


* - * - * - * - * - * - * - *


The system I am requesting is a replacement of the battlemusic system in RMXP. It merely plays audio files, whether they be .wav, .mp3, .mid, .ogg... etc. However, it plays the music straight through... loops... plays through again... and doesn't 'really' change depending on circumstances.

:-/ Circumstances?

Yeah... like the music could change the melody to a stronger... more grim theme if the enemy is winning the battle.

:eek: You mean that you want it to actually read stuff from the battlesystem? How the heroes are doing? If they're winning or losing?

Yes, and even more.

What I was thinking was playing a base theme... nothing much, merely a repeating harmony track... drums... bass... and other various instruments that loop repeatedly throughout the battle. It should be short... merely a couple of bars or so, or perhaps a set of harmony tracks that perform one after the other.

But, melodies also play with the system. These melodies must sync up with the harmony track... probably using the 'start' point or 'end' point of the looping harmony track for timing purposes. If two smaller harmony tracks were used, you could have a more sensitive system... with the melodies able to sync up even more.

The Melodies that I mention are music files of small-to-decent size that contain more conspicuous instruments... guitars, trumpets, violins, cymbals, and etc. The volume could even be raised higher in these files. And the music would 'obviously' be made to match the style of the harmony track(s).

O_o Would suck if they didn't eh?

Shut up.

*cough*

Well, the types of melody tracks, or conditions that the system should be able to track would be the following:
  • Beginning of combat (Non-looping)This plays at the very beginning of combat. This melody could play 'before' the harmony starts... leading into it, or 'as' the harmony starts.
  • Basic 'neutral' melody (Looping)Played right after the 'beginning of combat' music. It plays continuously until other conditions apply.
  • Basic 'actor' melody (Looping)This melody plays as long as the party seems to have a better level of stats or starts right after a victory condition is registered.
  • Basic 'enemy' melody (Looping)This melody plays as long as the party seems to be losing the combat, or starts right after a losing condition is registered.
  • Actor 'higher than' melody (Non-looping)This melody plays if the party registers some effect (damage or whatnot) that gives them the upper hand. Once this music plays out, it reverts to either the 'neutral' or 'actor' melody.
  • Actor 'defeats a...' melody (Non-looping)This music plays once an actor actually defeats an enemy or condition (poison or whatnot). After this melody plays out, it reverts to either the 'neutral' or 'actor' melody.
  • Enemy 'higher than' melody (Non-looping)This melody plays if the party receives some effect (damage or whatnot) that makes them lose ground in battle. Once this music plays out, it reverts to either the 'neutral' or 'enemy' melody.
  • Enemy 'defeats a' melody (Non-looping)This music plays once an actor is killed by an enemy or condition (poison or whatnot). After this melody plays out, it reverts to either the 'neutral' or 'actor' melody.
  • End of combat (success) (Non-looping)This plays with the harmony, or as the harmony music ends.
  • End of combat (defeat) (Non-looping)This plays with the harmony, or as the harmony music ends.
And these melodies will change based on conditions checked throughout the battlesystem and the battler classes. It would check the HP and SP levels of all the battlers, negative conditions like Poison or... Frog or positive ones like Blink or Strength Up. Obviously, this would also require an extensive configuration system that points out what states 'ARE' positive or negative.

B-) So what you're saying is the game could play a decent melody throughout, then if the enemy hits with a poison skill... the music would change to a brash dark score then change again to a lower, darker piece. Then if the player performs some healing spell, the music could swell and the melody changes to something lighter. All the while the harmony goes along, keeping time for the music.

Pretty much. Some melodies loop, and others don't. Those that don't loop merely switch over to the ones that 'do' loop when they're done. And all the while, the harmony goes on and on...

As such, this system should allow for the ability to change the harmony and various melodies in-game with 'script calls' and 'map event script calls' so the battle music can change by the game-designer's whim. And, it should be able to have one or more melody attacked to a condition (like three 'success' themes are available and when a hero wins... it plays one randomly or in succession).

':| Think you made it hard enough?

Nope. Not yet.

It should be made compatible with virtually any system via aliases whenever possible, but not requiring any external script such as MACL or the SDK. It should be made as a complete standalone audio system. The fewest possible conflicts and widest range of usage as possible.

;) Aw, you gone and done it.

* - * - * - * - * - * - * - *


I know that this would be a daunting task, so I don't have any illusions. Be that as it may, someone may find themselves intrigued by this challenge.
[/FONT]
 
Seems like you're not getting too much help XD
But at least you won't stop annoying everyone until you get an answer =D
Im not much of a scripter so i would set this up with events and such. For sure, it wont be as good as a scripted version, but I'm just tryin to help over here XD

I would make a timer event that lasts 1 loop of your battle music (you'd have to hide the timer somehow...). Then using conditional branches and such you could overlap different BGS/BS or whatever to get these effects you need. When the timer reaches 0, you'd have to reset it...

Don't start critisizing me for postin this, I just though that this may help in some small way :D
EDIT: I may throw together something tomorrow to show you what I'm talkin about...If i can find some good sound files... That is, if you want me to...
 
Yeah, but those people don't seem to be helping.

This would be awesome for those "epic" songs that don't loop well, you could just take a part of it and make an intro, then the middle theme, etc...
 

Thank you for viewing

HBGames is a leading amateur video game development forum and Discord server open to all ability levels. Feel free to have a nosey around!

Discord

Join our growing and active Discord server to discuss all aspects of game making in a relaxed environment. Join Us

Content

  • Our Games
  • Games in Development
  • Emoji by Twemoji.
    Top