What Makes a Campaign/Scenario Good?

User avatar
IskatuMesk
Xel'naga World Shaper
Xel'naga World Shaper
Posts: 8328
Joined: Sat Feb 07, 2009 1:40 pm
Location: M͈̙̞͍͞ͅE̹H̨͇̰͈͕͇̫Ì̩̳CO̼̩̤͖͘ జ్ఞ‌ా

Re: What Makes a Campaign/Scenario Good?

Post by IskatuMesk »

Looks like you know like 69x more about how the game works than I do. I have absolutely no idea what this script controlled thing is you're talking about.

I assume the scv's start mining because of the AI script itself. Would be why tanks auto siege and stuff, too (though that may also be tactical AI). I've tried to use bullies to make the AI maintain its scv count but this doesn't seem effective at all (it's a seriously huge issue in some of my maps when I was still working, the AI would lose scvs to attacks and never rebuild them no matter how hard I tried to force it).

I have never witnessed the AI build prerequisite buildings under any circumstances unless I set up my bullies. In fact, I often have to set up the regions for bullies in a very specific timing arrangement to get them to build stuff in order of tech, because they often freeze if the bullies contain units they don't have tech for.

Where is this Set Defense Radii you're talking about? Is that a new trigger?
User avatar
GnaReffotsirk
Zerg Larva Herder
Zerg Larva Herder
Posts: 338
Joined: Sat Nov 15, 2008 4:54 am

Re: What Makes a Campaign/Scenario Good?

Post by GnaReffotsirk »

AI test 1.5.SC2Map
I'm attaching two maps.

One is Hexbox AI -- an unfinished port of my AI during beta. From galaxy to triggers. It currently only has building and training.

Second is the test for bullies. You'll find everything I've tested so far. All you need to do is type in the cheats:
TookTheRedPill -- for vision
CatFoodForPrawnGuns -- for fast build

press 1 (not numpad) to make the AI train scvs.
press 2 to make the ai build (supply depots, barracks) the refinery thing in there is something I just started to check out. Not working atm.
press 3 to build reactors
press 4 to train rines
press 5 to attack

everytime you press the number a set of units will be trained/constructed. 24 for scv, 10 supply, etc.

