Company of Heroes 3

Company of Heroes 3

Not enough ratings
COH3 ESSENCE EDITOR - PLAYBILLS
By Shadowphreak
COH3 ESSENCE EDITOR TUTORIAL - PLAYBILLS

THE BASICS

Pre-Req - You have a basic understanding of COH3 Essence Editor and can create your own basic map from start to finish.

Playbills are what Relic calls pre-defined scripts. These are new to the COH3 Essence Engine.
   
Award
Favorite
Favorited
Unfavorite
PLAYBILLS - WHAT ARE THEY?
Playbills are new to the COH3 Essence Engine.

Think of Playbills as pre-configured scripts (Code) that can be easily used - without coding.

Playbills can communicate to each other, create variables, timers, actions, and decisions based off what's happening in the game.

Examples,

- Troops see you coming, run away to building, garrison building, and fire on you.
- Troops walk across bridge, an airstrike automatically comes to wipe them out.
- Change the atmosphere throughout the game from morning to night.
- Spawn squads/entities throughout the match depending on things like locations, player size, capture points, progress, and much more.

There is infinite options you can perform with Playbills..

However, being new, there is very little to no documentation. So a lot of it is simply trial and error.

Important to note:
  • Some playbills and playbill options are not working and/or crash the level (Designed for single player only).
  • Playbills activate one after another, they do not wait for previous to finish.
  • ALL playbills pre-load when the level is loading, even if they are not used or activated. (found this out hard way troubleshooting a problem)

When I'm experimenting with Playbills, I simply create a default new grey map, and only focus on what task im ultimately trying to do. Once its tested and works, I simply copy it over to my map.

Discords COH3 Map Making[discord.com] is a great resource for questions. Also COH Worldbuilders [discord.com]!
KNOWN ISSUES
Couple of known issues,

  • Playbills and VP don't usually work. For example one of my maps (8) Bloodbath has a playbill that changes the atmosphere from night to day time. If you play it with VP instead of Annihilation it just freezes on map loading screen.
  • Assigning a squad to player 9 or above. This will cause crash on startup.
  • Using an action for a squad that doesn't exist (yet). This causes a scar error and crashes level.
PLAYBILLS - HOW TO USE THEM
Let's jump into it, shall we?

We are going create to a Playbill that spawns troops once the player enters a specific zone.



Below screenshot I started a new basic map. nothing special.

On the left hand side you'll see by default a line item called, "Prefabs". This is where all the magic starts.


Open the tree by clicking the arrow ">", and you'll open up another folder. This folder is named whatever your map is by default.

Right click the new folder, and chose "Add".


You'l be given a bunch of options here. I'm not going to cover anything but basic Playbills. So click "playbill" option.


A new folder will open up called, "playbills". Right click this folder and click "Add" again.


Now you have your first playbill! There are two options by default:

"conditions" means what has to happen for this playbill to start? If you leave it blank as it is, this means the playbill will start automatically (or if triggered by another playbill).

"actions" means what happens once that condition is met.


For this example, lets add a condition. Right click the "conditions" folder, and chose "Add"


On the right pane window you'l notice some options appear. These are the Conditions you can select to activate your playbill. There are tons...

Let's keep it simple, choose the last one, "UnitAtLocation". This means what it says, if a unit walks into a specific area, the playbill will activate the actions.


Keeping things simple, we're doing minimum for this example. We simply want to create a zone if player walks into, it activates the playbill action.

Click "Comparison" and change to "IS_GREATER_THAN_OR_EQUAL".


Now change the "Amount" from 0 to 1. This means any troop that walks into this zone of 1 or more will active the playbill action.


You'll now notice on your main window there is a line and zone. It defaults the zone to the middle of the map and can be moved anytime. Let's expand the radius of the zone, so its easier for troops to walk into.


On the right side, you'll see "Radius", I changed this to 10. It can be whatever.

Now you'll notice a circle, that is the area a troop needs to walk into to active this playbill.


Now let's move the zone by simply clicking and dragging it closer to the HQ.


