{"id":26593,"date":"2015-04-28T15:26:02","date_gmt":"2015-04-28T20:26:02","guid":{"rendered":"http:\/\/www.shamusyoung.com\/twentysidedtale\/?p=26593"},"modified":"2015-04-28T15:26:02","modified_gmt":"2015-04-28T20:26:02","slug":"charging-for-skyrim-mods-was-a-horrendous-idea","status":"publish","type":"post","link":"https:\/\/www.shamusyoung.com\/twentysidedtale\/?p=26593","title":{"rendered":"Charging for Skyrim Mods Was a Horrendous Idea"},"content":{"rendered":"<p>I write the story on Sunday, the story changes on Monday, and <a href=\"http:\/\/www.escapistmagazine.com\/articles\/view\/video-games\/columns\/experienced-points\/13843-Paying-For-Skyrim-Mods-was-a-Bad-Idea-From-the-Beginning\">it&#8217;s all moot by the time the story runs on Tuesday<\/a>.<\/p>\n<p>Ah well. <\/p>\n<p>I still say letting us link a PayPal button to a mod and put it near the &#8220;subscribe&#8221; button would be a classy thing for Valve to do. Nobody takes a cut except PayPal. Yeah, the vast majority of modders will make nothing, but I think a few of the big ones might see a meaningful return. <\/p>\n<p>But it doesn&#8217;t matter. Looks like we&#8217;re doing a return to the status quo. <\/p>\n<p>So let&#8217;s talk about modding:<\/p>\n<p>In my mind modding falls into two broad categories: Passive and encouraged.<\/p>\n<p><strong>Passive<\/strong> is when the developer doesn&#8217;t make any special effort to discourage modding. They just leave the image data, scripts, and audio files exposed in the game directories instead of obscuring them.<\/p>\n<p><strong>Encouraged<\/strong> is when the developer gives their developer tools away to the community specifically so they can mod the game. This is assuming that game-specific tools even exist. In a lot of games &#8211; particularly in the bad old days before Unreal Engine, Unity, etc. &#8211; artists just had to edit text files and run obscure command-line scripts to put their assets into the game, and the process was too involved, buggy, and technical that offering the tools to the public would just create a ton of additional work for the devs. <\/p>\n<p>Good Robot will <strong>probably<\/strong><span class='snote' title='1'>Can&#8217;t make any promises. Anything can happen during development and I don&#8217;t want someone come back saying I LIED to you if we change our minds.<\/span> allow modding (nobody on the team wants to discourage it) but it will very much be a case of passive modding. Every change will be either trivial or impossible. The game rules (robots, movement speeds, damage, colors, level ordering) are stored in dead-simple text files, and the game textures are regular PNG files. You can add a new robot to the game. You can add new textures to the sprite sheet. But there&#8217;s no way to change the game logic. You can&#8217;t add a companion robot, or a new AI behavior, or a timed game mode. <\/p>\n<p>Exposing game logic to non-coders is powerful, but also a ton of work. You need to make an interpreter for some sort of sandboxed scripting language. I&#8217;ve been reading Game Programming Design Patterns lately and it has a chapter dedicated to the topic. It looks like fun, but it also looks like something I don&#8217;t want to mess with on something designed to be a low-risk, straightforward design. <\/p>\n","protected":false},"excerpt":{"rendered":"<p>I write the story on Sunday, the story changes on Monday, and it&#8217;s all moot by the time the story runs on Tuesday. Ah well. I still say letting us link a PayPal button to a mod and put it near the &#8220;subscribe&#8221; button would be a classy thing for Valve to do. Nobody takes [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[102],"tags":[],"class_list":["post-26593","post","type-post","status-publish","format-standard","hentry","category-weekly-column"],"_links":{"self":[{"href":"https:\/\/www.shamusyoung.com\/twentysidedtale\/index.php?rest_route=\/wp\/v2\/posts\/26593","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=26593"}],"version-history":[{"count":0,"href":"https:\/\/www.shamusyoung.com\/twentysidedtale\/index.php?rest_route=\/wp\/v2\/posts\/26593\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.shamusyoung.com\/twentysidedtale\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=26593"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.shamusyoung.com\/twentysidedtale\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=26593"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.shamusyoung.com\/twentysidedtale\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=26593"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}