From 9b88493e2085b84148b99e21f587250b80d80b82 Mon Sep 17 00:00:00 2001 From: Tommy Hochstetler Date: Fri, 9 Feb 2024 14:25:28 -0500 Subject: [PATCH 01/20] Fall, Jump, Land Animations --- animations/insurrectionist/anims-tommy2.blend | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 animations/insurrectionist/anims-tommy2.blend diff --git a/animations/insurrectionist/anims-tommy2.blend b/animations/insurrectionist/anims-tommy2.blend new file mode 100644 index 0000000..eec686b --- /dev/null +++ b/animations/insurrectionist/anims-tommy2.blend @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d5f9ec28bf5c15052cee5d74598abe7123ad4aefe436ed15aaa735cb08270a18 +size 5817836 From 2e321dfc0a6afcda51c883f78ae7ef350a099dae Mon Sep 17 00:00:00 2001 From: Matt Date: Fri, 9 Feb 2024 14:37:07 -0500 Subject: [PATCH 02/20] Gun asset and textures yeah --- characters/infantry/models/gun_asset/gun.0001.fbx | 3 +++ characters/infantry/textures/mat_gun_arm.png | 3 +++ characters/infantry/textures/mat_gun_basecolor.png | 3 +++ characters/infantry/textures/mat_gun_emissive.png | 3 +++ characters/infantry/textures/mat_gun_normal.png | 3 +++ 5 files changed, 15 insertions(+) create mode 100644 characters/infantry/models/gun_asset/gun.0001.fbx create mode 100644 characters/infantry/textures/mat_gun_arm.png create mode 100644 characters/infantry/textures/mat_gun_basecolor.png create mode 100644 characters/infantry/textures/mat_gun_emissive.png create mode 100644 characters/infantry/textures/mat_gun_normal.png diff --git a/characters/infantry/models/gun_asset/gun.0001.fbx b/characters/infantry/models/gun_asset/gun.0001.fbx new file mode 100644 index 0000000..e87f216 --- /dev/null +++ b/characters/infantry/models/gun_asset/gun.0001.fbx @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1196073ca08eae5bf398993e332a0b7be2eb21c2d5e20d327f5fef19a50b6909 +size 182128 diff --git a/characters/infantry/textures/mat_gun_arm.png b/characters/infantry/textures/mat_gun_arm.png new file mode 100644 index 0000000..67d3a0c --- /dev/null +++ b/characters/infantry/textures/mat_gun_arm.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2b89e51335a0b1bf6eb7a63a967b9afdb2b3fcd6930525b04498be6a4e255260 +size 4141407 diff --git a/characters/infantry/textures/mat_gun_basecolor.png b/characters/infantry/textures/mat_gun_basecolor.png new file mode 100644 index 0000000..7111981 --- /dev/null +++ b/characters/infantry/textures/mat_gun_basecolor.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3210e0c1404111620b7838ef6c9f15624ac3084a7fafb6f5da85b3eb997e4251 +size 2656212 diff --git a/characters/infantry/textures/mat_gun_emissive.png b/characters/infantry/textures/mat_gun_emissive.png new file mode 100644 index 0000000..f8a65b4 --- /dev/null +++ b/characters/infantry/textures/mat_gun_emissive.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9b5b4996c051aa1be166a32fb16be7a2c5f0056451d452a613e02cc350fe9d24 +size 14713 diff --git a/characters/infantry/textures/mat_gun_normal.png b/characters/infantry/textures/mat_gun_normal.png new file mode 100644 index 0000000..40cd278 --- /dev/null +++ b/characters/infantry/textures/mat_gun_normal.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:35f4bfc461e5bcad4e02cc5df4eefbef87ea5317f7bf82946021be1e1425d811 +size 2750621 From ba5af35a1dcedfc45e4214f9ab48d6f35d18f39c Mon Sep 17 00:00:00 2001 From: alan Date: Sun, 11 Feb 2024 13:51:42 -0500 Subject: [PATCH 03/20] Move grapple to Insurrectionist folder --- .../insurrectionist/models/Grapple}/GrappleBody.fbx | 0 .../insurrectionist/models/Grapple}/GrappleHook.fbx | 0 .../insurrectionist/models/Grapple}/TeslaCoil.fbx | 0 .../insurrectionist/textures}/mat_Coil_AO.png | 0 .../insurrectionist/textures}/mat_Coil_BaseColor.png | 0 .../insurrectionist/textures}/mat_Coil_Metalic.png | 0 .../insurrectionist/textures}/mat_Coil_Roughness.png | 0 .../insurrectionist/textures}/mat_Coil_normal.png | 0 .../insurrectionist/textures}/mat_GrappleBody_AO.png | 0 .../insurrectionist/textures}/mat_GrappleBody_BaseColor.png | 0 .../insurrectionist/textures}/mat_GrappleBody_metalic.png | 0 .../insurrectionist/textures}/mat_GrappleBody_normal.png | 0 .../insurrectionist/textures}/mat_GrappleBody_roughness.png | 0 .../insurrectionist/textures}/mat_GrappleHook_AO.png | 0 .../insurrectionist/textures}/mat_GrappleHook_BaseColor.png | 0 .../insurrectionist/textures}/mat_GrappleHook_metalic.png | 0 .../insurrectionist/textures}/mat_GrappleHook_normal.png | 0 .../insurrectionist/textures}/mat_GrappleHook_roughtness.png | 0 18 files changed, 0 insertions(+), 0 deletions(-) rename {Grapple => characters/insurrectionist/models/Grapple}/GrappleBody.fbx (100%) rename {Grapple => characters/insurrectionist/models/Grapple}/GrappleHook.fbx (100%) rename {Grapple => characters/insurrectionist/models/Grapple}/TeslaCoil.fbx (100%) rename {Grapple/GrappleMats/TeslaCoil => characters/insurrectionist/textures}/mat_Coil_AO.png (100%) rename {Grapple/GrappleMats/TeslaCoil => characters/insurrectionist/textures}/mat_Coil_BaseColor.png (100%) rename {Grapple/GrappleMats/TeslaCoil => characters/insurrectionist/textures}/mat_Coil_Metalic.png (100%) rename {Grapple/GrappleMats/TeslaCoil => characters/insurrectionist/textures}/mat_Coil_Roughness.png (100%) rename {Grapple/GrappleMats/TeslaCoil => characters/insurrectionist/textures}/mat_Coil_normal.png (100%) rename {Grapple/GrappleMats/GrappleBase => characters/insurrectionist/textures}/mat_GrappleBody_AO.png (100%) rename {Grapple/GrappleMats/GrappleBase => characters/insurrectionist/textures}/mat_GrappleBody_BaseColor.png (100%) rename {Grapple/GrappleMats/GrappleBase => characters/insurrectionist/textures}/mat_GrappleBody_metalic.png (100%) rename {Grapple/GrappleMats/GrappleBase => characters/insurrectionist/textures}/mat_GrappleBody_normal.png (100%) rename {Grapple/GrappleMats/GrappleBase => characters/insurrectionist/textures}/mat_GrappleBody_roughness.png (100%) rename {Grapple/GrappleMats/GrappleHook => characters/insurrectionist/textures}/mat_GrappleHook_AO.png (100%) rename {Grapple/GrappleMats/GrappleHook => characters/insurrectionist/textures}/mat_GrappleHook_BaseColor.png (100%) rename {Grapple/GrappleMats/GrappleHook => characters/insurrectionist/textures}/mat_GrappleHook_metalic.png (100%) rename {Grapple/GrappleMats/GrappleHook => characters/insurrectionist/textures}/mat_GrappleHook_normal.png (100%) rename {Grapple/GrappleMats/GrappleHook => characters/insurrectionist/textures}/mat_GrappleHook_roughtness.png (100%) diff --git a/Grapple/GrappleBody.fbx b/characters/insurrectionist/models/Grapple/GrappleBody.fbx similarity index 100% rename from Grapple/GrappleBody.fbx rename to characters/insurrectionist/models/Grapple/GrappleBody.fbx diff --git a/Grapple/GrappleHook.fbx b/characters/insurrectionist/models/Grapple/GrappleHook.fbx similarity index 100% rename from Grapple/GrappleHook.fbx rename to characters/insurrectionist/models/Grapple/GrappleHook.fbx diff --git a/Grapple/TeslaCoil.fbx b/characters/insurrectionist/models/Grapple/TeslaCoil.fbx similarity index 100% rename from Grapple/TeslaCoil.fbx rename to characters/insurrectionist/models/Grapple/TeslaCoil.fbx diff --git a/Grapple/GrappleMats/TeslaCoil/mat_Coil_AO.png b/characters/insurrectionist/textures/mat_Coil_AO.png similarity index 100% rename from Grapple/GrappleMats/TeslaCoil/mat_Coil_AO.png rename to characters/insurrectionist/textures/mat_Coil_AO.png diff --git a/Grapple/GrappleMats/TeslaCoil/mat_Coil_BaseColor.png b/characters/insurrectionist/textures/mat_Coil_BaseColor.png similarity index 100% rename from Grapple/GrappleMats/TeslaCoil/mat_Coil_BaseColor.png rename to characters/insurrectionist/textures/mat_Coil_BaseColor.png diff --git a/Grapple/GrappleMats/TeslaCoil/mat_Coil_Metalic.png b/characters/insurrectionist/textures/mat_Coil_Metalic.png similarity index 100% rename from Grapple/GrappleMats/TeslaCoil/mat_Coil_Metalic.png rename to characters/insurrectionist/textures/mat_Coil_Metalic.png diff --git a/Grapple/GrappleMats/TeslaCoil/mat_Coil_Roughness.png b/characters/insurrectionist/textures/mat_Coil_Roughness.png similarity index 100% rename from Grapple/GrappleMats/TeslaCoil/mat_Coil_Roughness.png rename to characters/insurrectionist/textures/mat_Coil_Roughness.png diff --git a/Grapple/GrappleMats/TeslaCoil/mat_Coil_normal.png b/characters/insurrectionist/textures/mat_Coil_normal.png similarity index 100% rename from Grapple/GrappleMats/TeslaCoil/mat_Coil_normal.png rename to characters/insurrectionist/textures/mat_Coil_normal.png diff --git a/Grapple/GrappleMats/GrappleBase/mat_GrappleBody_AO.png b/characters/insurrectionist/textures/mat_GrappleBody_AO.png similarity index 100% rename from Grapple/GrappleMats/GrappleBase/mat_GrappleBody_AO.png rename to characters/insurrectionist/textures/mat_GrappleBody_AO.png diff --git a/Grapple/GrappleMats/GrappleBase/mat_GrappleBody_BaseColor.png b/characters/insurrectionist/textures/mat_GrappleBody_BaseColor.png similarity index 100% rename from Grapple/GrappleMats/GrappleBase/mat_GrappleBody_BaseColor.png rename to characters/insurrectionist/textures/mat_GrappleBody_BaseColor.png diff --git a/Grapple/GrappleMats/GrappleBase/mat_GrappleBody_metalic.png b/characters/insurrectionist/textures/mat_GrappleBody_metalic.png similarity index 100% rename from Grapple/GrappleMats/GrappleBase/mat_GrappleBody_metalic.png rename to characters/insurrectionist/textures/mat_GrappleBody_metalic.png diff --git a/Grapple/GrappleMats/GrappleBase/mat_GrappleBody_normal.png b/characters/insurrectionist/textures/mat_GrappleBody_normal.png similarity index 100% rename from Grapple/GrappleMats/GrappleBase/mat_GrappleBody_normal.png rename to characters/insurrectionist/textures/mat_GrappleBody_normal.png diff --git a/Grapple/GrappleMats/GrappleBase/mat_GrappleBody_roughness.png b/characters/insurrectionist/textures/mat_GrappleBody_roughness.png similarity index 100% rename from Grapple/GrappleMats/GrappleBase/mat_GrappleBody_roughness.png rename to characters/insurrectionist/textures/mat_GrappleBody_roughness.png diff --git a/Grapple/GrappleMats/GrappleHook/mat_GrappleHook_AO.png b/characters/insurrectionist/textures/mat_GrappleHook_AO.png similarity index 100% rename from Grapple/GrappleMats/GrappleHook/mat_GrappleHook_AO.png rename to characters/insurrectionist/textures/mat_GrappleHook_AO.png diff --git a/Grapple/GrappleMats/GrappleHook/mat_GrappleHook_BaseColor.png b/characters/insurrectionist/textures/mat_GrappleHook_BaseColor.png similarity index 100% rename from Grapple/GrappleMats/GrappleHook/mat_GrappleHook_BaseColor.png rename to characters/insurrectionist/textures/mat_GrappleHook_BaseColor.png diff --git a/Grapple/GrappleMats/GrappleHook/mat_GrappleHook_metalic.png b/characters/insurrectionist/textures/mat_GrappleHook_metalic.png similarity index 100% rename from Grapple/GrappleMats/GrappleHook/mat_GrappleHook_metalic.png rename to characters/insurrectionist/textures/mat_GrappleHook_metalic.png diff --git a/Grapple/GrappleMats/GrappleHook/mat_GrappleHook_normal.png b/characters/insurrectionist/textures/mat_GrappleHook_normal.png similarity index 100% rename from Grapple/GrappleMats/GrappleHook/mat_GrappleHook_normal.png rename to characters/insurrectionist/textures/mat_GrappleHook_normal.png diff --git a/Grapple/GrappleMats/GrappleHook/mat_GrappleHook_roughtness.png b/characters/insurrectionist/textures/mat_GrappleHook_roughtness.png similarity index 100% rename from Grapple/GrappleMats/GrappleHook/mat_GrappleHook_roughtness.png rename to characters/insurrectionist/textures/mat_GrappleHook_roughtness.png From 01a2c07c26ca6212d8b0ebc5c1604f1a7b4e5935 Mon Sep 17 00:00:00 2001 From: alan Date: Sun, 11 Feb 2024 14:56:01 -0500 Subject: [PATCH 04/20] Rename grapple textures for IronPress, IronPress config, add to character rig --- characters/insurrectionist/cfg_ironpress.json | 26 ++++++++++++++++++- characters/insurrectionist/p4-rigging.blend | 4 +-- .../insurrectionist/textures/mat_coil_ao.png | 3 +++ .../textures/mat_coil_basecolor.png | 3 +++ ...Coil_Metalic.png => mat_coil_metallic.png} | 0 .../textures/mat_coil_normal.png | 3 +++ .../textures/mat_coil_roughness.png | 3 +++ .../textures/mat_grapplebody_ao.png | 3 +++ .../textures/mat_grapplebody_basecolor.png | 3 +++ ...talic.png => mat_grapplebody_metallic.png} | 0 .../textures/mat_grapplebody_normal.png | 3 +++ .../textures/mat_grapplebody_roughness.png | 3 +++ .../textures/mat_grapplehook_ao.png | 3 +++ .../textures/mat_grapplehook_basecolor.png | 3 +++ ...talic.png => mat_grapplehook_metallic.png} | 0 .../textures/mat_grapplehook_normal.png | 3 +++ ...ness.png => mat_grapplehook_roughness.png} | 0 {OldPc => props/OldPc}/OldPC.fbx | 0 18 files changed, 60 insertions(+), 3 deletions(-) create mode 100644 characters/insurrectionist/textures/mat_coil_ao.png create mode 100644 characters/insurrectionist/textures/mat_coil_basecolor.png rename characters/insurrectionist/textures/{mat_Coil_Metalic.png => mat_coil_metallic.png} (100%) create mode 100644 characters/insurrectionist/textures/mat_coil_normal.png create mode 100644 characters/insurrectionist/textures/mat_coil_roughness.png create mode 100644 characters/insurrectionist/textures/mat_grapplebody_ao.png create mode 100644 characters/insurrectionist/textures/mat_grapplebody_basecolor.png rename characters/insurrectionist/textures/{mat_GrappleBody_metalic.png => mat_grapplebody_metallic.png} (100%) create mode 100644 characters/insurrectionist/textures/mat_grapplebody_normal.png create mode 100644 characters/insurrectionist/textures/mat_grapplebody_roughness.png create mode 100644 characters/insurrectionist/textures/mat_grapplehook_ao.png create mode 100644 characters/insurrectionist/textures/mat_grapplehook_basecolor.png rename characters/insurrectionist/textures/{mat_GrappleHook_metalic.png => mat_grapplehook_metallic.png} (100%) create mode 100644 characters/insurrectionist/textures/mat_grapplehook_normal.png rename characters/insurrectionist/textures/{mat_GrappleHook_roughtness.png => mat_grapplehook_roughness.png} (100%) rename {OldPc => props/OldPc}/OldPC.fbx (100%) diff --git a/characters/insurrectionist/cfg_ironpress.json b/characters/insurrectionist/cfg_ironpress.json index 4dd60e3..ae7d50a 100644 --- a/characters/insurrectionist/cfg_ironpress.json +++ b/characters/insurrectionist/cfg_ironpress.json @@ -18,6 +18,30 @@ "arm", "normal" ] - } + }, + "mat_grapplebody": { + "res_out": 1024, + "channels": [ + "basecolor", + "arm", + "normal" + ] + }, + "mat_coil": { + "res_out": 512, + "channels": [ + "basecolor", + "arm", + "normal" + ] + }, + "mat_grapplehook": { + "res_out": 512, + "channels": [ + "basecolor", + "arm", + "normal" + ] + } } } diff --git a/characters/insurrectionist/p4-rigging.blend b/characters/insurrectionist/p4-rigging.blend index 2c57809..76f3d04 100644 --- a/characters/insurrectionist/p4-rigging.blend +++ b/characters/insurrectionist/p4-rigging.blend @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:01c658305fc2e4eef3328fd31151506f7cad28c0ad14b07d44adf0a36e4d719c -size 6617443 +oid sha256:d1efc2ee230943f7db0aed23b25c4c7ccb899e29b8b8fe056877e48dbb2aa0f4 +size 8215295 diff --git a/characters/insurrectionist/textures/mat_coil_ao.png b/characters/insurrectionist/textures/mat_coil_ao.png new file mode 100644 index 0000000..e3a6853 --- /dev/null +++ b/characters/insurrectionist/textures/mat_coil_ao.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3bb09f6628f3e34b062cc1daacc1c64bac696aa5ee72c10970af3f846ee341b4 +size 261706 diff --git a/characters/insurrectionist/textures/mat_coil_basecolor.png b/characters/insurrectionist/textures/mat_coil_basecolor.png new file mode 100644 index 0000000..38c1205 --- /dev/null +++ b/characters/insurrectionist/textures/mat_coil_basecolor.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:90d0ccf79a8bdc951b6c830d18574a9616d753a7b9c5d6d8f1a67cc9653c6fb7 +size 716481 diff --git a/characters/insurrectionist/textures/mat_Coil_Metalic.png b/characters/insurrectionist/textures/mat_coil_metallic.png similarity index 100% rename from characters/insurrectionist/textures/mat_Coil_Metalic.png rename to characters/insurrectionist/textures/mat_coil_metallic.png diff --git a/characters/insurrectionist/textures/mat_coil_normal.png b/characters/insurrectionist/textures/mat_coil_normal.png new file mode 100644 index 0000000..1d4ed33 --- /dev/null +++ b/characters/insurrectionist/textures/mat_coil_normal.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2bb0d71a15d4b7ad126b0abaaa4f8617e8793e936981eea0c7249327743795db +size 967208 diff --git a/characters/insurrectionist/textures/mat_coil_roughness.png b/characters/insurrectionist/textures/mat_coil_roughness.png new file mode 100644 index 0000000..8ecd372 --- /dev/null +++ b/characters/insurrectionist/textures/mat_coil_roughness.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3485556766c97ff20f1bf63e02f160a85f67330d99ae34041b3768f5ca923f93 +size 287621 diff --git a/characters/insurrectionist/textures/mat_grapplebody_ao.png b/characters/insurrectionist/textures/mat_grapplebody_ao.png new file mode 100644 index 0000000..862dcdd --- /dev/null +++ b/characters/insurrectionist/textures/mat_grapplebody_ao.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b68f7bef5c718b8aa50e43e6d95092dcf22e3ef5e91a8f03c1ac8045df00fc79 +size 274015 diff --git a/characters/insurrectionist/textures/mat_grapplebody_basecolor.png b/characters/insurrectionist/textures/mat_grapplebody_basecolor.png new file mode 100644 index 0000000..4d9206a --- /dev/null +++ b/characters/insurrectionist/textures/mat_grapplebody_basecolor.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5ec48b27f95c58818ce5c9509210b36945fa1923c529e240f1d9fcce97cf7a03 +size 1320929 diff --git a/characters/insurrectionist/textures/mat_GrappleBody_metalic.png b/characters/insurrectionist/textures/mat_grapplebody_metallic.png similarity index 100% rename from characters/insurrectionist/textures/mat_GrappleBody_metalic.png rename to characters/insurrectionist/textures/mat_grapplebody_metallic.png diff --git a/characters/insurrectionist/textures/mat_grapplebody_normal.png b/characters/insurrectionist/textures/mat_grapplebody_normal.png new file mode 100644 index 0000000..fff94c9 --- /dev/null +++ b/characters/insurrectionist/textures/mat_grapplebody_normal.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3c2b046abf9e7fb97c6c8a72076d27f67d5d5e79d86923e761b8b71ef0899e58 +size 1546157 diff --git a/characters/insurrectionist/textures/mat_grapplebody_roughness.png b/characters/insurrectionist/textures/mat_grapplebody_roughness.png new file mode 100644 index 0000000..e425785 --- /dev/null +++ b/characters/insurrectionist/textures/mat_grapplebody_roughness.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4b858c4bf322ec7785342909ce56cb268d176d948fd8385bb2de5ea817de8d25 +size 620965 diff --git a/characters/insurrectionist/textures/mat_grapplehook_ao.png b/characters/insurrectionist/textures/mat_grapplehook_ao.png new file mode 100644 index 0000000..520cdbf --- /dev/null +++ b/characters/insurrectionist/textures/mat_grapplehook_ao.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:464e8005a8fe93ed983a72f2d5b109d9cc84e9d85e3b9d921df08c74eeec65d9 +size 100589 diff --git a/characters/insurrectionist/textures/mat_grapplehook_basecolor.png b/characters/insurrectionist/textures/mat_grapplehook_basecolor.png new file mode 100644 index 0000000..fae0f6d --- /dev/null +++ b/characters/insurrectionist/textures/mat_grapplehook_basecolor.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1f0f3b2d66acb9b32f248dc617ddf262a131d01f38064c80a596cfa866b8f83c +size 574235 diff --git a/characters/insurrectionist/textures/mat_GrappleHook_metalic.png b/characters/insurrectionist/textures/mat_grapplehook_metallic.png similarity index 100% rename from characters/insurrectionist/textures/mat_GrappleHook_metalic.png rename to characters/insurrectionist/textures/mat_grapplehook_metallic.png diff --git a/characters/insurrectionist/textures/mat_grapplehook_normal.png b/characters/insurrectionist/textures/mat_grapplehook_normal.png new file mode 100644 index 0000000..09901bc --- /dev/null +++ b/characters/insurrectionist/textures/mat_grapplehook_normal.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6f486b5f7648e32ebc4d8a83294bf892911e0bd958d2a6f5b8f7bac9774f0b7a +size 325387 diff --git a/characters/insurrectionist/textures/mat_GrappleHook_roughtness.png b/characters/insurrectionist/textures/mat_grapplehook_roughness.png similarity index 100% rename from characters/insurrectionist/textures/mat_GrappleHook_roughtness.png rename to characters/insurrectionist/textures/mat_grapplehook_roughness.png diff --git a/OldPc/OldPC.fbx b/props/OldPc/OldPC.fbx similarity index 100% rename from OldPc/OldPC.fbx rename to props/OldPc/OldPC.fbx From 2f5f875b81e981c90186f45a052083fc4d1954a3 Mon Sep 17 00:00:00 2001 From: Alan O'Cull Date: Mon, 12 Feb 2024 15:58:38 -0500 Subject: [PATCH 05/20] Basis for Mantle animation --- animations/insurrectionist/anims-shelby_008.blend | 4 ++-- characters/infantry/notes.txt | 11 +++++++++++ 2 files changed, 13 insertions(+), 2 deletions(-) create mode 100644 characters/infantry/notes.txt diff --git a/animations/insurrectionist/anims-shelby_008.blend b/animations/insurrectionist/anims-shelby_008.blend index 5179f89..5e39f0d 100644 --- a/animations/insurrectionist/anims-shelby_008.blend +++ b/animations/insurrectionist/anims-shelby_008.blend @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:683f283ba2f33d750a3087b35d799cb0da7408bfa190988228d4a3d9d810367f -size 5582460 +oid sha256:b37f014cc1353a802b7611e4ee9e7075c4db875f6d1985f198ecad26db7f9f5b +size 6054344 diff --git a/characters/infantry/notes.txt b/characters/infantry/notes.txt new file mode 100644 index 0000000..091d617 --- /dev/null +++ b/characters/infantry/notes.txt @@ -0,0 +1,11 @@ +- Legs too short +- Broader shoulders +- Bigger forearms +- Make helmet more angular + - Bring down brows, make more angry, sun-visor + - Slightly point down in middle of helmet +- Smooth out vest + - Flatten pecs +- Boots are way too big +- Reduce folds around the boots + From 2b8881339663ee730872ce3a97a3dd2b7edb6c41 Mon Sep 17 00:00:00 2001 From: alan Date: Tue, 13 Feb 2024 13:55:31 -0500 Subject: [PATCH 06/20] Set up Turret textures for IronPress --- characters/insurrectionist/p4-rigging.blend | 4 ++-- pipeline/pipeline_turret.cmd | 3 +++ {Turret => props/Turret}/Turret_Head.fbx | 0 props/Turret/cfg_ironpress.json | 23 +++++++++++++++++++ .../Turret/textures/mat_turrethead_ao.png | 0 .../textures/mat_turrethead_basecolor.png | 0 .../textures/mat_turrethead_emission.png | 0 .../textures/mat_turrethead_metallic.png | 0 .../Turret/textures/mat_turrethead_normal.png | 0 .../textures/mat_turrethead_roughness.png | 0 .../Turret/textures/mat_turretstand_ao.png | 0 .../textures/mat_turretstand_basecolor.png | 0 .../textures/mat_turretstand_metallic.png | 0 .../textures/mat_turretstand_normal.png | 0 .../textures/mat_turretstand_roughness.png | 0 {Turret => props/Turret}/turret base.fbx | 0 16 files changed, 28 insertions(+), 2 deletions(-) create mode 100644 pipeline/pipeline_turret.cmd rename {Turret => props/Turret}/Turret_Head.fbx (100%) create mode 100644 props/Turret/cfg_ironpress.json rename Turret/materials/TurretHead/mat_TurretHead_AO.png => props/Turret/textures/mat_turrethead_ao.png (100%) rename Turret/materials/TurretHead/mat_turretHead_basecolor.png => props/Turret/textures/mat_turrethead_basecolor.png (100%) rename Turret/materials/TurretHead/mat_turretHead_Emission.png => props/Turret/textures/mat_turrethead_emission.png (100%) rename Turret/materials/TurretHead/mat_turretHead_metallic.png => props/Turret/textures/mat_turrethead_metallic.png (100%) rename Turret/materials/TurretHead/mat_turretHead_normal.png => props/Turret/textures/mat_turrethead_normal.png (100%) rename Turret/materials/TurretHead/mat_turretHead_roughness.png => props/Turret/textures/mat_turrethead_roughness.png (100%) rename Turret/materials/TurretBase/mat_TurretStand_AO.png => props/Turret/textures/mat_turretstand_ao.png (100%) rename Turret/materials/TurretBase/mat_TurretStand_basecolor.png => props/Turret/textures/mat_turretstand_basecolor.png (100%) rename Turret/materials/TurretBase/mat_TurretStand_metallic.png => props/Turret/textures/mat_turretstand_metallic.png (100%) rename Turret/materials/TurretBase/mat_TurretStand_normal.png => props/Turret/textures/mat_turretstand_normal.png (100%) rename Turret/materials/TurretBase/mat_TurretStand_roughness.png => props/Turret/textures/mat_turretstand_roughness.png (100%) rename {Turret => props/Turret}/turret base.fbx (100%) diff --git a/characters/insurrectionist/p4-rigging.blend b/characters/insurrectionist/p4-rigging.blend index 76f3d04..a761054 100644 --- a/characters/insurrectionist/p4-rigging.blend +++ b/characters/insurrectionist/p4-rigging.blend @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d1efc2ee230943f7db0aed23b25c4c7ccb899e29b8b8fe056877e48dbb2aa0f4 -size 8215295 +oid sha256:b8661cba7794f48709b9a7860adcb38fafb39fe9c7be662cfa421d40766b16d9 +size 8214911 diff --git a/pipeline/pipeline_turret.cmd b/pipeline/pipeline_turret.cmd new file mode 100644 index 0000000..202db41 --- /dev/null +++ b/pipeline/pipeline_turret.cmd @@ -0,0 +1,3 @@ +REM Insurrectionist textures +ironpress.exe ..\props\Turret\cfg_ironpress.json +pause > nul \ No newline at end of file diff --git a/Turret/Turret_Head.fbx b/props/Turret/Turret_Head.fbx similarity index 100% rename from Turret/Turret_Head.fbx rename to props/Turret/Turret_Head.fbx diff --git a/props/Turret/cfg_ironpress.json b/props/Turret/cfg_ironpress.json new file mode 100644 index 0000000..2e66a25 --- /dev/null +++ b/props/Turret/cfg_ironpress.json @@ -0,0 +1,23 @@ +{ + "out": "..\\..\\export\\turret\\textures", + "in": "textures", + "flip_normals": false, + "materials": { + "mat_turrethead": { + "res_out": 1024, + "channels": [ + "basecolor", + "arm", + "normal" + ] + }, + "mat_turretstand": { + "res_out": 1024, + "channels": [ + "basecolor", + "arm", + "normal" + ] + } + } +} diff --git a/Turret/materials/TurretHead/mat_TurretHead_AO.png b/props/Turret/textures/mat_turrethead_ao.png similarity index 100% rename from Turret/materials/TurretHead/mat_TurretHead_AO.png rename to props/Turret/textures/mat_turrethead_ao.png diff --git a/Turret/materials/TurretHead/mat_turretHead_basecolor.png b/props/Turret/textures/mat_turrethead_basecolor.png similarity index 100% rename from Turret/materials/TurretHead/mat_turretHead_basecolor.png rename to props/Turret/textures/mat_turrethead_basecolor.png diff --git a/Turret/materials/TurretHead/mat_turretHead_Emission.png b/props/Turret/textures/mat_turrethead_emission.png similarity index 100% rename from Turret/materials/TurretHead/mat_turretHead_Emission.png rename to props/Turret/textures/mat_turrethead_emission.png diff --git a/Turret/materials/TurretHead/mat_turretHead_metallic.png b/props/Turret/textures/mat_turrethead_metallic.png similarity index 100% rename from Turret/materials/TurretHead/mat_turretHead_metallic.png rename to props/Turret/textures/mat_turrethead_metallic.png diff --git a/Turret/materials/TurretHead/mat_turretHead_normal.png b/props/Turret/textures/mat_turrethead_normal.png similarity index 100% rename from Turret/materials/TurretHead/mat_turretHead_normal.png rename to props/Turret/textures/mat_turrethead_normal.png diff --git a/Turret/materials/TurretHead/mat_turretHead_roughness.png b/props/Turret/textures/mat_turrethead_roughness.png similarity index 100% rename from Turret/materials/TurretHead/mat_turretHead_roughness.png rename to props/Turret/textures/mat_turrethead_roughness.png diff --git a/Turret/materials/TurretBase/mat_TurretStand_AO.png b/props/Turret/textures/mat_turretstand_ao.png similarity index 100% rename from Turret/materials/TurretBase/mat_TurretStand_AO.png rename to props/Turret/textures/mat_turretstand_ao.png diff --git a/Turret/materials/TurretBase/mat_TurretStand_basecolor.png b/props/Turret/textures/mat_turretstand_basecolor.png similarity index 100% rename from Turret/materials/TurretBase/mat_TurretStand_basecolor.png rename to props/Turret/textures/mat_turretstand_basecolor.png diff --git a/Turret/materials/TurretBase/mat_TurretStand_metallic.png b/props/Turret/textures/mat_turretstand_metallic.png similarity index 100% rename from Turret/materials/TurretBase/mat_TurretStand_metallic.png rename to props/Turret/textures/mat_turretstand_metallic.png diff --git a/Turret/materials/TurretBase/mat_TurretStand_normal.png b/props/Turret/textures/mat_turretstand_normal.png similarity index 100% rename from Turret/materials/TurretBase/mat_TurretStand_normal.png rename to props/Turret/textures/mat_turretstand_normal.png diff --git a/Turret/materials/TurretBase/mat_TurretStand_roughness.png b/props/Turret/textures/mat_turretstand_roughness.png similarity index 100% rename from Turret/materials/TurretBase/mat_TurretStand_roughness.png rename to props/Turret/textures/mat_turretstand_roughness.png diff --git a/Turret/turret base.fbx b/props/Turret/turret base.fbx similarity index 100% rename from Turret/turret base.fbx rename to props/Turret/turret base.fbx From 509052f6df6da7d6958c43716cf55ca11938dbb4 Mon Sep 17 00:00:00 2001 From: Will Date: Tue, 13 Feb 2024 16:04:17 -0500 Subject: [PATCH 07/20] Shipping Container --- props/Shipping Container/ContainerLP.fbx | 3 +++ props/Shipping Container/Textures/Blue/AO.png | 3 +++ props/Shipping Container/Textures/Blue/BaseColor.png | 3 +++ props/Shipping Container/Textures/Blue/Height.png | 3 +++ props/Shipping Container/Textures/Blue/Metallic.png | 3 +++ props/Shipping Container/Textures/Blue/Normal.png | 3 +++ props/Shipping Container/Textures/Blue/Roughness.png | 3 +++ props/Shipping Container/Textures/Green/AO.png | 3 +++ props/Shipping Container/Textures/Green/BaseColor.png | 3 +++ props/Shipping Container/Textures/Green/Height.png | 3 +++ props/Shipping Container/Textures/Green/Metallic.png | 3 +++ props/Shipping Container/Textures/Green/Normal.png | 3 +++ props/Shipping Container/Textures/Green/Roughness.png | 3 +++ props/Shipping Container/Textures/Red/AO.png | 3 +++ props/Shipping Container/Textures/Red/BaseColor.png | 3 +++ props/Shipping Container/Textures/Red/Height.png | 3 +++ props/Shipping Container/Textures/Red/Metallic.png | 3 +++ props/Shipping Container/Textures/Red/Normal.png | 3 +++ props/Shipping Container/Textures/Red/Roughness.png | 3 +++ 19 files changed, 57 insertions(+) create mode 100644 props/Shipping Container/ContainerLP.fbx create mode 100644 props/Shipping Container/Textures/Blue/AO.png create mode 100644 props/Shipping Container/Textures/Blue/BaseColor.png create mode 100644 props/Shipping Container/Textures/Blue/Height.png create mode 100644 props/Shipping Container/Textures/Blue/Metallic.png create mode 100644 props/Shipping Container/Textures/Blue/Normal.png create mode 100644 props/Shipping Container/Textures/Blue/Roughness.png create mode 100644 props/Shipping Container/Textures/Green/AO.png create mode 100644 props/Shipping Container/Textures/Green/BaseColor.png create mode 100644 props/Shipping Container/Textures/Green/Height.png create mode 100644 props/Shipping Container/Textures/Green/Metallic.png create mode 100644 props/Shipping Container/Textures/Green/Normal.png create mode 100644 props/Shipping Container/Textures/Green/Roughness.png create mode 100644 props/Shipping Container/Textures/Red/AO.png create mode 100644 props/Shipping Container/Textures/Red/BaseColor.png create mode 100644 props/Shipping Container/Textures/Red/Height.png create mode 100644 props/Shipping Container/Textures/Red/Metallic.png create mode 100644 props/Shipping Container/Textures/Red/Normal.png create mode 100644 props/Shipping Container/Textures/Red/Roughness.png diff --git a/props/Shipping Container/ContainerLP.fbx b/props/Shipping Container/ContainerLP.fbx new file mode 100644 index 0000000..054e4d3 --- /dev/null +++ b/props/Shipping Container/ContainerLP.fbx @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7ee45635f7f0703de49b02a7e0ca7abd31f927c16ba5dfecc889ec4935008154 +size 55232 diff --git a/props/Shipping Container/Textures/Blue/AO.png b/props/Shipping Container/Textures/Blue/AO.png new file mode 100644 index 0000000..089db4b --- /dev/null +++ b/props/Shipping Container/Textures/Blue/AO.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:10d680b9ee6e8170d13da960537d99913b7fa439ee0edac00c1783196c9e7e4d +size 269565 diff --git a/props/Shipping Container/Textures/Blue/BaseColor.png b/props/Shipping Container/Textures/Blue/BaseColor.png new file mode 100644 index 0000000..aedbc49 --- /dev/null +++ b/props/Shipping Container/Textures/Blue/BaseColor.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ba6f856171e0456f1f4f8484216b5f3227254b3af4691b31e3d3cc33798f619b +size 815000 diff --git a/props/Shipping Container/Textures/Blue/Height.png b/props/Shipping Container/Textures/Blue/Height.png new file mode 100644 index 0000000..bbc368c --- /dev/null +++ b/props/Shipping Container/Textures/Blue/Height.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a4757625b6e7a1da849c5a7416739a1f4531c20caeadb3fcb2911cfcee864294 +size 3178 diff --git a/props/Shipping Container/Textures/Blue/Metallic.png b/props/Shipping Container/Textures/Blue/Metallic.png new file mode 100644 index 0000000..9955fbb --- /dev/null +++ b/props/Shipping Container/Textures/Blue/Metallic.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b726a2f0b80f522fff6250d2bf4ed4f003d5ece78b16259c1b7fd9bea03ffe75 +size 130816 diff --git a/props/Shipping Container/Textures/Blue/Normal.png b/props/Shipping Container/Textures/Blue/Normal.png new file mode 100644 index 0000000..679e49a --- /dev/null +++ b/props/Shipping Container/Textures/Blue/Normal.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0f6d6aed7905ec4326b61b9245d763a12610194429b86cf0e3c73134b79dae20 +size 187881 diff --git a/props/Shipping Container/Textures/Blue/Roughness.png b/props/Shipping Container/Textures/Blue/Roughness.png new file mode 100644 index 0000000..c46b617 --- /dev/null +++ b/props/Shipping Container/Textures/Blue/Roughness.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ae6fe37624f1093f9527e66cf52aac4ff941dbfa7a0aa271391a4c404dfbf748 +size 314191 diff --git a/props/Shipping Container/Textures/Green/AO.png b/props/Shipping Container/Textures/Green/AO.png new file mode 100644 index 0000000..089db4b --- /dev/null +++ b/props/Shipping Container/Textures/Green/AO.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:10d680b9ee6e8170d13da960537d99913b7fa439ee0edac00c1783196c9e7e4d +size 269565 diff --git a/props/Shipping Container/Textures/Green/BaseColor.png b/props/Shipping Container/Textures/Green/BaseColor.png new file mode 100644 index 0000000..166892e --- /dev/null +++ b/props/Shipping Container/Textures/Green/BaseColor.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bd06c6c0c5b025fa364032173d50595e179b876cdfd4604a9a1c5bc6baba8156 +size 672389 diff --git a/props/Shipping Container/Textures/Green/Height.png b/props/Shipping Container/Textures/Green/Height.png new file mode 100644 index 0000000..bbc368c --- /dev/null +++ b/props/Shipping Container/Textures/Green/Height.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a4757625b6e7a1da849c5a7416739a1f4531c20caeadb3fcb2911cfcee864294 +size 3178 diff --git a/props/Shipping Container/Textures/Green/Metallic.png b/props/Shipping Container/Textures/Green/Metallic.png new file mode 100644 index 0000000..9955fbb --- /dev/null +++ b/props/Shipping Container/Textures/Green/Metallic.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b726a2f0b80f522fff6250d2bf4ed4f003d5ece78b16259c1b7fd9bea03ffe75 +size 130816 diff --git a/props/Shipping Container/Textures/Green/Normal.png b/props/Shipping Container/Textures/Green/Normal.png new file mode 100644 index 0000000..679e49a --- /dev/null +++ b/props/Shipping Container/Textures/Green/Normal.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0f6d6aed7905ec4326b61b9245d763a12610194429b86cf0e3c73134b79dae20 +size 187881 diff --git a/props/Shipping Container/Textures/Green/Roughness.png b/props/Shipping Container/Textures/Green/Roughness.png new file mode 100644 index 0000000..c46b617 --- /dev/null +++ b/props/Shipping Container/Textures/Green/Roughness.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ae6fe37624f1093f9527e66cf52aac4ff941dbfa7a0aa271391a4c404dfbf748 +size 314191 diff --git a/props/Shipping Container/Textures/Red/AO.png b/props/Shipping Container/Textures/Red/AO.png new file mode 100644 index 0000000..089db4b --- /dev/null +++ b/props/Shipping Container/Textures/Red/AO.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:10d680b9ee6e8170d13da960537d99913b7fa439ee0edac00c1783196c9e7e4d +size 269565 diff --git a/props/Shipping Container/Textures/Red/BaseColor.png b/props/Shipping Container/Textures/Red/BaseColor.png new file mode 100644 index 0000000..03a1e44 --- /dev/null +++ b/props/Shipping Container/Textures/Red/BaseColor.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:49698ca4d3e9af1070f2f2645b12b4338a39a9b82fb4cb378c4a3105d8866f70 +size 801396 diff --git a/props/Shipping Container/Textures/Red/Height.png b/props/Shipping Container/Textures/Red/Height.png new file mode 100644 index 0000000..bbc368c --- /dev/null +++ b/props/Shipping Container/Textures/Red/Height.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a4757625b6e7a1da849c5a7416739a1f4531c20caeadb3fcb2911cfcee864294 +size 3178 diff --git a/props/Shipping Container/Textures/Red/Metallic.png b/props/Shipping Container/Textures/Red/Metallic.png new file mode 100644 index 0000000..9955fbb --- /dev/null +++ b/props/Shipping Container/Textures/Red/Metallic.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b726a2f0b80f522fff6250d2bf4ed4f003d5ece78b16259c1b7fd9bea03ffe75 +size 130816 diff --git a/props/Shipping Container/Textures/Red/Normal.png b/props/Shipping Container/Textures/Red/Normal.png new file mode 100644 index 0000000..679e49a --- /dev/null +++ b/props/Shipping Container/Textures/Red/Normal.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0f6d6aed7905ec4326b61b9245d763a12610194429b86cf0e3c73134b79dae20 +size 187881 diff --git a/props/Shipping Container/Textures/Red/Roughness.png b/props/Shipping Container/Textures/Red/Roughness.png new file mode 100644 index 0000000..c46b617 --- /dev/null +++ b/props/Shipping Container/Textures/Red/Roughness.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ae6fe37624f1093f9527e66cf52aac4ff941dbfa7a0aa271391a4c404dfbf748 +size 314191 From 9bbbacd88024b569529bcfbe4fbeb6f9b84bbdf9 Mon Sep 17 00:00:00 2001 From: Will Date: Tue, 13 Feb 2024 17:49:10 -0500 Subject: [PATCH 08/20] Updated Texture maps --- props/Shipping Container/Textures/Blue/Height.png | 3 --- props/Shipping Container/Textures/Green/AO.png | 3 --- props/Shipping Container/Textures/Green/Height.png | 3 --- props/Shipping Container/Textures/Green/Metallic.png | 3 --- props/Shipping Container/Textures/Green/Normal.png | 3 --- props/Shipping Container/Textures/Green/Roughness.png | 3 --- props/Shipping Container/Textures/Red/AO.png | 3 --- props/Shipping Container/Textures/Red/Height.png | 3 --- props/Shipping Container/Textures/Red/Metallic.png | 3 --- props/Shipping Container/Textures/Red/Normal.png | 3 --- props/Shipping Container/Textures/Red/Roughness.png | 3 --- .../{Blue/BaseColor.png => mat_containerBlue_basecolor.png} | 0 .../{Green/BaseColor.png => mat_containerGreen_basecolor.png} | 0 .../{Red/BaseColor.png => mat_containerRed_basecolor.png} | 0 .../Textures/{Blue/AO.png => mat_container_ao.png} | 0 .../Textures/{Blue/Metallic.png => mat_container_metallic.png} | 0 .../Textures/{Blue/Normal.png => mat_container_normal.png} | 0 .../{Blue/Roughness.png => mat_container_roughness.png} | 0 18 files changed, 33 deletions(-) delete mode 100644 props/Shipping Container/Textures/Blue/Height.png delete mode 100644 props/Shipping Container/Textures/Green/AO.png delete mode 100644 props/Shipping Container/Textures/Green/Height.png delete mode 100644 props/Shipping Container/Textures/Green/Metallic.png delete mode 100644 props/Shipping Container/Textures/Green/Normal.png delete mode 100644 props/Shipping Container/Textures/Green/Roughness.png delete mode 100644 props/Shipping Container/Textures/Red/AO.png delete mode 100644 props/Shipping Container/Textures/Red/Height.png delete mode 100644 props/Shipping Container/Textures/Red/Metallic.png delete mode 100644 props/Shipping Container/Textures/Red/Normal.png delete mode 100644 props/Shipping Container/Textures/Red/Roughness.png rename props/Shipping Container/Textures/{Blue/BaseColor.png => mat_containerBlue_basecolor.png} (100%) rename props/Shipping Container/Textures/{Green/BaseColor.png => mat_containerGreen_basecolor.png} (100%) rename props/Shipping Container/Textures/{Red/BaseColor.png => mat_containerRed_basecolor.png} (100%) rename props/Shipping Container/Textures/{Blue/AO.png => mat_container_ao.png} (100%) rename props/Shipping Container/Textures/{Blue/Metallic.png => mat_container_metallic.png} (100%) rename props/Shipping Container/Textures/{Blue/Normal.png => mat_container_normal.png} (100%) rename props/Shipping Container/Textures/{Blue/Roughness.png => mat_container_roughness.png} (100%) diff --git a/props/Shipping Container/Textures/Blue/Height.png b/props/Shipping Container/Textures/Blue/Height.png deleted file mode 100644 index bbc368c..0000000 --- a/props/Shipping Container/Textures/Blue/Height.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:a4757625b6e7a1da849c5a7416739a1f4531c20caeadb3fcb2911cfcee864294 -size 3178 diff --git a/props/Shipping Container/Textures/Green/AO.png b/props/Shipping Container/Textures/Green/AO.png deleted file mode 100644 index 089db4b..0000000 --- a/props/Shipping Container/Textures/Green/AO.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:10d680b9ee6e8170d13da960537d99913b7fa439ee0edac00c1783196c9e7e4d -size 269565 diff --git a/props/Shipping Container/Textures/Green/Height.png b/props/Shipping Container/Textures/Green/Height.png deleted file mode 100644 index bbc368c..0000000 --- a/props/Shipping Container/Textures/Green/Height.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:a4757625b6e7a1da849c5a7416739a1f4531c20caeadb3fcb2911cfcee864294 -size 3178 diff --git a/props/Shipping Container/Textures/Green/Metallic.png b/props/Shipping Container/Textures/Green/Metallic.png deleted file mode 100644 index 9955fbb..0000000 --- a/props/Shipping Container/Textures/Green/Metallic.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:b726a2f0b80f522fff6250d2bf4ed4f003d5ece78b16259c1b7fd9bea03ffe75 -size 130816 diff --git a/props/Shipping Container/Textures/Green/Normal.png b/props/Shipping Container/Textures/Green/Normal.png deleted file mode 100644 index 679e49a..0000000 --- a/props/Shipping Container/Textures/Green/Normal.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:0f6d6aed7905ec4326b61b9245d763a12610194429b86cf0e3c73134b79dae20 -size 187881 diff --git a/props/Shipping Container/Textures/Green/Roughness.png b/props/Shipping Container/Textures/Green/Roughness.png deleted file mode 100644 index c46b617..0000000 --- a/props/Shipping Container/Textures/Green/Roughness.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ae6fe37624f1093f9527e66cf52aac4ff941dbfa7a0aa271391a4c404dfbf748 -size 314191 diff --git a/props/Shipping Container/Textures/Red/AO.png b/props/Shipping Container/Textures/Red/AO.png deleted file mode 100644 index 089db4b..0000000 --- a/props/Shipping Container/Textures/Red/AO.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:10d680b9ee6e8170d13da960537d99913b7fa439ee0edac00c1783196c9e7e4d -size 269565 diff --git a/props/Shipping Container/Textures/Red/Height.png b/props/Shipping Container/Textures/Red/Height.png deleted file mode 100644 index bbc368c..0000000 --- a/props/Shipping Container/Textures/Red/Height.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:a4757625b6e7a1da849c5a7416739a1f4531c20caeadb3fcb2911cfcee864294 -size 3178 diff --git a/props/Shipping Container/Textures/Red/Metallic.png b/props/Shipping Container/Textures/Red/Metallic.png deleted file mode 100644 index 9955fbb..0000000 --- a/props/Shipping Container/Textures/Red/Metallic.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:b726a2f0b80f522fff6250d2bf4ed4f003d5ece78b16259c1b7fd9bea03ffe75 -size 130816 diff --git a/props/Shipping Container/Textures/Red/Normal.png b/props/Shipping Container/Textures/Red/Normal.png deleted file mode 100644 index 679e49a..0000000 --- a/props/Shipping Container/Textures/Red/Normal.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:0f6d6aed7905ec4326b61b9245d763a12610194429b86cf0e3c73134b79dae20 -size 187881 diff --git a/props/Shipping Container/Textures/Red/Roughness.png b/props/Shipping Container/Textures/Red/Roughness.png deleted file mode 100644 index c46b617..0000000 --- a/props/Shipping Container/Textures/Red/Roughness.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ae6fe37624f1093f9527e66cf52aac4ff941dbfa7a0aa271391a4c404dfbf748 -size 314191 diff --git a/props/Shipping Container/Textures/Blue/BaseColor.png b/props/Shipping Container/Textures/mat_containerBlue_basecolor.png similarity index 100% rename from props/Shipping Container/Textures/Blue/BaseColor.png rename to props/Shipping Container/Textures/mat_containerBlue_basecolor.png diff --git a/props/Shipping Container/Textures/Green/BaseColor.png b/props/Shipping Container/Textures/mat_containerGreen_basecolor.png similarity index 100% rename from props/Shipping Container/Textures/Green/BaseColor.png rename to props/Shipping Container/Textures/mat_containerGreen_basecolor.png diff --git a/props/Shipping Container/Textures/Red/BaseColor.png b/props/Shipping Container/Textures/mat_containerRed_basecolor.png similarity index 100% rename from props/Shipping Container/Textures/Red/BaseColor.png rename to props/Shipping Container/Textures/mat_containerRed_basecolor.png diff --git a/props/Shipping Container/Textures/Blue/AO.png b/props/Shipping Container/Textures/mat_container_ao.png similarity index 100% rename from props/Shipping Container/Textures/Blue/AO.png rename to props/Shipping Container/Textures/mat_container_ao.png diff --git a/props/Shipping Container/Textures/Blue/Metallic.png b/props/Shipping Container/Textures/mat_container_metallic.png similarity index 100% rename from props/Shipping Container/Textures/Blue/Metallic.png rename to props/Shipping Container/Textures/mat_container_metallic.png diff --git a/props/Shipping Container/Textures/Blue/Normal.png b/props/Shipping Container/Textures/mat_container_normal.png similarity index 100% rename from props/Shipping Container/Textures/Blue/Normal.png rename to props/Shipping Container/Textures/mat_container_normal.png diff --git a/props/Shipping Container/Textures/Blue/Roughness.png b/props/Shipping Container/Textures/mat_container_roughness.png similarity index 100% rename from props/Shipping Container/Textures/Blue/Roughness.png rename to props/Shipping Container/Textures/mat_container_roughness.png From c2e52076a20d496909ae241a829aa67e4acced0b Mon Sep 17 00:00:00 2001 From: alan Date: Tue, 13 Feb 2024 18:20:03 -0500 Subject: [PATCH 09/20] Rename directories to accomodate IronPress --- pipeline/pipeline_shipping_crate.cmd | 3 ++ props/OldPc/cfg_ironpress.json | 23 +++++++++++++ .../ContainerLP.fbx | 0 props/ShippingContainer/cfg_ironpress.json | 32 +++++++++++++++++++ props/ShippingContainer/preview.blend | 3 ++ .../textures}/mat_containerBlue_basecolor.png | 0 .../mat_containerGreen_basecolor.png | 0 .../textures}/mat_containerRed_basecolor.png | 0 .../textures}/mat_container_ao.png | 0 .../textures}/mat_container_metallic.png | 0 .../textures}/mat_container_normal.png | 0 .../textures}/mat_container_roughness.png | 0 12 files changed, 61 insertions(+) create mode 100644 pipeline/pipeline_shipping_crate.cmd create mode 100644 props/OldPc/cfg_ironpress.json rename props/{Shipping Container => ShippingContainer}/ContainerLP.fbx (100%) create mode 100644 props/ShippingContainer/cfg_ironpress.json create mode 100644 props/ShippingContainer/preview.blend rename props/{Shipping Container/Textures => ShippingContainer/textures}/mat_containerBlue_basecolor.png (100%) rename props/{Shipping Container/Textures => ShippingContainer/textures}/mat_containerGreen_basecolor.png (100%) rename props/{Shipping Container/Textures => ShippingContainer/textures}/mat_containerRed_basecolor.png (100%) rename props/{Shipping Container/Textures => ShippingContainer/textures}/mat_container_ao.png (100%) rename props/{Shipping Container/Textures => ShippingContainer/textures}/mat_container_metallic.png (100%) rename props/{Shipping Container/Textures => ShippingContainer/textures}/mat_container_normal.png (100%) rename props/{Shipping Container/Textures => ShippingContainer/textures}/mat_container_roughness.png (100%) diff --git a/pipeline/pipeline_shipping_crate.cmd b/pipeline/pipeline_shipping_crate.cmd new file mode 100644 index 0000000..3cfa4bb --- /dev/null +++ b/pipeline/pipeline_shipping_crate.cmd @@ -0,0 +1,3 @@ +REM Insurrectionist textures +ironpress.exe ..\props\ShippingCrate\cfg_ironpress.json +pause > nul \ No newline at end of file diff --git a/props/OldPc/cfg_ironpress.json b/props/OldPc/cfg_ironpress.json new file mode 100644 index 0000000..2e66a25 --- /dev/null +++ b/props/OldPc/cfg_ironpress.json @@ -0,0 +1,23 @@ +{ + "out": "..\\..\\export\\turret\\textures", + "in": "textures", + "flip_normals": false, + "materials": { + "mat_turrethead": { + "res_out": 1024, + "channels": [ + "basecolor", + "arm", + "normal" + ] + }, + "mat_turretstand": { + "res_out": 1024, + "channels": [ + "basecolor", + "arm", + "normal" + ] + } + } +} diff --git a/props/Shipping Container/ContainerLP.fbx b/props/ShippingContainer/ContainerLP.fbx similarity index 100% rename from props/Shipping Container/ContainerLP.fbx rename to props/ShippingContainer/ContainerLP.fbx diff --git a/props/ShippingContainer/cfg_ironpress.json b/props/ShippingContainer/cfg_ironpress.json new file mode 100644 index 0000000..dccc755 --- /dev/null +++ b/props/ShippingContainer/cfg_ironpress.json @@ -0,0 +1,32 @@ +{ + "out": "..\\..\\export\\turret\\textures", + "in": "Textures", + "flip_normals": false, + "materials": { + "mat_container": { + "res_out": 1024, + "channels": [ + "arm", + "normal" + ] + }, + "mat_containerBlue": { + "res_out": 1024, + "channels": [ + "basecolor" + ] + }, + "mat_containerGreen": { + "res_out": 1024, + "channels": [ + "basecolor" + ] + }, + "mat_containerRed": { + "res_out": 1024, + "channels": [ + "basecolor" + ] + } + } +} diff --git a/props/ShippingContainer/preview.blend b/props/ShippingContainer/preview.blend new file mode 100644 index 0000000..fdea5f9 --- /dev/null +++ b/props/ShippingContainer/preview.blend @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2b2567f496ad2b706278a71ffcee03f26d220f11d0dbe6b982172956cdeffb39 +size 1064018 diff --git a/props/Shipping Container/Textures/mat_containerBlue_basecolor.png b/props/ShippingContainer/textures/mat_containerBlue_basecolor.png similarity index 100% rename from props/Shipping Container/Textures/mat_containerBlue_basecolor.png rename to props/ShippingContainer/textures/mat_containerBlue_basecolor.png diff --git a/props/Shipping Container/Textures/mat_containerGreen_basecolor.png b/props/ShippingContainer/textures/mat_containerGreen_basecolor.png similarity index 100% rename from props/Shipping Container/Textures/mat_containerGreen_basecolor.png rename to props/ShippingContainer/textures/mat_containerGreen_basecolor.png diff --git a/props/Shipping Container/Textures/mat_containerRed_basecolor.png b/props/ShippingContainer/textures/mat_containerRed_basecolor.png similarity index 100% rename from props/Shipping Container/Textures/mat_containerRed_basecolor.png rename to props/ShippingContainer/textures/mat_containerRed_basecolor.png diff --git a/props/Shipping Container/Textures/mat_container_ao.png b/props/ShippingContainer/textures/mat_container_ao.png similarity index 100% rename from props/Shipping Container/Textures/mat_container_ao.png rename to props/ShippingContainer/textures/mat_container_ao.png diff --git a/props/Shipping Container/Textures/mat_container_metallic.png b/props/ShippingContainer/textures/mat_container_metallic.png similarity index 100% rename from props/Shipping Container/Textures/mat_container_metallic.png rename to props/ShippingContainer/textures/mat_container_metallic.png diff --git a/props/Shipping Container/Textures/mat_container_normal.png b/props/ShippingContainer/textures/mat_container_normal.png similarity index 100% rename from props/Shipping Container/Textures/mat_container_normal.png rename to props/ShippingContainer/textures/mat_container_normal.png diff --git a/props/Shipping Container/Textures/mat_container_roughness.png b/props/ShippingContainer/textures/mat_container_roughness.png similarity index 100% rename from props/Shipping Container/Textures/mat_container_roughness.png rename to props/ShippingContainer/textures/mat_container_roughness.png From d93a57c3337a62c8c87883791cd920573ea27a44 Mon Sep 17 00:00:00 2001 From: alan Date: Tue, 13 Feb 2024 18:54:40 -0500 Subject: [PATCH 10/20] Update and expand conventions and guidelines --- README.md | 37 +++++++++++++++++++++++++++++++---- docs/assets.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 85 insertions(+), 4 deletions(-) create mode 100644 docs/assets.md diff --git a/README.md b/README.md index e5f5854..68f52f7 100644 --- a/README.md +++ b/README.md @@ -4,10 +4,18 @@ Asset/art files for Hook, Line and Axe ## Naming Conventions Naming conventions are important for project organization and tooling. -### Material Maps -[IronPress](https://github.com/arocull/IronPress) requires naming conventions for texture maps to be properly used. IronPress is important as it enforces proper bit-depth, performs channel-packing, and for allows bulk texture resizing. +For automation, **it is heavily preferred that all folders and file names are kept lowercase with no spaces**. -All materials and material maps should start with the prefix `mat_` and followed by the material name, such as `mat_stone`. Lowercase is required. +- **Characters** - Please store all character models, textures, rigs, etc in its relevant subfolder within the `characters` directory. +- **Props** - Please store all within the `props` folder, within its relevant subfolder. + - When uploading models, please use either FBX or OBJ formats. +- **Animation** - Character *animations* should instead be stored in the `animations` directory, within its relevant subfolder. + - Depending on who is animating, please start your filename with `anims-alan` (or `anims-tommy` or `anims-shelby`, etc) for batch-export automation purposes. Iterative saves are okay. + +### Material Maps +[IronPress](https://github.com/arocull/IronPress) requires naming conventions for texture maps to be properly used. IronPress enforces proper bit-depth, channel-packing, and enables batch-resizing of textures. + +All materials and material maps should start with the prefix `mat_` and followed by the material name, such as `mat_stone`. **Lowercase is required**. Texture maps should be followed with specific names. Examples are provided - `mat_example_basecolor` - Basecolor/diffuse/albedo of material. If the material is transparent, alpha is stored on this as well @@ -19,8 +27,29 @@ Texture maps should be followed with specific names. Examples are provided - `mat_example_opacity` - Opacity map, only use if necessary - `mat_example_mask` - Mask, only use if necessary -## Animations +Please store all textures under one folder in the relevant directory, named `textures` (in all lowercase). + +Additional notes: +- If multiple materials use the same textures maps, please only store one copy of said texture map. +- Export normal maps to 16-bit if possible for maximum quality +- IronPress can be avoided with a customized Substance export setup + +## Animation Guides Guides for animation: - [Setting Up a New Animation](docs/animation.md/#setting-up-a-new-animation) - [Finalizing an Animation](docs/animation.md/#finalizing-an-animation) - [Editing Existing Animations](docs/animation.md/#editing-existing-animations) + +## Asset Guidelines +Guidelines for asset making: +- [Topology](docs/assets.md#topologydetail-density) +- [Texturing](docs/assets.md#texturing) +- [Scale](docs/assets.md#scale) + +## Automation +If you need results from an automated process, see the `pipeline` directory. Each shell script should export the corresponding textures to a folder within the `export` directory. + +For animations, please include the `pipeline/export_anims.py` script in your Blender file. This allows one-click exporting of FBX animations (may be fully automated with a script later). + +## Questions +If there are any questions or feedback on these guidelines and conventions, please poke Alan with a sharp, pointy stick. diff --git a/docs/assets.md b/docs/assets.md new file mode 100644 index 0000000..e51f834 --- /dev/null +++ b/docs/assets.md @@ -0,0 +1,52 @@ +# Asset Guidelines and Considerations + +When making assets for games, there are many technical requirements and considerations that must be factored in to making said assets. + +## Topology/Detail Density +When working on a model, there are a few questions you must ask yourself: +- How close to my camera will the model get? +- What proportion of my screen will this model take up? +- How many of these will be present at any given time? +- When, where, and in what context will this model be shown? +- Does this model need to deform? Where? +- Does the model move in-game? How fast? +- How will the topology impact shading? +- How will the topology impact the sillohouette? + +Use these answers to your advantage: +- If a prop never gets close to the camera, it doesn't need much modeled detail! + - Contrarily, if a model takes up lots of screen space, it probably needs some extra detail to properly fill it out + - If the model is static and non-deforming, Unreal Engine may make some use of LOD to hide the unnecessary stuff for you. This is not guarunteed. +- Enemies need a low polycount since many are on screen at once + - Contrarily, we only have one Insurrectionist, and he is close to the camera, so it is okay if he's a bit more detailed +- If there is topology that does NOT impact the sillohouette, it is not necessary in the low-poly +- There is no need to keep and texture topology that will never be seen. Delete it! + +## Texturing +The same questions as above also goes in for texturing. +- If a model takes up a lot of screen space, it's likely going to need a higher texture resolution to accomodate, or it'll look low-quality. +- If a prop is exceptionally small (like the size of a character's fist), you could likely use a 512px map and be fine. + +If you are uncertain what resolution you should use, go straight for 4K or 2K, and we can painlessly resize the textures with IronPress +(assuming that you followed the proper [Naming Conventions](../README.md#material-maps)). + +Ideally, even if a prop is broken into separate "parts," **keeping all related-parts on the same material map**: +- Reduces file-system overhead +- Reduces how many textures we have to import and manage +- Optimizes rendering + +## Scale +As we are working with asset packs grounded in realism, keeping scale consistent is important to the player's immersion and believability of the scene. +In some cases, however, we may be required to push this in one direction or another for gameplay purposes specifically. + +Here are cases where we would want to exaggerate scale for gameplay purposes: +- **Doorways** - Do not want the player's camera to bump against it as they move through +- **Walkable platforms** - Players may accidentally stumble off of thin platforms +- **Objectives (buttons and such)** - Player should be able to easily spot things of interest + + +Regardless of if scale needs to be exaggerated or not, doing research on what conventional sizes for objects may be helpful. +Context is key in these cases as well. + +For example, some pine trees may have an average height of 10 meters, whereas most oak varieties may have an average height of 20 meters. +What does this mean for the size of our models when we're in a taiga versus a savanna? From 901eaa6abac9d35fb02280c20a99ca3c4b27fd0c Mon Sep 17 00:00:00 2001 From: Will Date: Wed, 14 Feb 2024 16:41:19 -0500 Subject: [PATCH 11/20] updated container --- README.md | 37 +++++++++++-- docs/assets.md | 52 +++++++++++++++++++ pipeline/pipeline_shipping_crate.cmd | 3 ++ props/OldPc/cfg_ironpress.json | 23 ++++++++ props/Shipping Container/ContainerLP.fbx | 3 -- props/ShippingContainer/ContainerLP.fbx | 3 ++ props/ShippingContainer/cfg_ironpress.json | 32 ++++++++++++ props/ShippingContainer/preview.blend | 3 ++ .../mat_ShippingContainerBlue_basecolor.png | 3 ++ .../mat_ShippingContainerGreen_basecolor.png | 3 ++ .../mat_ShippingContainerRed_basecolor.png | 3 ++ .../textures/mat_ShippingContainer_arm.png | 3 ++ .../textures/mat_ShippingContainer_normal.png | 3 ++ .../textures}/mat_containerBlue_basecolor.png | 0 .../mat_containerGreen_basecolor.png | 0 .../textures}/mat_containerRed_basecolor.png | 0 .../textures}/mat_container_ao.png | 0 .../textures}/mat_container_metallic.png | 0 .../textures}/mat_container_normal.png | 0 .../textures}/mat_container_roughness.png | 0 20 files changed, 164 insertions(+), 7 deletions(-) create mode 100644 docs/assets.md create mode 100644 pipeline/pipeline_shipping_crate.cmd create mode 100644 props/OldPc/cfg_ironpress.json delete mode 100644 props/Shipping Container/ContainerLP.fbx create mode 100644 props/ShippingContainer/ContainerLP.fbx create mode 100644 props/ShippingContainer/cfg_ironpress.json create mode 100644 props/ShippingContainer/preview.blend create mode 100644 props/ShippingContainer/textures/mat_ShippingContainerBlue_basecolor.png create mode 100644 props/ShippingContainer/textures/mat_ShippingContainerGreen_basecolor.png create mode 100644 props/ShippingContainer/textures/mat_ShippingContainerRed_basecolor.png create mode 100644 props/ShippingContainer/textures/mat_ShippingContainer_arm.png create mode 100644 props/ShippingContainer/textures/mat_ShippingContainer_normal.png rename props/{Shipping Container/Textures => ShippingContainer/textures}/mat_containerBlue_basecolor.png (100%) rename props/{Shipping Container/Textures => ShippingContainer/textures}/mat_containerGreen_basecolor.png (100%) rename props/{Shipping Container/Textures => ShippingContainer/textures}/mat_containerRed_basecolor.png (100%) rename props/{Shipping Container/Textures => ShippingContainer/textures}/mat_container_ao.png (100%) rename props/{Shipping Container/Textures => ShippingContainer/textures}/mat_container_metallic.png (100%) rename props/{Shipping Container/Textures => ShippingContainer/textures}/mat_container_normal.png (100%) rename props/{Shipping Container/Textures => ShippingContainer/textures}/mat_container_roughness.png (100%) diff --git a/README.md b/README.md index e5f5854..68f52f7 100644 --- a/README.md +++ b/README.md @@ -4,10 +4,18 @@ Asset/art files for Hook, Line and Axe ## Naming Conventions Naming conventions are important for project organization and tooling. -### Material Maps -[IronPress](https://github.com/arocull/IronPress) requires naming conventions for texture maps to be properly used. IronPress is important as it enforces proper bit-depth, performs channel-packing, and for allows bulk texture resizing. +For automation, **it is heavily preferred that all folders and file names are kept lowercase with no spaces**. -All materials and material maps should start with the prefix `mat_` and followed by the material name, such as `mat_stone`. Lowercase is required. +- **Characters** - Please store all character models, textures, rigs, etc in its relevant subfolder within the `characters` directory. +- **Props** - Please store all within the `props` folder, within its relevant subfolder. + - When uploading models, please use either FBX or OBJ formats. +- **Animation** - Character *animations* should instead be stored in the `animations` directory, within its relevant subfolder. + - Depending on who is animating, please start your filename with `anims-alan` (or `anims-tommy` or `anims-shelby`, etc) for batch-export automation purposes. Iterative saves are okay. + +### Material Maps +[IronPress](https://github.com/arocull/IronPress) requires naming conventions for texture maps to be properly used. IronPress enforces proper bit-depth, channel-packing, and enables batch-resizing of textures. + +All materials and material maps should start with the prefix `mat_` and followed by the material name, such as `mat_stone`. **Lowercase is required**. Texture maps should be followed with specific names. Examples are provided - `mat_example_basecolor` - Basecolor/diffuse/albedo of material. If the material is transparent, alpha is stored on this as well @@ -19,8 +27,29 @@ Texture maps should be followed with specific names. Examples are provided - `mat_example_opacity` - Opacity map, only use if necessary - `mat_example_mask` - Mask, only use if necessary -## Animations +Please store all textures under one folder in the relevant directory, named `textures` (in all lowercase). + +Additional notes: +- If multiple materials use the same textures maps, please only store one copy of said texture map. +- Export normal maps to 16-bit if possible for maximum quality +- IronPress can be avoided with a customized Substance export setup + +## Animation Guides Guides for animation: - [Setting Up a New Animation](docs/animation.md/#setting-up-a-new-animation) - [Finalizing an Animation](docs/animation.md/#finalizing-an-animation) - [Editing Existing Animations](docs/animation.md/#editing-existing-animations) + +## Asset Guidelines +Guidelines for asset making: +- [Topology](docs/assets.md#topologydetail-density) +- [Texturing](docs/assets.md#texturing) +- [Scale](docs/assets.md#scale) + +## Automation +If you need results from an automated process, see the `pipeline` directory. Each shell script should export the corresponding textures to a folder within the `export` directory. + +For animations, please include the `pipeline/export_anims.py` script in your Blender file. This allows one-click exporting of FBX animations (may be fully automated with a script later). + +## Questions +If there are any questions or feedback on these guidelines and conventions, please poke Alan with a sharp, pointy stick. diff --git a/docs/assets.md b/docs/assets.md new file mode 100644 index 0000000..e51f834 --- /dev/null +++ b/docs/assets.md @@ -0,0 +1,52 @@ +# Asset Guidelines and Considerations + +When making assets for games, there are many technical requirements and considerations that must be factored in to making said assets. + +## Topology/Detail Density +When working on a model, there are a few questions you must ask yourself: +- How close to my camera will the model get? +- What proportion of my screen will this model take up? +- How many of these will be present at any given time? +- When, where, and in what context will this model be shown? +- Does this model need to deform? Where? +- Does the model move in-game? How fast? +- How will the topology impact shading? +- How will the topology impact the sillohouette? + +Use these answers to your advantage: +- If a prop never gets close to the camera, it doesn't need much modeled detail! + - Contrarily, if a model takes up lots of screen space, it probably needs some extra detail to properly fill it out + - If the model is static and non-deforming, Unreal Engine may make some use of LOD to hide the unnecessary stuff for you. This is not guarunteed. +- Enemies need a low polycount since many are on screen at once + - Contrarily, we only have one Insurrectionist, and he is close to the camera, so it is okay if he's a bit more detailed +- If there is topology that does NOT impact the sillohouette, it is not necessary in the low-poly +- There is no need to keep and texture topology that will never be seen. Delete it! + +## Texturing +The same questions as above also goes in for texturing. +- If a model takes up a lot of screen space, it's likely going to need a higher texture resolution to accomodate, or it'll look low-quality. +- If a prop is exceptionally small (like the size of a character's fist), you could likely use a 512px map and be fine. + +If you are uncertain what resolution you should use, go straight for 4K or 2K, and we can painlessly resize the textures with IronPress +(assuming that you followed the proper [Naming Conventions](../README.md#material-maps)). + +Ideally, even if a prop is broken into separate "parts," **keeping all related-parts on the same material map**: +- Reduces file-system overhead +- Reduces how many textures we have to import and manage +- Optimizes rendering + +## Scale +As we are working with asset packs grounded in realism, keeping scale consistent is important to the player's immersion and believability of the scene. +In some cases, however, we may be required to push this in one direction or another for gameplay purposes specifically. + +Here are cases where we would want to exaggerate scale for gameplay purposes: +- **Doorways** - Do not want the player's camera to bump against it as they move through +- **Walkable platforms** - Players may accidentally stumble off of thin platforms +- **Objectives (buttons and such)** - Player should be able to easily spot things of interest + + +Regardless of if scale needs to be exaggerated or not, doing research on what conventional sizes for objects may be helpful. +Context is key in these cases as well. + +For example, some pine trees may have an average height of 10 meters, whereas most oak varieties may have an average height of 20 meters. +What does this mean for the size of our models when we're in a taiga versus a savanna? diff --git a/pipeline/pipeline_shipping_crate.cmd b/pipeline/pipeline_shipping_crate.cmd new file mode 100644 index 0000000..3cfa4bb --- /dev/null +++ b/pipeline/pipeline_shipping_crate.cmd @@ -0,0 +1,3 @@ +REM Insurrectionist textures +ironpress.exe ..\props\ShippingCrate\cfg_ironpress.json +pause > nul \ No newline at end of file diff --git a/props/OldPc/cfg_ironpress.json b/props/OldPc/cfg_ironpress.json new file mode 100644 index 0000000..2e66a25 --- /dev/null +++ b/props/OldPc/cfg_ironpress.json @@ -0,0 +1,23 @@ +{ + "out": "..\\..\\export\\turret\\textures", + "in": "textures", + "flip_normals": false, + "materials": { + "mat_turrethead": { + "res_out": 1024, + "channels": [ + "basecolor", + "arm", + "normal" + ] + }, + "mat_turretstand": { + "res_out": 1024, + "channels": [ + "basecolor", + "arm", + "normal" + ] + } + } +} diff --git a/props/Shipping Container/ContainerLP.fbx b/props/Shipping Container/ContainerLP.fbx deleted file mode 100644 index 054e4d3..0000000 --- a/props/Shipping Container/ContainerLP.fbx +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:7ee45635f7f0703de49b02a7e0ca7abd31f927c16ba5dfecc889ec4935008154 -size 55232 diff --git a/props/ShippingContainer/ContainerLP.fbx b/props/ShippingContainer/ContainerLP.fbx new file mode 100644 index 0000000..cf2cc6a --- /dev/null +++ b/props/ShippingContainer/ContainerLP.fbx @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:37c95db39f33fa65623ef48f3a47d221d6ef180f20f0c90c746482651a431588 +size 47552 diff --git a/props/ShippingContainer/cfg_ironpress.json b/props/ShippingContainer/cfg_ironpress.json new file mode 100644 index 0000000..dccc755 --- /dev/null +++ b/props/ShippingContainer/cfg_ironpress.json @@ -0,0 +1,32 @@ +{ + "out": "..\\..\\export\\turret\\textures", + "in": "Textures", + "flip_normals": false, + "materials": { + "mat_container": { + "res_out": 1024, + "channels": [ + "arm", + "normal" + ] + }, + "mat_containerBlue": { + "res_out": 1024, + "channels": [ + "basecolor" + ] + }, + "mat_containerGreen": { + "res_out": 1024, + "channels": [ + "basecolor" + ] + }, + "mat_containerRed": { + "res_out": 1024, + "channels": [ + "basecolor" + ] + } + } +} diff --git a/props/ShippingContainer/preview.blend b/props/ShippingContainer/preview.blend new file mode 100644 index 0000000..fdea5f9 --- /dev/null +++ b/props/ShippingContainer/preview.blend @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2b2567f496ad2b706278a71ffcee03f26d220f11d0dbe6b982172956cdeffb39 +size 1064018 diff --git a/props/ShippingContainer/textures/mat_ShippingContainerBlue_basecolor.png b/props/ShippingContainer/textures/mat_ShippingContainerBlue_basecolor.png new file mode 100644 index 0000000..8d16484 --- /dev/null +++ b/props/ShippingContainer/textures/mat_ShippingContainerBlue_basecolor.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:635c385fd024d35aa9e76cbf2289718e60db6d1a8d2347a9e09921c405d5bb41 +size 2510350 diff --git a/props/ShippingContainer/textures/mat_ShippingContainerGreen_basecolor.png b/props/ShippingContainer/textures/mat_ShippingContainerGreen_basecolor.png new file mode 100644 index 0000000..956d8c8 --- /dev/null +++ b/props/ShippingContainer/textures/mat_ShippingContainerGreen_basecolor.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8333dc1f65b361811316409addd54933930ee9cab117fb38a6de6f342eb7202e +size 2388711 diff --git a/props/ShippingContainer/textures/mat_ShippingContainerRed_basecolor.png b/props/ShippingContainer/textures/mat_ShippingContainerRed_basecolor.png new file mode 100644 index 0000000..15977e4 --- /dev/null +++ b/props/ShippingContainer/textures/mat_ShippingContainerRed_basecolor.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:40f62e024e65a83ad58420afbea65219d781906b3a9c5fdaafc769d1eaa02000 +size 2144339 diff --git a/props/ShippingContainer/textures/mat_ShippingContainer_arm.png b/props/ShippingContainer/textures/mat_ShippingContainer_arm.png new file mode 100644 index 0000000..64e59c4 --- /dev/null +++ b/props/ShippingContainer/textures/mat_ShippingContainer_arm.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3d5c6c00de702671e7d4b95e83acd9999e2af566221772c4702b1f7d60a862d8 +size 2153293 diff --git a/props/ShippingContainer/textures/mat_ShippingContainer_normal.png b/props/ShippingContainer/textures/mat_ShippingContainer_normal.png new file mode 100644 index 0000000..23cddea --- /dev/null +++ b/props/ShippingContainer/textures/mat_ShippingContainer_normal.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:93157b3ad4b85c431c69b835bb788e18c22884081e1621b3f4755448836e19de +size 334210 diff --git a/props/Shipping Container/Textures/mat_containerBlue_basecolor.png b/props/ShippingContainer/textures/mat_containerBlue_basecolor.png similarity index 100% rename from props/Shipping Container/Textures/mat_containerBlue_basecolor.png rename to props/ShippingContainer/textures/mat_containerBlue_basecolor.png diff --git a/props/Shipping Container/Textures/mat_containerGreen_basecolor.png b/props/ShippingContainer/textures/mat_containerGreen_basecolor.png similarity index 100% rename from props/Shipping Container/Textures/mat_containerGreen_basecolor.png rename to props/ShippingContainer/textures/mat_containerGreen_basecolor.png diff --git a/props/Shipping Container/Textures/mat_containerRed_basecolor.png b/props/ShippingContainer/textures/mat_containerRed_basecolor.png similarity index 100% rename from props/Shipping Container/Textures/mat_containerRed_basecolor.png rename to props/ShippingContainer/textures/mat_containerRed_basecolor.png diff --git a/props/Shipping Container/Textures/mat_container_ao.png b/props/ShippingContainer/textures/mat_container_ao.png similarity index 100% rename from props/Shipping Container/Textures/mat_container_ao.png rename to props/ShippingContainer/textures/mat_container_ao.png diff --git a/props/Shipping Container/Textures/mat_container_metallic.png b/props/ShippingContainer/textures/mat_container_metallic.png similarity index 100% rename from props/Shipping Container/Textures/mat_container_metallic.png rename to props/ShippingContainer/textures/mat_container_metallic.png diff --git a/props/Shipping Container/Textures/mat_container_normal.png b/props/ShippingContainer/textures/mat_container_normal.png similarity index 100% rename from props/Shipping Container/Textures/mat_container_normal.png rename to props/ShippingContainer/textures/mat_container_normal.png diff --git a/props/Shipping Container/Textures/mat_container_roughness.png b/props/ShippingContainer/textures/mat_container_roughness.png similarity index 100% rename from props/Shipping Container/Textures/mat_container_roughness.png rename to props/ShippingContainer/textures/mat_container_roughness.png From 23bef5e99a22ec853fdca88364b9602ffe66f947 Mon Sep 17 00:00:00 2001 From: Will Date: Wed, 14 Feb 2024 16:43:56 -0500 Subject: [PATCH 12/20] updated container --- props/ShippingContainer/ContainerLP.fbx | 4 ++-- .../textures/mat_containerBlue_basecolor.png | 3 --- .../textures/mat_containerGreen_basecolor.png | 3 --- .../ShippingContainer/textures/mat_containerRed_basecolor.png | 3 --- props/ShippingContainer/textures/mat_container_ao.png | 3 --- props/ShippingContainer/textures/mat_container_metallic.png | 3 --- props/ShippingContainer/textures/mat_container_normal.png | 3 --- props/ShippingContainer/textures/mat_container_roughness.png | 3 --- 8 files changed, 2 insertions(+), 23 deletions(-) delete mode 100644 props/ShippingContainer/textures/mat_containerBlue_basecolor.png delete mode 100644 props/ShippingContainer/textures/mat_containerGreen_basecolor.png delete mode 100644 props/ShippingContainer/textures/mat_containerRed_basecolor.png delete mode 100644 props/ShippingContainer/textures/mat_container_ao.png delete mode 100644 props/ShippingContainer/textures/mat_container_metallic.png delete mode 100644 props/ShippingContainer/textures/mat_container_normal.png delete mode 100644 props/ShippingContainer/textures/mat_container_roughness.png diff --git a/props/ShippingContainer/ContainerLP.fbx b/props/ShippingContainer/ContainerLP.fbx index 3c12b8b..cf2cc6a 100644 --- a/props/ShippingContainer/ContainerLP.fbx +++ b/props/ShippingContainer/ContainerLP.fbx @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0b8177826154afc21d032c89d7044af068f15ba1688cf440f797a26f4470b983 -size 287 +oid sha256:37c95db39f33fa65623ef48f3a47d221d6ef180f20f0c90c746482651a431588 +size 47552 diff --git a/props/ShippingContainer/textures/mat_containerBlue_basecolor.png b/props/ShippingContainer/textures/mat_containerBlue_basecolor.png deleted file mode 100644 index aedbc49..0000000 --- a/props/ShippingContainer/textures/mat_containerBlue_basecolor.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ba6f856171e0456f1f4f8484216b5f3227254b3af4691b31e3d3cc33798f619b -size 815000 diff --git a/props/ShippingContainer/textures/mat_containerGreen_basecolor.png b/props/ShippingContainer/textures/mat_containerGreen_basecolor.png deleted file mode 100644 index 166892e..0000000 --- a/props/ShippingContainer/textures/mat_containerGreen_basecolor.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:bd06c6c0c5b025fa364032173d50595e179b876cdfd4604a9a1c5bc6baba8156 -size 672389 diff --git a/props/ShippingContainer/textures/mat_containerRed_basecolor.png b/props/ShippingContainer/textures/mat_containerRed_basecolor.png deleted file mode 100644 index 03a1e44..0000000 --- a/props/ShippingContainer/textures/mat_containerRed_basecolor.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:49698ca4d3e9af1070f2f2645b12b4338a39a9b82fb4cb378c4a3105d8866f70 -size 801396 diff --git a/props/ShippingContainer/textures/mat_container_ao.png b/props/ShippingContainer/textures/mat_container_ao.png deleted file mode 100644 index 089db4b..0000000 --- a/props/ShippingContainer/textures/mat_container_ao.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:10d680b9ee6e8170d13da960537d99913b7fa439ee0edac00c1783196c9e7e4d -size 269565 diff --git a/props/ShippingContainer/textures/mat_container_metallic.png b/props/ShippingContainer/textures/mat_container_metallic.png deleted file mode 100644 index 9955fbb..0000000 --- a/props/ShippingContainer/textures/mat_container_metallic.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:b726a2f0b80f522fff6250d2bf4ed4f003d5ece78b16259c1b7fd9bea03ffe75 -size 130816 diff --git a/props/ShippingContainer/textures/mat_container_normal.png b/props/ShippingContainer/textures/mat_container_normal.png deleted file mode 100644 index 679e49a..0000000 --- a/props/ShippingContainer/textures/mat_container_normal.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:0f6d6aed7905ec4326b61b9245d763a12610194429b86cf0e3c73134b79dae20 -size 187881 diff --git a/props/ShippingContainer/textures/mat_container_roughness.png b/props/ShippingContainer/textures/mat_container_roughness.png deleted file mode 100644 index c46b617..0000000 --- a/props/ShippingContainer/textures/mat_container_roughness.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ae6fe37624f1093f9527e66cf52aac4ff941dbfa7a0aa271391a4c404dfbf748 -size 314191 From b5df1b1cdebeb901f2362d8cb0b9f331f49446ea Mon Sep 17 00:00:00 2001 From: alan Date: Wed, 14 Feb 2024 22:40:13 -0500 Subject: [PATCH 13/20] Update infantry sculpt, shipping container preview --- characters/infantry/p7-sculpt.blend | 4 ++-- props/ShippingContainer/preview.blend | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/characters/infantry/p7-sculpt.blend b/characters/infantry/p7-sculpt.blend index f3d9e85..45631f8 100644 --- a/characters/infantry/p7-sculpt.blend +++ b/characters/infantry/p7-sculpt.blend @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9c8cef797fc68aa2c9529fc7b23d78afd94456de2e17b9b6f0bb8566285e800f -size 69944143 +oid sha256:0e66b5cb87c169a2273c5a6dd85e4c1551ecad50e2f42ec1eb6b37a1fd176c16 +size 70681627 diff --git a/props/ShippingContainer/preview.blend b/props/ShippingContainer/preview.blend index fdea5f9..ddc428b 100644 --- a/props/ShippingContainer/preview.blend +++ b/props/ShippingContainer/preview.blend @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:2b2567f496ad2b706278a71ffcee03f26d220f11d0dbe6b982172956cdeffb39 -size 1064018 +oid sha256:4a852f3693d407d1141b76761ea2c166eaa87bb1269acb4247cc7c051b5bff60 +size 1032827 From 496e0e4b407e5545e5693787d093cb1cb6d9cc95 Mon Sep 17 00:00:00 2001 From: alan Date: Thu, 15 Feb 2024 14:03:23 -0500 Subject: [PATCH 14/20] More work on sculpt --- characters/infantry/p7-sculpt.blend | 4 ++-- props/ShippingContainer/cfg_ironpress.json | 16 ++++++++-------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/characters/infantry/p7-sculpt.blend b/characters/infantry/p7-sculpt.blend index 45631f8..b742c7f 100644 --- a/characters/infantry/p7-sculpt.blend +++ b/characters/infantry/p7-sculpt.blend @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0e66b5cb87c169a2273c5a6dd85e4c1551ecad50e2f42ec1eb6b37a1fd176c16 -size 70681627 +oid sha256:a972da0fdd5b2fd80ce58038eeea917a2b949e25bccfa5d1d7ecada31d8af48e +size 70688499 diff --git a/props/ShippingContainer/cfg_ironpress.json b/props/ShippingContainer/cfg_ironpress.json index dccc755..3d13f64 100644 --- a/props/ShippingContainer/cfg_ironpress.json +++ b/props/ShippingContainer/cfg_ironpress.json @@ -3,27 +3,27 @@ "in": "Textures", "flip_normals": false, "materials": { - "mat_container": { - "res_out": 1024, + "mat_ShippingContainer": { + "res_out": 2048, "channels": [ "arm", "normal" ] }, - "mat_containerBlue": { - "res_out": 1024, + "mat_ShippingContainerBlue": { + "res_out": 2048, "channels": [ "basecolor" ] }, - "mat_containerGreen": { - "res_out": 1024, + "mat_ShippingContainerGreen": { + "res_out": 2048, "channels": [ "basecolor" ] }, - "mat_containerRed": { - "res_out": 1024, + "mat_ShippingContainerRed": { + "res_out": 2048, "channels": [ "basecolor" ] From e24beb7168a21041e44acadb5f61f7a8db429aa2 Mon Sep 17 00:00:00 2001 From: Will Date: Thu, 15 Feb 2024 17:21:22 -0500 Subject: [PATCH 15/20] PC stuff --- props/OldPc/Monitor.fbx | 3 +++ props/OldPc/OldPC.fbx | 4 ++-- props/OldPc/Textures/mat_Monitor_arm.png | 3 +++ .../OldPc/Textures/mat_Monitor_basecolor.png | 3 +++ props/OldPc/Textures/mat_Monitor_normal.png | 3 +++ props/OldPc/Textures/mat_OldPC_arm.png | 3 +++ props/OldPc/Textures/mat_OldPC_basecolor.png | 3 +++ props/OldPc/Textures/mat_OldPC_normal.png | 3 +++ props/OldPc/cfg_ironpress.json | 23 ------------------- 9 files changed, 23 insertions(+), 25 deletions(-) create mode 100644 props/OldPc/Monitor.fbx create mode 100644 props/OldPc/Textures/mat_Monitor_arm.png create mode 100644 props/OldPc/Textures/mat_Monitor_basecolor.png create mode 100644 props/OldPc/Textures/mat_Monitor_normal.png create mode 100644 props/OldPc/Textures/mat_OldPC_arm.png create mode 100644 props/OldPc/Textures/mat_OldPC_basecolor.png create mode 100644 props/OldPc/Textures/mat_OldPC_normal.png delete mode 100644 props/OldPc/cfg_ironpress.json diff --git a/props/OldPc/Monitor.fbx b/props/OldPc/Monitor.fbx new file mode 100644 index 0000000..b260561 --- /dev/null +++ b/props/OldPc/Monitor.fbx @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e2fdc060128b9fadf68504bf6b59a99d30e7b9b25389d1d3be485e078848f959 +size 61184 diff --git a/props/OldPc/OldPC.fbx b/props/OldPc/OldPC.fbx index 7a53fae..424d0b8 100644 --- a/props/OldPc/OldPC.fbx +++ b/props/OldPc/OldPC.fbx @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6271e583707da3ed6060a99bdf134178519fdaa28100cb32f7c34a296799397a -size 78416 +oid sha256:37944cb05cb2ac590d9c5213518b891c803e3917810175f90b6508935fe6d9b0 +size 35312 diff --git a/props/OldPc/Textures/mat_Monitor_arm.png b/props/OldPc/Textures/mat_Monitor_arm.png new file mode 100644 index 0000000..9483d7b --- /dev/null +++ b/props/OldPc/Textures/mat_Monitor_arm.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6dd5c643e90fe1e9c66d5c3e9a4e4a2312a4175cc83dc3fe5bb33e39e1e8916d +size 713804 diff --git a/props/OldPc/Textures/mat_Monitor_basecolor.png b/props/OldPc/Textures/mat_Monitor_basecolor.png new file mode 100644 index 0000000..a336854 --- /dev/null +++ b/props/OldPc/Textures/mat_Monitor_basecolor.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a8a81ecc35f2e511a423f532719447d15f34e5a09ffbb1d63ac34cc537df8d28 +size 263031 diff --git a/props/OldPc/Textures/mat_Monitor_normal.png b/props/OldPc/Textures/mat_Monitor_normal.png new file mode 100644 index 0000000..61e74dd --- /dev/null +++ b/props/OldPc/Textures/mat_Monitor_normal.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d0bd636c396dc80ce7c5c6abb08bf6fa16dc9627b3b525a6a6891591f0fb5c87 +size 847848 diff --git a/props/OldPc/Textures/mat_OldPC_arm.png b/props/OldPc/Textures/mat_OldPC_arm.png new file mode 100644 index 0000000..948db34 --- /dev/null +++ b/props/OldPc/Textures/mat_OldPC_arm.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e3b725734ca99762221252ac042847853418efd9023af6806cb7dfd9e4b1d828 +size 723158 diff --git a/props/OldPc/Textures/mat_OldPC_basecolor.png b/props/OldPc/Textures/mat_OldPC_basecolor.png new file mode 100644 index 0000000..becc421 --- /dev/null +++ b/props/OldPc/Textures/mat_OldPC_basecolor.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8be8eff3388ee9109bd0a29a7e8ac49aa56b6c88dfb3fb72ae4569df20be8a2d +size 124446 diff --git a/props/OldPc/Textures/mat_OldPC_normal.png b/props/OldPc/Textures/mat_OldPC_normal.png new file mode 100644 index 0000000..3ed50c2 --- /dev/null +++ b/props/OldPc/Textures/mat_OldPC_normal.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4ebe0fcb4d13c4a7d22d6469f077cd983fdafa6476bb9eeded34599b4b3f0a90 +size 7755 diff --git a/props/OldPc/cfg_ironpress.json b/props/OldPc/cfg_ironpress.json deleted file mode 100644 index 2e66a25..0000000 --- a/props/OldPc/cfg_ironpress.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "out": "..\\..\\export\\turret\\textures", - "in": "textures", - "flip_normals": false, - "materials": { - "mat_turrethead": { - "res_out": 1024, - "channels": [ - "basecolor", - "arm", - "normal" - ] - }, - "mat_turretstand": { - "res_out": 1024, - "channels": [ - "basecolor", - "arm", - "normal" - ] - } - } -} From 4569668e725f5f8f10f7e3dd22663e387ffb03d1 Mon Sep 17 00:00:00 2001 From: Will Date: Thu, 15 Feb 2024 18:54:47 -0500 Subject: [PATCH 16/20] camera --- props/SexurityCamera/cameralp.fbx | 3 +++ props/SexurityCamera/textures/mat_camera_arm.png | 3 +++ props/SexurityCamera/textures/mat_camera_basecolor.png | 3 +++ props/SexurityCamera/textures/mat_camera_normal.png | 3 +++ 4 files changed, 12 insertions(+) create mode 100644 props/SexurityCamera/cameralp.fbx create mode 100644 props/SexurityCamera/textures/mat_camera_arm.png create mode 100644 props/SexurityCamera/textures/mat_camera_basecolor.png create mode 100644 props/SexurityCamera/textures/mat_camera_normal.png diff --git a/props/SexurityCamera/cameralp.fbx b/props/SexurityCamera/cameralp.fbx new file mode 100644 index 0000000..2edc112 --- /dev/null +++ b/props/SexurityCamera/cameralp.fbx @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:39d0bb285ea44d02766944af26c8b9fd891a42d4bc406a1faa7ed55a911560cc +size 78352 diff --git a/props/SexurityCamera/textures/mat_camera_arm.png b/props/SexurityCamera/textures/mat_camera_arm.png new file mode 100644 index 0000000..7f1d3e1 --- /dev/null +++ b/props/SexurityCamera/textures/mat_camera_arm.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fe7be069f96168ecc051b8e94ff2a4442276649d35ecd49010869d4e804f1b07 +size 1081925 diff --git a/props/SexurityCamera/textures/mat_camera_basecolor.png b/props/SexurityCamera/textures/mat_camera_basecolor.png new file mode 100644 index 0000000..e43d9ba --- /dev/null +++ b/props/SexurityCamera/textures/mat_camera_basecolor.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c1b6204b7450538a63c6119da80aa31f4fc0a7a5e6ece1b811b5d3aceda682ef +size 167500 diff --git a/props/SexurityCamera/textures/mat_camera_normal.png b/props/SexurityCamera/textures/mat_camera_normal.png new file mode 100644 index 0000000..8567514 --- /dev/null +++ b/props/SexurityCamera/textures/mat_camera_normal.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:40e80878447009c24b4f4d1520cf2a70b8c3cc25471cd263b5870468d239a902 +size 719754 From dfec8ea0802538f899fca2dc84f573a1933ec07c Mon Sep 17 00:00:00 2001 From: Will Date: Thu, 15 Feb 2024 23:22:23 -0500 Subject: [PATCH 17/20] updated camera textures --- props/SexurityCamera/textures/mat_camera_arm.png | 4 ++-- props/SexurityCamera/textures/mat_camera_basecolor.png | 4 ++-- props/SexurityCamera/textures/mat_camera_normal.png | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/props/SexurityCamera/textures/mat_camera_arm.png b/props/SexurityCamera/textures/mat_camera_arm.png index 7f1d3e1..b2431e2 100644 --- a/props/SexurityCamera/textures/mat_camera_arm.png +++ b/props/SexurityCamera/textures/mat_camera_arm.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:fe7be069f96168ecc051b8e94ff2a4442276649d35ecd49010869d4e804f1b07 -size 1081925 +oid sha256:02e81f861ee3333894041efab1ebfdf6c4ac6b730cafe8f7f1087af0fe8ddf55 +size 560720 diff --git a/props/SexurityCamera/textures/mat_camera_basecolor.png b/props/SexurityCamera/textures/mat_camera_basecolor.png index e43d9ba..467a4ed 100644 --- a/props/SexurityCamera/textures/mat_camera_basecolor.png +++ b/props/SexurityCamera/textures/mat_camera_basecolor.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c1b6204b7450538a63c6119da80aa31f4fc0a7a5e6ece1b811b5d3aceda682ef -size 167500 +oid sha256:7ae3373dbf52dc6b93f18e227093c63b89f80d533cb2af27136d517819e72960 +size 17441 diff --git a/props/SexurityCamera/textures/mat_camera_normal.png b/props/SexurityCamera/textures/mat_camera_normal.png index 8567514..4212e19 100644 --- a/props/SexurityCamera/textures/mat_camera_normal.png +++ b/props/SexurityCamera/textures/mat_camera_normal.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:40e80878447009c24b4f4d1520cf2a70b8c3cc25471cd263b5870468d239a902 -size 719754 +oid sha256:695f47fb9bb99c11345d9ce363882e60806a17ee6c08c02630fb8288097ca645 +size 387550 From ce90bb4ddc3fd5b36e1f4bec385644eb0c330147 Mon Sep 17 00:00:00 2001 From: Alan O'Cull Date: Fri, 16 Feb 2024 00:27:29 -0500 Subject: [PATCH 18/20] WIP level design guidelines --- docs/assets.md | 2 +- docs/level_design.md | 77 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 78 insertions(+), 1 deletion(-) create mode 100644 docs/level_design.md diff --git a/docs/assets.md b/docs/assets.md index e51f834..4d0c8fc 100644 --- a/docs/assets.md +++ b/docs/assets.md @@ -30,7 +30,7 @@ The same questions as above also goes in for texturing. If you are uncertain what resolution you should use, go straight for 4K or 2K, and we can painlessly resize the textures with IronPress (assuming that you followed the proper [Naming Conventions](../README.md#material-maps)). -Ideally, even if a prop is broken into separate "parts," **keeping all related-parts on the same material map**: +Ideally, even if a prop is broken into separate "parts," **keeping all related-parts on one texture set**: - Reduces file-system overhead - Reduces how many textures we have to import and manage - Optimizes rendering diff --git a/docs/level_design.md b/docs/level_design.md new file mode 100644 index 0000000..263da56 --- /dev/null +++ b/docs/level_design.md @@ -0,0 +1,77 @@ +# Level Design Guidelines + +The name of the game is ***rapid iteration***. **Throw shit together**, see if it works, if it doesn't, **scrap it and start over**. + +In each level, we're looking for, at minimum: +- **15 minutes of gameplay** on average + - Newbies might take up to 30 minutes + - Experienced players can maybe complete this in 5 or 10 minutes minimum +- 3 set-piece combat encounters in separate arenas +- Space for player choice + - **Gameplay-wise** - how player decides to approach a problem + - Strategizing enemy encounters (cover, enemy spawns, enemy types, etc) + - Using resources (choosing one ability over the other, choosing between cover, etc) + - **Movement-wise** - how player decides to navigate an area (grappling, mantling, dashing, etc) + - Multiple possible paths and approaches + - Do not enforce any specific mechanic unless player needs to be taught it +- A reason for design choices + - Be able to explain why choices were made, and what they accomplish + - Choices should be functional in context of the setting + - for example, a warehouse would have pallates of crates, but at the same time the crates should accomplish a gameplay purpose such as cover. + +For designing levels, it is **heavily suggested** to make use of: +- **[Connor's Design Tools](https://docs.google.com/document/d/1qqGXGvcrOnxmK5h-GlrCC_Kd_aNqT2hy5wNHmMnwfJo/edit)** + - *Especially* the wall-builder tool for blockouts +- BSPs ('Geometry' tab on 'Place Actors' panel) +- Frequent playtesting and iteration + - Recommended to have **other people** play as often as possible. It should be noted that play testers are very good at finding issues or things they dont like in games, but they typcally arent very good at solving those issues. So pay close attention to the way they play and the criticisms they have but take any potential solutions they give with a grain of salt. +- Testing each level segment individually before working on the next segment +- ...and then testing each segment together at once! + +## Making Space +As our game is heavily focused on mobility, and makes use of a third-person character, we need ***lots*** of space for navigating, attacking, and moving the camera. + +Here are some guidelines for creating engaging spaces: +- Minimum of 7.25 meters width and 8 meters height in hallways + - Preferably, incentivize players to stay in the middle of the hallway +- Minimum of 15 meters width and 10 meters height in rooms + - In open spaces, this means a platform diameter of at least 10 meters +- In arenas, at least two floors of vertical space for both player and enemy navigation + - Include platforms inbetween each floor for players to utilize + - Include points dedicated to grappling to in upper levels +- After every other combat encounter, have at least one accessible health pickup + +Cover also requires special consideration when being placed: +- Should fully cover the player (at least 2 meters width and height, and 1 meter depth) +- Should be thoughtfully placed relative to enemies + - Cover must be in the path of enemies + - Cover must block sightlines +- Should be functional in context of the setting + +Ideally, platforms and cover should be evenly scattered throughout a level, but still placed with functional purpose in mind. +Additionally, arenas need large open areas for more chaotic encounters to take place. + +## Use of Space + + +## Introducing Mechanics and Enemies +It is important to give the player a fundamental understanding of the tools they are given, +as well as the challenges they might encounter. +First impressions are just as important in-game as they are out of game. + +When teaching a player a new mechanic, follow these guidelines: +- Give the player a safe space to fail in +- Ensure that the problem can only be solved with the given mechanic if possible +- Ensure that the problem makes sense within the context of the setting +- Keep instructions minimal, but clear +- Lead the player to the solution with context clues + +When introducing a new enemy type to the player, follow these guidelines: +- Only one of that type of enemy should be in the given encounter +- The level should accomodate that enemy's abilities + - for example, a ranged turret works well for suppressive fire +- The player should have available options to counter the given enemy + - for example, weaving between cover against the ranged turret + +## Difficulty Ramping + From 96898936026f1d3f5fa01d551ff3c5c64cf08e4d Mon Sep 17 00:00:00 2001 From: alan Date: Fri, 16 Feb 2024 02:04:26 -0500 Subject: [PATCH 19/20] Level design specifications --- README.md | 16 ++++++-- docs/level_design.md | 91 +++++++++++++++++++++++++++++++++++++++----- 2 files changed, 95 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index 68f52f7..c47c8ed 100644 --- a/README.md +++ b/README.md @@ -34,19 +34,29 @@ Additional notes: - Export normal maps to 16-bit if possible for maximum quality - IronPress can be avoided with a customized Substance export setup -## Animation Guides +## Resources and Guidelines +### Animation Guides Guides for animation: - [Setting Up a New Animation](docs/animation.md/#setting-up-a-new-animation) - [Finalizing an Animation](docs/animation.md/#finalizing-an-animation) - [Editing Existing Animations](docs/animation.md/#editing-existing-animations) -## Asset Guidelines +### Asset Guidelines Guidelines for asset making: - [Topology](docs/assets.md#topologydetail-density) - [Texturing](docs/assets.md#texturing) - [Scale](docs/assets.md#scale) -## Automation +### Level Design Guidelines +Guidelines for level design: +- [Minimum Requirements](docs/level_design.md) +- [Spatial Requirements](docs/level_design.md#making-space) +- [Use of Space](docs/level_design.md#use-of-space) +- [Introducing Mechanics and Enemies](docs/level_design.md#introducing-mechanics-and-enemies) +- [Difficulty Ramping](docs/level_design.md#difficulty-ramping) +- [Innovation](docs/level_design.md#final-notes) + +### Automation If you need results from an automated process, see the `pipeline` directory. Each shell script should export the corresponding textures to a folder within the `export` directory. For animations, please include the `pipeline/export_anims.py` script in your Blender file. This allows one-click exporting of FBX animations (may be fully automated with a script later). diff --git a/docs/level_design.md b/docs/level_design.md index 263da56..58c9e45 100644 --- a/docs/level_design.md +++ b/docs/level_design.md @@ -1,6 +1,8 @@ # Level Design Guidelines -The name of the game is ***rapid iteration***. **Throw shit together**, see if it works, if it doesn't, **scrap it and start over**. +The name of the game is ***rapid iteration***. **Throw shit together**, see if it works, if it doesn't, iterate. +If iteration doesn't help or becomes too slow, sometimes you need to **scrap it and start over**. +This lets you start with a clean slate for more creativity, and make better use of lessons you learned while testing. In each level, we're looking for, at minimum: - **15 minutes of gameplay** on average @@ -8,25 +10,36 @@ In each level, we're looking for, at minimum: - Experienced players can maybe complete this in 5 or 10 minutes minimum - 3 set-piece combat encounters in separate arenas - Space for player choice + - Do not enforce any specific mechanic unless player has not been taught it yet - **Gameplay-wise** - how player decides to approach a problem - Strategizing enemy encounters (cover, enemy spawns, enemy types, etc) - Using resources (choosing one ability over the other, choosing between cover, etc) - **Movement-wise** - how player decides to navigate an area (grappling, mantling, dashing, etc) - Multiple possible paths and approaches - - Do not enforce any specific mechanic unless player needs to be taught it + - Reward exploration, but don't make it a focus - A reason for design choices - Be able to explain why choices were made, and what they accomplish - Choices should be functional in context of the setting - - for example, a warehouse would have pallates of crates, but at the same time the crates should accomplish a gameplay purpose such as cover. + - for example, a warehouse would have palletes of crates, but at the same time the crates should accomplish a gameplay purpose such as cover For designing levels, it is **heavily suggested** to make use of: - **[Connor's Design Tools](https://docs.google.com/document/d/1qqGXGvcrOnxmK5h-GlrCC_Kd_aNqT2hy5wNHmMnwfJo/edit)** - - *Especially* the wall-builder tool for blockouts + - *Especially* the wall-builder tool for blockouts. No more constant fiddling with scale! - BSPs ('Geometry' tab on 'Place Actors' panel) - Frequent playtesting and iteration - - Recommended to have **other people** play as often as possible. It should be noted that play testers are very good at finding issues or things they dont like in games, but they typcally arent very good at solving those issues. So pay close attention to the way they play and the criticisms they have but take any potential solutions they give with a grain of salt. + - Recommended to have **other people** play as often as possible + - Play testers are very good at finding issues or things they don't like, but typically aren't good at solving them + - Pay close attention to the way they play and the criticisms they have, but take any potential solutions they give with a grain of salt + - Recording playtests so you can rewatch them later for reference is often beneficial + - If you have to explain a design to a playtester, then the design might need more work - Testing each level segment individually before working on the next segment - ...and then testing each segment together at once! +- Feel free to make separate levels for testing ideas + +As with all forms of design, **level design should speak for itself**. +The player should naturally be pulled to whatever solution the developer asks, but be left open for resolution themself. + +The following guidelines are here to reduce friction between the player and the game, while providing tools for innovation. ## Making Space As our game is heavily focused on mobility, and makes use of a third-person character, we need ***lots*** of space for navigating, attacking, and moving the camera. @@ -37,28 +50,62 @@ Here are some guidelines for creating engaging spaces: - Minimum of 15 meters width and 10 meters height in rooms - In open spaces, this means a platform diameter of at least 10 meters - In arenas, at least two floors of vertical space for both player and enemy navigation - - Include platforms inbetween each floor for players to utilize + - Include platforms and/or ramps inbetween each floor for players to utilize - Include points dedicated to grappling to in upper levels - After every other combat encounter, have at least one accessible health pickup Cover also requires special consideration when being placed: -- Should fully cover the player (at least 2 meters width and height, and 1 meter depth) +- Should fully cover the player (at least 1.25 meters width and 2 meters height) - Should be thoughtfully placed relative to enemies - Cover must be in the path of enemies - Cover must block sightlines - Should be functional in context of the setting + - i.e. piles of barrels or crates, a large shipping crate, a pillar, etc Ideally, platforms and cover should be evenly scattered throughout a level, but still placed with functional purpose in mind. -Additionally, arenas need large open areas for more chaotic encounters to take place. +Additionally, arenas will need some large open areas for sightlines and more chaotic encounters to take place. ## Use of Space +Now that we have all this space, how do we gamify it for the player to enjoy? +### Design Tools +As stated before, Connor has created a series of [level design tools]((https://docs.google.com/document/d/1qqGXGvcrOnxmK5h-GlrCC_Kd_aNqT2hy5wNHmMnwfJo/edit)) to enhance level creation. +These are example use-cases for these tools, but feel free to innovate or request changes as needed. +See his document for more refined details on usage. + +Platforming and navigation: +- **Elevator** - Can be used for area transitions before grappling hook is obtained. Can also be used for enemy traversal. +- **Folding Platform** - Can be used to enforce precise timing on platforming, like teaching a dash. These are most relevant before the grappling hook is obtained. +- **Electric Fence** - Damages player over time. Disincentivizes player from grappling or clinging to specific areas. Can be toggled dynamically. +- **Laser Walls** - Like the electric fence, but designed for floors or ceilings. +- **Void** - Instantly kills player, intended for pitfalls, dark and endless appearance. + +Progression: +- **Doors** - Can be used to dynamically open and close areas. Please use this BP instead of leaving holes in walls if possible, so the intent of the doorway is clear. Use the `Start Open` parameter if necessary for testing. +- **Enemy Spawner** - Great for spawning waves of enemies in arenas, or having enemies appear dynamically in encounters. Use multiple spawners for a more chaotic experience. +- **Checkpoint/Respawn Pillar** - Use between sections after a significant amount of progress has been made. Players can apply points to their skill-tree upon reaching, and respawn here after death. + +Events: +- **Interact Button** - Lets player trigger an event at their own will, prompts player to interact. +- **Trigger Box** - Triggers an event when the player collides with it. + +### Arenas +Since the game is focused on both combat and movement, creating large arenas are ideal for set-piece combat encounters. +If you've played any Batman Arkham games, or something of the likes, you will notice that these areas are designed to test the player's knowledge and strategy by rewarding methodical and creative solutions, while discouraging the unprepared. +These are not like typical encounters, as enemy placement relative to the map geometry is extra strategic: including heavy use of sightlines, mantle points, layers of verticality, and areas for sneaking. + +While our game is less strategic, set-piece encounters are the ideal place for letting players enter their "flow state." +While throwing enemies in hallways prevents the game from being a walking simulator, +arenas let the player develop their own style of combat by giving **lots of room for movement** while providing **continuous enemy presence** to **put the player under pressure**. + +Feel free to mix in platforming tools into arenas well, but they should be impactful to combat, such as encouraging vertical movement, or discouraging willy-nilly grappling. ## Introducing Mechanics and Enemies It is important to give the player a fundamental understanding of the tools they are given, as well as the challenges they might encounter. First impressions are just as important in-game as they are out of game. +### Mechanics When teaching a player a new mechanic, follow these guidelines: - Give the player a safe space to fail in - Ensure that the problem can only be solved with the given mechanic if possible @@ -66,6 +113,13 @@ When teaching a player a new mechanic, follow these guidelines: - Keep instructions minimal, but clear - Lead the player to the solution with context clues +Ideally, we do not have to directly tell the player what they need to do. +We may do this for clarity's sake, but the level design should make it clear with lighting, leading lines, and other rules of composition. + +Giving players a safe space for failure allows experimentation and learning, without creating stress. +As soon as the player becomes frustrated, they are not enjoying the game, and we have failed our objective. + +### Enemies When introducing a new enemy type to the player, follow these guidelines: - Only one of that type of enemy should be in the given encounter - The level should accomodate that enemy's abilities @@ -73,5 +127,24 @@ When introducing a new enemy type to the player, follow these guidelines: - The player should have available options to counter the given enemy - for example, weaving between cover against the ranged turret -## Difficulty Ramping +As before, we do not want to overwhelm the player with something new, while putting them in a dangerous situation. +Giving them time to observe, think, and react is better than dropping them into hot-water on something they've never seen before. +## Difficulty Ramping +As stated before, players should be eased into combat and new enemies initially. +Using small amounts of enemies in initial encounters with those types allow players to develop strategies without being overwhelmed. +Once you think a player has "mastered" something, test their skills by ramping the intensity, or mixing in other underused mechanics. +Spawning more enemies, using platforming hazards, and etc can further encourage the player to move ahead. +This can easily be done with [**arenas**](#arenas), as mentioned before. + +The same goes for platforming. As the player becomes more acquainted with their tools, mixing up movement or creating more hazards can encourage the player to think more creatively. +Combining platforming and combat can lead to a successful flow state, but requires careful planning and lots of iteration. + +## Final Notes +While there is a lot of considerations to making a level, these are still ideas and not entirely rigid rules. +*Sometimes, rules are best broken*, and this applies to game design as well. + +If you think something enhances an experience but challenges these guidelines, *test it and see how it plays out*. +Have other devs try it! Have playtesters try it! If it enhances the game, then you've successfully iterated. + +See other project guidelines [here](../README.md). From 33fd1e09e0226b881dd0a56a3bc1ee41da66303b Mon Sep 17 00:00:00 2001 From: alan Date: Fri, 16 Feb 2024 02:13:15 -0500 Subject: [PATCH 20/20] Minor tweaks --- docs/level_design.md | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/docs/level_design.md b/docs/level_design.md index 58c9e45..a4a9e64 100644 --- a/docs/level_design.md +++ b/docs/level_design.md @@ -1,6 +1,6 @@ # Level Design Guidelines -The name of the game is ***rapid iteration***. **Throw shit together**, see if it works, if it doesn't, iterate. +The name of the game is ***rapid iteration***. **Throw shit together**, see if it works, and if it doesn't, iterate. If iteration doesn't help or becomes too slow, sometimes you need to **scrap it and start over**. This lets you start with a clean slate for more creativity, and make better use of lessons you learned while testing. @@ -34,9 +34,9 @@ For designing levels, it is **heavily suggested** to make use of: - If you have to explain a design to a playtester, then the design might need more work - Testing each level segment individually before working on the next segment - ...and then testing each segment together at once! -- Feel free to make separate levels for testing ideas +- Make separate, small levels for testing specific ideas -As with all forms of design, **level design should speak for itself**. +As with all forms of design, **the level's design should speak for itself** to players. The player should naturally be pulled to whatever solution the developer asks, but be left open for resolution themself. The following guidelines are here to reduce friction between the player and the game, while providing tools for innovation. @@ -106,19 +106,19 @@ as well as the challenges they might encounter. First impressions are just as important in-game as they are out of game. ### Mechanics -When teaching a player a new mechanic, follow these guidelines: +When teaching the player a new mechanic, follow these guidelines: - Give the player a safe space to fail in - Ensure that the problem can only be solved with the given mechanic if possible - Ensure that the problem makes sense within the context of the setting - Keep instructions minimal, but clear - Lead the player to the solution with context clues -Ideally, we do not have to directly tell the player what they need to do. -We may do this for clarity's sake, but the level design should make it clear with lighting, leading lines, and other rules of composition. - Giving players a safe space for failure allows experimentation and learning, without creating stress. As soon as the player becomes frustrated, they are not enjoying the game, and we have failed our objective. +Ideally, we do not have to directly tell the player what they need to do. +We might do this anyway for clarity's sake, but the level design should make it clear with lighting, leading lines, and other rules of composition. + ### Enemies When introducing a new enemy type to the player, follow these guidelines: - Only one of that type of enemy should be in the given encounter @@ -134,17 +134,17 @@ Giving them time to observe, think, and react is better than dropping them into As stated before, players should be eased into combat and new enemies initially. Using small amounts of enemies in initial encounters with those types allow players to develop strategies without being overwhelmed. Once you think a player has "mastered" something, test their skills by ramping the intensity, or mixing in other underused mechanics. -Spawning more enemies, using platforming hazards, and etc can further encourage the player to move ahead. +Spawning more enemies, using platforming hazards, and etc can further challenge the player. This can easily be done with [**arenas**](#arenas), as mentioned before. -The same goes for platforming. As the player becomes more acquainted with their tools, mixing up movement or creating more hazards can encourage the player to think more creatively. +The same goes for platforming. As the player becomes more acquainted with their tools, mixing up movement combinations or creating more hazards can encourage the player to think more creatively. Combining platforming and combat can lead to a successful flow state, but requires careful planning and lots of iteration. ## Final Notes -While there is a lot of considerations to making a level, these are still ideas and not entirely rigid rules. +While there are a lot of considerations to making a level, these are still ideas and not entirely rigid rules. *Sometimes, rules are best broken*, and this applies to game design as well. If you think something enhances an experience but challenges these guidelines, *test it and see how it plays out*. Have other devs try it! Have playtesters try it! If it enhances the game, then you've successfully iterated. -See other project guidelines [here](../README.md). +See other project guidelines [here](../README.md#resources-and-guidelines).