Now lets set up an action. on the left window pane you'll see a folder called, "actions". Simply right click this, and click "Add".


Now you'll see a ton of Action options you can select from. For this example, click "SpawnSquads". This will create a new squad in the game.


Now we have some options, the only one we will do is click, "Squad PBG". This means what Squad do you want to spawn.

Optional Tips (not required for this example): You can also select which player gets this squad here, and most importantly, this is where you can name your squad.

You can name this new squad by typing in a name in the "SGroup" option above the "Player" line item. Why is this important? In the future, you need to be able to reference this squad, to UseAbilities like firing, walking somewhere, or killing/etc...


Next window that appears gives you all the options. For this example, click "races", "infantry", and "assault_engineer_us" and click "Open"


A new marker will appear and you can drag and drop this anywhere on the map. This is where the new squad will spawn.

Optional Tip: There is actually two markers, "Start_position" and "Dest_position". This means you can have the squad start in one place, then walk over to the destination place.


Lastly, we need to tell this Playbill to be active immediately. On the left pane, click the playbill i have highlighted. A window of options appears on the right side. Click "immediate". This doesn't mean run the Action immediately, this means run the Condition immediately.

Remember the action wont start unless the condition is met in this example.

Why would you have this unchecked? If you have another playbill, that is waiting to be activated by this or another playbill. So if I didn't lose you yet, you can have crazy big workflows that active/inactivated each other depending on what's happening in the game.


So now your screen should look like this.

Tip: You always want to name your playbills, conditions, and actions. You can do this by looking for the "name" on the right pane. This is just for you and has no effect in game. This will help you understand what everything does and essential for troubleshooting.


Another tip, since the zone we have doesnt show in game, i just use a simply texture to fill it in, so I know where to send me troops in game to active the playbill.


... and that's it!

Of course there is so many other things to do and best practices I don't cover here, but I just wanted to get this tutorial down in the quickest and simplest fashion without confusion. (hopefully!)





When you run the game, it should do this below.



If video doesnt play - here is direct link - https://youtu.be/9XOgSISHCyc
REFERENCE LIST
Ongoing reference list I'm going to try and update as I learn more. Many playbill actions are only for single player and don't work for multiplayer. I only cover ones that work for Multiplayer.

Every Playbill has CONDITIONS and ACTIONS. If you do nothing with Conditions, then the actions will automatically trigger one after another - THEY DO NOT WAIT - this is important to understand, because sometimes you'll have multiple Actions and wonder why only first one triggered. So you want to use the WAIT action as much as possible to control this.

There is no "go to next action after this one is done" feature.

You always want to try and use separate playbills as much as possible. Having too many actions in one playbill becomes unmanageable.

Make sure you name your playbill something informative as you may reference it from a drop down list in the future. Example - You have a playbill that spawns troops. Instead of your playbill being named "playbill" by default, rename it PB_SPAWN_TROOPS.

Likewise, make sure you name your Actions. If you have a "wait" action, simply name it WAIT. You'll spend a lot of time troubleshooting, looking at a long list of "Actions" isn't going to help.

