{"id":15022,"date":"2012-02-16T08:27:08","date_gmt":"2012-02-16T13:27:08","guid":{"rendered":"http:\/\/www.shamusyoung.com\/twentysidedtale\/?p=15022"},"modified":"2012-02-16T22:13:34","modified_gmt":"2012-02-17T03:13:34","slug":"reset-button-megatextures","status":"publish","type":"post","link":"https:\/\/www.shamusyoung.com\/twentysidedtale\/?p=15022","title":{"rendered":"Reset Button: Megatextures"},"content":{"rendered":"<p>Once in a blue moon I do one of these Reset Button analysis videos.  Today is one of those blue moons. <\/p>\n<p><table class='nomargin' cellspacing='0' width='100%' cellpadding='0' align='center' border='0'><tr><td><iframe loading=\"lazy\" width=\"1024\" height=\"576\" src=\"https:\/\/www.youtube.com\/embed\/BiQCz2NjPR8\" frameborder=\"0\" allowfullscreen class=\"embed\"><\/iframe><br\/><small><a href='http:\/\/www.youtube.com\/watch?v=BiQCz2NjPR8'>Link (YouTube)<\/a><\/small><\/td><\/tr><\/table><\/p>\n<p>After posting this video, I&#8217;ve gotten a few comments on YouTube and Twitter.  Here are my answers to common questions regarding the video:<\/p>\n<p><!--more--><em><strong>I still don&#8217;t understand what technical advantage you get out of having one huge texture image\u00ef\u00bb\u00bf instead of lots of smaller ones.<\/strong><\/em><\/p>\n<p>It&#8217;s not a technical advantage, but an artistic one.  There&#8217;s a lot of fussing with laying down rectangle textures, making them line up, avoiding repetition, making sure there&#8217;s enough detail, and making sure you don&#8217;t eat up too much texture memory. <\/p>\n<p>Let&#8217;s say you&#8217;ve got four different textures for the walls in this building.  One is the default crumbling drywall that will look monotonous if used everywhere.  The second shows a big gash in the wall.  The third is a huge panel of graffiti.  The fourth is the drywall with some posters stuck to it.  You&#8217;ve  got to break up sections of #1 with sections of wall that use the other three.  But you can&#8217;t ever let the player see the same gash in two different places.  So, you should never see ONLY #1, but you should never see more than once instance of #2, #3 or #4 at a time. And you can&#8217;t ever see all four at once or risk going over texture budget.  Etc.  Now do the same juggling act, but with the tile floor. And the ceiling. And the wallpaper areas. <\/p>\n<p>That&#8217;s a lot of fussing around.  And then the level geometry changes (maybe the designer decides to open up a new doorway to give the player some breathing room) and you&#8217;ve got to move everything around.  <\/p>\n<p>With megatexturing, you don&#8217;t have to worry about any of this.  You don&#8217;t have to re-use bits.  You can have and entire room encircled with unique graffiti, gashes, scuff marks, and whatever else.  <\/p>\n<p>Naturally I haven&#8217;t used it myself, but the process sounds liberating:  Instead of drawing rectangles in Photoshop, importing them into the game, and then arranging them in the world like bits of wallpaper, artists (Carmack calls these people &#8220;stampers&#8221;) draw directly onto the walls in-game, seeing their work appear right there in the proper context. <\/p>\n<p><em><strong>This has a very &#8216;Errant Signal&#8217; vibe to it, though I&#8217;m sure that&#8217;s no coincidence. <\/strong><\/em><\/p>\n<p>The main reason this feels so much like <a href=\"http:\/\/www.youtube.com\/user\/Campster\">Errant Signal<\/a> is because I blatantly ripped off the title card style that Chris uses. I didn&#8217;t even ask. Perhaps it wil mollify him if I plug <a href=\"http:\/\/www.youtube.com\/watch?v=TyOF2RsO3ck&#038;list=UUm4JnxTxtvItQecKUc4zRhQ&#038;index=1&#038;feature=plcp\">his new video retrospective on Doom<\/a>? It really is quite good.  And the title cards look <em>fantastic<\/em>.<\/p>\n<p><em><strong>This might work really well in an open-world game like Fallout.<\/strong>(Paraphrase)<\/em><\/p>\n<p>Sadly, that would be very difficult. Rage is big for a modern shooter, but it&#8217;s peanuts compared to Fallout 3 \/ New Vegas \/ Skyrim.  Having texture stampers running around trying to fill in ALL THOSE DUNGEONS with unique textures would be exceptionally labor-intensive.  Moreover, it final game data would be gargantuan.  Covering Skyrim in a megatexture would take terabytes. <\/p>\n<p>However, you might be able to do some really cool stuff if you mixed megatexturing with procedural techniques, so instead of streaming pre-made data off of disk you&#8217;re just building it on the fly in-memory.  You&#8217;d basically be combining <a href=\"http:\/\/www.shamusyoung.com\/twentysidedtale\/?p=12167\">Project Frontier<\/a> with Rage, which is like making a steam-powered space shuttle. <\/p>\n<p><em><strong>You thought Rage was underrated?<\/strong><\/em><\/p>\n<p>I&#8217;ll get around to doing a proper review eventually, but my short answer is: Yeah.  This is an old-school shooter with modern sensibilities. No sticky cover. You can play it like a cover shooter if that&#8217;s what you like, but you can also run out there and blast people in the face if that&#8217;s what you&#8217;re into.  (That&#8217;s what I&#8217;m into.) I loved the atmosphere. Weapons were fun. Foes were fun. Driving was fun.  Scenery was spectacular. <\/p>\n<p>Disclaimer: The story has a lot wrong with it.  Like, I need a whole post to deconstruct it fully. Also, the software is surprisingly fiddly for an id Software game.  This is the least-stable id game I&#8217;ve ever played.  (Which is still more stable than the best Bethesda game I&#8217;ve ever played, so your mileage may vary.) <\/p>\n","protected":false},"excerpt":{"rendered":"<p>Once in a blue moon I do one of these Reset Button analysis videos. Today is one of those blue moons. Link (YouTube) After posting this video, I&#8217;ve gotten a few comments on YouTube and Twitter. Here are my answers to common questions regarding the video:<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[55],"tags":[215,524,214],"class_list":["post-15022","post","type-post","status-publish","format-standard","hentry","category-game-design","tag-id","tag-programming","tag-rage"],"_links":{"self":[{"href":"https:\/\/www.shamusyoung.com\/twentysidedtale\/index.php?rest_route=\/wp\/v2\/posts\/15022","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.shamusyoung.com\/twentysidedtale\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.shamusyoung.com\/twentysidedtale\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.shamusyoung.com\/twentysidedtale\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.shamusyoung.com\/twentysidedtale\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=15022"}],"version-history":[{"count":0,"href":"https:\/\/www.shamusyoung.com\/twentysidedtale\/index.php?rest_route=\/wp\/v2\/posts\/15022\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.shamusyoung.com\/twentysidedtale\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=15022"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.shamusyoung.com\/twentysidedtale\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=15022"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.shamusyoung.com\/twentysidedtale\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=15022"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}