TCCP Content Review Guide
(→Cab Controls) |
(→Cab Controls) |
||
Line 35: | Line 35: | ||
Core controls on a diesel or electric locomotive are: | Core controls on a diesel or electric locomotive are: | ||
− | Reverser | + | * Reverser |
− | Throttle | + | * Throttle |
− | Train Brake | + | * Train Brake ''(1)'' |
− | Independent Brake | + | * Independent Brake ''(1)'' |
− | Dynamic Brake | + | * Dynamic Brake ''(1)'' |
− | Horn | + | * Horn |
− | Bell | + | * Bell ''(1)'' |
− | + | * Pantograph ''(2)'' | |
− | All Trainz supported gauges, dials, and the wheelslip light that are present the locomotive cab should function, and be accurate (it is permissible to script these where needed, so long as they function correctly) | + | * All Trainz supported gauges, dials, and the wheelslip light that are present the locomotive cab should function, and be accurate (it is permissible to script these where needed, so long as they function correctly) ''(3)'' |
− | + | ||
− | |||
− | + | 1: If the locomotive is not fitted with these controls/functions, then they can be omitted. However it must be possible to release the train brake using the keyboard or HUD if the control is omitted. | |
+ | |||
+ | 2: If the locomotive is fitted with pantographs, then a functional pantograph control must be provided. If not fitted with pantographs, then it can be omitted. | ||
+ | |||
+ | 3: A list of the default supported needles and controls can be found here: https://online.ts2009.com/mediaWiki/index.php/%22mesh-table%22_container_(interior_version)#Standard_Mesh_Names | ||
Line 55: | Line 57: | ||
− | Reverser (cutoff) | + | * Reverser (cutoff) |
− | Regulator (throttle) | + | * Regulator (throttle) |
− | Train | + | * Train Brake ''(1)'' |
− | Independent | + | * Independent Brake ''(2)'' |
− | Injector | + | * Injector 1 ''(3)'' |
− | Injector | + | * Injector 2 ''(3)'' |
− | + | * Blower ''(4)'' | |
− | Firebox door and fire | + | * Firebox door and fire meshes ''(5)'' |
1: As with diesel/electric, if the locomotive is not fitted with a trainbrake then a control for this can be omitted, but it must still be able to be released using keyboard or HUD. | 1: As with diesel/electric, if the locomotive is not fitted with a trainbrake then a control for this can be omitted, but it must still be able to be released using keyboard or HUD. |
Revision as of 20:18, 14 October 2024
Contents |
Trainz Content Creator Portal Content Review Guidelines
Before a DLC pack is released through TCCP it will pass through an internal review by our content team, to ensure that the DLC pack is of the highest quality for release on the Trainz Store.
The aspects covered by the review will depend on what the DLC pack features and/or focuses on. However all reviews cover the following items:
- visual quality,
- performance/optimisation,
- the quality of the marketing materials provided,
- any bugs or playability issues.
As there are significant differences between ‘traincar’ DLC packs, and route/session DLC packs, the review process for these will be covered separately.
It must be noted that if a route/session DLC pack features or advertises locomotives and/or rolling stock as a feature of the DLC pack, then these will also be reviewed with the same process as traincar DLCs outlined in this document.
Locomotive & Rolling Stock DLC Review
Locomotive & Rolling Stock Assets
The locomotive and rolling stock in Trainz are the primary objects that players interact with, and are often used in great numbers. This means that graphics quality, efficiency, and functionality are important. All testing is currently done with the settings at ultra, as it is expected that lower settings will reduce the visual quality of assets.
Reviewing a locomotive or traincar DLC pack, checks the following items:
- Quality: High-resolution textures and overall high quality of feature items and their dependencies. Textures should not have obvious seams, unless absolutely necessary (ie cylindrical objects should have a single seam in the least obvious place).
- LOD (Level of Detail): The exterior assets have effective and efficient LOD, with no obvious LOD changes, visual distortions, errors, disappearing items such as logos, or broken shading/normals.
- Reflections: Accurate reflections in water, failing if only a simple box or no reflection is shown. (Test by placing a locomotive onto a section of track placed directly above a water effect layer.)
- Cab Controls: Functional core cab controls in realistic mode, including keyboard controls.
- Physics: Proper driving behavior in realistic and simple controls (e.g. appropriate acceleration and deceleration)
- Steam Engines: Check that steam locomotives are using build 2.8 or higher for the traincar, bogeys, cab view, enginespec and enginesound. Lower build numbers for any of these assets will result in the locomotive using the legacy steam physics/sounds system, which will cause them to be broken.
- Script Errors: No script errors and scripted features function as expected.
- Functionality: Working carriage doors, passenger commodities, headlights, pantographs, and any features/options/variations shown in the store description are present and working. It is acceptable for carriages to have scripted randomised doors, but it is not acceptable for doors to be completely non functional, except where the prototype does not feature doors.
- Headlights: Locomotives fitted with headlights have a headlight that functions as such.
NOTE: some regions may have headlamps or code/marker lamps only, these are not required to act as an actual headlight in Trainz, although some may do so. We may contact the creator for verification of this if needed.
Cab Controls
It is expected that all core locomotive controls will be present and functional in the locomotive’s cab view.
In all cab views, the core controls should have their notch overlay (where present) aligned correctly with the control. This means that you need to align your attachment point to the ‘0’ position of the control, and then align the mesh to this.
Core controls on a diesel or electric locomotive are:
- Reverser
- Throttle
- Train Brake (1)
- Independent Brake (1)
- Dynamic Brake (1)
- Horn
- Bell (1)
- Pantograph (2)
- All Trainz supported gauges, dials, and the wheelslip light that are present the locomotive cab should function, and be accurate (it is permissible to script these where needed, so long as they function correctly) (3)
1: If the locomotive is not fitted with these controls/functions, then they can be omitted. However it must be possible to release the train brake using the keyboard or HUD if the control is omitted.
2: If the locomotive is fitted with pantographs, then a functional pantograph control must be provided. If not fitted with pantographs, then it can be omitted.
3: A list of the default supported needles and controls can be found here: https://online.ts2009.com/mediaWiki/index.php/%22mesh-table%22_container_(interior_version)#Standard_Mesh_Names
Core controls on a steam locomotive are:
- Reverser (cutoff)
- Regulator (throttle)
- Train Brake (1)
- Independent Brake (2)
- Injector 1 (3)
- Injector 2 (3)
- Blower (4)
- Firebox door and fire meshes (5)
1: As with diesel/electric, if the locomotive is not fitted with a trainbrake then a control for this can be omitted, but it must still be able to be released using keyboard or HUD.
2: Some locomotives may not be fitted with an independent air brake, however in most cases this can instead be used to represent a handbrake, and as such we recommend this for most steam locomotives not otherwise fitted with an independent brake.
3: All steam locomotives will have at least one method to put water into the boiler, with the majority having two. It is essential that steam locomotives be configured with at least one working injector control. It is permissible to have a working ‘crosshead pump’ however this should be the secondary injector.
4: It is essential that all steam locomotives are fitted with a blower, this is a core function in steam locomotives.
5: It is essential that steam locomotives have a functional firebox door (or peep hole for oil burners), with some form of ‘coal’ and ‘fire’ mesh present. These are necessary for steam locomotives to function correctly in Trainz.
Ease of Use by Default If special systems are implemented, ensure players have the easiest option available by default. E.g. Some locomotives may have ‘latched’ controls (ie a latch to stop a control from moving). By default these controls must be unlatched so that players can easily operate them. It is permissible for a control to be able to be locked by the player. If two controls conflict, then locking between them is generally permissible so long as they do not make it difficult for players to operate the train.
Gameplay Breaking script features Script features that introduce ‘gameplay breaking’ features will not be released, unless these features are turned off by default. Examples of this are: Locomotive Startup/Shutdown Engine faults/failures Unexpected control locking (ie having the train brakes ‘cutout’ by default, preventing operating the train brake)
These features can be provided as optional features that can be turned on in the locomotive’s properties. This allows the locomotive to be configured to have these features when creating a session, or even just when in Driver mode.
Route and Session DLC Review
Route DLC packs follow a distinct review process but must include at least two complete sessions, excluding multiplayer or 'free drive' sessions. Sessions should provide tasks for players, use navigation markers, and have clear instructions.
Routes
The route review covers:
- Trackwork: Realistic and well-made mainline and yard trackwork with appropriate signals. (e.g. straightened track before turnouts and curves), Use native procedural track as much as possible, to provide animated realistic turnouts (where supported by Procedural Track).
- Gradients and Yards: Suitable gradients and yards for the prototype presented. For fictional routes, you should still attempt to follow prototype practice in the area being presented.
- Scenery: Detailed close-up scenery with 3D assets for medium and large flora, avoiding spline grasses for large-scale effects. Use Clutter effect layers where appropriate. All baseboards in the route should be textured, and look ‘complete’ for their distance from the track (i.e. long distance scenery should be less detailed, but should still look complete from a distance). Scenery should not look obviously repetitive.
- Promotions and Content: No promotions for other games, special offers, or copyrighted material without permission.
- Performance: Optimization to ensure good performance without needing to change core Trainz settings.
Other items to consider: Any urban/city areas should look complete on the route when viewed in the chase camera from the train. It should not be obvious that the scenery ends before the edge of the map; it is not necessary to have high detail beyond the first block or first 100m (depending on the urban density, and style of scene), however sight lines down streets when looking from the train should look well detailed. Routes should not require the player to change shader settings to avoid parallax overlap; you should test your route with the shaders at maximum and fix any ground texture issues that become evident. It is generally expected that most routes will use all PBR/Parallax (3D) ground textures, however it is acceptable to use ‘flat’ textures as needed so long as you avoid issues where these overlap with Parallax ground textures. Flat ‘PBR’ textures are better to use in this case, as they tend to help avoid the ‘overlap’ issues.
Sessions
Sessions should provide some level of tasks for players to follow, as well as suitable AI trains (if relevant). It is preferable that sessions use navigation markers, and objectives, to guide players, however simple message popups are the minimum required.
Each session will be loaded, and run for a variable length of time. During this test we will check the following:
- Rolling Stock: Locomotives and Rolling Stock meet the same review requirements as listed above.
- Starting: The player is automatically placed into the required locomotive; or given instructions to select the required locomotive (i.e. if the session offers more than 1 locomotive to choose from, or has the train arrive under AI control or similar).
- Instructions: Instructions are clearly and accurately provided to the player of what they are expected to do in the session and the first 5-10 minutes of gameplay are clear and function correctly.
- Working Rules: Session rules are loaded individually to ensure no errors. However, the Creator should ensure the rules are thoroughly tested throughout the session. E.g. Any messages, navigation markers or objectives are progressing correctly.
If a session has scoring, the review will include testing both gaining and losing points (depending on how the session’s score is designed).
- Performance: Performance and optimization is important in both routes and sessions. It is understood that sessions on routes with big yards may have a greater performance impact, but this does mean it is important to choose appropriate assets in both the route and the session.
It is expected that users will not need to change the settings in the ‘performance’ tab in the Trainz Settings, which are settings that will require a restart of Trainz to take effect.
This means that players should be able to achieve good performance by only adjusting the ‘max draw distance’, ‘scenery detail’, ‘tree detail’ and ‘post processing’ options in the in-game video settings. If your route already forces a low draw distance via the route’s settings, then you should ensure that players can still turn down other settings to improve performance. Keep in mind that currently the ‘tree detail’ setting only affects SpeedTree assets, and as such for flora you should try to use SpeedTree assets wherever possible.
Additionally repeating a small number of assets, or assets that use a common mesh-library to share resources (ie textures) will provide better performance than a lot of different assets.