Play Creation Guide

Play Creation Guide
I tried to make this as quick as possible, but as it would turn out there’s quite a few components that I wanted to make sure to explain. I pasted an example of a play below so that you can reference each aspect of what would be needed to successfully create a play.
First things first, when your creating plays what I recommend doing is making a copy of the plays.xml file and save to your desktop so you can keep the default file for the game and have a work in progress file. The file can be found in the following folder: C:\Program Files (x86)\Wolverine Studios\Draft Day Sports - Pro Football 2018\Data. I’d also suggest downloading Notepad++ (Its Free!) to do any modding for any of the XML files for either DDSCF or DDSPF.
IMPORTANT
For the next part please keep in mind that spelling and capitalization must be exact. The play that is copy and pasted is a working play that I’ve added to my mod and will use as a reference for this guide.
Play Headers:
Play Requirements & Definitions for All Offensive Plays:
Play Freq – This is how frequent the play is called in game. In my plays mod I believe I set this to “1” for every play to ensure even distribution.
Formation – This must be one of the actual in-game formations that have been pre-programmed: Shotgun, Spread, ProSet, Iformation, TwoTE for pro and you can use Wishbone if you’re modding for the college game.
Name – This can be anything you want. If you want to name the play “Spider Two Y Banana” you have that flexibility. However, I try to keep my names as basic as possible because I used a good amount of custom movement (more on that later).
Type – Must be either “Run” or “Pass”
OffScheme – Must be one of the following four: Power, ProStyle, Vertical, or Spread. (Note: There may be others already preprogrammed in the game but I didn’t test them to see if they worked.)
For All Pass Play Requirements
Play Example Header for Pass: <Play Freq="1" Formation="ProSet" Name="LWR Short Out" Type="Pass" OffScheme="ProStyle" PassPref="Short" PassTargetPref="Outside" RBRole="Catching" TERole="Catching" BaseForm ="true">
PassPref – Must be one of the following: Long, Balanced, Medium, or Short
PassTargetPref – Must be one of the following: Balanced, Outside, OverMiddle, Runningbacks, Tightends.
RBRole – Must be either Catching or Blocking
TERole – Must be either Catching or Blocking.
BaseForm – I’m not really sure what this does as I’ve seen cases where its “True” or “False”. Listing it as either for any play hasn’t skewed results or caused errors on my end.
For Run Play Requirements:
Play Header Example for Run:
<Play Freq="1" Formation="ProSet" Name="RB OffTackle Left" Type="Run" OffScheme="ProStyle" RunPref ="Balanced" BaseForm ="true">
RunPref – Balanced, Draws, Inside, Outside, or Power
BaseForm – I’m not really sure what this does as I’ve seen cases where its “True” & “False”. Listing it as either for any play hasn’t skewed results or caused errors on my end.
Player Identification:
Ok, so that’s the basics of setting up the headers on an offensive play. Next is the actual components of what each player will do on the play but first a quick overview of what everything is:
Slot ID - Each Player is identified as a number that is aligned with where they fall on the depth chart for a particular formation. Very important to pay attention to which formation you are creating for as the Slot ID’s for each position vary based on the order of the Formation. Example: Slot ID 3 for Shotgun = TE, but Slot ID for IFormation = FB.
There is a percentage marker for how often you want a player to get the ball for a play. The “Pct” is followed by a number that is to be on a 1-100 scale. The Pct can be used for any skill player position.
Player Movement:
Path – Every player action must open and close with this command.
Action – This is the fun part. There are two ways to create movement within a play. The first and easiest is to use the pre-programmed “routes” that have been provided with the game. If you pop open your Plays.xml file and export/open it with Excel you’ll see that there are predefined movements such as “QB Drop Back Medium” or “Pass Block” etc. With these I don’t have a clear definition on just how far each player moves so I tried to limit using them all together when I created plays. However, if you’re just getting started and looking for an easy way to create plays I’d suggest using this route.
The second and more complicated way of creating a player “route” is by manually creating a route for him using the games X, Y, Delay Axis. The X, Y axis works in a feet metric, so every 3 points = 1 yard.
X Axis – Negative Numbers = Left Movement, Positive Numbers = Right Movement
Y Axis – Negative Numbers = Backwards, Positive Numbers = Forwards
Delay – This works in Seconds, so if you use a 1 here, the player will “freeze” for a second before going on to his next movement.
Example of Player Movement:
This is about as basic as it gets. What you see below is my version of a Deep QB Dropback. Basically with an “X” movement of 0 I’m telling the QB I don’t want him moving left or right at all, with a “Y” movement of -30 I’m telling the QB he needs to drop back 10 yards before throwing the ball.
<Path>
<Action Type="Move" DeltaX="0" DeltaY="-30" Delay="0"></Action>
</Path>
Multiple Player Movements:
You can have more than one movement in a single play for a player. The example below is an “Out and Up” route for a receiver. The first line is telling the receiver to go forward 5 yards, the second line tells him to go left 2 yards and the third line tells him to go forward 15 yards.
<Action Type="Move" DeltaX="0" DeltaY="15" Delay="0"></Action>
<Action Type="Move" DeltaX="-6" DeltaY="0" Delay="0"></Action>
<Action Type="Move" DeltaX="0" DeltaY="45" Delay="0"></Action>
Play Creation Example:
<Play Freq="1" Formation="TwoTE" Name="Out and Ups" Type="Pass" OffScheme="ProStyle" PassPref="Long" PassTargetPref="Outside" RBRole="Catching" TERole="Catching" BaseForm ="true">
<Slot ID="0">
<Path>
<Action Type="Move" DeltaX="0" DeltaY="-30" Delay="0"></Action>
</Path>
</Slot>
<Slot ID="1" Pct="10">
<Path>
<Action Type="Move" DeltaX="0" DeltaY="33" Delay="0"></Action>
<Action Type="Move" DeltaX="-6" DeltaY="0" Delay="0"></Action>
<Action Type="Move" DeltaX="0" DeltaY="-9" Delay="0"></Action>
</Path>
</Slot>
<Slot ID="2" Pct="10">
<Path>
<Action Type="Move" DeltaX="0" DeltaY="12" Delay="0"></Action>
<Action Type="Move" DeltaX="30" DeltaY="0" Delay="0"></Action>
</Path>
</Slot>
<Slot ID="3" Pct="10">
<Path>
<Action Type="Move" DeltaX="0" DeltaY="12" Delay="0"></Action>
<Action Type="Move" DeltaX="-30" DeltaY="0" Delay="0"></Action>
</Path>
</Slot>
<Slot ID="4" Pct="35">
<Path>
<Action Type="Move" DeltaX="0" DeltaY="15" Delay="0"></Action>
<Action Type="Move" DeltaX="-6" DeltaY="0" Delay="0"></Action>
<Action Type="Move" DeltaX="0" DeltaY="45" Delay="0"></Action>
</Path>
</Slot>
<Slot ID="5" Pct="35">
<Path>
<Action Type="Move" DeltaX="0" DeltaY="15" Delay="0"></Action>
<Action Type="Move" DeltaX="6" DeltaY="0" Delay="0"></Action>
<Action Type="Move" DeltaX="0" DeltaY="45" Delay="0"></Action>
</Path>
</Slot>
<Slot ID="6">
<Path>
<Action Type="Move" DeltaX="0" DeltaY="-15" Delay="0"></Action>
</Path>
</Slot>
<Slot ID="7">
<Path>
<Action Type="Move" DeltaX="0" DeltaY="-12" Delay="0"></Action>
</Path>
</Slot>
<Slot ID="8">
<Path>
<Action Type="Move" DeltaX="0" DeltaY="-12" Delay="0"></Action>
</Path>
</Slot>
<Slot ID="9">
<Path>
<Action Type="Move" DeltaX="0" DeltaY="-12" Delay="0"></Action>
</Path>
</Slot>
<Slot ID="10">
<Path>
<Action Type="Move" DeltaX="0" DeltaY="-15" Delay="0"></Action>
</Path>
</Slot>
</Play>
One thing to keep in mind is that the game’s AI is smart enough to know what each position is supposed to be doing. Meaning if you tell you’re offensive line to shift 5 yards to the right on a play and that’s all you enter they will block all the way through their movement and sustain blocking even after the movement has been completed.
Lets say you’ve created your plays and you want to add your modded plays.xml file to your game. You can do this by simply dropping the plays.xml file in the following folder: C:\Users\Documents\Wolverine Studios\DDSCF 2018. When you drop the file here the game will pick this file up over the default file in the data folder. Note: You must drop your plays.xml file in the folder prior to beginning a season, otherwise you’ll have to use the play tool in-game to drop plays in.
Lastly and probably most importantly is make sure you test the created plays before starting any type of league. Easiest way to do this is to create a test league in sandbox mode or Online mode whichever you prefer and just pop open any team’s strategy screen. Go to playbooks and if all of the information is filled out on the screen then your playbooks are working correctly. If not you will more then likely get an error or the game will not allow you to sim. Either way there’s a mistake with your modded file and you’ll need to fix it. The good thing about this is Brooks & AKH were nice enough to include an “Error Log” for each of the games. The Error Log will outline where you have issues and point you directly to where the problem is in your xml file. The Error Log can be found in the following folder: C:\Users\Documents\Wolverine Studios\DDSCF 2018.
I know this looks like a lot, but once you understand the mechanics of it, its very easy and quick to do. One thing to keep in mind is due to the specificity of the XML files YOU WILL MAKE MISTAKES and cause the game to crash at some point. This is no big deal, just be patient and use the Error Log file to help you find your mistake(s). Even though I have a pretty good understanding of how it all works I still manage to crash the game because of a typing error or forgetting a key component. If you have any questions or get stuck modding this or any file, shoot me a PM or post your error log message and file here and I'll try to help you out as best I can. Enjoy!
I tried to make this as quick as possible, but as it would turn out there’s quite a few components that I wanted to make sure to explain. I pasted an example of a play below so that you can reference each aspect of what would be needed to successfully create a play.
First things first, when your creating plays what I recommend doing is making a copy of the plays.xml file and save to your desktop so you can keep the default file for the game and have a work in progress file. The file can be found in the following folder: C:\Program Files (x86)\Wolverine Studios\Draft Day Sports - Pro Football 2018\Data. I’d also suggest downloading Notepad++ (Its Free!) to do any modding for any of the XML files for either DDSCF or DDSPF.
IMPORTANT
For the next part please keep in mind that spelling and capitalization must be exact. The play that is copy and pasted is a working play that I’ve added to my mod and will use as a reference for this guide.
Play Headers:
Play Requirements & Definitions for All Offensive Plays:
Play Freq – This is how frequent the play is called in game. In my plays mod I believe I set this to “1” for every play to ensure even distribution.
Formation – This must be one of the actual in-game formations that have been pre-programmed: Shotgun, Spread, ProSet, Iformation, TwoTE for pro and you can use Wishbone if you’re modding for the college game.
Name – This can be anything you want. If you want to name the play “Spider Two Y Banana” you have that flexibility. However, I try to keep my names as basic as possible because I used a good amount of custom movement (more on that later).
Type – Must be either “Run” or “Pass”
OffScheme – Must be one of the following four: Power, ProStyle, Vertical, or Spread. (Note: There may be others already preprogrammed in the game but I didn’t test them to see if they worked.)
For All Pass Play Requirements
Play Example Header for Pass: <Play Freq="1" Formation="ProSet" Name="LWR Short Out" Type="Pass" OffScheme="ProStyle" PassPref="Short" PassTargetPref="Outside" RBRole="Catching" TERole="Catching" BaseForm ="true">
PassPref – Must be one of the following: Long, Balanced, Medium, or Short
PassTargetPref – Must be one of the following: Balanced, Outside, OverMiddle, Runningbacks, Tightends.
RBRole – Must be either Catching or Blocking
TERole – Must be either Catching or Blocking.
BaseForm – I’m not really sure what this does as I’ve seen cases where its “True” or “False”. Listing it as either for any play hasn’t skewed results or caused errors on my end.
For Run Play Requirements:
Play Header Example for Run:
<Play Freq="1" Formation="ProSet" Name="RB OffTackle Left" Type="Run" OffScheme="ProStyle" RunPref ="Balanced" BaseForm ="true">
RunPref – Balanced, Draws, Inside, Outside, or Power
BaseForm – I’m not really sure what this does as I’ve seen cases where its “True” & “False”. Listing it as either for any play hasn’t skewed results or caused errors on my end.
Player Identification:
Ok, so that’s the basics of setting up the headers on an offensive play. Next is the actual components of what each player will do on the play but first a quick overview of what everything is:
Slot ID - Each Player is identified as a number that is aligned with where they fall on the depth chart for a particular formation. Very important to pay attention to which formation you are creating for as the Slot ID’s for each position vary based on the order of the Formation. Example: Slot ID 3 for Shotgun = TE, but Slot ID for IFormation = FB.
There is a percentage marker for how often you want a player to get the ball for a play. The “Pct” is followed by a number that is to be on a 1-100 scale. The Pct can be used for any skill player position.
Player Movement:
Path – Every player action must open and close with this command.
Action – This is the fun part. There are two ways to create movement within a play. The first and easiest is to use the pre-programmed “routes” that have been provided with the game. If you pop open your Plays.xml file and export/open it with Excel you’ll see that there are predefined movements such as “QB Drop Back Medium” or “Pass Block” etc. With these I don’t have a clear definition on just how far each player moves so I tried to limit using them all together when I created plays. However, if you’re just getting started and looking for an easy way to create plays I’d suggest using this route.
The second and more complicated way of creating a player “route” is by manually creating a route for him using the games X, Y, Delay Axis. The X, Y axis works in a feet metric, so every 3 points = 1 yard.
X Axis – Negative Numbers = Left Movement, Positive Numbers = Right Movement
Y Axis – Negative Numbers = Backwards, Positive Numbers = Forwards
Delay – This works in Seconds, so if you use a 1 here, the player will “freeze” for a second before going on to his next movement.
Example of Player Movement:
This is about as basic as it gets. What you see below is my version of a Deep QB Dropback. Basically with an “X” movement of 0 I’m telling the QB I don’t want him moving left or right at all, with a “Y” movement of -30 I’m telling the QB he needs to drop back 10 yards before throwing the ball.
<Path>
<Action Type="Move" DeltaX="0" DeltaY="-30" Delay="0"></Action>
</Path>
Multiple Player Movements:
You can have more than one movement in a single play for a player. The example below is an “Out and Up” route for a receiver. The first line is telling the receiver to go forward 5 yards, the second line tells him to go left 2 yards and the third line tells him to go forward 15 yards.
<Action Type="Move" DeltaX="0" DeltaY="15" Delay="0"></Action>
<Action Type="Move" DeltaX="-6" DeltaY="0" Delay="0"></Action>
<Action Type="Move" DeltaX="0" DeltaY="45" Delay="0"></Action>
Play Creation Example:
<Play Freq="1" Formation="TwoTE" Name="Out and Ups" Type="Pass" OffScheme="ProStyle" PassPref="Long" PassTargetPref="Outside" RBRole="Catching" TERole="Catching" BaseForm ="true">
<Slot ID="0">
<Path>
<Action Type="Move" DeltaX="0" DeltaY="-30" Delay="0"></Action>
</Path>
</Slot>
<Slot ID="1" Pct="10">
<Path>
<Action Type="Move" DeltaX="0" DeltaY="33" Delay="0"></Action>
<Action Type="Move" DeltaX="-6" DeltaY="0" Delay="0"></Action>
<Action Type="Move" DeltaX="0" DeltaY="-9" Delay="0"></Action>
</Path>
</Slot>
<Slot ID="2" Pct="10">
<Path>
<Action Type="Move" DeltaX="0" DeltaY="12" Delay="0"></Action>
<Action Type="Move" DeltaX="30" DeltaY="0" Delay="0"></Action>
</Path>
</Slot>
<Slot ID="3" Pct="10">
<Path>
<Action Type="Move" DeltaX="0" DeltaY="12" Delay="0"></Action>
<Action Type="Move" DeltaX="-30" DeltaY="0" Delay="0"></Action>
</Path>
</Slot>
<Slot ID="4" Pct="35">
<Path>
<Action Type="Move" DeltaX="0" DeltaY="15" Delay="0"></Action>
<Action Type="Move" DeltaX="-6" DeltaY="0" Delay="0"></Action>
<Action Type="Move" DeltaX="0" DeltaY="45" Delay="0"></Action>
</Path>
</Slot>
<Slot ID="5" Pct="35">
<Path>
<Action Type="Move" DeltaX="0" DeltaY="15" Delay="0"></Action>
<Action Type="Move" DeltaX="6" DeltaY="0" Delay="0"></Action>
<Action Type="Move" DeltaX="0" DeltaY="45" Delay="0"></Action>
</Path>
</Slot>
<Slot ID="6">
<Path>
<Action Type="Move" DeltaX="0" DeltaY="-15" Delay="0"></Action>
</Path>
</Slot>
<Slot ID="7">
<Path>
<Action Type="Move" DeltaX="0" DeltaY="-12" Delay="0"></Action>
</Path>
</Slot>
<Slot ID="8">
<Path>
<Action Type="Move" DeltaX="0" DeltaY="-12" Delay="0"></Action>
</Path>
</Slot>
<Slot ID="9">
<Path>
<Action Type="Move" DeltaX="0" DeltaY="-12" Delay="0"></Action>
</Path>
</Slot>
<Slot ID="10">
<Path>
<Action Type="Move" DeltaX="0" DeltaY="-15" Delay="0"></Action>
</Path>
</Slot>
</Play>
One thing to keep in mind is that the game’s AI is smart enough to know what each position is supposed to be doing. Meaning if you tell you’re offensive line to shift 5 yards to the right on a play and that’s all you enter they will block all the way through their movement and sustain blocking even after the movement has been completed.
Lets say you’ve created your plays and you want to add your modded plays.xml file to your game. You can do this by simply dropping the plays.xml file in the following folder: C:\Users\Documents\Wolverine Studios\DDSCF 2018. When you drop the file here the game will pick this file up over the default file in the data folder. Note: You must drop your plays.xml file in the folder prior to beginning a season, otherwise you’ll have to use the play tool in-game to drop plays in.
Lastly and probably most importantly is make sure you test the created plays before starting any type of league. Easiest way to do this is to create a test league in sandbox mode or Online mode whichever you prefer and just pop open any team’s strategy screen. Go to playbooks and if all of the information is filled out on the screen then your playbooks are working correctly. If not you will more then likely get an error or the game will not allow you to sim. Either way there’s a mistake with your modded file and you’ll need to fix it. The good thing about this is Brooks & AKH were nice enough to include an “Error Log” for each of the games. The Error Log will outline where you have issues and point you directly to where the problem is in your xml file. The Error Log can be found in the following folder: C:\Users\Documents\Wolverine Studios\DDSCF 2018.
I know this looks like a lot, but once you understand the mechanics of it, its very easy and quick to do. One thing to keep in mind is due to the specificity of the XML files YOU WILL MAKE MISTAKES and cause the game to crash at some point. This is no big deal, just be patient and use the Error Log file to help you find your mistake(s). Even though I have a pretty good understanding of how it all works I still manage to crash the game because of a typing error or forgetting a key component. If you have any questions or get stuck modding this or any file, shoot me a PM or post your error log message and file here and I'll try to help you out as best I can. Enjoy!