interesting thing about attack waves is that somehow, with any luck, the AI will split forces one will defend one will attack (given you're attacking and pressing 5 like 3 times for example).

the ai will retrain scvs 24 times i guess. I tried placing turrets at the mineral line and it just kept pumping scvs. so it works. At one point though, using the attack trigger (5) marines were no loner retrained. So I had to press 4 again. This might just be a problem with Blizzard's engine. However, I was pressing 5 at that time like 69x. (<-- this)

Notes for Hexbox AI map:
How it works is that the Mapper will just specify what to train or build in a list, then the AI will build/train them. I use a record to store list information.

My goal is to allow mappers to just specify certain build orders and expansions and where the structure will be built.

This however is just a prelim. I'm looking to incorporate your discovery on Bullies and hopefully I can offer people a simple trigger based AI that includes:
1. Expand/Construction/Training management (build orders and locations)
2. Basic attack waves (using Bullies or new units and waypoints) One shot and repeating
3. Defense management (...)
4. Group-based combat management

This is ambitious, I know, but it's doable. Now or soon, I will eventually have to make this system for survivors.
You do not have the required permissions to view the files attached to this post.
User avatar
IskatuMesk
Xel'naga World Shaper
Xel'naga World Shaper
Posts: 8328
Joined: Sat Feb 07, 2009 1:40 pm
Location: M͈̙̞͍͞ͅE̹H̨͇̰͈͕͇̫Ì̩̳CO̼̩̤͖͘ జ్ఞ‌ా

Re: What Makes a Campaign/Scenario Good?

Post by IskatuMesk »

In light of recent discussions regarding the reboot/reconstruction of Apex I'll be checking these out sometime soon. For the moment, I'll show you how my maps work.

This is 0x01, the same map I showed initially in the GEC video. What we're looking at here is one of the computer bases, almost all of which is flagged for bullies.

Image

I have it region-divided. The trigger for this guy's initiation looks like this. These sets of triggers are the bread and butter of 0x01's proof of concept.

Code: Select all

Startup Shit
    Events
    Local Variables
    Conditions
    Actions
        AI Advanced - Set the APM count for player 2 to 2000
        AI Advanced - Set the APM count for player 3 to 2000
        AI Advanced - Set the APM count for player 4 to 2000
        AI Advanced - Set the APM count for player 5 to 2000
        AI Advanced - Set the APM count for player 6 to 2000
        AI Advanced - Set the APM count for player 7 to 2000
        AI - Start the campaign AI for player 2
        AI - Start the campaign AI for player 3
        AI - Start the campaign AI for player 4
        AI - Start the campaign AI for player 5
        AI - Start the campaign AI for player 6
        AI - Start the campaign AI for player 7
        AI - Activate bullies in region Airforce Init for player 2
        AI - Activate bullies in region Armored Divis Init for player 3
        AI - Activate bullies in region Engineers Init for player 4
        AI - Activate bullies in region Defense Init for player 5
        AI - Activate bullies in region Fleet Init for player 6
        AI - Activate bullies in region Tactical Div Init for player 7
        General - Wait 20.0 Game Time seconds
        AI - Deactivate bullies in region Airforce Init for player 2
        AI - Deactivate bullies in region Armored Divis Init for player 3
        AI - Deactivate bullies in region Engineers Init for player 4
        AI - Deactivate bullies in region Defense Init for player 5
        AI - Deactivate bullies in region Fleet Init for player 6
        AI - Deactivate bullies in region Tactical Div Init for player 7
        General - Wait 15.0 Game Time seconds
        Trigger - Run Time-Gated AI Activations  (Check Conditions, Don't Wait until it finishes)
        ------- Blizzard + AI = always fail. Loop the goddamn bully commands because they don't stick.
        General - Repeat (Actions) forever
            Actions
                AI - Activate bullies in region Squadron Bullies for player 2
                AI - Activate bullies in region Armored Guys Bullies for player 3
                AI - Activate bullies in region Engineers Start Bullies for player 4
                AI - Activate bullies in region Defense Start Bullies for player 5
                AI - Activate bullies in region Fleet Bullies for player 6
                AI - Activate bullies in region Tactical Div Bullies for player 7
                General - Wait 10.0 Game Time seconds
                AI - Deactivate bullies in region Squadron Bullies for player 2
                AI - Deactivate bullies in region Armored Guys Bullies for player 3
                AI - Deactivate bullies in region Engineers Start Bullies for player 4
                AI - Deactivate bullies in region Defense Start Bullies for player 5
                AI - Deactivate bullies in region Fleet Bullies for player 6
                AI - Deactivate bullies in region Tactical Div Bullies for player 7

Code: Select all

Engineers Aggress
    Events
    Local Variables
    Conditions
    Actions
        ------- The Engineers will establish a supply base in a relatively vulnerable spot, then start attacking with light forces.
------- Since we're attacking and stacking defenses, it'll seem like we're trying to steal the player's territory.
------- Very simple, very aggressive setup in the north.
        AI - Activate bullies in region Defense Dudes Supply for player 4
        AI - Set the target for player 4 attack waves to (Enemies of player 2)
        UI - Display "Init - Tactical Target" for (All players) to Subtitle area
        AI - Set the attack wave gather point to (Center of Engineers Start Bullies) for player 4
        AI - Add (8 / 8 / 8 / 8) Marine to the attack wave
        AI - Add (12 / 12 / 12 / 12) Medic to the attack wave
        AI - Send the attack wave from player 4 to attack in (Difficulty(90 / 90 / 90 / 90)) seconds and Wait
        ------- Simple attack loop.
        General - Repeat (Actions) forever
            Actions
                ------- Attack Wave
                AI - Add (24 / 24 / 24 / 24) Marine to the attack wave
                AI - Add (12 / 12 / 12 / 12) Medic to the attack wave
                AI - Add (6 / 6 / 6 / 6) Siege Tank (Tank Mode) to the attack wave
                AI - Send the attack wave from player 5 to attack in (Difficulty(140 / 140 / 140 / 140)) seconds and Wait
                AI - Add (60 / 60 / 60 / 60) Marine to the attack wave
                AI - Add (12 / 12 / 12 / 12) Medic to the attack wave
                AI - Add (6 / 6 / 6 / 6) Siege Tank (Tank Mode) to the attack wave
                AI - Send the attack wave from player 5 to attack in (Difficulty(220 / 220 / 220 / 220)) seconds and Wait
                General - Wait 2.0 Game Time seconds

Code: Select all

Time-Gated AI Activations
    Events
    Local Variables
    Conditions
    Actions
        ------- This trigger time-gates AI events so that they can be tuned according to difficulty. Event-based actions can therefore be ignored in the activation structure overall.
        General - Wait 260.0 Game Time seconds
        AI - Activate bullies in region Engineers Invade Alkhazir for player 4
        AI - Activate bullies in region Defense Dudes Invade Alkhazir for player 5
        General - Wait 130.0 Game Time seconds
        AI - Deactivate bullies in region Engineers Invade Alkhazir for player 4
        AI - Deactivate bullies in region Defense Dudes Invade Alkhazir for player 5
        Trigger - Run Airforce Attack Waves  (Check Conditions, Don't Wait until it finishes)
        General - Wait 20.0 Game Time seconds
        Trigger - Run Tactical Attack Waves  (Check Conditions, Don't Wait until it finishes)
        AI - Activate bullies in region Engineers Invade Alkhazir for player 4
        AI - Activate bullies in region Defense Dudes Invade Alkhazir for player 5
        General - Wait 40.0 Game Time seconds
        Trigger - Run Armor Div Waves  (Check Conditions, Don't Wait until it finishes)
        Trigger - Run Fleet Waves  (Check Conditions, Don't Wait until it finishes)
        General - Wait 40.0 Game Time seconds
        Trigger - Run Strategic D Attacks  (Check Conditions, Don't Wait until it finishes)
        General - Wait 360.0 Game Time seconds
        General - Repeat (Actions) forever
            Actions
                General - Wait 10.0 Game Time seconds
                AI - Deactivate bullies in region Engineers Invade Alkhazir for player 4
                AI - Deactivate bullies in region Defense Dudes Invade Alkhazir for player 5
                General - Wait 10.0 Game Time seconds
                AI - Activate bullies in region Engineers Invade Alkhazir for player 4
                AI - Activate bullies in region Defense Dudes Invade Alkhazir for player 5
The bullies that are responsible for the aggressive map intro;

Image

Judging from your post your system is infinitely more complex. The setup for 0x01 doesn't have defense, because defense required a galaxy library and honestly I forgot how to even add that to the maps. 0x00 has that functional for one of your allies, but that's a map I wasn't ready to show (even though it's the most fleshed out).
User avatar
GnaReffotsirk
Zerg Larva Herder
Zerg Larva Herder
Posts: 338
Joined: Sat Nov 15, 2008 4:54 am

Re: What Makes a Campaign/Scenario Good?

Post by GnaReffotsirk »

Oh man, I'll be looking into these lines. Hexbox has no Defense yet, only construction though, and its just a loop thingy that executes AI build and train.

It's very simple really, yet seems to have more lines than necessary. I feel there must be someway more efficient.
User avatar
Laconius
Xel'naga World Shaper
Xel'naga World Shaper
Posts: 240
Joined: Thu Apr 16, 2009 10:36 am

Re: What Makes a Campaign/Scenario Good?

Post by Laconius »

IskatuMesk wrote:Image
Alhazeer
Ours is a thought-tormented age.
User avatar
IskatuMesk
Xel'naga World Shaper
Xel'naga World Shaper
Posts: 8328
Joined: Sat Feb 07, 2009 1:40 pm
Location: M͈̙̞͍͞ͅE̹H̨͇̰͈͕͇̫Ì̩̳CO̼̩̤͖͘ జ్ఞ‌ా

Re: What Makes a Campaign/Scenario Good?

Post by IskatuMesk »

Laconius wrote:
Alhazeer
Image
User avatar
mark_009_vn
Zerg Drone Masseur
Zerg Drone Masseur
Posts: 356
Joined: Fri Nov 04, 2011 5:56 am
Location: [[THIS USER, HE IS A CHAR]]

Re: What Makes a Campaign/Scenario Good?

Post by mark_009_vn »

IskatuMesk wrote:
Laconius wrote:
Alhazeer
Image
?!?
Image

"I'm begging you, let me work!" - Osamu Tezuka
User avatar
GnaReffotsirk
Zerg Larva Herder
Zerg Larva Herder
Posts: 338
Joined: Sat Nov 15, 2008 4:54 am

Re: What Makes a Campaign/Scenario Good?

Post by GnaReffotsirk »

Entropy is the thermodynamic property toward equilibrium/average/homogenization/dissipation: hotter, more dynamic areas of a system lose heat/energy while cooler areas (e.g., space) get warmer / gain energy; molecules of a solvent or gas tend to evenly distribute; material objects wear out; organisms die; the universe is cooling down. In the observable universe, entropy - like time - runs in one direction only (it is not a reversible process). One can measure the entropy of a system to determine the energy not available for work in a thermodynamic process, such as energy conversion, engines, or machines. Such processes and devices can only be driven by convertible energy, and have a theoretical maximum efficiency when converting energy to work. During this work, entropy accumulates in the system, which then dissipates in the form of waste heat.

Back on topic...

Say we have all these AI and all the functionality we wish AI has, what exactly is the role they must play so that a Campaign or Scenario becomes "good"?

How will a "smart AI" make a scenario better? Wouldn't it be just like playing against a Pro?

In what way does an AI help shape a campaign or scenario become praise worthy?
User avatar
IskatuMesk
Xel'naga World Shaper
Xel'naga World Shaper
Posts: 8328
Joined: Sat Feb 07, 2009 1:40 pm
Location: M͈̙̞͍͞ͅE̹H̨͇̰͈͕͇̫Ì̩̳CO̼̩̤͖͘ జ్ఞ‌ా

Re: What Makes a Campaign/Scenario Good?

Post by IskatuMesk »

GnaReffotsirk wrote:Say we have all these AI and all the functionality we wish AI has, what exactly is the role they must play so that a Campaign or Scenario becomes "good"?

How will a "smart AI" make a scenario better? Wouldn't it be just like playing against a Pro?

In what way does an AI help shape a campaign or scenario become praise worthy?
When we have the AI functioning in a satisfactory manner it opens up many paths for us to introduce challenge and this accomplishment to the player. The ultimate reward is to achieve immersion and achieve a sense of satisfaction by beating missions. The only way to achieve satisfaction is by having the player overcome what he or she perceives to be a genuine challenge free of gimmicks and bullshit, something that felt like it tested them and improved them as a player to overcome.

When the AI works well internally, it means we don't need to resort to arbitrary restrictions or gimmicks to make it "hard", like restricting tech options, resources, or providing the AI a ton of extra bases to weight its numbers against the player.

Additionally, with the pathing being superior and tactical AI being available in sc2, we can make a lot of unique units that the AI can use, too. High Templar and Ravens are only the beginning, I planned to have many different types of casters the AI would make heavy use of, promoting micro and such you never will see in a company campaign.

When the balancing becomes tighter through this manner, seemingly simple things like the way I was laying out 0x01 and 0x03's buildspace becomes all the more significant. The decision making will become more profound and individual actions will have more impact rather than just lazily throwing buildings here and there. I don't then need to make these some kind of alternate sub objective. Just overcoming your opponent would be unique in every mission, because the opponent would be genuinely different and unique every time. Additionally, they would function in a manner that allows multiple approaches to a mission. No more training computer workers away for 5 minutes with a single drone, now you actually have a living, breathing map and opponent to contend with.

In a B&D campaign, AI is everything.
User avatar
mark_009_vn
Zerg Drone Masseur
Zerg Drone Masseur
Posts: 356
Joined: Fri Nov 04, 2011 5:56 am
Location: [[THIS USER, HE IS A CHAR]]

Re: What Makes a Campaign/Scenario Good?

Post by mark_009_vn »

GnaReffotsirk wrote:Entropy is the thermodynamic property toward equilibrium/average/homogenization/dissipation: hotter, more dynamic areas of a system lose heat/energy while cooler areas (e.g., space) get warmer / gain energy; molecules of a solvent or gas tend to evenly distribute; material objects wear out; organisms die; the universe is cooling down. In the observable universe, entropy - like time - runs in one direction only (it is not a reversible process). One can measure the entropy of a system to determine the energy not available for work in a thermodynamic process, such as energy conversion, engines, or machines. Such processes and devices can only be driven by convertible energy, and have a theoretical maximum efficiency when converting energy to work. During this work, entropy accumulates in the system, which then dissipates in the form of waste heat.

!?!?!?!?!?!?!?!?!?!?!?!?!?!?
!?!?!?!?!?!?!?!?!?!?!?!?!?!?
!?!?!?!?!?!?!?!?!?!?!?!?!?!?
!?!?!?!?!?!?!?!?!?!?!?!?!?!?

When we have the AI functioning in a satisfactory manner it opens up many paths for us to introduce challenge and this accomplishment to the player.
Technically, as a dude who relies on abusing the living shit out of AI for mods, I must say that an AI need to have have a kind of "dynamics" into it, I once got away with it in BF1942 simply by making the AI randomly chooses between 3 different strategies: bum rushing (coordinated, single file attack at any CP you see), ape shit (splits into approximately 69 attacks patterns at random CPs), and eeeeeeeeeeeee (attacks the enemy in any possible ways, even if it means running straight into their uncapturable bases). Even as basic as it is, it's still fun because the AI is based on pure immergence, and it also allows the AI to take "risks". IMO, an AI that can take risks or changes it's strategies based on random variables and what's not, even if that means chopping down it's efficiency, is still a far more enjoyable opponent.
Image

"I'm begging you, let me work!" - Osamu Tezuka
User avatar
IskatuMesk
Xel'naga World Shaper
Xel'naga World Shaper
Posts: 8328
Joined: Sat Feb 07, 2009 1:40 pm
Location: M͈̙̞͍͞ͅE̹H̨͇̰͈͕͇̫Ì̩̳CO̼̩̤͖͘ జ్ఞ‌ా

Re: What Makes a Campaign/Scenario Good?

Post by IskatuMesk »

When I start designing a mission I first ask myself a set of questions.

1 - What role does this mission have in the story? For 0x01, it's to harvest a rare material. For 0x03, it's to secure a platform.
2 - How will this play into the gameplay? For 0x01, a Terran special forces fleet corners you while your ship is AFK. For 0x03, you need to secure the platform without blowing it up.
3 - How will this gameplay be presented in a challenging manner?

Since 0x01 is a defense mission, and defense missions have been done to death, there's a lot of things that people will simply expect that are difficult to deviate from. This is why I chose to show the typical terran turtle example - tankspam. Since the map layout and units are very different from what you'd expect out of a defense map, tank spam is a little more complex. Additionally, the enemy flanks and drops you regularly (which we did not see in that recording and now will never see).

By deviating away from the "computer A-moves guys into your tank wall" we have already established something different than what WoL did. In WoL, we have two examples of defense missions; Utter Darkness and Kerrigan.

I felt that Utter Darkness was a strong defense design because you weren't ever intended to win. That's somewhat the idea with 0x01 and some other defense maps I had in mind. Utter Darkess simply threw super strong units at you and spawned stuff inside your base. There was specific builds and things you could do to massively abuse it (I did Air and DT's with quite a bit of success). The AI did not think, so it was easy to abuse.

This is where your dynamic comes in. I had not developed my maps enough to implement dynamic enemies, they were just barebones proof of concepts. My goal was to diversify the enemy armies and the manner in which they attack.

In 0x05, when you first encounter the Blood, it was going to be a defense mission you were intended to lose. You'd have two allies and your own base with massive defenses. But the Blood would quickly overtake the map and begin building inside your base. They would employ tentacle units that were extremely durable, and all of their units were going to have passive and active abilities that interacted with the deaths of units - theirs or yours. In Wings of Liberty, where no effort was made to make units interesting or engaging to use/fight against, there is less flexibility. But nothing is stopping you from making improved tactical AI or whatnot to diversify how the AI handles those units, and this in turn directly correlates to the difficulty and experience of the mission without ever touching the terrain or map objectives.
User avatar
GnaReffotsirk
Zerg Larva Herder
Zerg Larva Herder
Posts: 338
Joined: Sat Nov 15, 2008 4:54 am

Re: What Makes a Campaign/Scenario Good?

Post by GnaReffotsirk »

In my Shadow of the Swarm scenario/Campaign, the first mission involves trying to remove structures that impede Zerg control over broods.

The scene is that Mercs were sent in to evaluate the situation, and while "Zerg hunters" were stuck there due to quarantine, they had to hold you off with mere ground units, specifically marines.

There's nothing much the AI can do at this stage of the Scenario except try to hold specific chokes and patrol around to spot Ovies. (since the Player is forced to rely on overlords and a region around them to direct broods or to successfully pop nydus worms if he/she likes to.)

As the player kills certain number of units within those defensive positions, the AI will fall back closer and closer to the main "Disrupter Hub" and this area is very difficult to penetrate with units without losing control intensely. In this area the AI will use certain units to focus fire on overlords if they get within range.

Then there are also different "behaviors" the AI will adopt as Arcturus' attack force descends on the planet to wipe the player out.

Etc. etc.

What I see here is that the Module for defense management or "reactive" part of the AI will not be able to use anything that is built for Melee. I see that the Scenario will determine what programming you give to the AI.

Their Goals and objectives, what the AI don't want to happen to it or likes to happen, how they should respond, to what they should respond to, when they respond, where, etc., can greatly differ depending on the environment and role the mapper has in mind for it.

In a Melee environment, for example GTAI, it's obvious that the AI must behave as human as possible and execute builds that are made by humans. And the creator of the AI will have to consider everything Melee as he feeds the AI things to define how it will act (either proactively, or retroactively) .

Thus, I've come to consider that AI for campaign makers, and especially those who want a unique experience (almost cinematic, or based on a written script) must make new AI thinking patterns every single map. Unless of course if it's all BnD, and melee-based gameplay. Or what I used to call, "Heaven for noobs maps" or "practice maps".

So, yeah...
User avatar
IskatuMesk
Xel'naga World Shaper
Xel'naga World Shaper
Posts: 8328
Joined: Sat Feb 07, 2009 1:40 pm
Location: M͈̙̞͍͞ͅE̹H̨͇̰͈͕͇̫Ì̩̳CO̼̩̤͖͘ జ్ఞ‌ా

Re: What Makes a Campaign/Scenario Good?

Post by IskatuMesk »

When I imagined the missions for Apex I wanted to build the AI in a manner that reflected the faction and/or leaders behind them. So in the circumstances of 0x01, the AI armies are actually all clones, and the guy commanding them is a bit experienced but very hotheaded. This leads to some wasteful deployments, but overall tactical and pincer-like motions that surround the player in defenses and seek to overwhelm him through different and overlapping types of attacks.

As the map goes on, these attacks become more and more reckless. Thus, the doom drops and corvette flanks begin happening, which result in massive chaos.

In 0x03, the Skyguard is largely consisted of automated drone ships that come in spaced but enormous strikes. Unfortunately, only the Ravens were implemented, and scarcely so. The center base, the Earthguard, would seek to weather the attacks you (and your ally that would arrive when the Skyguard were defeated) would unleash, attempting to drop gundams on you when the opportunity arrived.

None of my maps reached the stage where I could begin building dynamic characteristics into their playstyle, because before I begin a project of such a scale I first make an effort to establish proof of concepts. Almost all of this proofs were successful in SC2, and Apex was prepared to take on the next step of production if 1.5 hadn't destroyed it, and if getting graphics into the game wasn't a colossal pain in the ass.
User avatar
GnaReffotsirk
Zerg Larva Herder
Zerg Larva Herder
Posts: 338
Joined: Sat Nov 15, 2008 4:54 am

Re: What Makes a Campaign/Scenario Good?

Post by GnaReffotsirk »

This is excellent.

So, we have now established that in terms of AI in campaigns and scenarios, a "Personality" is required, and will be evident through the AI's behavior and interaction with the map and the player.
User avatar
IskatuMesk
Xel'naga World Shaper
Xel'naga World Shaper
Posts: 8328
Joined: Sat Feb 07, 2009 1:40 pm
Location: M͈̙̞͍͞ͅE̹H̨͇̰͈͕͇̫Ì̩̳CO̼̩̤͖͘ జ్ఞ‌ా

Re: What Makes a Campaign/Scenario Good?

Post by IskatuMesk »

This is one of the reasons why AI is a core component of my game design. I consider it as important as the baseline gameplay, graphics, and audio. AI makes the personality for the mission. You can have great unit design, great objectives, great terrain etc. But it's the AI that's going to give it life.
Post Reply