Experimental Battle System: How to make it? Can it be fun?

Jocho

Veteran
Veteran
Joined
Jul 31, 2014
Messages
42
Reaction score
6
First Language
English
Primarily Uses
My apologies in advance for the long post. I'm just trying to be as clear as possible, while also describing something that doesn't currently exist (as far as I'm aware). As a result, things got a bit long. :p Anywho, on to the post...

I'm looking for some feedback and help making a slightly different kind of battle system than is traditionally used.

Some background: I've generally focused on making games to help people learn languages. Specifically, games for my students (I'm an English teacher in Japan) to learn English from. But I also like my games to have some story, and ideally some challenge. While the below examples for my next game are all in English, the game will actually be for teaching Japanese.

With my next game, I'm looking to make a game where the battles are against everyday items, and your abilities are words, and you do damage by describing the enemy. For example, if the enemy is a blue bucket, you could say "blue" "bucket" "small" "light" and each of these words would cause some level of damage. On the other hand, "red" "fish" and any other word that is unrelated would cause no damage.

Right now, this is easily implementable at a basic level. An unfortunate side effect is that the way I'm doing it (which is rather primitive (basically, each word gets its own element, and I just make enemies resistant against lots of elements)) isn't really scalable. The number of elements only goes up to 100, and as I add more and more abilities, I'd have to go back to every single enemy and make them resistant to all the new abilities. 

At the advanced level, I'd like a combo system where words put into a sentence correctly gives bonuses. So while "blue" and "bucket" would work in the above example, "It" followed by "is" then "a" "blue" "bucket" would create a combo (doing extra damage), the sentence would build itself on screen ("It is a blue bucket"), and wrong words would end the combo. "It are" "It am" "It blue" "It bucket" would break things, and so on. The goal is of course to reward players who build long sentences, while also acknowledging those players who can only do the basic word recognition. (Additionally, I'd like the repetition of words to have diminished returns in a single battle. So using "blue" the first time will have the full effect, but then each time used after that it will decrease in damage. This is to encourage using a greater variety of words.)

The solution I can imagine is to program each enemy with a set of "sentences" and if any "word" you use is in that sentence, then it will ping for damage, and if any words aren't in those sentences, they'll do nothing / end the combo. Any word out of order will also do damage, but end the combo, resetting the damage multiplier. Of course this means writing hundreds of sentences, but that's not the end of the world, and player feedback ("Why didn't this sentence work?" "Oh, you're right. I'll fix that.") will help fill in the blanks. 

Next is the problem with the amount of words. Languages have a lot of words. Nothing new there. But entering a battle and having "Words" and "Run" as your only options, and then clicking "Words" and having to scroll down a huge wall of 200 abilities sounds painful.

My current solution: Having different classes. Instead of a basic attack command (because there's nothing like it, so far), every class has the "Basic" option which includes the common language building blocks. Your "It" "That" "Those" "Is" "Am" Are" "And" and whatnot. Like a basic attack command, since these are in almost a lot of sentences, they'll do damage like a basic attack. But then you'll have each class have two categories of abilities. For instance, the Colorman class might have "Color" and "People" or something like that, "Color" having all your basic colors, and "People" having things like "Man" "Woman" "Child" and so on. Below those two abilities is the "Change Class" command, which lets you change to another class, without costing a turn. Only using a word will end your current turn. This organizes the abilities for the player into nice little categories.

PRO: Organize abilities. 

CON: Switching classes many times in battle could be annoying / cumbersome. 

I've thought about having the main character have copies of themselves, everyone sharing a common moveset, so that sentences could be built faster. This hasn't been present in the story I've considered, but it's not out of the question. It wouldn't not make sense. Just not sure if it's a good idea yet.

I'd also like for the abilities to, when used a certain number of times, become "mastered", increasing their damage, and when all of the abilities for a class get mastered, have some other effect (speed+1, all abilities damage+1, etc.). Additionally, I'd like the ability to take any mastered ability and put it under it's own category and then allow players to make 1-3 custom classes with their own abilities and categories. But I guess this falls more under polish? I do think it would help with the CON above. 

Anywho... Okay. Where are we at? :)

TLDR #1 

-battle system involving making sentences, each "ability" is a word; how to implement?

-making correct sentences increases "combo", increasing damage

-wondering how to make it scalable

-copies of main character for faster sentence building?

-different classes to organize abilities

-mastering abilities? custom classes?

