Non-Linear Phenogram of Battle Initiation
#1
... or, how my game's bosses can't be assumed to be encountered at certain points.

Alright. So some back story. My project doesn't follow a single linear story that I can predict the player to follow. Rather, you are given 31 days to work out how to save the world(s) from an ensuing disaster, and whatever you do until Day 31 is pretty much up to you. Freedom to explore and freedom to pursue quests, the enemies will grow in power after particular days in particular areas.

In what is probably pretty much the social links of Persona 3 and 4, this project has character quests to follow, one for each of the party members. You build your relationships with the characters, sort out their character arcs, and whoever you're the most friendly with will influence the final showdown. There isn't exactly a main quest to speak of, so the bosses are part of these nine threads you may chose to follow.

How? I can't predict that. Pretty much right from the beginning the player is free to go wherever and recruit any of the characters. This leads to for example, a player being up to the middle of the game but only now working on the quest of a character that was introduced in the beginning. Any boss fights in these quests are in limbo, separate to the current day that defines the assumed party level average and enemy encounter strength.

The point to this topic, is that I am asking for help to work out a way around this. I have a few ideas about how to solve this, but are not sure about how well they would work:
  • Bosses grow in strength according to the day value: I don't trust scripts that increase enemy stats to be particularly smooth. This would be the most simple way around the issue though, if the stats can be increased at a natural/non-broken rate and I can include skills or behaviours in latter-day conditions.
  • All story-bosses are puzzle-based: Instead of straight-up using strategy or power to take down the enemy, you simply have to survive (which having more HP or DEF could help with) while you work out the required string of actions to take down the boss. This lends itself to issues of bizarre adventure game logic situations, issues of making varied puzzles, what happens on failure, or when narrative-wise it wouldn't make sense. Some guys just want to shoot you.
  • Character quests are slightly bound to the day value: This would mean you wouldn't be able to progress with a certain quest until a certain day, thus allowing me to know that a boss has a certain amount of strength. Persona's social links had a schedule to follow, however P3 and P4 take place over more than a month, and their social links don't have bosses. (Though sometimes you were required to have a certain level of X statistic, there was padding to increase the relationship a few decimals if you didn't do something well enough.) I am not too fond of this though as I don't want to force the player to have to not do certain things on certain days, or wait on stages, or what have you.
So there we have it. Thanks for any suggestions you might have.
Reply }
#2
You could also just make different bosses in the editor, and use the day value to pick which ones the player fights. That would be the simplest way.

You don't even need scripts to vary a boss's stats or skills though! Skills can use the player's average level as a conditional. So you can make sure the boss only uses the stronger skills if the player's party is at least level 20 or something. Battle events can take a switch as a conditional, though there is no way to alter an enemy's stats other than HP/MP with the default events. You could use the "script" event to write one pretty easily.
Reply }
#3
(04-04-2013, 05:54 PM)MechanicalPen Wrote: You could also just make different bosses in the editor, and use the day value to pick which ones the player fights. That would be the simplest way.
This is the best solution in my view.
Reply }
#4
Ah, I forgot there is that point. With the existence of a bestiary, I was going to avoid that move because it would add extra entries, making it difficult to ever complete it for completionists. (Despite my intention to make it save data externally to save files.)

Maybe I could combine entries into one ID in-game somehow...

I'll have to also see how complex I can be with enemy actions in Ace. I've always been doubtful if truly complex enemies can be made with it. (Attacking allies under specific states, reversing debuffs... 'course I might just not be thinking hard enough...)
Reply }
#5
(04-04-2013, 10:09 PM)Taylor Wrote: Maybe I could combine entries into one ID in-game somehow...
Yes. Easy. When they win, add to a variable.
Simple.
Reply }
#6
There IS always the option of letting the player steamroll some of these bosses. Let the late-game player have an easy win as a trophy to their achievements so far.
Reply }
#7
MetalRenard Wrote:
Taylor Wrote:Maybe I could combine entries into one ID in-game somehow...
Yes. Easy. When they win, add to a variable.
Simple.
That's not quite what I meant. A script for a bestiary would produce a list of entries based on the Enemies data, and then enable or disable them if they've been seen/analysed/what-else. If there are multiple copies of a particular boss, they'll show up.
MechanicalPen Wrote:There IS always the option of letting the player steamroll some of these bosses. Let the late-game player have an easy win as a trophy to their achievements so far.
I'm less concerned about steamrolling bosses intended for early play without indication, and more like running into one far too difficult... unless perhaps I used this as a way to guide players into spreading out the time they take to complete quests?

Could this just seem like I'm stepping on the way a player wants to play though? Yeah I don't want to give them -too- much freedom. Balancing that in something freeroam like this continues to sound a challenge.
Reply }
#8
Have you considered not having levels at all? It sounds crazy, yes but the whole point of levels is to give a sense of progression and to wall off content (or to let the player grind to compensate for their lack of skill). Since you are already giving the player a sense of progression through recruiting, levels may not be necessary.

It sounds like monster scaling is your best bet if you do not want to get rid of leveling.
Reply }
#9
Then try re-thinking your problem...
What about if every time you beat a monster it droped an item unique to that type of monster, you can collect these. Each item has its own ID in the database so it would allow you to group these different levels of monster together, and you can have these in a secondary item menu of sorts. Not only would it tell you what you've killed but also how many!

Just an idea.
Reply }
#10
Well, you can always make it the hard way.

Make a variable with the days passed. Obviously it will increase at each day.

Then make tons of States. One for each, let's say, 5 days. Put no name on them, and no icon either. Each of the states should multiply your boss (and maybe monsters) parameters by a ammount. For example, the state related to day 5 to 10 will give a bonus of 20% to all of the base parameters (HP, MP, FP, Atk, Def, etc). The state related to day 10 to 15 will give bonuses of 35%. And so on.

So you'll have this kind of states:
State(no name - activate during days 5 to 10) - 20% to all base parameters
State(no name - activate during days 10 to 15) - 35% to all base parameters
And so on.

Now you'll edit the troop files of bosses. In EACH of them, you will give the boss (and the monsters if you want) the state according to the ammount of days passed. You can also use Level Condition on boss skills so they will use hard hitting ones when the party is strong.
The code will be something like this:

IF CASE: Variable[XXXX:DAYS] >= 25
Change Enemy State: All troop, +[STATE RELATED TO DAYS 25 TO 30]
Else
IF CASE: Variable[XXXX:DAYS] >= 20
Change Enemy State: All troop, +[STATE RELATED TO DAYS 20 TO 25]
Else
...
And so on
END IF

This'll gives a lot of work to do, but you can achieve your goal this way.
Reply }


Possibly Related Threads…
Thread Author Replies Views Last Post
   Popular Battle Systems kyonides 6 7,589 02-24-2022, 10:40 PM
Last Post: kyonides
   my Game Battle Questions! JayRay 3 6,720 08-08-2015, 08:01 PM
Last Post: JayRay
  New Battle System! Raphael Rpg Games 6 9,971 12-15-2013, 03:02 PM
Last Post: Raphael Rpg Games
   Have you seen Melody Battle Engine? computerwizoo7 2 6,841 05-07-2010, 03:10 PM
Last Post: computerwizoo7
   Battling Aspects of a Boss battle fgsfds 4 7,820 03-18-2010, 05:30 PM
Last Post: AGAFURO
   Which kind of battle system do you enjoy the most? computerwizoo7 24 34,535 11-30-2009, 10:42 PM
Last Post: Bolt



Users browsing this thread: 2 Guest(s)