Page 1 sur 1

Journal des développeurs N°142

Publié : lun. déc. 26, 2016 7:53 pm
par Pollux
Avec les fêtes ce journal est un peu passé au oubliette, normalement.

L'annonce officielle: https://forum.il2sturmovik.com/topic/16 ... /?p=424321

Ce journal est dédié à la création de campagne scénarisée et à la façon de les faire.

Hello Everybody,

This month was very hard for us, but productive. We managed to release the huge update 2.006 on time and to include all the improvements we planned for it. As we expected, such amount of deep changes resulted in several 'teething problems' but thanks to the team’s hard work and community’s help we quickly solved the most important ones. We'll fix the remaining ones in time.

As we announced earlier, today's Developer Diary is dedicated to creating scripted campaigns and how you can do it. A Scripted Campaign is a sequence of missions a player should complete one after another. These missions are usually hand-crafted and not created by a generator. Missions for the campaign are created in the Mission Editor (many of you are already familiar with it) just like regular single or multiplayer missions. A campaign mission doesn't differ from a single mission much - it must contain a special TRA_Objective trigger with player coalition specified and Success property for a Primary Objective. This trigger must be 'pinged' when the player does something you consider as mission success, then the next mission in the sequence will become available to fly. By default, at mission start, this property is not set. By the way, you can set the mission status to failed even after making it successful - you can 'ping' another TRA_Objective trigger with this property set to Failed.

The second difference between a Campaign and Single Missions is that the mission type must be set in its properties so it would be recognized as a Campaign mission. You need to set mission type to Campaign so it won't be displayed in single missions list (which islocated in data\Missions\ folder), but will be visible in a campaign missions list (in data\Campaigns\<CustomCampaignFolder>\ folder).

In addition, the folder of your campaign should contain these files:

1. info.txt - main config file
2. info.locale=***.txt - campaign text description in different languages (*** - eng/rus/ger/spa/fra/pol). If you don't have translation for certain language, don't include the text file for it, simple.
3. campaign.png - campaign cover picture shown in Scripted Campaigns menu (420x420 pixels)
4. **.Mission - mission in text format created by Mission Editor (** - mission number in sequence, for example, 09). These files are optional and you can delete them when you're distributing the campaign.
5. **.msnbin - mission in binary format created by Mission Editor (** - mission number in sequence, for example, 09)
6. **.eng/rus/ger/spa/fra/pol - texts for each mission (mission title, briefing, subtitles, map icon names) in different languages (** - mission number in sequence, for example, 09)
7. **.settings - config files for each mission (** - mission number in sequence, for example, 09)
8. **.png - mission title picture shown on the campaign screen when you select a mission, 940x500 pixels (** - mission number in sequence, for example, 09)
9. **.coalition=*.tactics - (optional) vector image containing tactical overlay for a mission (** - mission number in sequence, for example, 09, * - player coalition, 1 for Allies, 2 for Axis Powers).

Now let's go in detail. The main config file info.txt contains these parameters:

1. &order=* - campain position relative to other ones in the list (paid campaigns will show up first anyway)
2. &free=* - set it to 1 if you distribute a campaign for free and to 0 if it must exist in player account to be available
3. &tows=* - required theatres of war divided by commas (BoS = 1, BoM = 2, BoK = 3). Player aircraft used in the campaign must be included in these ToWs (for example, campaign that is taking place on Stalingrad maps, but where player should pilot MiG-3, should have this parameter set to &tows=1,2)
4. &planes=* - Collector Planes required by the campaign (player should be able to fly these planes) divided by commas (for example, &planes=luascripts/worldobjects/planes/la5s8.txt,luascripts/worldobjects/planes/yak1s127.txt). This is the current list of Collector Planes:
luascripts/worldobjects/planes/la5s8.txt
luascripts/worldobjects/planes/fw190a3.txt
luascripts/worldobjects/planes/p40e1.txt
luascripts/worldobjects/planes/mc202s8.txt
luascripts/worldobjects/planes/yak1s127.txt
luascripts/worldobjects/planes/ju523mg4e.txt
5. &missionsAmount=* - total missions amount in the campaign
6. &showFutureMissionsNames=* - set it to 1 to show names of not yet unlocked missions and to 0 to hide them
7. &showFutureMissionsDescriptions=* set it to 1 to show descriptions of not yet unlocked missions and to 0 to hide them