Okay, so let's say I get the above working. The problem I've run across then seems to be that battles don't have much variety. Enemies aren't that unique. The Blue Bucket enemy and the Red Dress enemy both require a couple hits to defeat, and while you pick your words, they only knick away at your health. As of yet, there's no status effects or anything, just straight damage. (I guess I should probably put in some status effects, or attacks with different effects. I just worry that adding the addition of too many RPG elements will make the game harder to approach for the average learner? It's why I'm sticking with abilities just doing straight damage. I also don't know if I'd want someone choosing words because they have additional effects.)

To add some variety, there's a second party member, who can also change classes, but has a more varied move set. More RPG-ish moves. A healing ability. A regen ability. A potential status effect curing ability. The ability to do status effects. A scanning ability that lets you see what kind of words might work on the enemy (important for using opinionated words (Is this enemy "cute" "scary")). Maybe even a basic attack, so that if you're fumbling with the language, at least some damage will be going on. 

So that gives more variety for what you're doing, but not much variety for what the enemy is doing. One way to make this work is have the enemy constantly changing form, while keeping the same health bar. While a combo is going on, the enemy can't change forms. However, if a combo isn't in effect, the enemy can change. From a story point of view, this works (everything is kind of a hallucination). But I'm having trouble making it work in practice, since each enemy has its own health bar. I could make 5-6 copies of each enemy, take the damage used on a previous enemy and then reapply it on the new enemy, but another solution seems better. Just not sure what that is.

Finally, the battle would ideally be ATB. That is, while a player isn't navigating menus, the enemy is constantly attacking them. Faster sentence building results in faster results. Keeps things fresh and I think is realistic from a language perspective. 

TLDR #2

-wondering how to make individual battles fun and/or intense

-second party member with traditional RPG skills

-enemies change form; how to implement?

-ATB

Well, that was a doozy! :)

Anywho, the big questions:

1) How does this sound? See any glaring problems that haven't been considered?

2) Do you have any solutions for the above problems? (how to parse correct sentences, combos, how enemies change form, etc.)

3) What parts do you think require (or would benefit greatly) from scripting?

Thank you so much for any help!

Best,

Joshua Warhurst

P.S. Remember, it's not going to be "[it] [is] [a] [blue] [bucket]." It's going to be "[これ][は][あお][い][バケツ][です]." Just so we're clear. :p
 

Sharm

Pixel Tile Artist
Veteran
Joined
Nov 15, 2012
Messages
12,760
Reaction score
10,884
First Language
English
Primarily Uses
N/A
I can't help with figuring out the programming aspect but I am someone who's trying to learn Japanese.  I think you don't have to worry too much about making the fights more complex.  The way I see it there are two sides to it, the gaming side and the learning side.  The learning side has already added some complexity to the gaming side, so if you add much more complexity on the gaming side you risk making it too difficult to be an effective learning tool.  If I know lots of interesting ways to describe that blue bucket, I want the game to reflect that by making the fight really easy and fast.  If I end up losing or doing poorly due to some other mechanic I'll feel cheated.

I don't have anything more helpful to add.  I'm all for more gaming in my study time, I hope you can get this working!
 

Wavelength

MSD Strong
Global Mod
Joined
Jul 22, 2014
Messages
5,624
Reaction score
5,104
First Language
English
Primarily Uses
RMVXA
VERY cool idea!!  If you're looking for team members in the long term, please send me a PM.  I'm busy with a project for the next few months but this is something I'd love to be a part of after that.

You could probably script (or ask a scripter) to implement a system where you can just type in the appropriate words (e.g.: round blue plastic bucket) into each enemy Note box, and if the name of the skill (that is, the word, such as Blue) matches one of the words entered in the note box, it will be effective.  This will save you from having to enter each element in the Features box, which I imagine takes considerably longer.

