turn based strategy for BoA

Error message

Deprecated function: implode(): Passing glue string after array is deprecated. Swap the parameters in drupal_get_feeds() (line 394 of /var/www/pied-piper.ermarian.net/includes/common.inc).
AuthorTopic: turn based strategy for BoA
Agent
Member # 27
Profile #0
I'm planning a scenario that involves commanding a group of units that aren't part of your party. After looking through the lists of calls, I realized that this sort of scenario isn't implausible as you can, using carefully crafted scripts and SDFs, imitate level ups in NPCs as well as change their held equipment.

I'm imagining an Ogre Battle 64 like gameplay, because it's probably impossible to gain complete control of the NPCs. By this, I mean that you choose how each NPC or group of NPCs attack each round, though you can't actually "control" them. For instance you can give "Group 1" the order to "Attack Strongest," meaning they would each target the enemy with the most current HP, or you could order them to "Attack Leader," meaning they would go for the "leader." Some of you might be skeptical and have probably not played Ogre Battle 64, but the system of combat offers a complete range of control and is actually preferable to the tedious point and click.

I hope to get a test version of this ready to see if it works.
Posts: 1233 | Registered: Wednesday, October 3 2001 07:00
Law Bringer
Member # 4153
Profile Homepage #1
That actually sounds incredibly cool, and I look forward to seeing it. Would it involve a lot of set_strategy, set_aggression, and set_courage calls?

Or, perhaps put more specifically, how complex do you intend this to get?

--------------------
Gamble with Gaea, and she eats your dice.

I hate undead. I really, really, really, really hate undead. With a passion.
Posts: 4130 | Registered: Friday, March 26 2004 08:00
Off With Their Heads
Member # 4045
Profile Homepage #2
quote:
Originally written by Enraged Slith:

For instance you can give "Group 1" the order to "Attack Strongest," meaning they would each target the enemy with the most current HP, or you could order them to "Attack Leader," meaning they would go for the "leader."
Aha! I had thought about how to do something like this before, but this particular way of doing things had never occurred to me. I like it.

--------------------
Arancaytar: Every time you ask people to compare TM and Kel, you endanger the poor, fluffy kittens.
Smoo: Get ready to face the walls!
Ephesos: In conclusion, yarr.

Kelandon's Pink and Pretty Page!!: the authorized location for all things by me
The Archive of all released BoE scenarios ever
Posts: 7968 | Registered: Saturday, February 28 2004 08:00
Agent
Member # 27
Profile #3
Unfortunately, I don't have a lot of experience with creature scripts. I can do some basic stuff with them, but I have yet to successfully make a complex one. It would probably be best to let more experienced designers refine the system.

For now, I'm just going to focus on simple combat orders and leveling up. The biggest difficulty I forsee in the future is making competent enemy AI.
Posts: 1233 | Registered: Wednesday, October 3 2001 07:00
Lifecrafter
Member # 6193
Profile Homepage #4
I had a conversation with TM about this a while back, I think our conclusion was that it would be cool, but hard to do for an entire scenario. Dungeons, for example, would be next to impossible in the traditional sense, and nearly everthing would have to be handled in towns serving as simulated outdoor combat.
When I brought it up I was thinking along the lines of Might and Magic, where you'd recruit 'platoons' of soldiers, and then be able to command them, aid them via spells, and perhaps even having the PC's stats affect the stats of units under them. It's definitely a cool idea, and I encourage you to try it out.

--------------------
Guaranteed to blow your mind.

Frostbite: Get It While It's...... Hot?
Posts: 900 | Registered: Monday, August 8 2005 07:00
Guardian
Member # 5360
Profile #5
Excellent idea. Try asking Nioca, The Self-Proclaimed Crafter of Bizarre and Generally Useless Scripts.

--------------------
May the fires of Undeath burn in your soul, and consume it.
Posts: 1636 | Registered: Wednesday, January 5 2005 08:00
Shaper
Member # 7472
Profile Homepage #6
Gee, Nylad, You say that with such enthusiasm. Or is this your revenge for me dredging up your old moniker?

Anyway, what exactly do you mean by 'competent enemy AI'? Because if you just mean having a smarter AI, I'd suggest looking at Improved Basic NPC, Elite NPC, and Advanced NPC, all found at the Codex.

--------------------
I tried to think of something witty to put here.

Needless to say, I failed.
Posts: 2686 | Registered: Friday, September 8 2006 07:00
Lifecrafter
Member # 6193
Profile Homepage #7
The problem as I see it is that the player needs to get some kind of benefit for commanding his units intelligently. If you win fights by just having the larger army and putting them in mop-up mode, it doesn't do much to encourage players to think and use good tactics. Good AI would go a long way to fixing this; a smart computer would attack stranded platoons, pick off undefended archers, use hit and run techniques when outnumbered, perhaps even become demoralized when surrounded or outmaneuvered. This is asking a lot, of course, but new AI scripts need to be written so groups of enemy soldiers act intelligently, not just individual smart soldiers.

--------------------
Guaranteed to blow your mind.

Frostbite: Get It While It's...... Hot?
Posts: 900 | Registered: Monday, August 8 2005 07:00
Agent
Member # 27
Profile #8
I'm not going to lie, creature scripts are by the far the most complicated of all the scripts in BoA. It took me around 3-4 hours yesterday of mind raping to figure out how to categorize nearby enemy units. After barking up the wrong tree by trying to distinguish between nearby enemy units, I realized that if I used a 'while' statement on every possible unit in a town, I could check on whether or not they were close to the character AND THEN categorize them. It was a painful experience.

Unfortunately, although this script seems to work in theory, my NPCs no longer want to attack anything.

EDIT:

if (get_flag(100,1) == 1){
while (zero < 119) {
if ((dist_to_char(zero) <= 8) && (get_health(zero) >= STRONG)){
get_health(zero) = STRONG;
}
zero = zero + 1;
}
set_target(ME,STRONG);
}
This is the product of a three hour mind rape. Please either bask in it's glory or tell me why it isn't working the way it should.

I should mention that this script basically says: (DURING START_STATE) at the beginning of each turn, find the STRONGEST (most hp) nearby enemy and set him to be your target.

[ Tuesday, March 06, 2007 16:07: Message edited by: Enraged Slith ]
Posts: 1233 | Registered: Wednesday, October 3 2001 07:00
Shaper
Member # 7472
Profile Homepage #9
You're setting one of your variables backwards. When setting a variable, the variable you want to set always goes on the left side of the equation, what you want to set it to goes on the right. So it should read:
if (get_flag(100,1) == 1){
while (zero < 119) {
if ((dist_to_char(zero) <= 8) && (get_health(zero) >= STRONG)){
STRONG = get_health(zero); // THIS IS THE MODIFIED LINE
}
zero = zero + 1;
}
set_target(ME,STRONG);
}
Without the modified line comment. Unless you want that in there, but I doubt it.

[ Tuesday, March 06, 2007 16:30: Message edited by: Nioca ]

--------------------
I tried to think of something witty to put here.

Needless to say, I failed.
Posts: 2686 | Registered: Friday, September 8 2006 07:00