{"author_link":"\/users\/for-science","author_name":"_for_science","author_uid":"for-science","comments":[],"epoch":1587583252,"event":"LD46","format":"md","ldjam_node_id":206791,"likes":6,"metadata":{"p_key":"144162","p_author":"_for_science","p_authorkey":"1011415","p_urlkey":"360575","p_title":"Hive Preserver: Level-Building Breakdown","p_cat":"LDJam ","p_event":"LD46","p_time":"1587583252","p_likes":"6","p_comments":"0","p_status":"WAYBACK","us_key":"1011415","us_name":"_for_science","us_username":"for-science","event_start":"1587081600","event_key":"77","event_name":"Ludum Dare 46"},"node":{"_collation":{"body_sanitizer":"TextUtils::SanitizeHTML via existing importer","event":"LD46","removed_author":false},"_superparent":176557,"_trust":7,"author":11415,"body":"Since we had a lot of fun writing up a breakdown of our previous jam game, we thought we'd do it again for our current jam game [**Hive Preserver**](https:\/\/ldjam.com\/events\/ludum-dare\/46\/hive-preserver).\n\n---\n[![ldjam_banner.jpg](\/\/\/raw\/79c\/2\/z\/32815.jpg)](https:\/\/ldjam.com\/events\/ludum-dare\/46\/hive-preserver)\n\nThis time we went for full 3D first-person graphics with level design and everything... and I cannot recommend it. Not if you like getting some sleep anyway. It was a lot of work for 72 hours, and as always we had planned to do so much more than we ended up finishing. But on the way we played with some neat techniques that really helped us speed up the level building process a lot.\n\nWe decided to go for a retro-vibe early on. It not only fit the game's theme, but would also conceal any lack of detail as just part of the aesthetic. Moreover, it was a style that was very familiar to me from back in the days of modding Half Life games.\n\nThe entire level architecture is made up of a very small set of very basic textures. We brainstormed what kinds of materials would be found in such a research facility and landed on very Half-Lifey materials. In the end everything that is not a prop uses one of these six textures:\n\n![breakdown_textures.jpg](\/\/\/raw\/79c\/2\/z\/32811.jpg)\n\nWe deliberately tried to keep them plain (like noise patterns) so they would be more versatile to use. They are not even colored - all the colors in the level architecture are achieved by multiplying these texture with vertex colors.\n\nStarting from a gray grid level layout, we applied the above textures as needed. We then cut further detail into the surfaces - such as the lower halves of the brick walls being painted, or guiding stripes on the ground. By setting these faces' vertex colors, we were able to quickly tint these areas in whatever color we needed. Finally, we added high-contrast lighting to give the level a gloomy feel. Here is an animated step-by-step example:\n\n![breakdown_process.gif](\/\/\/raw\/79c\/2\/z\/32812.gif)\n\nOne additional time-saver was in the UV-mapping. I started by building and unwrapping the first room and hallway by hand, but this quickly became cumbersome when I had to make small changes, like adding a door here or stretching the hallway a little longer. So we shifted to having all textures of the level architecture to be mapped automatically using triplanar texture mapping. This essentially means that the textures are mapped in world space and projected onto the surfaces from each of the three axes\/planes:\n\n![breakdown_triplanar.gif](\/\/\/raw\/79c\/2\/z\/32813.gif)\n\nUsing these techniques we could rapidly iterate on the level layout, greatly speeding up development.\n\nYou can play the final result here:\n**https:\/\/ldjam.com\/events\/ludum-dare\/46\/hive-preserver**\n\n---\n**Follow us**\non\n[**Twitter**](https:\/\/twitter.com\/HastilyAssemble)\non\n[**YouTube**](https:\/\/www.youtube.com\/channel\/UCVyVhkadOYnIvI3aERtfyZA)\nand on\n[**Facebook**](https:\/\/www.facebook.com\/HastilyAssembled)","comments":1,"comments-timestamp":"2020-04-22T21:12:04Z","created":"2020-04-22T19:16:15Z","files":[],"files-timestamp":0,"id":206791,"love":6,"love-timestamp":"2020-04-26T15:38:10Z","meta":[],"modified":"2020-04-26T15:38:10Z","name":"Hive Preserver: Level-Building Breakdown","node-timestamp":"2020-04-22T21:27:14Z","parent":201858,"parents":[1,5,9,176557,201858],"path":"\/events\/ludum-dare\/46\/hive-preserver\/hive-preserver-level-building-breakdown","published":"2020-04-22T19:20:52Z","scope":"public","slug":"hive-preserver-level-building-breakdown","subsubtype":"","subtype":"","type":"post","version":625208},"node_metadata":{"n_key":"206791","n_urlkey":"360575","n_parent":"201858","n_path":"\/events\/ludum-dare\/46\/hive-preserver\/hive-preserver-level-building-breakdown","n_slug":"hive-preserver-level-building-br","n_type":"post","n_subtype":"","n_subsubtype":"","n_author":"11415","n_created":"1587582975","n_modified":"1587915490","n_version":"625208","n_status":"WAYBACK"},"source_url":"https:\/\/ldjam.com\/events\/ludum-dare\/46\/hive-preserver\/hive-preserver-level-building-breakdown","text":"Since we had a lot of fun writing up a breakdown of our previous jam game, we thought we'd do it again for our current jam game [**Hive Preserver**](https:\/\/ldjam.com\/events\/ludum-dare\/46\/hive-preserver).\n\n---\n[![ldjam_banner.jpg](\/\/\/raw\/79c\/2\/z\/32815.jpg)](https:\/\/ldjam.com\/events\/ludum-dare\/46\/hive-preserver)\n\nThis time we went for full 3D first-person graphics with level design and everything... and I cannot recommend it. Not if you like getting some sleep anyway. It was a lot of work for 72 hours, and as always we had planned to do so much more than we ended up finishing. But on the way we played with some neat techniques that really helped us speed up the level building process a lot.\n\nWe decided to go for a retro-vibe early on. It not only fit the game's theme, but would also conceal any lack of detail as just part of the aesthetic. Moreover, it was a style that was very familiar to me from back in the days of modding Half Life games.\n\nThe entire level architecture is made up of a very small set of very basic textures. We brainstormed what kinds of materials would be found in such a research facility and landed on very Half-Lifey materials. In the end everything that is not a prop uses one of these six textures:\n\n![breakdown_textures.jpg](\/\/\/raw\/79c\/2\/z\/32811.jpg)\n\nWe deliberately tried to keep them plain (like noise patterns) so they would be more versatile to use. They are not even colored - all the colors in the level architecture are achieved by multiplying these texture with vertex colors.\n\nStarting from a gray grid level layout, we applied the above textures as needed. We then cut further detail into the surfaces - such as the lower halves of the brick walls being painted, or guiding stripes on the ground. By setting these faces' vertex colors, we were able to quickly tint these areas in whatever color we needed. Finally, we added high-contrast lighting to give the level a gloomy feel. Here is an animated step-by-step example:\n\n![breakdown_process.gif](\/\/\/raw\/79c\/2\/z\/32812.gif)\n\nOne additional time-saver was in the UV-mapping. I started by building and unwrapping the first room and hallway by hand, but this quickly became cumbersome when I had to make small changes, like adding a door here or stretching the hallway a little longer. So we shifted to having all textures of the level architecture to be mapped automatically using triplanar texture mapping. This essentially means that the textures are mapped in world space and projected onto the surfaces from each of the three axes\/planes:\n\n![breakdown_triplanar.gif](\/\/\/raw\/79c\/2\/z\/32813.gif)\n\nUsing these techniques we could rapidly iterate on the level layout, greatly speeding up development.\n\nYou can play the final result here:\n**https:\/\/ldjam.com\/events\/ludum-dare\/46\/hive-preserver**\n\n---\n**Follow us**\non\n[**Twitter**](https:\/\/twitter.com\/HastilyAssemble)\non\n[**YouTube**](https:\/\/www.youtube.com\/channel\/UCVyVhkadOYnIvI3aERtfyZA)\nand on\n[**Facebook**](https:\/\/www.facebook.com\/HastilyAssembled)","title":"Hive Preserver: Level-Building Breakdown","wayback_source":[]}