Difference between revisions of "Factory Entities"
Fire-hound (talk | contribs) (→Factories: Solids are ot be used reasonably limited in number) |
Fire-hound (talk | contribs) (→Factories: why brushes de-physicalize (thanks Volkodav (aka RDL_Vitos))) |
||
Line 3: | Line 3: | ||
== Factories == | == Factories == | ||
The base component of factories as concept is the area shape. A pair of them, at least, are used for each and every factory. Beside Area shapes, some factories require entities - usually Geom Entities - and those are just bad for game performance - it is highly recommended to enclose them in solids. Those solids can be painted invisible, so they can't be seen in game. Solids are simple and reliable but are simple and thus boring.<br> | The base component of factories as concept is the area shape. A pair of them, at least, are used for each and every factory. Beside Area shapes, some factories require entities - usually Geom Entities - and those are just bad for game performance - it is highly recommended to enclose them in solids. Those solids can be painted invisible, so they can't be seen in game. Solids are simple and reliable but are simple and thus boring.<br> | ||
− | Good mappers use brushes where ever possible. Sometimes a brush behaves as | + | Good mappers use brushes where ever possible. Sometimes a brush behaves as non physical body (falls thru) and this strongly breaks the immersion. This occurs if it is scaled non uniformly across the X,Y and Z axis. Always take care to scale the body uniformly. If it can't be avoided use a solid to support that brush geometry. If the mappers can keep the numbers within reason,solids can make the level fail proof. Be careful not to over do, there are known examples where solids don't render properly any more.<br> |
GeomEntities are to be used even more sparingly, and only if it can't be avoided by any other way. | GeomEntities are to be used even more sparingly, and only if it can't be avoided by any other way. | ||
Revision as of 21:27, 5 April 2018
Our game mod's strongly depends on building assets ranging from weapons to assault class war machines that fly or crawl across the battlefields of 31st century. To facilitate this we use factories across the map.
Contents
Factories
The base component of factories as concept is the area shape. A pair of them, at least, are used for each and every factory. Beside Area shapes, some factories require entities - usually Geom Entities - and those are just bad for game performance - it is highly recommended to enclose them in solids. Those solids can be painted invisible, so they can't be seen in game. Solids are simple and reliable but are simple and thus boring.
Good mappers use brushes where ever possible. Sometimes a brush behaves as non physical body (falls thru) and this strongly breaks the immersion. This occurs if it is scaled non uniformly across the X,Y and Z axis. Always take care to scale the body uniformly. If it can't be avoided use a solid to support that brush geometry. If the mappers can keep the numbers within reason,solids can make the level fail proof. Be careful not to over do, there are known examples where solids don't render properly any more.
GeomEntities are to be used even more sparingly, and only if it can't be avoided by any other way.
Simple spawn point
The simple infantry bunker. One Spawn group, few spawn entities and a single buy area. Only weapons can be bought that spawn in the players hands. There is no Vehicle area. It can be either assigned to *tan* (IS) or *black* (Clan), or left for capture by an AI_tagpoint.
/TODO/image showing it all
Single forward factory
The next step in complexity. All above applies, but an actual factory entity is placed nearby too. The entity can be assigned a 3d art, or used without.
For the 3d art to work properly, if designed in blender, an actual mesh is mandatory to be supplied alongside the helpers (an empty in blender), the helpers are usually named spawn01 and onward. One helper has to bear the same name as the *.cgf file to be created. This empty is to be parent to all other objects of the file. The rest of the preparation is same as every other export from blender via the Collada plugin: have all objects in a group named as the *.cgf to be, assign the mesh(-es) an material and UV, no spaces allowed anywhere.
If without, it is to be linked to an entity /TODO Geom Entity only?/ that will both orient and place the spawned product in the map space. The "body" of the factory has to provide spawn helpers,otherwise separate entities have to be used. Place the helpers so that the spawned assets don't fall from too high as it breaks the immersion somewhat - ideally let them be 1m or less above ground.
Two area shapes are to be defined - one for the factory buy zone - and the smaller for the actual vehicle spawn area. There is provision for another area shape in each slot, this shape is used to define an area that will enforce an damage blow to each asset within as soon as asset building is started.
Never link this (AreaID) to the same ID as the larger buy area - or it will instantly kill every player making a purchase in that area.
Quad forward factory
The same applies here as for the preceding factory, except that we have more slots available for building. For a slot to spawn an purchased asset, it has to have the helper defined. If the Vehicle area is defined in such a way, that the spawned asset is outside of it once spawned, the slot will be available for further production. For this to be avoided three things are to be taken care of:
- The spawn slot is to be encircled with an Area shape reaching at least somewhat below the ground, so the spawned asset is completely shrouded by it
- That same area shape has to be linked to the factory it belongs to (one way link)
- That same shape area's ID has to match the ID of the slot it represents in the factory parameter called VehicleAreaID
For the game flow, it is of great importance that only vacant slots be filled by spawning assets. It preserves immersion, reduces odd events during game-play and is overall more aesthetically pleasing.
If the factory is set up correctly, an occupied slot will accept assets in the Que but will not build until it is vacated. Once vacant, the build process will commence in the slot with the lowest number.
It is highly recommended to mark the production bays with the slot numbers designated.
Dropship forward factory
/TODO/ differences for dropships - more solids where and why
Main Hanger bases factory
/TODO/ Maximal factory potential - 8 slots, animated body *.cga with separately animated parts of it (*.anm). even more solids,and occlusion areas to improve performance.
Repair zones
We don't actually have an HUD indicator (yet) for repair zones, as we have for buy zones. In repair zones a shut down vehicle trades it's damage for c-bills. Area shapes define the zone of repair on repair pads, while Area shapes' ID via the VehicleAreasID, in the factory properties spawn slots, define them on factories.
Simple repair pad
The simple repair pad consists of the entity and the area shape. The entity can be assigned an 3d "body". The body can be linked to a capture point, so it can belong to a competing team, or not linked so it's serves any player in need.
Factories repair ability
The factory repair zone is defined by the Vehicle Area shape. /TODO/ image
Mobile repair zone (Repair truck)
Merely a placeholder in case we get one ever :) .
Buy zones
The buy zones of MWLL mod can be finely tuned for particular asset type or class, or, alternatively, a predefined factory type:
defMechHanger defVtolPad defAeroHanger
If the predefined factory type is used, the fine tuning of the available assets does not apply.
Air strip
The airstrip has to be a buy zone for the ASF assets to be able to replenish ammunition. They will be able to repair there as well.
Mobile buy zone (APC)
In the buy zone of the APC one can by weapons and ammunition only.
Factory buy zones
The factory buy zone is one that can be tuned the most. For the clean tech game mode,one does not need to alternate IS and CL tech, it is done elsewhere, it suffices to define the classes regardless of faction.
|