Adding combos for grammatically-correct words is definitely a tough one.  A "brute-force" approach would look at each individual case (for example, "Those buckets" would only be effective if there is more than one bucket present, and "Its buckets" wouldn't score at all).  A "small set of choices" approach might give the player like 10 or 12 possible words for each situation each turn/battle, based on the situation (so the colorful bucket will throw a small list of colors and objects and the appropriate connectors), to minimize the number of rules you'd need to set up.  At the second I can't think of a more streamlined way to set this up, but with some time we could probably do better.

DoubleX is pretty close to completing an ATB script that looks pretty good.  You can probably find other ATBs out there that are already complete, too.

More later!!
 

DoubleX

Just a nameless weakling
Veteran
Joined
Jan 2, 2014
Messages
1,787
Reaction score
939
First Language
Chinese
Primarily Uses
N/A
For the combo(correct words in the correct order), Yanfly's Input Combo Skills might work here, although I don't know if it's compatible to any existing atb system scripts I know so far:

Akea Active Time Battle

C Winter's ATB

Customisable ATB/Stamina Based Battle System(If you use Yanfly Engine Ace - Ace Battle Engine, use Ace Battle Engine Add-On - ATB/Stamina System instead)

dbchest's ATB

MOG - ATB System

Victor Engine - Active Time Battle

YSA Battle System - Clasiscal ATB(If you don't mind using an advanced complex script and want extreme control and freedom over the configuration values, you might want to try

DoubleX RMVXA Enhanced YSA Battle System: Classical ATB instead)
 
Last edited by a moderator:

Wavelength

MSD Strong
Global Mod
Joined
Jul 22, 2014
Messages
5,624
Reaction score
5,104
First Language
English
Primarily Uses
RMVXA
A few more thoughts I had:

Combos via sentence building might be (slightly) easier than I originally thought.  You could probably have tags for each word to say (once translated from Ruby) "must appear somewhere before a word tagged with *noun*" or "must appear directly before a verb" for general sentence-structure rules, and then have specific logic-based rules programmed for certain groups of words (e.g. "if tagged as a *plural pronoun* this word can only be used if there are 2+ enemies of the same type").  It will take a reasonably large number of rules to set this up well, but it will save you from having to code rules for every single word.  I think this will handle sentences like "It is a bucket" and "Those are large blue buckets" pretty well.  (As an interesting sidenote, would "Those are blue large buckets" be valid?  This is a very uncommon sentence construction for native speakers but it's technically correct, isn't it?)  It won't handle fringe cases, but I don't think Japanese has a lot of fringe cases and exceptions-to-the-rule are not really what you want to be teaching through a system like this anyhow.

Enemies: I think the best solution is to have a lot of different enemies, so that the player is only encountering each enemy one or two times throughout the game.  I think it would be totally fine to have a "red bucket" enemy and a "blue bucket" enemy and a "green bucket" enemy - this may seem daft when you're already familiar with the language, but a player who learns "akai" for the first time in the bucket battle might think that it has something to do with a bucket - seeing that it doesn't work against the blue bucket where "aoi" is necessary instead will help the player understand what kind of word (a color word) that "akai" is, I think.

Second party member: I understand where you're coming from on this, but if it were me, I'd set it up differently.  I would have a second character in the game but not one that you directly control (in battle or otherwise), nor one that can really fight.  Make this character a "helper" in that they can give you hints ("I don't think that's the right color!" after a failed attack), and you can occasionally pick from a few questions to ask them in the target language ("Sore monstaa ga kowaii desu ka?"), some of which might be more useful than others.  If they are doing things like healing you, make it a passive ability - you don't want to split the player's attention from what's going on in their head as they learn the language (unless you know something that I don't about learning languages and it's actually beneficial to split attention - I mean that could certainly be, I'm no expert).  In fact, this kind of character could be great for explaining those fringe cases above (this time in the player's native language; for example, at the end of a battle against a vegetable, "Did you know that aoiyasai is used to refer to most green vegetables instead of midoriyasai?"  In addition, I think a lot of players will appreciate the feeling of having a "smarter" character (as the language goes) rely on them because story-wise you're the only one that can transform words into actions or whatever.

I do understand your concern about having only simple attacks make for slightly boring RPG battles, and although I don't think it would be a slog since the language and sentence-construction elements should be a real challenge for players of the appropriate skill level, there is still room to have things like status effects.  There are two good ways I can think of (and probably more that I haven't thought of) to go about this.  One would be to randomly have words appear in different gem colors or something like that to signify a bonus if you use that word - Bookworm Adventures did this with letters.  So occasionally any given word might appear in "Ruby" font and you can make a sentence that contains that word, you burn the enemy as well as doing damage, or if it appears in a "Sapphire" font instead you'd freeze the enemy.  Maybe you'd produce gem words by making 3 correct sentences in a row, or making a correct 8+ word sentence.  The other way you could go about this would be to make the special powers inherent to certain words or sentences.  For example, if you are facing an apple enemy, you could make the sentence "I want to eat the apple" to instantly restore some health, or if you are facing a notepad enemy you could form "That notepad is flammable" or "I can burn it" to apply a Burn status.

