If you appreciate the work done within the wiki, please consider supporting The Cutting Room Floor on Patreon. Thanks for all your support!

Platoon (Windows)/Editor Mode Tutorials

From The Cutting Room Floor
Jump to navigation Jump to search

This is a sub-page of Platoon (Windows).

Editor Mode Tutorial Documents

Part 1

Platoon: The making of Part 1
The Editor

History and main features:
One of the very first steps in the creation of “Platoon” was the concept and creation of a built-in, multifunctional editor. It had to be engineered not only to serve as an excellent tool for designing the game’s vastly populated levels, but also to be of excellent use scripting various events of the game.
As work started in the early days of November 2001, the programming team sat down to develop this kind of tool. In two weeks time, we had the first version of the editor in our hands, possessing only basic functions enabling us to create the first three-dimensional terrain, place entities on it and move them across. This version already possessed the key feature of our editor, the one-button access: you only need to push a button to switch into Game Mode and the same button to swap back to the editor. This feature not only permits to check out every single change you made in the editor on spot and in the game, but accelerates scripting, tuning, hacking and testing, too!
Gained its final form in June 2002, when level scripting started at accelerated speed. Since its birth, it has become a unique and complex tool for everyday use in the development. With it is relatively easy-to-understand ability the editor serves all the team well. It’s depth and richness could only be controlled by our designers though!
Each and every parameter (e.g.: size of buildings, HP of units, AI of units, voice played, various events, soldier animation, etc.) of Platoon is changeable in the Editor and with the one-button access testing and level scripting is very fluent.

The basics
First of all, you need to create a „prototype” from each of the elements you wish to use in the game – it could be a rock, a bush, an M60 soldier, a tank or even a pond. For this „prototype” you must define a series of parameters (e.g.: model name with path, scale, translucency, speed and much more). When this definition-phase is ready, you can start to place down this new ’object’ on the map. If you’re not satisfied with the result, for example the HP level of your M16 rifle squad, you could change that parameter anytime on any level, once your modification would be in effect, it would change the HP of the M16 rifle squad on every map of the game! We’ve also integrated new parameters for “prototypes”, only changeable once an ’object’ have been placed, this way having the possibility to only enhance the HP of your M16 rifle squad on level2 only!

Knowledge
Our editor possesses a toolbar, a status bar and a console, too, thus permitting everyone the fast comprehension of its features. Not just prototypes, entities and units could be placed and parametered through our editor. This tool also serves scripting game events, AI and to integrate particle effects. Whenever a unit is selected you could get all info of it with just one click. Our editor also incorporates debugging options, such as cheat codes, the enabling-disabling of „FieldofView”, permits the quick roundabout of all tables and mathematical sheets displaying all current values used in the game (e.g.: defense value of different terrain types, weapon statistics and so on).
It is inside the editor that we calculate the lightmaps of our levels, there we could even export heightmaps, rescale a chosen level, define camera tracks and camera movement for ingame cinematics.

This editor really is a multipurpose tool, serving us from start to finish. It already gained us much time and will enable our team to be ready with „Platoon’s” production on schedule.


Part 2

Platoon Newspack Number 2
Building a level

First things first:
After specifying the size of the map, you must start with the creation of the heightmap. For this you possess several brush sizes, and also height set, height smooth and height level instruments – all of them are perfectly scalable. When you’re ready, you could proceed onto the drawing of the ‘basic level texture’: this would mean the use of different colors to indicate the various elements characterizing the level (roads, hills, rivers, etc.) to indicate these key points before proceeding. After this, you would continue your level construction with the placement of the most important objects in your scenario: villages, towns or bridges.
When all these steps are completed, you should proceed with placing down all objects. Primarily, your concern will be buildings (not only huts, housings, but also bunkers and other military emplacements) then you’ll continue on with vegetation (trees, bushes, grass) and finally with complementary objects (haystack, rice storage, rocks, trunks and so on).

Getting on with it:
When all objects are placed, the hard work could start: you must take your ‘basic level texture’ and from that composition, you have to draw the ‘final level texture’. Of course, it would be only possible with the help of a highly talented graphic artist! In “Platoon” we’re using 4000x4000 pixel size textures for a level of 500x500 meters in size. That would mean that one pixel is the equivalent of 12,5 centimeters on the level’s scale. Our terrain textures also dispose of a detail map on them, what should make them even richer in details.

