{ // The "in-game" name of the level. Should be lower case, with dashes (GOAL symbol name) // the name of this file, and the folder this file is in must have the same name. "long_name": "test-zone", // The file name, should be upper case and 8 characters or less. "iso_name": "TESTZONE", // The nickname, should be exactly 3 characters "nickname": "tsz", // 3 char name, all lowercase // Background mesh file. // Must have vertex colors. Use the blender cycles renderer, bake, diffuse, uncheck color, // and bake to vertex colors. For now, only the first vertex color group is used, so make sure you // only have 1. "gltf_file": "custom_levels/test-zone/test-zone2.glb", // automatically set wall vs. ground based on angle. Useful if you don't want to assign this yourself "automatic_wall_detection": true, "automatic_wall_angle": 45.0, // if your mesh has triangles with incorrect orientation, set this to make all collision mesh triangles double sided // this makes collision 2x slower and bigger, so only use if really needed "double_sided_collide": false, // available res-lump tag data types: // int32, float, meters, vector, vector4m (meters) // // examples: // // adds a float tag 'spring-height' with value of 200 meters (1 meter = 4096.0 units): // "spring-height": ["meters", 200.0] // // adds a vector tag 'movie-pos': // "movie-pos": ["vector", [4096000.0, -176128.0, 1353973.76, 1.0]] // The base actor id for your custom level. If you have multiple levels this should be unique! "base_id": 100, // All art groups you want to use in your custom level. Will add their models and corresponding textures to the FR3 file. // Note: You will still have to add them to your level's .gd file. "art_groups": ["plat-ag"], // Ambients you want to use in your custom level. Ambients can be used for various things like changing the music variation (flava), // adding ambient sounds, level name hints, etc. "ambients": [ { "trans": [-21.6238, 20.0496, 17.1191, 10.0], "bsphere": [-21.6238, 20.0496, 17.1191, 15.0], "lump": { "name": "test-ambient", "type": "'hint", "text-id": ["int32", 557], // text id for the "POWER CELL" text "play-mode": "'notice" } } ], "actors" : [ { "trans": [-21.6238, 20.0496, 17.1191], // translation "etype": "fuel-cell", // actor type "game_task": 0, // associated game task (for powercells, etc) "quat" : [0, 0, 0, 1], // quaternion "bsphere": [-21.6238, 19.3496, 17.1191, 10], // bounding sphere "lump": { "name":"test-fuel-cell" } }, { "trans": [-15.2818, 15.2461, 17.1360], // translation "etype": "crate", // actor type "game_task": 0, // associated game task (for powercells, etc) "quat" : [0, 0, 0, 1], // quaternion "bsphere": [-15.2818, 15.2461, 17.1360, 10], // bounding sphere "lump": { "name":"test-crate", "crate-type":"'steel", "eco-info": ["int32", 5, 10] } }, { "trans": [-5.4630, 17.4553, 1.6169], // translation "etype": "eco-yellow", // actor type "game_task": 0, // associated game task (for powercells, etc) "quat" : [0, 0, 0, 1], // quaternion "bsphere": [-5.4630, 17.4553, 1.6169, 10], // bounding sphere "lump": { "name":"test-eco" } }, { "trans": [-7.41, 3.5, 28.42], // translation "etype": "plat", // actor type "game_task": 0, // associated game task (for powercells, etc) "quat": [0, 0, 0, 1], // quaternion "bsphere": [-7.41, 3.5, 28.42, 10], // bounding sphere "lump": { "name": "test-plat" } } ] }