From fefd7168ec7ea8d451045f573f2a3502cfc60feb Mon Sep 17 00:00:00 2001 From: Luis Gonzalez Date: Mon, 6 Jul 2026 12:27:05 -0700 Subject: [PATCH] Docs: Co-op Hades iteration plan + dev-loop session log + tour screenshots Direction locked 2026-07-06: trunk fixes + full Co-op Hades conversion (mothball tower-defense, win expedition-side, hub base, mechanic-changer boons, 2nd ability, node types, 2nd boss, revive), depth folded in now, Blender at hero-props+decals scope. Evidence: 9-agent analysis workflow + live play tour (screenshots referenced by the plan doc). Co-Authored-By: Claude Fable 5 --- Assets/Screenshots/iter_base_spawn.png | 3 + Assets/Screenshots/iter_base_spawn.png.meta | 117 ++++++++++++++++++ Assets/Screenshots/iter_boon_reward.png | 3 + Assets/Screenshots/iter_boon_reward.png.meta | 117 ++++++++++++++++++ Assets/Screenshots/iter_enemies_closeup.png | 3 + .../Screenshots/iter_enemies_closeup.png.meta | 117 ++++++++++++++++++ Assets/Screenshots/iter_phase0_base.png | 3 + Assets/Screenshots/iter_phase0_base.png.meta | 117 ++++++++++++++++++ Assets/Screenshots/iter_player_closeup.png | 3 + .../Screenshots/iter_player_closeup.png.meta | 117 ++++++++++++++++++ Assets/Screenshots/iter_portal_beacon.png | 3 + .../Screenshots/iter_portal_beacon.png.meta | 117 ++++++++++++++++++ Assets/Screenshots/iter_portal_explore.png | 3 + .../Screenshots/iter_portal_explore.png.meta | 117 ++++++++++++++++++ Assets/Screenshots/iter_room0_combat.png | 3 + Assets/Screenshots/iter_room0_combat.png.meta | 117 ++++++++++++++++++ Assets/Screenshots/iter_room0_combat2.png | 3 + .../Screenshots/iter_room0_combat2.png.meta | 117 ++++++++++++++++++ Assets/Screenshots/iter_room1_swarm.png | 3 + Assets/Screenshots/iter_room1_swarm.png.meta | 117 ++++++++++++++++++ .../Screenshots/iter_roomexplore_portal.png | 3 + .../iter_roomexplore_portal.png.meta | 117 ++++++++++++++++++ .../06_Roadmap/Iteration_2026-07_CoopHades.md | 108 ++++++++++++++++ ...7-06_DevLoop_Iteration_CoopHades_Phase0.md | 68 ++++++++++ 24 files changed, 1496 insertions(+) create mode 100644 Assets/Screenshots/iter_base_spawn.png create mode 100644 Assets/Screenshots/iter_base_spawn.png.meta create mode 100644 Assets/Screenshots/iter_boon_reward.png create mode 100644 Assets/Screenshots/iter_boon_reward.png.meta create mode 100644 Assets/Screenshots/iter_enemies_closeup.png create mode 100644 Assets/Screenshots/iter_enemies_closeup.png.meta create mode 100644 Assets/Screenshots/iter_phase0_base.png create mode 100644 Assets/Screenshots/iter_phase0_base.png.meta create mode 100644 Assets/Screenshots/iter_player_closeup.png create mode 100644 Assets/Screenshots/iter_player_closeup.png.meta create mode 100644 Assets/Screenshots/iter_portal_beacon.png create mode 100644 Assets/Screenshots/iter_portal_beacon.png.meta create mode 100644 Assets/Screenshots/iter_portal_explore.png create mode 100644 Assets/Screenshots/iter_portal_explore.png.meta create mode 100644 Assets/Screenshots/iter_room0_combat.png create mode 100644 Assets/Screenshots/iter_room0_combat.png.meta create mode 100644 Assets/Screenshots/iter_room0_combat2.png create mode 100644 Assets/Screenshots/iter_room0_combat2.png.meta create mode 100644 Assets/Screenshots/iter_room1_swarm.png create mode 100644 Assets/Screenshots/iter_room1_swarm.png.meta create mode 100644 Assets/Screenshots/iter_roomexplore_portal.png create mode 100644 Assets/Screenshots/iter_roomexplore_portal.png.meta create mode 100644 Docs/Vault/06_Roadmap/Iteration_2026-07_CoopHades.md create mode 100644 Docs/Vault/07_Sessions/2026/2026-07-06_DevLoop_Iteration_CoopHades_Phase0.md diff --git a/Assets/Screenshots/iter_base_spawn.png b/Assets/Screenshots/iter_base_spawn.png new file mode 100644 index 000000000..2d576c530 --- /dev/null +++ b/Assets/Screenshots/iter_base_spawn.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ac45bd109e2c1d50291a185b417ede48754a160aef969dced19fbe35072f8ee7 +size 304723 diff --git a/Assets/Screenshots/iter_base_spawn.png.meta b/Assets/Screenshots/iter_base_spawn.png.meta new file mode 100644 index 000000000..3698e892d --- /dev/null +++ b/Assets/Screenshots/iter_base_spawn.png.meta @@ -0,0 +1,117 @@ +fileFormatVersion: 2 +guid: 49f01b2b23ed2e44c946e3165dc0e9c3 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 13 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + customData: + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Screenshots/iter_boon_reward.png b/Assets/Screenshots/iter_boon_reward.png new file mode 100644 index 000000000..67bf88a45 --- /dev/null +++ b/Assets/Screenshots/iter_boon_reward.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9bb52daf7a5b6e7050c28da3d1a2088f5a8fc21fb8f56c2766c5851cc88fbf05 +size 238360 diff --git a/Assets/Screenshots/iter_boon_reward.png.meta b/Assets/Screenshots/iter_boon_reward.png.meta new file mode 100644 index 000000000..d1321af22 --- /dev/null +++ b/Assets/Screenshots/iter_boon_reward.png.meta @@ -0,0 +1,117 @@ +fileFormatVersion: 2 +guid: b6ce1f79ddfe84e42852c16dbd00b247 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 13 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + customData: + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Screenshots/iter_enemies_closeup.png b/Assets/Screenshots/iter_enemies_closeup.png new file mode 100644 index 000000000..41e6e0f15 --- /dev/null +++ b/Assets/Screenshots/iter_enemies_closeup.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0e2d1c35fbd58fec90ae85ad44f8db9d5cf6f30d1585c8e586bf699bf3f28a0e +size 314439 diff --git a/Assets/Screenshots/iter_enemies_closeup.png.meta b/Assets/Screenshots/iter_enemies_closeup.png.meta new file mode 100644 index 000000000..1623ec768 --- /dev/null +++ b/Assets/Screenshots/iter_enemies_closeup.png.meta @@ -0,0 +1,117 @@ +fileFormatVersion: 2 +guid: 140d56dba853e424bb1ae4d7e2ab51b3 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 13 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + customData: + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Screenshots/iter_phase0_base.png b/Assets/Screenshots/iter_phase0_base.png new file mode 100644 index 000000000..3c1628bed --- /dev/null +++ b/Assets/Screenshots/iter_phase0_base.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a15b9f04befc59e226e2783a5f4d22b9a936bf36b7a6311c572ecc9a94974044 +size 227901 diff --git a/Assets/Screenshots/iter_phase0_base.png.meta b/Assets/Screenshots/iter_phase0_base.png.meta new file mode 100644 index 000000000..5a6712473 --- /dev/null +++ b/Assets/Screenshots/iter_phase0_base.png.meta @@ -0,0 +1,117 @@ +fileFormatVersion: 2 +guid: 4cd37439d2b8cae4697c2a5ba86b2069 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 13 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + customData: + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Screenshots/iter_player_closeup.png b/Assets/Screenshots/iter_player_closeup.png new file mode 100644 index 000000000..f085e86d0 --- /dev/null +++ b/Assets/Screenshots/iter_player_closeup.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2b596f28e9e49c3be30e8bcf2830c77348081bac05d5fd1c37cf32699c79a1ff +size 222694 diff --git a/Assets/Screenshots/iter_player_closeup.png.meta b/Assets/Screenshots/iter_player_closeup.png.meta new file mode 100644 index 000000000..6ecd56bec --- /dev/null +++ b/Assets/Screenshots/iter_player_closeup.png.meta @@ -0,0 +1,117 @@ +fileFormatVersion: 2 +guid: 96d15e6175357594e97ccb01a1926cc6 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 13 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + customData: + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Screenshots/iter_portal_beacon.png b/Assets/Screenshots/iter_portal_beacon.png new file mode 100644 index 000000000..b2481a252 --- /dev/null +++ b/Assets/Screenshots/iter_portal_beacon.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2ffd48de4d7a85f0c6409e6c12344ec6ea98a2d10884fa6ac66013a85735bf1b +size 296691 diff --git a/Assets/Screenshots/iter_portal_beacon.png.meta b/Assets/Screenshots/iter_portal_beacon.png.meta new file mode 100644 index 000000000..22f375a64 --- /dev/null +++ b/Assets/Screenshots/iter_portal_beacon.png.meta @@ -0,0 +1,117 @@ +fileFormatVersion: 2 +guid: 8e376654a97c94440b271626fb3af1aa +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 13 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + customData: + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Screenshots/iter_portal_explore.png b/Assets/Screenshots/iter_portal_explore.png new file mode 100644 index 000000000..a021c5aa6 --- /dev/null +++ b/Assets/Screenshots/iter_portal_explore.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:96ed981c0e8305274e12db7558eab3ec6410343d4fce712091be5318ccbf3f50 +size 319950 diff --git a/Assets/Screenshots/iter_portal_explore.png.meta b/Assets/Screenshots/iter_portal_explore.png.meta new file mode 100644 index 000000000..1c7c5bd86 --- /dev/null +++ b/Assets/Screenshots/iter_portal_explore.png.meta @@ -0,0 +1,117 @@ +fileFormatVersion: 2 +guid: 0af726e65eb818e4da378ed154ae1473 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 13 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + customData: + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Screenshots/iter_room0_combat.png b/Assets/Screenshots/iter_room0_combat.png new file mode 100644 index 000000000..628f19b10 --- /dev/null +++ b/Assets/Screenshots/iter_room0_combat.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1d28587af20193c0f790ec19fb358e44cf12330dde3255f8e6419e65e1725cfe +size 301991 diff --git a/Assets/Screenshots/iter_room0_combat.png.meta b/Assets/Screenshots/iter_room0_combat.png.meta new file mode 100644 index 000000000..437319011 --- /dev/null +++ b/Assets/Screenshots/iter_room0_combat.png.meta @@ -0,0 +1,117 @@ +fileFormatVersion: 2 +guid: 37d648a476f2bcb408dd9429cb976d8d +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 13 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + customData: + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Screenshots/iter_room0_combat2.png b/Assets/Screenshots/iter_room0_combat2.png new file mode 100644 index 000000000..b67e4c63a --- /dev/null +++ b/Assets/Screenshots/iter_room0_combat2.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:251d802925e99505021293b52e0ef51e4b5638257282123b8699c1af65f7706e +size 604214 diff --git a/Assets/Screenshots/iter_room0_combat2.png.meta b/Assets/Screenshots/iter_room0_combat2.png.meta new file mode 100644 index 000000000..eb7928e38 --- /dev/null +++ b/Assets/Screenshots/iter_room0_combat2.png.meta @@ -0,0 +1,117 @@ +fileFormatVersion: 2 +guid: 8c910de223644b745846659397168604 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 13 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + customData: + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Screenshots/iter_room1_swarm.png b/Assets/Screenshots/iter_room1_swarm.png new file mode 100644 index 000000000..1776ec388 --- /dev/null +++ b/Assets/Screenshots/iter_room1_swarm.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5a9ac8bac3f48911ed92b6c679b763dcf2e32717bc8bbce01e2c3883b46cd215 +size 325572 diff --git a/Assets/Screenshots/iter_room1_swarm.png.meta b/Assets/Screenshots/iter_room1_swarm.png.meta new file mode 100644 index 000000000..8a8af6355 --- /dev/null +++ b/Assets/Screenshots/iter_room1_swarm.png.meta @@ -0,0 +1,117 @@ +fileFormatVersion: 2 +guid: b61eb440fd61d724a81b7d5cea2058b3 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 13 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + customData: + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Screenshots/iter_roomexplore_portal.png b/Assets/Screenshots/iter_roomexplore_portal.png new file mode 100644 index 000000000..dd7e07039 --- /dev/null +++ b/Assets/Screenshots/iter_roomexplore_portal.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1f39d9481c76a132ff35c0f49af71d34ed01b4b0699dd9d6fc3d53d98994329a +size 295493 diff --git a/Assets/Screenshots/iter_roomexplore_portal.png.meta b/Assets/Screenshots/iter_roomexplore_portal.png.meta new file mode 100644 index 000000000..38fac09ed --- /dev/null +++ b/Assets/Screenshots/iter_roomexplore_portal.png.meta @@ -0,0 +1,117 @@ +fileFormatVersion: 2 +guid: 7c0061d3deb77cf4badcec40b888bbc1 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 13 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + customData: + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Docs/Vault/06_Roadmap/Iteration_2026-07_CoopHades.md b/Docs/Vault/06_Roadmap/Iteration_2026-07_CoopHades.md new file mode 100644 index 000000000..7f93fb697 --- /dev/null +++ b/Docs/Vault/06_Roadmap/Iteration_2026-07_CoopHades.md @@ -0,0 +1,108 @@ +--- +title: Iteration 2026-07 — Co-op Hades Conversion (Trunk + Hub-ification + Depth + Blender) +date: 2026-07-06 +tags: [roadmap, iteration, coop-hades, direction, plan] +permalink: gamevault/06-roadmap/iteration-2026-07-coophades +--- + +# Iteration 2026-07 — Co-op Hades Conversion + +**Operator decision (2026-07-06, dev-loop iteration session):** commit the *Fix-the-Fight-in-Place trunk* PLUS the full +*Co-op Hades* direction — cut/mothball the tower-defense layer, base becomes a Hades-house hub, boons become +mechanic-changers, kit gains a second ability, real node types, second boss, co-op revive. **Depth folds in now** (not +after a playtest gate). **Blender scope: hero props + decals.** No time estimates (operator directive). Grounded by a +9-agent analysis workflow (`wf_8afc6e5a-b9e`, 9/9 clean) + a live end-to-end play tour with screenshots +(`Assets/Screenshots/iter_*.png`). + +## Evidence base (why this direction) + +- Live tour findings: half of all rooms (sub-slot X+1500) have **no ground/colliders/decor**; enemies interpenetrate + into a blob and spawn converges on the player; HUD header reads "AT BASE" inside expedition rooms; boon offer + contained a strictly-dominated pair (-25% vs -15% ability cooldown); portal beacon renders as a blown-out white egg; + storage crate floats; **save-persisted `RunRuntime.WasAllReady=1` deadlocks the next session's launch** (un-ready → + re-ready is the only escape). +- Critique consensus: every reward is a flat stat mod (zero mechanic-changers/synergies); kit = 3 verbs/class with 1 + distinct ability; run 2 ≡ run 1; threat is walk-out-able (boss slam escape needs 4.07 u/s vs 5.1 available; melee + knockback stunlocks all trash; death = free heal + re-conscription); the boss is a 1.6× Charger with one attack. + The code-side feel layer (cones, slash arcs, hit-stop, flashes) is STRONG — the gap is the asset/scene layer under it. +- Market: Windblown's chart-topping demo = 1 biome + 1 boss (loop is demo-sized already); Cult of the Lamb = the + base↔run tie done right, Moonlighter = the cautionary tale; HoH2's retention lever = every run banks something; + Synty-look ceiling proven by Death Scourges / RoR2 / Soulstone Survivors (dynamic-light-first, dark ambient). + +## Phase 0 — Stabilize (bugs found live, do first) + +1. Commit the working-tree portal fix (incl. the `_portalMat` comment-swallow NRE repair applied 2026-07-06 — the NRE + killed CombatFeedbackSystem every session and auto-paused the editor via Error Pause). Re-run 456 EditMode first. +2. ~~`WasAllReady` save deadlock~~ **RETRACTED (2026-07-06):** misdiagnosis caused by frozen-world polling (the + `execute_code` main-thread-sleep hazard) — `CycleDirectorSpawnSystem`'s restore builds `RunRuntime` fresh (HostSalt + only, WasAllReady=0) and nothing persists it; the observed "deadlock" was a run that had already launched between + MCP calls. Lesson reinforced: never sleep-poll; check `isPaused` first. +3. Lifecycle-aware HUD header (kill "AT BASE" in rooms; kill stale "choose your boon" after pick — the location-line + switch had NO RoomExplore case, so the RoomReward text stuck through the loot window). +4. Ground the floating storage crate (**root cause: `GridOrigin.y=1` is the CC capsule-center plane** — + `CellToWorld` returns it; center-pivot meshes (Turret/Wall) look grounded there, base-pivot meshes (crate) float + 1 u. Watch this on every future grid-placed base-pivot mesh); tame the portal-beacon HDR (2.6/3.4 bloomed to a + white egg) + ground the beacon (its `pos.y` was the capsule plane too). + +## Phase 1 — Trunk (direction-agnostic physical/feel/teaching layer) + +1. **Rooms become places:** fix the X+1500 void (ground + collider ring + decor for sub-slot 1); seed 3–6 collidable + Environment-layer props per room so cover/LOS/Charger-baiting exist; readable room edge. +2. **Enemy separation** (server-side repulsion, MaxAlive=12 so O(n²) is fine) + soft player pushout; no standing + inside the boss. Verify spawn ring staggering reads (spawn VFX). +3. **Animation triage:** Synty Sword/Bow Combat anim packs (shared Generic skeleton, no retarget) — death clips + + corpse window, spawn, hit-react, ranged-fire, dash; creature locomotion for monsters (stop human jog on Husks). +4. **Threat repair:** poise byte (light hits stop stunlocking trash); boss second attack (re-enable its baked Charger + lunge) + party-size HP scaling. +5. **Live knobs:** promote all Boss*/enemy/grace-timer knobs into the TuningConfig overlay + values-to-clipboard. +6. **Teaching:** RMB class ability + dash coach-marks; fix stale copy (StartingOre 50→90 etc.); run-failed banner. +7. **Clarity swaps:** distinct spit/pickup/harvest meshes (Synty interim), class weapon meshes on the hand bone, + ground darkening + character rim/outline, point lights on projectiles (RoR2 trick). + +**Gate:** one honest solo campaign to Victory + one 2-instance LAN lap with the overlay open. + +## Phase 2 — Hub-ification (structural; adversarial design-review REQUIRED before coding) + +- **Mothball, don't delete:** sieges/CoreIntegrity/turret-ammo retired from the flow via baked toggles (the + `ScheduleEnabled` pattern); code + tests keep compiling for reversibility. +- **Win condition moves fully into the expedition** (N boss-clears / final-boss Victory; `GoalReachedSystem` + + `RunOutcome` rework; SaveData v7 additive). +- **Base = hub:** class/prep/meta/ready + deposit; visible growth (unlocks at Charge milestones); staging HUD → + progressive disclosure (5 dense panels → contextual). +- **Economy simplification** (4 currencies is bureaucracy; turret-ammo Charge frees up) — scope at the design review. + +**Gate:** returning player goes staging→launch in <60 s; hub reads as prep+growth, not friction. + +## Phase 3 — Depth (folded in now; design-review per netcode-heavy slice) + +- **Kit:** second ability slot + one new active per class (reuse AbilityRef catalog + predicted-input review). +- **Boons → ~12 mechanic-changers** on existing hooks: dash damage trail, finisher AoE detonation, projectile + pierce/fork/chain, ability-SWAP boons (replicated AbilityRef byte via the ClassSwapUtil pattern), knockback→pull… + plus synergy tags, duplicate/dominated-offer protection. +- **Real node types:** Elite (affixed alphas via the boss spawn-stamp pattern), Shrine (combat-free choice), Survive, + Cursed. +- **Second boss chassis** (Spitter artillery) so lap 2 differs. +- **Co-op:** downed/revive (ex-MC-5), duo boons, party-scaled spawns/HP; death-cost design lands here (with revive in, + death = run stakes, killing the suicide-heal exploit). + +**Gate:** two consecutive runs feel different (build + path + boss); a duo playtest yields a clutch-revive moment. + +## Phase 4 — Blender workstream (parallel from Phase 1; hero props + decals) + +Portal gate ring · hub Core crystal centerpiece · boss bone-socket armor/spike kitbash (no new rig) + second-boss +silhouette parts · distinct projectile/pickup/harvest meshes · class weapons · ground decal/telegraph quad set. +Pipeline (validated + researched): UV new geometry onto the existing Synty atlas for style match (or Imphenzia palette +PNG); FBX for anything skinned (glTFast Mecanim-clip issues), glb via gltfast for statics; Apply Scalings = FBX Units +Scale; Key All Bones for clips; realize geo-nodes instances before export; Play-verify materials (dark-frame hazard). + +## Phase 5 — Dev tooling (woven through) + +New DebugOps: KillRoom (death-path kill — ClearEnemies destroys without kill credit), SkipToRoom/SpawnBoss, GrantBoon, +run-state line in the overlay · pause-proof screenshot rig (MCP bridge `ScreenshotUtility` calls `EditorApplication.Step()` +and leaves the editor PAUSED — unpause after every capture; never `Thread.Sleep`-poll in `execute_code`, it freezes the +sim) · encounter-composition buttons in DevSandbox · WasAllReady regression test. + +## Consolidation notes + +Supersedes the DR-042 "final beat = base siege" lock (win moves fully expedition-side). DR-034 Core / EB-1/2 siege +systems → mothballed, not deleted. The "present forks" ritual re-runs at each phase's design review. diff --git a/Docs/Vault/07_Sessions/2026/2026-07-06_DevLoop_Iteration_CoopHades_Phase0.md b/Docs/Vault/07_Sessions/2026/2026-07-06_DevLoop_Iteration_CoopHades_Phase0.md new file mode 100644 index 000000000..30322158c --- /dev/null +++ b/Docs/Vault/07_Sessions/2026/2026-07-06_DevLoop_Iteration_CoopHades_Phase0.md @@ -0,0 +1,68 @@ +--- +title: Dev-Loop Iteration — Analysis, Co-op Hades Direction Lock, Phase 0 Stabilize +date: 2026-07-06 +tags: [session, analysis, direction, coop-hades, phase0, workflow, ultracode] +permalink: gamevault/07-sessions/2026/2026-07-06-devloop-iteration-coophades-phase0 +--- + +# Dev-Loop Iteration — Analysis → Direction → Phase 0 (ultracode) + +Operator brief: *"the game needs a dev-loop iteration to turn it into something fun & playable — analyze the current +state, state the gaps (fun, usability, everything), nothing is a hard pillar, do market research, confirm direction, +then a complete plan that uses Blender; the visual look is lacking immensely (collision, animations, clarity); there +is enough juice, it just needs more to feel good."* + +## How it went + +1. **Grounding + live tour:** walked the real loop in Play via MCP (ready-check → launch → room combat → boon → + RoomExplore portal → room 2) with screenshots at every beat (`Assets/Screenshots/iter_*.png`). The tour itself + surfaced bugs the 456-green suite can't see. +2. **9-agent analysis workflow** (`wf_8afc6e5a-b9e`, 9/9 clean, ~1M tokens): state map, four grounded critiques + (fun / usability / combat depth / visual), three research tracks (market loops / game feel / Blender pipeline), + synthesis into ranked gaps + 4 candidate directions. +3. **Direction fork → operator** (AskUserQuestion): locked **trunk fixes + FULL Co-op Hades** (mothball tower-defense, + win fully expedition-side, hub base, mechanic-changer boons + 2nd ability + node types + 2nd boss + revive), + **depth folded in now**, **Blender = hero props + decals**. Plan: [[Iteration_2026-07_CoopHades]]. +4. **Phase 0 built + validated same session** (3 commits): the pending portal-visibility fix committed (`274cf3b79`), + Phase 0 fixes (`7c1fee097`) — lifecycle-aware phase banner, the missing RoomExplore location-line case, grounded + storage crate + portal beacon, tamed beacon HDR. 456/456 EditMode before and after; Play smoke verified crate@y=0. + +## Bugs found live (and their stories) + +- **The portal-beacon NRE:** the uncommitted working-tree fix had `_portalMat = MakeParticleMaterial();` merged onto + the END of a `//` comment line → null material → `OnStartRunning` NRE → **CombatFeedbackSystem dead every session** + (no telegraphs/numbers/bars) AND the editor auto-paused via console Error Pause. A raw-line-merge defect — one more + reason for the MCP-edit + verify discipline. +- **The "editor keeps pausing itself" mystery:** the MCP bridge's game-view screenshot utility calls + `EditorApplication.Step()` (pauses by design) and never restores — **every composited screenshot left Play paused**. + Diagnosed by hooking `EditorApplication.pauseStateChanged` with a stack-trace logger. Workaround: check + `isPaused` first, unpause after captures. See native memory `mcp-screenshot-step-pause-bug`. +- **Self-inflicted frozen-world reads:** `execute_code` runs on the editor main thread — `Thread.Sleep` poll loops + freeze the sim for their whole duration; the world only advances BETWEEN MCP calls. This produced a false + "WasAllReady save deadlock" diagnosis (retracted: `CycleDirectorSpawnSystem` restore builds `RunRuntime` fresh; + the "stuck" run had actually launched between calls). **Never sleep-poll; act → return → observe next call.** +- **Grid-Y is the capsule plane:** `GridOrigin.y=1` = the CC capsule-CENTER plane; `CellToWorld` returns it. Meshes + with centered pivots (Turret/Wall) look grounded there; base-pivot meshes (Storage crate, and the beacon's pos.y) + float 1 u. Watch every future grid-placed base-pivot mesh. +- **Debug-op gap:** `ClearEnemies` destroys entities without kill credit (room quota unmoved) — killing through the + `DamageEvent` path works. A `KillRoom` op is queued in the plan's tooling phase. + +## Analysis headlines (full detail in [[Iteration_2026-07_CoopHades]]) + +Half of all rooms (sub-slot X+1500) are a void (no ground/colliders/decor); enemies have no colliders/separation and +blob; every reward is a flat stat mod; kit = 3 verbs/class; run 2 ≡ run 1; threat is walk-out-able and death is a free +heal; the boss is a 1.6× Charger with one attack; animation misses death/spawn/hit-react/fire/dash. The code-side feel +layer is genuinely strong — the gap is the asset/scene layer under it. Market: the loop is demo-sized (Windblown bar); +the base-attacked-after-victory hook is unique in the 2024–26 field but currently a stub — operator chose to mothball +it and go Co-op Hades. + +## Validation + +456/456 EditMode ×2 (before/after Phase 0) · clean compile after every MCP edit batch · Play smoke: worlds up, no NRE, +crate grounded, banner correct at Staging · portal-fix + Phase 0 + docs committed in 3 logical groups on main. + +## Next session + +Phase 1 trunk, starting with the X+1500 void room + per-room collidable props, then enemy separation, animation triage +(Synty packs), threat repair, live knobs, teaching, clarity swaps — see [[Iteration_2026-07_CoopHades]] Phase 1. +Phase 2 (hub-ification) requires the adversarial design review before code.