The grand finale:
If all your objects are in place and your texture is finalized, you should continue with lightmap calculation. On all the levels of “Platoon” objects are not only projecting their shadows onto the landscape, but on each other as well. All these shadows are called ‘static’ as they are saved and precalculated – therefore couldn’t change during a mission - for each and every level. All moving units’ shadows (soldiers and vehicles) are calculated in real-time by the program.
Once the lightmap is ready, all you need to know is convert it to the format used by “Platoon” then your new level is ready to be loaded in and from that point mission-scripting would start…but that’s another story.


Part 3


Platoon Newspack Number 3
Mission Scripting

In the making of “Platoon”, a graphic artist and a designer worked together to complete a level until all objects and vegetation were placed down. Once they finished their teaming up, the designer broke loose and continued with the scripting of all events of the chosen scenario.

Phase 1
To start out, he places all enemies, friendly and civilian units on the map. Then calibrates their statistics, defines their abilities (as well as AI behavior) and starts to script the level following the scenario already defined and written down. Scripting was made easy by a system that we integrated into the Editor, thus permitting our designers to assign all events with the help of a point-and-click interface. This way, we freed them from typing in almost endless task-lists in a text file – which is a usual method for scripting on PC - and economized a lot of time. This system has a limited number of elements available, but they can be combined to fit all kind of conditions needed and also all the commands that will be played once these conditions would be met.

Phase 2
Once all units inside a mission are adequately scripted, the level is tested and it could be completed, the designer shall move on to his most difficult task: the composition of ingame cinematics. The making of these events require utmost attention and particularly accurate work: they have to control all units and the camera, precisely define conditions and also use special commands. This is a very meticulous workflow, as every change in the cinematic sequence needs to be tested rightaways: the designer therefore needs to continuously jump in and out from the Editor to the Game itself to verify its content. And even after the right combination, he will still feel the desire to polish his cinematic - put in one more unit or order the units to move differently, another special Motion Capture move, one more rock, still more grass or even ask a graphic artist to modify the terrain texture where the ingame sequence would play to have a visually more stunning area to look at!

Control and testing
Control, tests and modifications are all done from the Editor itself, too. For a more convenient use, we’ve included a logger utility, which directly runs from the script itself, and a script-debugger program. This latter has all the features in store: from the placing down of breakpoints to the running of scripts row by row, but also keeps track of all the values and data the game works with.
Testing is omnipresent while a mission is scripted: designers need to try out every bit of change involving the modification of values, the placing of enemies, the change of the AI, the ingame cinematics and so on. Once a mission is considered finished by a designer – no bugs, no hang-ups, everything script is finalized -, it could go into the hands of the tester.


Part 4


Making of Platoon: Part 4

Motion Capture

Recording
“Platoon” is Digital Reality’s first game involving the use of Motion Capture technology and equipment. We chose the most efficient solution to record these sessions and hired the famous VICON-equipment from fellow countrymen Philos Laboratories. The session was a two-day-long roller coaster-ride: all movements and action was played by a professional martial artist– he even made himself wooden weapons for these takes and consulted with several soldiers to know the exact handling of guns also body positions whilst performing a move. Within the two days of the process, more than 400 moves were recorded.

Data processing
We found the right software to convert the data acquired during these sessions, into file formats we would be able to use in “Platoon”. Meanwhile, as this conversion took place, we created a “motion-system”, to simplify the huge task of classifying all moves and importing them into the game engine. For this, we needed to define groups of moves – a group is from which another group of moves could start or end with. These groups were labeled (lying, walking, falling to the ground, shooting and so on) then placed one after the other into sequences: e.g.: if a soldier went from walking to crawling, first of all he needs to stop, then lie on the ground and then he could crouch. This system permitted us to accelerate the work flow attached to the transfer of the recorded data into the game. We also developed a unique “Movement Editor” alongside the “motion-system”: you simply load in the recorded data, check it, then edit it with the transitions (walking-standing still) and finally export the final sequence into a file. Plain simple! The biggest advantage of this program is that we didn’t need to recreate a special move in the game itself - which could occur when a grenade hits a soldier, for example -, we needed to simply load this move into our “Movement Editor” and edit the sequences around the latter move.

Almost all 400 the moves captured over those 2 days are included in the final game…