I'd avoid an ATB, at least in the main story mode.  Yes, real life does demand quick sentences, but this is supposed to be a comfortable environment in which to learn and I think that an ATB would take away from the player's ability to introspect on why something worked or didn't (again, if this is a good thing for language learning, then go for it - intuitively I'm guessing that it's not).  You could have a "challenge" mode or something like that where the player fights enemies and is subject to this kind of ATB, which would be good practice for a player who has picked up most of the vocabulary and grammar rules already.

Finally, I'm still kind of torn about your "Class Selection" rules.  I'm not sure whether it's a good idea or not to group similar words together (might be good, might not be - any ideas?), which this would require - and the player still needs to wade through a lot of basic words.  I might recommend throwing sets of 20ish words for each turn, most of which are appropriate to the enemy and several which are not.  This would allow practice for part-of-speech recognition and provide an automatic way to prevent the player from using the same few words, but it will be hard to figure out what words need to appear together without "railroading" the player into one best sentence to form.  Not sure that's good either.  So I can't necessarily come up with anything better than you've got right now, but I'll keep trying to think of something good.

Maybe even more later!  By the way, is this a project you're actively working on right now, or still just an idea floating around in your head?
 

Jocho

Veteran
Veteran
Joined
Jul 31, 2014
Messages
42
Reaction score
6
First Language
English
Primarily Uses
Hey Wavelength.

Sorry about the slow response. I gotta say though, I agree with almost everything you said. Especially in regards to what the second character does and avoiding the ATB. In regards to ability sorting and "classes", the best solution is probably to be able to type out the romaji rather than looking through a big list, but that requires an additional level of coding I'm not yet ready for. I still think having "classes" of words and using words within that class could be good from a progression perspective, but that's for later.

Regarding whether or not the project is active, because I had trouble finding anyone to help make the battle system, I decided to put it on hold and work on another project. That project will probably occupy my workload for the next 2-3 months. At the same time, I'm learning to program in Ruby to hopefully be able to do the battle system myself. It's slow coming, but if I can do it, this project can definitely get back on the road.

Anyways, thanks for the interest. Sorry it's not more active right now.
 

Valkyriet

Pocket Panda
Veteran
Joined
May 5, 2015
Messages
491
Reaction score
217
First Language
English
Primarily Uses
For your big questions :

1. I think it sounds absolutely lovely. The foremost thing I liked about your post is that it is very organized, and lists every detail without any form of repetition or exaggeration. Secondly, your idea is a fresh one, and educational at that too. Merging games and education together is something I greatly approve of, because it contradicts what a lot of people say about gaming being a waste of time. So, basically *thumbs up*. I would also like to sign up if you're thinking of recruiting a team in the future; my Japanese-writing skills are at level zero, although I know a few words (mainly from anime), and I am learning to be a sprite artist.

2. This probably does not solve any of your current problems, but it's just an idea I had : each enemy can have a certain personality (you can interpret part of it as weaknesses/strengths as well). I think this is best explained with an example so here goes -

Beastie #1, Class[Protozoa]

Name : Blue Slime

a. Strengths - "Slippery", "Blob", "Blue" etc.

b. Weaknesses - "Microscopic", "Green", "Primate" etc.

c. Likes - Catapults

d. Dislikes - Primates, Molten chocolate, Permeable surfaces etc.

e. Tolerance - 48%

Now, let me explain in a bit more detail with the help of the above example.

a.The strengths are drawn from the fact that if you describe a thing like it actually is, the thing might consider it a compliment. However, if you call it something it's not, it will be offended. The concept is similar to calling a supermodel obese.

b.The above point is linked to the likes/dislikes aspect as well. For example, in the 1800s, if you accidentally called a British officer a Frenchie, they'd shoot you. Similarly, if you assume that slimes hate monkeys and humans, they'd naturally be offended if you called them a chimpanzee. You can further expand on this as well. Suppose you have two other enemy types : Lemur, Baboon. If you called a Lemur a Baboon, it will feel offended, and vice versa.

c.Finally, the tolerance factor decides how many times you can use a certain attack before its effects start to diminish. In fact, if you use that word any more beyond the tolerance limit, you'll actually be empowering the enemy to launch a super strong attack. For example, if you called me short about 10 times a day, I can remain passive for 50 such taunts before I hit you on the head with a hammer.

Now, I can assume that this would give a bit more flexibility and variety to your enemies.

3. I know as much about scripting as a cartographer knows about aerospace engineering, so I'm sorry that I cannot be of any help here. >3>
 
Last edited by a moderator:

Wavelength

MSD Strong
Global Mod
Joined
Jul 22, 2014
Messages
5,624
Reaction score
5,104
First Language
English
Primarily Uses
RMVXA
Joshua,

