{"id":15229,"date":"2012-03-02T15:10:58","date_gmt":"2012-03-02T20:10:58","guid":{"rendered":"http:\/\/www.shamusyoung.com\/twentysidedtale\/?p=15229"},"modified":"2012-03-02T15:10:58","modified_gmt":"2012-03-02T20:10:58","slug":"deus-ex-human-revolution-ep30lan-party","status":"publish","type":"post","link":"https:\/\/www.shamusyoung.com\/twentysidedtale\/?p=15229","title":{"rendered":"Deus Ex Human Revolution EP30:LAN Party"},"content":{"rendered":"<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\/P3fZmFv7Ut0\" frameborder=\"0\" allowfullscreen class=\"embed\"><\/iframe><br\/><small><a href='http:\/\/www.youtube.com\/watch?v=P3fZmFv7Ut0'>Link (YouTube)<\/a><\/small><\/td><\/tr><\/table><\/p>\n<p>My first time through the game, I didn&#8217;t bother talking to Taggert.  I just snuck into his room, zapped his guards, and swiped the info off of his computer.  The second time, I confronted him. I was so shocked when I saw the &#8220;crowd&#8221;. Let&#8217;s have a look at Taggert&#8217;s audience here:<\/p>\n<p><table width='600'  cellpadding='0' cellspacing='0' border='0' align='center'><tr><td><a href='images\/dehr_audience.jpg'><img src='https:\/\/www.shamusyoung.com\/twentysidedtale\/images\/dehr_audience_small.jpg' class='insetimage' width='600' alt='dehr_audience_small.jpg' title='dehr_audience_small.jpg'\/><\/a><\/td><\/tr><\/table><\/p>\n<p>Eleven people. Taggert&#8217;s personal guard is probably double that. I realize that console can&#8217;t handle an auditorium of people.  (Heck, it would take a good bit of work to get looking right with a decent framerate on the PC.) But this is just sad.  I&#8217;m sure there was a better way to do this.  <\/p>\n<p>What I would have done:<\/p>\n<p><!--more-->I&#8217;ve filled a fake auditorium with models before.  It&#8217;s an interesting challenge.  The first task is to make a single model that&#8217;s just a row of theater-style seat backs. No seats. There can be a single armrest at the end of the row, but no other armrests. People are so used to seeing theater seats that they will simply assume those details are present. It might sound really crappy, but I&#8217;ve done it, and it&#8217;s amazing how much detail the eye will fill in. <\/p>\n<p>Make a a few low-poly models of a people in the sitting position. Again, they don&#8217;t need to be sitting on anything. Leave off their feet, and reduce everything below waist level to the most primitive geometry. The faces can be comparable to the complexity of the 2001 Deus Ex models: A wedge nose on a mostly smooth face. Make a few texture variants of the male and female versions.  These will not be animated.  At this level of simplicity, the models shouldn&#8217;t cause any more of a performance hit than the dumpsters, cars, or trash cans that litter the streets.  Scatter these people so that most of them are sitting near the edges, and the empty seats are far from the aisle. <\/p>\n<p>Now, make the aisle seats into real seats with real moving models sitting in them.  Adjust the lights so that the cheap models are mostly in darkness. Add an impassible wall to keep Jensen from attempting to enter the rows. <\/p>\n<p>This should make a very plausible crowd.  If done right, you can have a room that gives the impression of a large crowd but really isn&#8217;t more than fifty low-detail mannequins and a dozen true animated characters.  I&#8217;m pretty confident this engine can handle a load like that without any stuttering.  (Some of the outdoor vistas are more polygon-heavy, and have a greater texture diversity, by my reckoning.) <\/p>\n<p>Yes, this means that if Jensen starts shooting, most of the crowd won&#8217;t react. I think I&#8217;d rather have the crowd look plausible for everyone than make it more interactive for  the nutter who wants to machine gun an entire theater.  This game is already pretty bad about giving feedback for that sort of thing, and I&#8217;d rather have it look right than have the leader of Humanity Front give a lecture to 11 people having a LAN party.<\/p>\n<p>Of course, my way is more work, and I think a lot of the low-poly &#8220;smoke &#038; mirrors&#8221; tricks have been lost over the last few years. <\/p>\n","protected":false},"excerpt":{"rendered":"<p>Link (YouTube) My first time through the game, I didn&#8217;t bother talking to Taggert. I just snuck into his room, zapped his guards, and swiped the info off of his computer. The second time, I confronted him. I was so shocked when I saw the &#8220;crowd&#8221;. Let&#8217;s have a look at Taggert&#8217;s audience here: Eleven [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[188],"tags":[76,208],"class_list":["post-15229","post","type-post","status-publish","format-standard","hentry","category-spoilerwarning","tag-deus-ex","tag-spoiler-warning"],"_links":{"self":[{"href":"https:\/\/www.shamusyoung.com\/twentysidedtale\/index.php?rest_route=\/wp\/v2\/posts\/15229","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=15229"}],"version-history":[{"count":0,"href":"https:\/\/www.shamusyoung.com\/twentysidedtale\/index.php?rest_route=\/wp\/v2\/posts\/15229\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.shamusyoung.com\/twentysidedtale\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=15229"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.shamusyoung.com\/twentysidedtale\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=15229"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.shamusyoung.com\/twentysidedtale\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=15229"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}