Playbill Action List (based off ones I know so far... Not complete list and just used for reference, i'll post tutorials on these in the futurea

  • Attack- Give specific Attack command to a squad you spawned.

  • AttackMove- Same as in game, squad will move to your destination in attack mode, so if it sees an enemy it will attack. Change "Target Type" to Position. Make sure you name the squad it applies to under "Attacker SGroup"

  • FadeToBlack- Fades the screen slowly to pitch black. Good for having before using "MultiplayerComplete" action.

  • GameTextTitleFade- Places a message on the bottom center of the screen for players. Edit the "Display Text" with your message. The duration is how many seconds it shows.

  • Garrison- Great for moving squads into buildings. You have to name the building first, then simply type the name of that into the "Location EGroup". The squad does not need to be near the building, they will run directly to it provided there isn't anything blocking them.

  • InstantCaptureStrategicPoint- Great evil action, you can automatically and instantly change a and or all capture point(s) to a specific player.

  • LaunchPrefabOrPlaybill- Super useful. This allows you to call another playbill. For example, you have one playbill that spawns enemy squad. You would create another playbill to move them, and here is where you would trigger that from the "prefab" drop down. This also has the rare option of "wait for completion" if needed.

  • LoadAtmosphere- Simply changes the atmosphere. In the "Atmosphere Name" type in the name of your Atmosphere. Duration is how many seconds it takes to transition. This is how you change levels from day > night, etc...

  • Loop- Loops your actions, only pretains to the same Playbill. Stage 1 is the first action, etc...

  • MoveUnit- Moves a squad you spawned to position.

  • MultiplayerComplete- Ends match with Victory screen.

  • PlayerSetResource- Allows you to add/multiple/remove Ammo/Fuel/Manpower from player.

  • Retreat- Sends specific squad to retreat. You have to identify the SGroup. You can also check "Delete Near Marker" so it disappears after.

  • SetSelectable- Very helpful, basically makes it so a squad can be selected by the player or not.

  • SGroupWarpTo- Star trek style, without the special effects. Instantly move a squad you spawned anywhere on the map. Scotty would be proud.

  • SpawnEntities- Spawns a building, bridge, whatever you desire. Keep in mind, if you get a red box it says the entity is not cached. So whatever you spawn has to already exist on the map somewhere.

  • SpawnSquads - How to spawn troops or vehicles where ever you want. Change the "Player" if need be, also click "Squad PBG" to select the army you want to appear. ALWAYS NAME YOUR SQUAD. Name your squad in the "SGroup" field. This way you can call it with other actions.

    Squads usually have 4-5 troops. If you want just 1 troop, simply change the "opt Entities in Squad" to 1.

    (Pro Tip - Click the "Spawn AI Locked" so you can control the squad through actions. If you don't, the AI will move them at will.)

  • UIFireMinimapBlip- Pings the map, you can set the duration for how long as well.

  • UIShowInfoPanel- Puts a title bar at the top right of the screen.

  • UseAbility- This gives commands to a squad you spawned. For example you spawned a Howitzer, and now want it to fire at specific area. Choose the ability in "Ability PBG". Or you want to call in artillery or paratroops.

  • Wait - Simply change the "Duration" in seconds to whatever number. This is ideal if you need an action to finish before next action begins.

Wish-list hoping to figure out still or work around for...

a) A way to play sound or music.

b) A way to action target a Team instead of Player. As it stands right now, if you have a action ,you have to duplicate it for each player.

c) An easy way to move entities from one position to another. (IE: Boats, etc..) I have a trick for this I'll do a tutorial later.

d) A way to transition WaterFloodMarkerBlueprints like how "LoadAtmosphere" works.

e) A timer that displays on the screen which can be paused or reset or added to... there are many timer based actions, I cant get any of them to do anything... ?

8 Comments
Pingu 14 Jul, 2024 @ 5:15am 
Yay! I followed the tutorial and made a unit spawn on the map just like shown :)
Pingu 28 Feb, 2024 @ 10:26am 
Thx m8! :)
Shadowphreak  [author] 14 Oct, 2023 @ 6:35am 
:)
Cestpasfaux 14 Oct, 2023 @ 6:26am 
Dear Shadow, for me, who loves to create this kind of map, You just opened up new horizons for me :) It will not the answer for my tuning pack trouble, but ... :)
Shadowphreak  [author] 18 Aug, 2023 @ 8:20am 
Added some very important reminders,

- Some playbills and playbill options are not working and/or crash the level (Designed for single player only).

- Playbills activate one after another, they do not wait for previous to finish.

- ALL playbills pre-load when the level is loading, even if they are not used or activated. (found this out hard way troubleshooting a problem)
Shadowphreak  [author] 14 Aug, 2023 @ 8:42pm 
Updated Reference List and made it alphabetical...
Shadowphreak  [author] 9 Aug, 2023 @ 4:27pm 
Added "Reference" section.
Shadowphreak  [author] 9 Aug, 2023 @ 7:10am 
Added "Known Issues" Section.