Config file **.settings allows campaign designer to impose restrictions for each mission:

1. &lockAmmoSchemes=* - set it to 1 to allow only the preset weapons loadout or to 0 to allow player to choose
2. &lockPaintSchemes=* - set it to 1 to allow only the preset skin for a player aircraft or to 0 to allow player to choose
3. &lockFuelAmount=* - set it to 1 to allow only the preset fuel amount for a player aircraft or to 0 allow player to choose

It is also possible to create a map overlay for each mission with enemy positions and other info drawn on top of the navigation map:

This map overlay is stored in *.tactics files which are basically SWF format files created in Adobe Flash. So you need to create SWF format files in Adobe Flash and then rename them from *.SWF to *.tactics.
They should be named like this: 02.coalition=1.tactics, where 02 is the mission number in sequence and 1 is player coalition ID (1 are Allies and 2 are Axis).

SWF file requirements

You need to set the size of SWF file area so it will have one pixel per 200 meters on the game map. For example, Moscow map is 281600 x 281600 meters, so you need to create an SWF file with 1408 x 1408 pixels working area.
The file shouldn't contain fonts, they must be converted to curves.
All the lines should be converted to Fills.
Intersecting objects must be made a single object if you don't want for intersection to be visible.
The file may contain groups, movie clips and layers for easier work.
Timeline should contain a single frame.

Overlay design recommendations

Allied forces are light blue - #006CAB
Enemy forces are red - #930808
Don't use translucency for main objects like front lines, arrows, text, symbols.
Use 9% translucent object to show a controlled area.
Use 13% translucent object to show a special area.
Use PF DinDisplay Pro font for text.
Please take a look at a sample file for Adobe Flash.
Attached File tactics_sample.fla.zip 762.43KB 47 downloads

Tactical map overlay sizes for existing maps

Stalingrad - 1792 Х 1344
Lapino - 256 Х 256
Moscow - 1408 Х 1408
Velikiye Luki - 832 Х 624
Novosokolniki - 256 Х 256

Finally, here's how you can distribute your campaign in the community.

To distribute a free campaign, just zip the folder containing your campaign (data\Campaigns\<YourCampaignFolder>\) and put it anywhere on the forum, web, etc. Players should unzip it into their data\Campaigns\ folder and they are set.

If you want to sell your campaign:

1. Make sure you don't give mission files to anyone who can distribute them for free.
2. Make sure your campaign is good enough and other players would pay money for it. 1CGS reserves the right to not sell every Campaign produced.
3. Contact Producer Jason Williams via personal message (https://forum.il2stu...jason_williams/), preferably even before starting the work on the campaign and reach an agreement on all the details required for selling it.
4. Copy protected campaign can be created just like a free one, but requires mandatory testing in cooperation with our team, protecting mission files and adding it to our account system.
5. Copy protected campaign can be distributed like a free one (an separate installer containing protected mission files instead of unprotected ones) or can be included in official updates (this depends on agreement between campaign author and our Producer).
6. All payware Campaigns must be sold through our online store.

A sample campaign is provided in .zip file attached to this post for your reference:
Attached File Example_Campaign_Extract_To_Data_Folder.zip 4.21MB 64 downloads

We plan to improve Scripted Campaign mode in the future, adding ability to playback audio and video files in mission briefiengs, interactive dialogs during a mission and other interesting features. We hope that this new mode will attract talented mission designers to all the community benefit.