きに しないで!

Glad you liked some of my ideas.  I get pretty excited about the concept every time I read through this topic, honestly.

Typing out romaji instead of picking whole words is interesting... I would personally love playing it but that's because I already have intermediate skill in the language.  How would we ease in a complete newbie who doesn't know phrases like "desu ka" or the difference between "watashi" and "boku"... or is that simply not going to be the target audience for this game?  And if a player flat-out doesn't know that a rabbit is "usagi", what hints might we be able to give them so that they can figure out this word and type it in?  Would we try to introduce such words using story sequences?

(EDIT: I was thinking about it some more and there's another big reason not to allow free sentence entry: the player will be arbitrarily limited to whatever words and constructions that we've thought out in advance.  For example, it wouldn't be too hard to accept "You can ride it in the sea" as well as "I enjoy riding this in the ocean" for a boat enemy, but how are we ever going to catch a perfectly valid construction like "It is more useful in maritime climates than deserts" unless we do something crazy like hook the game up to live servers with actual teachers on the other end?  Whether it's classes of words in menus, semi-random word choices onscreen, or something different, I think it's almost necessary to let the player choose words.  On the other hand, once a category is selected, it probably wouldn't be too hard to allow the player to start typing as an alternate way of scrolling down the list, so they could choose "animals" and then type s-a-k to automatically scroll down to さかな.  It would just require some scripting.  I guess you could also type "d-o-u-b" to scroll to the category "animals" (どうぶつ).)

Using "classes" and words within them is a fine solution; the only major drawbacks I can think of are that it's one of the slowest approaches to inputting sentences, and large lists of words could be overwhelming (for "animals" or "moods" we should be teaching at least a couple dozen words in each, and usually only one or two words in that list are going to fit the enemy well, so I feel it would be important to start with a small set of available words like "happy", "sad", and "angry" for the moods category before expanding at some point in the game to bigger lists with things like "embarrassed", "surprised", "scared", or "dokidoki" at a later point in the game).

How much content do you have done on this game - is it mostly the battle system that still needs to be done, or is the whole adventure still sitting on pen and paper (or in your mind, even)?  I would be able to program most of this battle system for you as part of your team (although, like you, I'm busy with another big project for the next couple months), and I'm currently working with a scripter that's so good and efficient with the commissions I've offered him that I can't even test the scripts at as quick a pace as he's been completing them (so he's idle right now and looking for more work)!  So if it's a system you're willing to pay for I could certainly hook you up with him (and if you'd rather take this into Private Message, feel free to PM me).  On the other hand, if you haven't built out most of the non-battle content yet, maybe you'd be better off waiting until you clear your current project, and then we (if you want me, that is! - on my side, this is something I'd be very interested in joining at any point) can start constructing some content and then worry about code.
 
Last edited by a moderator:

Jocho

Veteran
Veteran
Joined
Jul 31, 2014
Messages
42
Reaction score
6
First Language
English
Primarily Uses
Even though the player would be allowed to type out the word, I don't think that means we need to hook it up to a huge database that constantly updates what works and what doesn't (although, hey, sequel territory :) ). Rather, I'm thinking it works more like an auto-complete, where words that the player has "learned" can be accessed quickly. Allowing relatively quick input for advanced players. Of course, it could be frustrating if there's a word that the player knows that the character doesn't, but that's going to be true regardless of how many words are in the game.

The classes would only be for organizing words under an input-based model and for keeping track of mastery. 

In terms of writing out specific battles, nothing has been done beyond concepts. The story outline is done, but little dialogue has been written. Similarly, the general setting has been made, but only insofar as sketches are concerned. I haven't actually built any areas concretely. 

That scripter sounds amazing though. What're his going rates? I'm willing to pay within a certain range. But not right now, considering my current project. Although, as you say, he seems to be free now, so I'll think about it.
 

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

Latest Threads

Latest Posts

Latest Profile Posts

Couple hours of work. Might use in my game as a secret find or something. Not sure. Fancy though no? :D
Holy stink, where have I been? Well, I started my temporary job this week. So less time to spend on game design... :(
Cartoonier cloud cover that better fits the art style, as well as (slightly) improved blending/fading... fading clouds when there are larger patterns is still somewhat abrupt for some reason.
Do you Find Tilesetting or Looking for Tilesets/Plugins more fun? Personally I like making my tileset for my Game (Cretaceous Park TM) xD
How many parameters is 'too many'??

Forum statistics

Threads
105,860
Messages
1,017,038
Members
137,567
Latest member
sashalag
Top