News:

Welcome to the new Sinister Design forums!

Main Menu

question about campaign design limitations

Started by JeenLeen, March 29, 2013, 12:40:27 PM

Previous topic - Next topic

JeenLeen

I'm contemplating some options in a campaign I want to make using this game, and had some questions?  Part of the idea is to do a tabletop/pen-and-paper RPG like-game using this, with the RP done inbetween fights, and sometimes I control the NPCs (as DM) and sometimes letting the AI do it (to save time.)  The PCs (probably 3) will control custom-made character classes and recruit additional characters as the game progresses.

I have a number of questions, and am dividing them into different topics below.  My apologies if they are already discussed elsewhere.

Multiple Armies
1. Would campaign mode allow multiple armies (such as a 3-way battle)? 
2. Would it allow 2+ to be controlled by players (for example, PC-controlled player's party, PC-controlled DM's party (enemy), and CPU-controlled (enemy))?
3. Would it allow alliances (ex. the party the DM controls and the enemy NPCs are allied, or the PCs are allied with NPCs they are to protect)?
Making zombies
4. Can a unit be given a 'activate when you die attack' that creates a unit belonging to another army when and in the square it dies?  (I like the idea of a zombie plague, and if a character dies, it rises as a low-level zombie)?  I think I remember that 'Create' skills can let you assign a thing like a bridge or barrier to belong to an army, but I was wondering if it can work the same for creating a unit.
5. If you create a summon-like ability (a Create attack that creates a unit), would the enemy AI know to use it or just ignore it?  (Idea of a summoner/necromancer class.)
Recruitment
6. Can the branching plot work off of if a unit survives a battle?  For example, if they manage to save an NPC, it joins the party at the end of the battle, but if it died, the game just goes to the next scene.
Battle Design
7. Will there be something like a copy & paste feature with designing battles?  I can see some plot paths using the same map and basic battle features, but a few minor things change (whether the enemies are called Rebel or Imperial, for example, or the troop composite).  Rather than recreate what I already made and edit it, it'd be easier to reuse and slightly modify a battle I already crafted.
Leveling
8. Is it possible to, as a unit levels, let the PCs choose what happens (either as an in-game feature, or by me between battles opening the proper file in a text editor and modifying the character's entry)?  While I plan to have most of the PC's army level up as in the demo, for their actual characters I want them to be able to choose how their stats increase and to be able to buy skills from different classes (so even if based on a spearman, they could purchase a healing ability.) 
9. Can a character, when they join, have their level set to the party average, or does the level have to be hard-coded?

Thank you.  And if any of the above are not possible, I understand.  It sounds like they are, but since I won't have the system for a few weeks yet to fiddle with, I want to know what the possible options are before I start working out a plot for the campaign.

Edit: added question #9

CraigStern

#1
Lots of questions! Let's see.

Quote from: JeenLeen on March 29, 2013, 12:40:27 PMMultiple Armies
1. Would campaign mode allow multiple armies (such as a 3-way battle)? 
2. Would it allow 2+ to be controlled by players (for example, PC-controlled player's party, PC-controlled DM's party (enemy), and CPU-controlled (enemy))?
3. Would it allow alliances (ex. the party the DM controls and the enemy NPCs are allied, or the PCs are allied with NPCs they are to protect)?

Yes to all three; all of these are currently supported in the game. You can have multiple armies, you can set each of them to player-controlled or CPU-controlled, and you can set them up with any sort of combination of alliances you like.

One thing to keep in mind: within any given battle, only army 0 (the armies are numbered) counts as the player's persistent army. So you can have other, allied armies under the player's control, but units in those armies won't gain experience or level up; they're treated like NPC armies, if that makes sense.

Quote from: JeenLeen on March 29, 2013, 12:40:27 PMMaking zombies
4. Can a unit be given a 'activate when you die attack' that creates a unit belonging to another army when and in the square it dies?  (I like the idea of a zombie plague, and if a character dies, it rises as a low-level zombie)?  I think I remember that 'Create' skills can let you assign a thing like a bridge or barrier to belong to an army, but I was wondering if it can work the same for creating a unit.
5. If you create a summon-like ability (a Create attack that creates a unit), would the enemy AI know to use it or just ignore it?  (Idea of a summoner/necromancer class.)

I'm not sure if #4 would work right now; I suspect that it would probably cause the game to glitch out, though I'd have to test that to be sure. If it doesn't work, I could probably add support for it. :)

The AI does not currently use Create attacks; that's something I plan to change, though.

Quote from: JeenLeen on March 29, 2013, 12:40:27 PMRecruitment
6. Can the branching plot work off of if a unit survives a battle?  For example, if they manage to save an NPC, it joins the party at the end of the battle, but if it died, the game just goes to the next scene.

Yes, absolutely. You can stick an OnCharDeath trigger in the campaign for that character, then have that run a SetVal action so the game knows that character died going forward.

So: suppose you want the game to branch based on whether Prince Cunningham dies. You'd have a conversation triggered by OnCharDeath,-1,Prince Cunningham and the action SetVal,PrinceCIsDead,=,1. Later, you'll be able to use IfValGoTo to check PrinceCIsDead; if it's 1, you'll know that the prince died earlier in the game.

Quote from: JeenLeen on March 29, 2013, 12:40:27 PMBattle Design
7. Will there be something like a copy & paste feature with designing battles?  I can see some plot paths using the same map and basic battle features, but a few minor things change (whether the enemies are called Rebel or Imperial, for example, or the troop composite).  Rather than recreate what I already made and edit it, it'd be easier to reuse and slightly modify a battle I already crafted.

Yeah; all you'd have to do is open the map you want to change in the map editor, make your changes, then save the variant as a new map.

Quote from: JeenLeen on March 29, 2013, 12:40:27 PMLeveling
8. Is it possible to, as a unit levels, let the PCs choose what happens (either as an in-game feature, or by me between battles opening the proper file in a text editor and modifying the character's entry)?  While I plan to have most of the PC's army level up as in the demo, for their actual characters I want them to be able to choose how their stats increase and to be able to buy skills from different classes (so even if based on a spearman, they could purchase a healing ability.) 
9. Can a character, when they join, have their level set to the party average, or does the level have to be hard-coded?

You can modify character stats by using the SetStat action in scripted dialog, meaning that it's 100% possible to let the player have a choice of stat increases for certain characters. You can do the same with skills using the TeachAttack action.

The second thing would be tricky. You can have a character level up using the GiveExp action, and you can have dialog react to a character's level using IfStatGoTo, but taking the average of every characters' stats is not currently supported.

bugfartboy

A bit of feedback on #4. I was curious about this a few days ago and attempted to create a "Zombify" attack. I tried a few different variations, of which none worked.

Originally I attempted to use the traditional "Create" Element, but the game wouldn't let me use the attack on another unit.

<Atk elem="Create" name="Zombify" d="0" cst="5" minRng="1" maxRng="1" shkMag="0" skhTim="0" strD="0" powD="2" defD="0" backStabFactor="1" sidestabFactor="1" selfHealFactor="0" selfFocusFactor="0" accMod="0" statFX="Poisoned" affects="Health" afterAtk="EndTurn" AOE="single" particles="blood" targeting="constrained" moveType="CharPlacement" knockback="0" creates="Swordsman" createdOnTeam="MyTeam" desc="Kill and control your opponent"></Atk>


Next I tried a different element. I wanted the attack to be able to damage an enemy, then put another unit in it's place if it died. Sadly, using a different element caused the game to completely ignore the data in "creates" and createdOnTeam".

<Atk elem="Explosive" name="Zombify" d="0" cst="5" minRng="1" maxRng="1" shkMag="0" skhTim="0" strD="0" powD="2" defD="0" backStabFactor="1" sidestabFactor="1" selfHealFactor="0" selfFocusFactor="0" accMod="0" statFX="Poisoned" affects="Health" afterAtk="EndTurn" AOE="single" particles="blood" targeting="constrained" moveType="CharPlacement" knockback="0" creates="Swordsman" createdOnTeam="MyTeam" desc="Kill and control your opponent"></Atk>


CraigStern

Changing character classes and character stats is currently only possible through dialog scripts. I just had an idea, though; it might be interesting to create the ability to trigger custom scripts directly via attacks...

JeenLeen

An additional question: when making a battle scene in the editor, can you set the Fog of War on or off for that particular battle? 
I'm considering having it on for some fights to represent a magical mist the players have to deal with, while for most battles it will be off.  I think I recall it can be turned on or off in the settings... and I could just tell the players to turn it on for that fight... but it'd be more fun to have it set.

If I made a custom class that had a crazy high perception (20 or 30, for example) for one of the NPCs, would that effectively negate the Fog of War for the enemy party (at least as long as that unit was alive)?

CraigStern

Stick this in battles where you want fog of war activated:

<Condition>Fog of War,true</Condition>

The enemy AI currently ignores fog of war entirely; that's something I'm going to need to address eventually.

JeenLeen

Quote from: CraigStern on March 29, 2013, 03:35:07 PM
Quote
9. Can a character, when they join, have their level set to the party average, or does the level have to be hard-coded?

You can modify character stats by using the SetStat action in scripted dialog, meaning that it's 100% possible to let the player have a choice of stat increases for certain characters. You can do the same with skills using the TeachAttack action.

The second thing would be tricky. You can have a character level up using the GiveExp action, and you can have dialog react to a character's level using IfStatGoTo, but taking the average of every characters' stats is not currently supported.

In another place, you wrote about how there we can set variables that can be raised or lowered as the game goes on, the most obvious being money but I know another poster wrote about using it for loyalty, fatigue, or other more abstract notions.

With the current modding systems, would be anything that can be done similar to the following:
1. at the beginning of the game, create two variables, one to track the total levels of the party (TotalLevel) and one to track the number of party members (TotalChars). 
2. Whenever a new character joins the party, increase TotalChars by 1.  I imagine this would be very easy to do given what I read in the other thread.
3. Whenever a character levels up, increase TotalLevel by 1.  This party seems trickier.
4. When a new character is set to join the party, have their level be set to a variable (AverageLevel) instead of a number.  AverageLevel = TotalLevel / TotalChars.
Of course, after #4 is when #2 and #3 would actually occur.  TotalChars = TotalChars + 1, and TotalLevel = TotalLevel + AverageLevel.

I know I'm not using the the coding language, but should the idea above work?


CraigStern

Steps 1-3 should work. Step 4 would not have worked before, but I just added in a couple of new script actions that should make it possible going forward. ;)