Congratulations!

[Valid RSS] This is a valid RSS feed.

Recommendations

This feed is valid, but interoperability with the widest range of feed readers could be improved by implementing the following recommendations.

Source: http://feeds.feedburner.com/cliffski

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">
  3.  
  4. <channel>
  5. <title>Cliffski's Blog</title>
  6. <link>https://www.positech.co.uk/cliffsblog</link>
  7. <description>Game Design, Programming and running a one-man games business...</description>
  8. <lastBuildDate>Sun, 24 May 2020 11:09:14 +0000</lastBuildDate>
  9. <language>en-US</language>
  10. <sy:updatePeriod>
  11. hourly </sy:updatePeriod>
  12. <sy:updateFrequency>
  13. 1 </sy:updateFrequency>
  14. <generator>https://wordpress.org/?v=5.4.1</generator>
  15. <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/cliffski" /><feedburner:info uri="cliffski" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
  16. <title>New developer video: Variable Sliders!</title>
  17. <link>http://feedproxy.google.com/~r/cliffski/~3/FlapQ6fQ_Fc/</link>
  18. <comments>https://www.positech.co.uk/cliffsblog/2020/05/24/new-developer-video-variable-sliders/#respond</comments>
  19. <dc:creator><![CDATA[cliffski]]></dc:creator>
  20. <pubDate>Sun, 24 May 2020 11:09:14 +0000</pubDate>
  21. <category><![CDATA[Uncategorized]]></category>
  22. <guid isPermaLink="false">https://www.positech.co.uk/cliffsblog/?p=5793</guid>
  23.  
  24. <description />
  25. <content:encoded><![CDATA[
  26. <p><iframe title="Democracy 4 Developer Blog #13 : Variable Sliders" width="690" height="388" src="https://www.youtube.com/embed/BmzRgQejifw?feature=oembed" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe></p>
  27. <div class="feedflare">
  28. <a href="http://feeds.feedburner.com/~ff/cliffski?a=FlapQ6fQ_Fc:VruLQ62oavk:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/cliffski?d=yIl2AUoC8zA" border="0"></img></a>
  29. </div><img src="http://feeds.feedburner.com/~r/cliffski/~4/FlapQ6fQ_Fc" height="1" width="1" alt=""/>]]></content:encoded>
  30. <wfw:commentRss>https://www.positech.co.uk/cliffsblog/2020/05/24/new-developer-video-variable-sliders/feed/</wfw:commentRss>
  31. <slash:comments>0</slash:comments>
  32. <feedburner:origLink>https://www.positech.co.uk/cliffsblog/2020/05/24/new-developer-video-variable-sliders/</feedburner:origLink></item>
  33. <item>
  34. <title>Real World Numbers in Democracy 4</title>
  35. <link>http://feedproxy.google.com/~r/cliffski/~3/a2lGLBqHDx0/</link>
  36. <comments>https://www.positech.co.uk/cliffsblog/2020/05/23/real-world-numbers-in-democracy-4/#comments</comments>
  37. <dc:creator><![CDATA[cliffski]]></dc:creator>
  38. <pubDate>Sat, 23 May 2020 14:18:54 +0000</pubDate>
  39. <category><![CDATA[democracy 4]]></category>
  40. <category><![CDATA[game design]]></category>
  41. <guid isPermaLink="false">https://www.positech.co.uk/cliffsblog/?p=5783</guid>
  42.  
  43. <description><![CDATA[I took some time over the last few days to go through some real world numbers on stuff (specifically government income and spending) and apply them to Democracy 4. The base country for the game, like with earlier versions, is the UK, and we then edit the data and scripts to better represent other countries <a href="https://www.positech.co.uk/cliffsblog/2020/05/23/real-world-numbers-in-democracy-4/">[...]</a>]]></description>
  44. <content:encoded><![CDATA[
  45. <p>I took some time over the last few days to go through some real world numbers on stuff (specifically government income and spending) and apply them to <a href="https://www.positech.co.uk/democracy4">Democracy 4</a>. The base country for the game, like with earlier versions, is the UK, and we then edit the data and scripts to better represent other countries as we add them.</p>
  46.  
  47.  
  48.  
  49. <p>Its been about five years since Democracy 3, and a lot has changed, so I wanted to make sure the starting scenario for the UK in Democracy 4 was vaguely realistic. We cannot ever be 100% realistic, because the model is obviously a simulation, and one that has to be fun, plus the starting date of the game is left deliberately ambiguous.</p>
  50.  
  51.  
  52.  
  53. <p>Also&#8230; we are not starting every country in the middle of a global pandemic, as that would seem super hard, and also fix the game in time in peoples minds. We DO have a virus outbreak event that is quite severe, but may have to introduce an even more severe global event at some point. Anyway&#8230;</p>
  54.  
  55.  
  56.  
  57. <p>I had to make some noticeable changes to the amount that certain things cost in the game. I was amusingly almost spot-on with the cost of the BBC, but the cost of some things like disability benefit, and the NHS in general (State Health Service) were almost comically low. Also. OMG national insurance (payroll tax) brings in a lot of money. I found a great source for this stuff here: <a href="https://www.ukpublicspending.co.uk/">https://www.ukpublicspending.co.uk/</a> Here are some charts:</p>
  58.  
  59.  
  60.  
  61. <div class="wp-block-image"><figure class="aligncenter size-large"><img src="https://www.positech.co.uk/cliffsblog/wp-content/uploads/2020/05/image-1.png" alt="" class="wp-image-5784" srcset="https://www.positech.co.uk/cliffsblog/wp-content/uploads/2020/05/image-1.png 555w, https://www.positech.co.uk/cliffsblog/wp-content/uploads/2020/05/image-1-317x139.png 317w" sizes="(max-width: 555px) 100vw, 555px" /></figure></div>
  62.  
  63.  
  64.  
  65. <p>In this chart the first thing that leaps out at me is &#8216;other&#8217;. 14% of spending! that is a big lump of money going somewhere nebulous. Here ius the breakdown:</p>
  66.  
  67.  
  68.  
  69. <div class="wp-block-image"><figure class="aligncenter size-large"><img src="https://www.positech.co.uk/cliffsblog/wp-content/uploads/2020/05/image-2.png" alt="" class="wp-image-5785" srcset="https://www.positech.co.uk/cliffsblog/wp-content/uploads/2020/05/image-2.png 692w, https://www.positech.co.uk/cliffsblog/wp-content/uploads/2020/05/image-2-680x545.png 680w, https://www.positech.co.uk/cliffsblog/wp-content/uploads/2020/05/image-2-317x254.png 317w" sizes="(max-width: 692px) 100vw, 692px" /></figure></div>
  70.  
  71.  
  72.  
  73. <p>Which just goes to show there is clearly a LOT of government spending on tiny, tiny things. Democracy 4 doesn&#8217;t really have a &#8216;fisheries&#8217; department costing anything, or street lighting, but I guess eventually all those little thingsd add up.</p>
  74.  
  75.  
  76.  
  77. <p>The next big scary thing is that 6% of government spending on interest. This is us paying interest on our UK government debt. Some interesting charts:</p>
  78.  
  79.  
  80.  
  81. <div class="wp-block-image"><figure class="aligncenter size-large"><img src="https://www.positech.co.uk/cliffsblog/wp-content/uploads/2020/05/image-3.png" alt="" class="wp-image-5786" srcset="https://www.positech.co.uk/cliffsblog/wp-content/uploads/2020/05/image-3.png 573w, https://www.positech.co.uk/cliffsblog/wp-content/uploads/2020/05/image-3-317x220.png 317w" sizes="(max-width: 573px) 100vw, 573px" /></figure></div>
  82.  
  83.  
  84.  
  85. <p>My immediate response to such a chart is &#8216;yikes&#8217;. People often look at debt to GDP, but if government spending as a chunk of GDP is low (heavily capitalist), the debt/GDP can be low while interest/public spending is massively high. I would suggest that the best metric to look at is interest payments / public spending because this is the opportunity cost of debt, in other words, all the stuff you could be funding if you didn&#8217;t have to pay interest on debt. Right now we pay 6%, the same as the defence budget. Just for fun, here is the interest / GDP chart anyway&#8230;</p>
  86.  
  87.  
  88.  
  89. <div class="wp-block-image"><figure class="aligncenter size-large"><img src="https://www.positech.co.uk/cliffsblog/wp-content/uploads/2020/05/image-4.png" alt="" class="wp-image-5787" srcset="https://www.positech.co.uk/cliffsblog/wp-content/uploads/2020/05/image-4.png 551w, https://www.positech.co.uk/cliffsblog/wp-content/uploads/2020/05/image-4-317x265.png 317w" sizes="(max-width: 551px) 100vw, 551px" /></figure></div>
  90.  
  91.  
  92.  
  93. <p>Of course we live in times with stupidly low interest rates, although that varies massively by country.</p>
  94.  
  95.  
  96.  
  97. <p>Some economists say as a general rule that countries default (which is economically speaking REALLY BAD) when interest/GDP reaches 12%. If our current interest is 6%, then we need a simple doubling of the interest rate to hit that (assuming we balance the budget tomorrow and stop adding to the debt&#8230;)</p>
  98.  
  99.  
  100.  
  101. <p>Democracy 4 does not have an option to default on debt, mostly because that seems unthinkable for the USA, UK, Germany, France and other countries we will likely include. But maybe we should? Anyway&#8230;.lets move on to look at where government income comes from&#8230;</p>
  102.  
  103.  
  104.  
  105. <div class="wp-block-image"><figure class="aligncenter size-large"><img src="https://www.positech.co.uk/cliffsblog/wp-content/uploads/2020/05/image-5.png" alt="" class="wp-image-5788" srcset="https://www.positech.co.uk/cliffsblog/wp-content/uploads/2020/05/image-5.png 625w, https://www.positech.co.uk/cliffsblog/wp-content/uploads/2020/05/image-5-317x125.png 317w" sizes="(max-width: 625px) 100vw, 625px" /></figure></div>
  106.  
  107.  
  108.  
  109. <p>I guess the big surprise here is how tiny the business taxes are. The Uk has fairly low taxes on companies (19%), but then we do not have the more generous and complex system of rebates and exclusions a lot of other countries have. Positech is a company, and we pay a simple 19% of our profits, with the only complication being if we get to claim video games tax relief on some portion of our expenses. We don&#8217;t qualify for anything else.</p>
  110.  
  111.  
  112.  
  113. <p>Indirect taxes are surprisingly large. I find the breakdown on that site to be pretty crap, so wen to the independent &#8216;office for budget responsibility&#8217; and got this instead:</p>
  114.  
  115.  
  116.  
  117. <figure class="wp-block-table is-style-stripes"><table class="has-subtle-pale-green-background-color has-background"><tbody><tr><td></td><td></td><td>2019-20</td><td>Percentage</td></tr><tr><td>Income tax1</td><td></td><td>195.2</td><td>24.40%</td></tr><tr><td>of which:&nbsp;</td><td>Pay as you earn</td><td>163.2</td><td>20.40%</td></tr><tr><td></td><td>Self assessment</td><td>32.8</td><td>4.10%</td></tr><tr><td>National insurance contributions</td><td></td><td>140.6</td><td>17.57%</td></tr><tr><td>Value added tax</td><td></td><td>134.6</td><td>16.82%</td></tr><tr><td>Corporation tax2</td><td></td><td>56.7</td><td>7.09%</td></tr><tr><td>of which:&nbsp;</td><td>Onshore</td><td>55.3</td><td>6.91%</td></tr><tr><td></td><td>Offshore</td><td>1.4</td><td>0.17%</td></tr><tr><td>Petroleum revenue tax</td><td></td><td>-0.6</td><td>-0.07%</td></tr><tr><td>Fuel duties</td><td></td><td>28.9</td><td>3.61%</td></tr><tr><td>Business rates</td><td></td><td>31.6</td><td>3.95%</td></tr><tr><td>Council tax</td><td></td><td>35.8</td><td>4.47%</td></tr><tr><td>VAT refunds</td><td></td><td>14.5</td><td>1.81%</td></tr><tr><td>Capital gains tax</td><td></td><td>9</td><td>1.12%</td></tr><tr><td>Inheritance tax</td><td></td><td>5.6</td><td>0.70%</td></tr><tr><td>Stamp duty land tax3</td><td></td><td>13.4</td><td>1.67%</td></tr><tr><td>Stamp taxes on shares</td><td></td><td>3.6</td><td>0.45%</td></tr><tr><td>Tobacco duties</td><td></td><td>9</td><td>1.12%</td></tr><tr><td>Spirits duties</td><td></td><td>3.6</td><td>0.45%</td></tr><tr><td>Wine duties</td><td></td><td>4.4</td><td>0.55%</td></tr><tr><td>Beer and cider duties</td><td></td><td>3.8</td><td>0.47%</td></tr><tr><td>Air passenger duty</td><td></td><td>3.7</td><td>0.46%</td></tr><tr><td>Insurance premium tax</td><td></td><td>6.1</td><td>0.76%</td></tr><tr><td>Climate change levy</td><td></td><td>2.2</td><td>0.27%</td></tr><tr><td>Other HMRC taxes4</td><td></td><td>7.5</td><td>0.94%</td></tr><tr><td>Vehicle excise duties</td><td></td><td>6.3</td><td>0.79%</td></tr><tr><td>Bank levy</td><td></td><td>2.1</td><td>0.26%</td></tr><tr><td>Bank surcharge</td><td></td><td>1.8</td><td>0.22%</td></tr><tr><td>Apprenticeship levy</td><td></td><td>2.7</td><td>0.34%</td></tr><tr><td>Licence fee receipts</td><td></td><td>3.3</td><td>0.41%</td></tr><tr><td>Environmental levies</td><td></td><td>11.7</td><td>1.46%</td></tr><tr><td>EU ETS auction receipts</td><td></td><td>0.7</td><td>0.09%</td></tr><tr><td>Scottish and Welsh taxes5</td><td></td><td>1</td><td>0.12%</td></tr><tr><td>Diverted profits tax</td><td></td><td>0.3</td><td>0.04%</td></tr><tr><td>Soft drinks industry levy</td><td></td><td>0.2</td><td>0.02%</td></tr><tr><td>Other taxes</td><td></td><td>6.9</td><td>0.86%</td></tr><tr><td>National Accounts taxes</td><td></td><td>746.2</td><td>93.26%</td></tr><tr><td>Less own resources contribution to EU</td><td></td><td>-3.4</td><td>-0.42%</td></tr><tr><td>Interest and dividends</td><td></td><td>10.3</td><td>1.29%</td></tr><tr><td>Gross operating surplus</td><td></td><td>43.7</td><td>5.46%</td></tr><tr><td>Other receipts</td><td></td><td>3.2</td><td>0.40%</td></tr><tr><td>Current receipts</td><td></td><td>800.1</td><td></td></tr></tbody></table></figure>
  118.  
  119.  
  120.  
  121. <p>&#8230;which goes to show some very interesting stuff. Mostly&#8230;UK tax revenue comes from Employees, Payroll tax, Sales tax and a bit of Corporation tax, fuel duty and business rates. The rest is just the remaining quarter.</p>
  122.  
  123.  
  124.  
  125. <p>So a diverted profits tax (basically the google tax) brings in virtually nothing (0.04%) compared to corporation tax as a whole at 7.09%. It looks like I should be tweaking some of the policies in Democracy 4 a lot. </p>
  126.  
  127.  
  128.  
  129. <div class="wp-block-image"><figure class="aligncenter size-large"><img src="https://www.positech.co.uk/cliffsblog/wp-content/uploads/2020/05/image-6-1024x532.png" alt="" class="wp-image-5790" srcset="https://www.positech.co.uk/cliffsblog/wp-content/uploads/2020/05/image-6-1024x532.png 1024w, https://www.positech.co.uk/cliffsblog/wp-content/uploads/2020/05/image-6-680x353.png 680w, https://www.positech.co.uk/cliffsblog/wp-content/uploads/2020/05/image-6-768x399.png 768w, https://www.positech.co.uk/cliffsblog/wp-content/uploads/2020/05/image-6-317x165.png 317w, https://www.positech.co.uk/cliffsblog/wp-content/uploads/2020/05/image-6.png 1517w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure></div>
  130.  
  131.  
  132.  
  133. <p>For example right now UK payroll taxes in the game have a max input of only 25% of income tax, they should be 75%! Tobacco and wine taxes should bring in less than they do, and air passenger duty (airline tax) should bring in MUCH less. Also, maybe I need the UK to start off with a few of these policies already in place but super low. For example, we *do* have a pathetic diverted profits tax and a laughably low level of environmental levies&#8230;which is sort of a carbon tax. maybe these need to be implemented but at 1%?</p>
  134.  
  135.  
  136.  
  137. <p>Anyway, I guess the interesting point is that most of us voting citizens who claim to be aware of the world have ABSOLUTELY NO IDEA how much the government owes in debt, what it spends, and where it gets its money.  In a pop quiz would you KNOW that (in order) the top 3 sources of UK government revenue is Income tax, National Insurance and VAT? Would you guess that the amount of money we raise each year in corporate taxes is only slightly higher than we pay out in debt interest? (56 vs 52 billion).</p>
  138.  
  139.  
  140.  
  141. <p>I find this stuff interesting, and despair at how badly our press does the job of educating us. We need more stats, more pie charts, more line charts, more numbers, and less pontificating about what an MP said on twitter today.</p>
  142.  
  143.  
  144.  
  145. <p>Maybe <a href="https://www.positech.co.uk/democracy4">Democracy 4</a> can help focus peoples minds of the actual numbers behind politics?</p>
  146. <div class="feedflare">
  147. <a href="http://feeds.feedburner.com/~ff/cliffski?a=a2lGLBqHDx0:r2159YxASOY:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/cliffski?d=yIl2AUoC8zA" border="0"></img></a>
  148. </div><img src="http://feeds.feedburner.com/~r/cliffski/~4/a2lGLBqHDx0" height="1" width="1" alt=""/>]]></content:encoded>
  149. <wfw:commentRss>https://www.positech.co.uk/cliffsblog/2020/05/23/real-world-numbers-in-democracy-4/feed/</wfw:commentRss>
  150. <slash:comments>2</slash:comments>
  151. <feedburner:origLink>https://www.positech.co.uk/cliffsblog/2020/05/23/real-world-numbers-in-democracy-4/</feedburner:origLink></item>
  152. <item>
  153. <title>Coding vs Software Engineering</title>
  154. <link>http://feedproxy.google.com/~r/cliffski/~3/RFz4DjV2m7U/</link>
  155. <comments>https://www.positech.co.uk/cliffsblog/2020/05/16/coding-vs-software-engineering/#comments</comments>
  156. <dc:creator><![CDATA[cliffski]]></dc:creator>
  157. <pubDate>Sat, 16 May 2020 14:34:01 +0000</pubDate>
  158. <category><![CDATA[programming]]></category>
  159. <guid isPermaLink="false">https://www.positech.co.uk/cliffsblog/?p=5774</guid>
  160.  
  161. <description><![CDATA[This is a topic I feel strongly about, but at the same time I am very aware that its very difficult to get across in text, because its not something you can really illustrate with a single line of code, or a witty cartoon or a small diagram, so I may go on a bit <a href="https://www.positech.co.uk/cliffsblog/2020/05/16/coding-vs-software-engineering/">[...]</a>]]></description>
  162. <content:encoded><![CDATA[
  163. <p>This is a topic I feel strongly about, but at the same time I am very aware that its very difficult to get across in text, because its not something you can really illustrate with a single line of code, or a witty cartoon or a small diagram, so I may go on a bit here&#8230;</p>
  164.  
  165.  
  166.  
  167. <p>I have been looking at code *not written by me*, and also talking to friends learning some new stuff who are also working with other peoples code, and have been reading a book on this topic, so my head is full of opinions on the topic of coding versus software engineering. let me first explain the difference.</p>
  168.  
  169.  
  170.  
  171. <p>&#8216;Coding&#8217; is the skill of understanding syntax and principles of how programming works, and slapping together a bunch of code that makes something happen. This is not *that hard*, and in fact yes, you can buy totally serious books that claim to teach you C or C++ in 21 days or less, which is laughable&#8230;but yes it does allow you to write code that compiles without errors and does the thing you want it to do.</p>
  172.  
  173.  
  174.  
  175. <p>&#8216;Software Engineering&#8217; is like coding, but much much HARDER. Mostly its about the scalability and long term usability of what you code. Code may &#8216;work&#8217; in the same way that replacing a key component of an old car with a coat-hanger or a piece of string may *work*, but its likely going to go wrong at some point, nobody else will understand what it is or how it works, and when you try to scale it up, everything may completely fall to bits.</p>
  176.  
  177.  
  178.  
  179. <p>Software engineering is a pain because the best way to really get good at it is probably just experience of writing very large programs again and again and again, with different people, on different platforms, with different requirements, and having people criticize your code, or finding bugs in it, or having to revisit it five or ten years later to fix stuff.</p>
  180.  
  181.  
  182.  
  183. <figure class="wp-block-image size-large"><img src="https://www.positech.co.uk/cliffsblog/wp-content/uploads/2020/05/13coaqs0ss341.jpg" alt="" class="wp-image-5775" srcset="https://www.positech.co.uk/cliffsblog/wp-content/uploads/2020/05/13coaqs0ss341.jpg 640w, https://www.positech.co.uk/cliffsblog/wp-content/uploads/2020/05/13coaqs0ss341-317x142.jpg 317w" sizes="(max-width: 640px) 100vw, 640px" /></figure>
  184.  
  185.  
  186.  
  187. <p>The problem is that to 99% of people, and even 95% of coders, the difference between coding and software engineering is actually REALLY hard to spot. because many coders are managed (especially in the games industry) by non-coders, they aren&#8217;t even encouraged to get good at software engineering, because frankly the boss doesn&#8217;t know what it is.</p>
  188.  
  189.  
  190.  
  191. <p>When you are working as a coder, in crunch, at a game studio with deadlines, generally speaking the boss wants result X by date Y. The big problem is that result X is really shoddily defined. If &#8216;compiles and runs and the QA team couldn&#8217;t make it crash&#8217; is the criteria, then LOL, yeah done easily mate. Unfortunately anything beyond that level of skill goes unrewarded, because its REALLY hard to spot.</p>
  192.  
  193.  
  194.  
  195. <p>Luckily I&#8217;ve worked for some very clever coders. My first coding boss (at elixir) was <a href="https://en.wikipedia.org/wiki/David_Silver_(computer_scientist)">Dave Silver</a>, who is now a mega-celeb in the world of AI at DeepMind. My second coding boss was James Brown (Lionhead), who now spends his time <a href="https://twitter.com/ancient_james/status/1248868155931234304">replicating conways game of life using lego</a> for some reason. Both of them were very clever, and I&#8217;m a better coder for working under them. I learned a lot from them, not about *code* (which you can get from a book) but about software engineering.</p>
  196.  
  197.  
  198.  
  199. <p>If you haven&#8217;t already read &#8216;<a href="https://www.amazon.co.uk/Code-Complete-Practical-Handbook-Construction/dp/0735619670">Code Complete</a>&#8216; I really recommend that you do. Its excellent and is probably step one on the path to this stuff. The next things you should do are to work on a BIG project with other coders, and also work on the complete &#8216;project lifecycle&#8217;. This means, you start off with nothing, and finish when the project has shipped, and gone through multiple updates, ports and patches. Only then do you really know if the architecture choices you made at the start are correct.</p>
  200.  
  201.  
  202.  
  203. <p>A fairly simple blog-post style tip on this stuff concerns feature/syntax use and what I call the &#8216;gunslinger&#8217; attitude. Take this line of C++:</p>
  204.  
  205.  
  206.  
  207. <pre class="wp-block-code"><code>X = X +1</code></pre>
  208.  
  209.  
  210.  
  211. <p>Pretty much anyone (coder or not) can tell you that this adds 1 to the value of X. You can also write this</p>
  212.  
  213.  
  214.  
  215. <pre class="wp-block-code"><code>X += 1</code></pre>
  216.  
  217.  
  218.  
  219. <p>Which does the same thing actually, and theoretically is very very very slightly faster because X is only evaluated once. However, its dark times indeed if in 2020 we cant expect a compiler to realize this and do that sort of thing for us.. Lets get a bit more vague&#8230;</p>
  220.  
  221.  
  222.  
  223. <pre class="wp-block-code"><code>float fInitA = InitA > 0 ? ( float )InitA : 1.f;</code></pre>
  224.  
  225.  
  226.  
  227. <p>WTF? Now I am a C++ coder, so I can understand this&#8230; but I have to actually engage my brain to do so, which slows me down. Its not immediately intuitive to my half-asleep brain exactly whats going on here and&#8230; It really does not have to be written this way. You can just do this:</p>
  228.  
  229.  
  230.  
  231. <pre class="wp-block-code"><code>float fInitA = (float)InitA;
  232. if(InitA &lt; 0)
  233. {
  234.  fInitA = 1.f;
  235. }</code></pre>
  236.  
  237.  
  238.  
  239. <p>And OH MY GOD THE HORROR, its 5 lines of code instead of one. My god. What a n00b. Obviously this idiot doesn&#8217;t know about the C++ ternary operator and its syntax. The fool!</p>
  240.  
  241.  
  242.  
  243. <p>And yet its actually readable, and much easier to debug because its multiple lines allowing for breakpoints. The longer simpler version here is much BETTER code. And thats generally IMHO a principle that you can stick with. The trouble is, some coders adopt a &#8216;gunslinger&#8217; attitude where they are presumably living out dreams of alpha-male dominance through writing the most complex obfuscated mess imaginable. Believe it or not your job as a coder is to write CLEAR and MAINTAINABLE code. You do not get fined for every line you use, and you do not earn points for confusing the people working with you.</p>
  244.  
  245.  
  246.  
  247. <figure class="wp-block-image size-large"><img src="https://www.positech.co.uk/cliffsblog/wp-content/uploads/2020/05/legacy.jpg" alt="" class="wp-image-5776" srcset="https://www.positech.co.uk/cliffsblog/wp-content/uploads/2020/05/legacy.jpg 640w, https://www.positech.co.uk/cliffsblog/wp-content/uploads/2020/05/legacy-317x99.jpg 317w" sizes="(max-width: 640px) 100vw, 640px" /></figure>
  248.  
  249.  
  250.  
  251. <p>There is a very &#8216;macho&#8217; culture in programming, built around showing off, and using obscure stuff that you just learned. This is nuts. Just because you learn how to use a certain feature/function/syntax does not mean you HAVE to use it everywhere.  I&#8217;ve worked with coders like this. Its a nightmare.</p>
  252.  
  253.  
  254.  
  255. <p>Its a worthy goal to write code that someone who isn&#8217;t even a programmer can look at and go &#8220;errr&#8230; I think I can see what you are doing here.&#8221;. This is because really GOOD code is code that can be understood by someone you have never met, five years later when a bug has been found and they need to work out if its in that function or not. If you are writing a tiny program thats only 1,000 lines of code and nobody else will ever see it, and you will never edit it then&#8230;ok maybe you can hack it together, but a proper software engineer always writes code that can be maintained.</p>
  256.  
  257.  
  258.  
  259. <p>Programming is a HUGE topic, and to get good at it, to get REALLY good at it takes an entire lifetime. I started coding aged 11, which is 39 years ago. I think I&#8217;m pretty good at C++ now, but not an expert, and its the only language I&#8217;m comfortable with. The internet and its many youtube vids and forums have spawned an attitude that you can learn to code one summer, or during lockdown, and&#8230;yeah not really. You can learn to hack stuff together by copying and pasting from stackoverflow&#8230;but thats really not proper software engineering.</p>
  260.  
  261.  
  262.  
  263. <p>Its worth saying I&#8217;m not exactly at the end of the journey myself yet either. The code for Democracy 4 is *not perfect* by any means. Some bits are hacky, there were some fundamental design decisions I made about 15 years ago with the basis of my GUI library that are embarrassing but still there (of COURSE buttons should be a subclass of window you idiot!), but overall my code gets better with each game.</p>
  264.  
  265.  
  266.  
  267. <figure class="wp-block-image size-large"><img src="https://www.positech.co.uk/cliffsblog/wp-content/uploads/2020/05/cat.jpg" alt="" class="wp-image-5777" srcset="https://www.positech.co.uk/cliffsblog/wp-content/uploads/2020/05/cat.jpg 640w, https://www.positech.co.uk/cliffsblog/wp-content/uploads/2020/05/cat-317x211.jpg 317w" sizes="(max-width: 640px) 100vw, 640px" /></figure>
  268.  
  269.  
  270.  
  271. <p>I coded about 5 games before I realized that having a decent separation and naming convention to keep GUI and Simulation code entirely separate was a worthy thing! I probably coded 8 games before I had a rock-solid translation-management system that meant not a single line of text exists in code. It took me maybe 10 games to get threading to work safely, and maybe another 2 until I had a rock-solid and highly-optimized multi-threading system. I didn&#8217;t really start to use the power of macros for about 10 games. I&#8217;ve only just (in the last 2 games) really got my code for setting up configurable color palates to be usable.</p>
  272.  
  273.  
  274.  
  275. <p>I had most of the technical knowledge to do all of that stuff about 15 years ago, but to do it *well* and to know how to arrange things, and to set them up to be re-usable, optimized, stable, and readable&#8230; thats what those extra fifteen years were spent doing.</p>
  276.  
  277.  
  278.  
  279. <p>The VAST majority of comments you read online about programming, especially games programming are written by coders, not software engineers. They suffer a lot from the delusion that they have mastered code, because (as is natural) they don&#8217;t know what they don&#8217;t know. Its REALLY hard from a distance to spot the software engineers from the coders, but in my experience the amount of time they have been in the industry, and the number of large completed projects is a really good sign.</p>
  280.  
  281.  
  282.  
  283. <p>A final way of spotting the difference: If a lot of someones code has been copied and pasted from stackoverflow or pastebin then&#8230; yeah. Thats not a software engineer.</p>
  284. <div class="feedflare">
  285. <a href="http://feeds.feedburner.com/~ff/cliffski?a=RFz4DjV2m7U:jzH3u5li17M:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/cliffski?d=yIl2AUoC8zA" border="0"></img></a>
  286. </div><img src="http://feeds.feedburner.com/~r/cliffski/~4/RFz4DjV2m7U" height="1" width="1" alt=""/>]]></content:encoded>
  287. <wfw:commentRss>https://www.positech.co.uk/cliffsblog/2020/05/16/coding-vs-software-engineering/feed/</wfw:commentRss>
  288. <slash:comments>12</slash:comments>
  289. <feedburner:origLink>https://www.positech.co.uk/cliffsblog/2020/05/16/coding-vs-software-engineering/</feedburner:origLink></item>
  290. <item>
  291. <title>Democracy 4: Variable slider costs…</title>
  292. <link>http://feedproxy.google.com/~r/cliffski/~3/dYyx95sdMPE/</link>
  293. <comments>https://www.positech.co.uk/cliffsblog/2020/05/14/democracy-4-variable-slider-costs/#comments</comments>
  294. <dc:creator><![CDATA[cliffski]]></dc:creator>
  295. <pubDate>Thu, 14 May 2020 15:46:31 +0000</pubDate>
  296. <category><![CDATA[democracy 4]]></category>
  297. <category><![CDATA[game design]]></category>
  298. <guid isPermaLink="false">https://www.positech.co.uk/cliffsblog/?p=5771</guid>
  299.  
  300. <description><![CDATA[An experiment for Democracy 4. The game now differentiates between &#60;10%, &#60;25% and larger policy slider moves with differing political capital amounts, indicated on the slider by red/green if achievable right now. Very happy with this :D. #smallerchangesareeasier It makes sense that a 5% tweak to income tax (just an example) is easier to get <a href="https://www.positech.co.uk/cliffsblog/2020/05/14/democracy-4-variable-slider-costs/">[...]</a>]]></description>
  301. <content:encoded><![CDATA[
  302. <p>An experiment for <a href="https://wwww.positech.co.uk/democracy4">Democracy 4</a>. The game now differentiates between &lt;10%, &lt;25% and larger policy slider moves with differing political capital amounts, indicated on the slider by red/green if achievable right now. Very happy with this :D. #smallerchangesareeasier</p>
  303.  
  304.  
  305.  
  306. <figure class="wp-block-image size-large"><img src="https://www.positech.co.uk/cliffsblog/wp-content/uploads/2020/05/sliders-1024x738.png" alt="" class="wp-image-5772" srcset="https://www.positech.co.uk/cliffsblog/wp-content/uploads/2020/05/sliders-1024x738.png 1024w, https://www.positech.co.uk/cliffsblog/wp-content/uploads/2020/05/sliders-680x490.png 680w, https://www.positech.co.uk/cliffsblog/wp-content/uploads/2020/05/sliders-768x553.png 768w, https://www.positech.co.uk/cliffsblog/wp-content/uploads/2020/05/sliders-317x228.png 317w, https://www.positech.co.uk/cliffsblog/wp-content/uploads/2020/05/sliders.png 1256w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
  307.  
  308.  
  309.  
  310. <p>It makes sense that a 5% tweak to income tax (just an example) is easier to get agreed than a 50% rise or cut, and it also makes people stop and think about the various positions they can put sliders on some of the smaller and less dramatic policies. I think the green/red lines surrounding the chunks on the slider are self explanatory?</p>
  311. <div class="feedflare">
  312. <a href="http://feeds.feedburner.com/~ff/cliffski?a=dYyx95sdMPE:Gist4giNIFg:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/cliffski?d=yIl2AUoC8zA" border="0"></img></a>
  313. </div><img src="http://feeds.feedburner.com/~r/cliffski/~4/dYyx95sdMPE" height="1" width="1" alt=""/>]]></content:encoded>
  314. <wfw:commentRss>https://www.positech.co.uk/cliffsblog/2020/05/14/democracy-4-variable-slider-costs/feed/</wfw:commentRss>
  315. <slash:comments>1</slash:comments>
  316. <feedburner:origLink>https://www.positech.co.uk/cliffsblog/2020/05/14/democracy-4-variable-slider-costs/</feedburner:origLink></item>
  317. <item>
  318. <title>Visualising party membership &amp; loyalty</title>
  319. <link>http://feedproxy.google.com/~r/cliffski/~3/tkPyuAG8ssA/</link>
  320. <comments>https://www.positech.co.uk/cliffsblog/2020/05/11/visualising-party-membership-loyalty/#comments</comments>
  321. <dc:creator><![CDATA[cliffski]]></dc:creator>
  322. <pubDate>Mon, 11 May 2020 17:37:31 +0000</pubDate>
  323. <category><![CDATA[democracy 4]]></category>
  324. <category><![CDATA[game design]]></category>
  325. <guid isPermaLink="false">https://www.positech.co.uk/cliffsblog/?p=5764</guid>
  326.  
  327. <description><![CDATA[Here is a screenshot from democracy 4 that I am not happy with, and I&#8217;ll explain why: This is the parties screen in a 3-party game, and shows details of each party. The data presented is members, activist (real dedicated members who help get-out the vote, and then a scatter graph showing &#8216;approval of the <a href="https://www.positech.co.uk/cliffsblog/2020/05/11/visualising-party-membership-loyalty/">[...]</a>]]></description>
  328. <content:encoded><![CDATA[
  329. <p>Here is a screenshot from democracy 4 that I am not happy with, and I&#8217;ll explain why:</p>
  330.  
  331.  
  332.  
  333. <figure class="wp-block-image size-large"><a href="https://www.positech.co.uk/cliffsblog/wp-content/uploads/2020/05/parties.png"><img src="https://www.positech.co.uk/cliffsblog/wp-content/uploads/2020/05/parties-1024x848.png" alt="" class="wp-image-5765" srcset="https://www.positech.co.uk/cliffsblog/wp-content/uploads/2020/05/parties-1024x848.png 1024w, https://www.positech.co.uk/cliffsblog/wp-content/uploads/2020/05/parties-680x563.png 680w, https://www.positech.co.uk/cliffsblog/wp-content/uploads/2020/05/parties-768x636.png 768w, https://www.positech.co.uk/cliffsblog/wp-content/uploads/2020/05/parties-317x263.png 317w, https://www.positech.co.uk/cliffsblog/wp-content/uploads/2020/05/parties.png 1119w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></figure>
  334.  
  335.  
  336.  
  337. <p>This is the parties screen in a 3-party game, and shows details of each party. The data presented is members, activist (real dedicated members who help get-out the vote, and then a scatter graph showing &#8216;approval of the party&#8217; by every voter showing how close or far away they are from becoming members.</p>
  338.  
  339.  
  340.  
  341. <p>That third chart is the one I added today, and am thinking it kinda sucks. Its supposed to help the player understand fluctuations in party membership by giving them more than the &#8216;binary&#8217; data of whether a voter is a member or not. This is because in the real world, people can be moderate members (they joined once, but don&#8217;t read the newsletter, and don&#8217;t get involved beyond just paying membership fees), right up to passionate members who become activists, hand out leaflets, attend rallies, and volunteer to help with fundraising and phone-banking.</p>
  342.  
  343.  
  344.  
  345. <p>The distinction is important, because you can have a party filled with extreme loyalists (unlikely to quit if you upset them a bit) or with moderate &#8216;soft membership&#8217;, where they are already disillusioned and the slightest policy shift will cause a collapse in membership.</p>
  346.  
  347.  
  348.  
  349. <p>BTW party membership matters because membership raise funds (used in campaigning), and members ALWAYS vote, regardless of usual turnout figures.</p>
  350.  
  351.  
  352.  
  353. <p>The problem is, I don&#8217;t think those charts make much sense to anybody who didn&#8217;t code the game&#8230; They shows party &#8216;approval&#8217; on the Y axis (the X axis is random plotting), and approval depends on how close the voters opinions are to the parties position, and how close it has been over a period of time. This is complex and vague.</p>
  354.  
  355.  
  356.  
  357. <p>I think I might replace it with a single, taller graph that works differently and shows the range of approvals from zero (I HATE the government) to 1 (I LOVE the government), and plots everyone on that axis. We already have that (in a different axis) for the popularity analysis on the &#8216;everyone&#8217; screen:</p>
  358.  
  359.  
  360.  
  361. <figure class="wp-block-image size-large"><a href="https://www.positech.co.uk/cliffsblog/wp-content/uploads/2020/05/image.png"><img src="https://www.positech.co.uk/cliffsblog/wp-content/uploads/2020/05/image.png" alt="" class="wp-image-5766" srcset="https://www.positech.co.uk/cliffsblog/wp-content/uploads/2020/05/image.png 973w, https://www.positech.co.uk/cliffsblog/wp-content/uploads/2020/05/image-680x354.png 680w, https://www.positech.co.uk/cliffsblog/wp-content/uploads/2020/05/image-768x400.png 768w, https://www.positech.co.uk/cliffsblog/wp-content/uploads/2020/05/image-317x165.png 317w" sizes="(max-width: 973px) 100vw, 973px" /></a></figure>
  362.  
  363.  
  364.  
  365. <p>So I can do that but tilted anticlockwise 90 degrees. How does this help? Here is my magic idea:</p>
  366.  
  367.  
  368.  
  369. <p>I give each party a color (green, red blue) and I use those 3 colors to colorize the dots for each voter, showing how close they are to each parties platform. Voters who are members get colorised, others just get plotted in grey. I think this will work tons better, and it will make more sense&#8230; maybe. I&#8217;ll try it and post it tomorrow.</p>
  370.  
  371.  
  372.  
  373. <p>Ok&#8230;I couldnt stop and eat until i tried it. I think its better (needs some formatting tweaks)&#8230; thoughts&#8230;?</p>
  374.  
  375.  
  376.  
  377. <figure class="wp-block-image size-large"><a href="https://www.positech.co.uk/cliffsblog/wp-content/uploads/2020/05/better.png"><img src="https://www.positech.co.uk/cliffsblog/wp-content/uploads/2020/05/better-1024x846.png" alt="" class="wp-image-5769" srcset="https://www.positech.co.uk/cliffsblog/wp-content/uploads/2020/05/better-1024x846.png 1024w, https://www.positech.co.uk/cliffsblog/wp-content/uploads/2020/05/better-680x562.png 680w, https://www.positech.co.uk/cliffsblog/wp-content/uploads/2020/05/better-768x634.png 768w, https://www.positech.co.uk/cliffsblog/wp-content/uploads/2020/05/better-317x262.png 317w, https://www.positech.co.uk/cliffsblog/wp-content/uploads/2020/05/better.png 1126w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></figure>
  378. <div class="feedflare">
  379. <a href="http://feeds.feedburner.com/~ff/cliffski?a=tkPyuAG8ssA:PsrbFiCIqkw:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/cliffski?d=yIl2AUoC8zA" border="0"></img></a>
  380. </div><img src="http://feeds.feedburner.com/~r/cliffski/~4/tkPyuAG8ssA" height="1" width="1" alt=""/>]]></content:encoded>
  381. <wfw:commentRss>https://www.positech.co.uk/cliffsblog/2020/05/11/visualising-party-membership-loyalty/feed/</wfw:commentRss>
  382. <slash:comments>8</slash:comments>
  383. <feedburner:origLink>https://www.positech.co.uk/cliffsblog/2020/05/11/visualising-party-membership-loyalty/</feedburner:origLink></item>
  384. <item>
  385. <title>New Developer video for Democracy 4: Activism!</title>
  386. <link>http://feedproxy.google.com/~r/cliffski/~3/ixFc9EkjUnY/</link>
  387. <comments>https://www.positech.co.uk/cliffsblog/2020/05/10/new-developer-video-for-democracy-4-activism/#comments</comments>
  388. <dc:creator><![CDATA[cliffski]]></dc:creator>
  389. <pubDate>Sun, 10 May 2020 11:38:25 +0000</pubDate>
  390. <category><![CDATA[democracy 4]]></category>
  391. <guid isPermaLink="false">https://www.positech.co.uk/cliffsblog/?p=5760</guid>
  392.  
  393. <description />
  394. <content:encoded><![CDATA[
  395. <pre class="wp-block-preformatted"><iframe title="Democracy 4 Developer Blog #12: Activism" width="690" height="388" src="https://www.youtube.com/embed/YUMaDOiOoCg?feature=oembed" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe> </pre>
  396.  
  397.  
  398.  
  399. <p></p>
  400. <div class="feedflare">
  401. <a href="http://feeds.feedburner.com/~ff/cliffski?a=ixFc9EkjUnY:bmlivppgyXo:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/cliffski?d=yIl2AUoC8zA" border="0"></img></a>
  402. </div><img src="http://feeds.feedburner.com/~r/cliffski/~4/ixFc9EkjUnY" height="1" width="1" alt=""/>]]></content:encoded>
  403. <wfw:commentRss>https://www.positech.co.uk/cliffsblog/2020/05/10/new-developer-video-for-democracy-4-activism/feed/</wfw:commentRss>
  404. <slash:comments>1</slash:comments>
  405. <feedburner:origLink>https://www.positech.co.uk/cliffsblog/2020/05/10/new-developer-video-for-democracy-4-activism/</feedburner:origLink></item>
  406. <item>
  407. <title>On social media…</title>
  408. <link>http://feedproxy.google.com/~r/cliffski/~3/BVFin-ZHAPc/</link>
  409. <comments>https://www.positech.co.uk/cliffsblog/2020/05/03/on-social-media/#comments</comments>
  410. <dc:creator><![CDATA[cliffski]]></dc:creator>
  411. <pubDate>Sun, 03 May 2020 15:08:18 +0000</pubDate>
  412. <category><![CDATA[personal development]]></category>
  413. <guid isPermaLink="false">https://www.positech.co.uk/cliffsblog/?p=5755</guid>
  414.  
  415. <description><![CDATA[Social media is awful. Not exactly news, but something I&#8217;ve been mulling over a lot lately. I&#8217;m old enough, and techy enough to remember the very early days of the internet, where you dialed in with a 28k modem and paid by the minute to be online. In many ways the experience sucked, slow downloads <a href="https://www.positech.co.uk/cliffsblog/2020/05/03/on-social-media/">[...]</a>]]></description>
  416. <content:encoded><![CDATA[
  417. <p>Social media is awful.</p>
  418.  
  419.  
  420.  
  421. <p>Not exactly news, but something I&#8217;ve been mulling over a lot lately. I&#8217;m old enough, and techy enough to remember the very early days of the internet, where you dialed in with a 28k modem and paid by the minute to be online. In many ways the experience sucked, slow downloads (google was initially popular because its homepage loaded quickly), no possibility of video, and only real maniacs bought and sold stuff online.</p>
  422.  
  423.  
  424.  
  425. <p>But in many ways, it was much better then than now. There were few people online, and very little commercialisation, so nobody tried to monetize the net. Accessing it was slow and expensive, so encouraging people to be online all the time was impossible. There was no social media, and there was a thing called &#8216;netiquette&#8217; that people actually (mostly) took seriously.</p>
  426.  
  427.  
  428.  
  429. <p>In 2020, the internet is an absolute cesspit, bringing out the absolute worst in human behavior. Its almost impossible to enjoy surfing the web without being sucked into social media. Every site wants you to log in with your social media usernames, so you can be tracked, analyzed, categorised and above-all, monetized. Clearly at some point, someone realized that the one thing that keeps people online (and thus seeing ads) was anger. Anger is the ultimate emotion. Get people angry and they will keep posting, retweeting liking, replying, hating.</p>
  430.  
  431.  
  432.  
  433. <p>The lack of moderation on youtube, twitter, reddit, facebook is not an accident. its not penny-pinching or ineptitude or cost cutting. It is deliberate. Its trivial to have a blocklist of 1,000 most common abusive terms, and shadow ban anybody for 24 hours if they use >1 of those per day. Trivial. 5 minutes coding. no cost, easy. But that might reduce monetization, so it will never, ever happen.</p>
  434.  
  435.  
  436.  
  437. <p>I know people with 100+ word blocklists for twitter who say they still find browsing the site infuriating and abusive. This is insane. We have all got addicted to anger, fury, yelling at strangers online. It affects all our mental health, and achieves nothing. How many people&#8217;s opinions are changed by twitter hashtags? if it was &gt;0 Bernie Sanders would be president and Jeremy Corbyn would be prime minister.</p>
  438.  
  439.  
  440.  
  441. <p>The weirdest thing is I have found it affecting my own thinking in a stupid and unproductive way. Not only do I sometimes see something or do something that makes me think &#8216;ooh! this would make a great tweet&#8217;, instead of just enjoying/laughing at it, I actually feel a real *pull* now to &#8216;engage&#8217; on social media.</p>
  442.  
  443.  
  444.  
  445. <p>A few nights ago I watched a fairly good(ish) thriller movie. Last night I rewatched The Rise of Skywalker. I could tell you what I thought about both of them if you like&#8230; but honestly why do you care? There are professional movie reviewers out there. I&#8217;ve almost forgotten what its like to read an article/listen to music/watch some TV and NOT tell the whole world what was good/bad/interesting/silly about it. Look at me! I watched a TV show, here is my HOT TAKE that you all NEED right now. How bad does it get? I ate a sausage roll this lunchtime. it was &#8216;meh&#8217;. OMG HOLD THE FUCKING FRONT PAGE.</p>
  446.  
  447.  
  448.  
  449. <p>In some ways, this is harmless, but in others its just a massive waste of human potential. How much time in my life has been wasted reading random stranger&#8217;s hot takes on the new X men movie, or hearing what they think of Socialism/Superhero movies/Elon Musk/Cats vs Dogs? How has my life been enriched at any point, in even a small way, by seeing hashtags? Why do I care what Sylvia in Chicago thinks about Trans bathroom rights? Why should I care if Donald in Michigan is a &#8216;proud trump supporter&#8217;, how the fuck is it neccesary for me to know what random strangers think about fringe issues and conspiracy theories&#8230;?</p>
  450.  
  451.  
  452.  
  453. <p>I&#8217;ve had a blog for a long time (a REAL long time), and I think its a much better place for writing down thoughts. They can be long form, actually edited (omg imagine the technology), they can&#8217;t be taken down by some silicon valley dicks who think they can censor the internet <em>(this is my own wordpress install on a server my company rents</em>), and if I dont like peoples replies or comments I can just fucking delete them, or even ban the commenters. I think I vastly prefer blogging to social media.</p>
  454.  
  455.  
  456.  
  457. <p>So I have totally abandoned facebook, (I have an account purely to message people in my village, and manage my existing pages for games), and am trying to restrain myself from using twitter. (<em>I have zero belief that using twitter really gives you any kind of real business benefits in 2020. All those game devs retweeting your game announcement are just gamedevs, they also are followed only by each other. Its not going to move the needle in terms of marketing.</em>) In a perfect world, I&#8217;ll have disappeared from all social media in a few months time, and be happier and healthier for it. meanwhile people can continue hurling abuse at each other without me needing to know about it.</p>
  458.  
  459.  
  460.  
  461. <p>I normally tweet about new blog posts, but seriously, why should I do that?</p>
  462.  
  463.  
  464.  
  465. <p></p>
  466. <div class="feedflare">
  467. <a href="http://feeds.feedburner.com/~ff/cliffski?a=BVFin-ZHAPc:fjUtG9l4raU:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/cliffski?d=yIl2AUoC8zA" border="0"></img></a>
  468. </div><img src="http://feeds.feedburner.com/~r/cliffski/~4/BVFin-ZHAPc" height="1" width="1" alt=""/>]]></content:encoded>
  469. <wfw:commentRss>https://www.positech.co.uk/cliffsblog/2020/05/03/on-social-media/feed/</wfw:commentRss>
  470. <slash:comments>11</slash:comments>
  471. <feedburner:origLink>https://www.positech.co.uk/cliffsblog/2020/05/03/on-social-media/</feedburner:origLink></item>
  472. <item>
  473. <title>Many minor improvements Plus…reusing old content?</title>
  474. <link>http://feedproxy.google.com/~r/cliffski/~3/eBjloqAsXoI/</link>
  475. <comments>https://www.positech.co.uk/cliffsblog/2020/04/21/many-minor-improvements-plus-reusing-old-content/#comments</comments>
  476. <dc:creator><![CDATA[cliffski]]></dc:creator>
  477. <pubDate>Tue, 21 Apr 2020 15:36:46 +0000</pubDate>
  478. <category><![CDATA[democracy 4]]></category>
  479. <category><![CDATA[game design]]></category>
  480. <guid isPermaLink="false">https://www.positech.co.uk/cliffsblog/?p=5749</guid>
  481.  
  482. <description><![CDATA[So I am still busy working away on Democracy 4. I am currently at the &#8216;play lots of games, find stuff that seems broken, or not correct, or improvable&#8230; &#8230;and just work through that list&#8217; phase of development. The game is perfectly playable, but has the odd crash, and a lot of little tweaks that <a href="https://www.positech.co.uk/cliffsblog/2020/04/21/many-minor-improvements-plus-reusing-old-content/">[...]</a>]]></description>
  483. <content:encoded><![CDATA[
  484. <p>So I am still busy working away on <a href="https://www.positech.co.uk/democracy4">Democracy 4</a>. I am currently at the &#8216;play lots of games, find stuff that seems broken, or not correct, or improvable&#8230; &#8230;and just work through that list&#8217; phase of development. The game is perfectly playable, but has the odd crash, and a lot of little tweaks that are needed to make it reflect the reality of politics in 2020 instead of 2013.</p>
  485.  
  486.  
  487.  
  488. <p>The majority of these tweaks are super-minor, but they make the game so much better. Some of them are tiny UI things that people will only subconsciously notice. For example, we have &#8217;emergency powers&#8217; in the game now (a  boost to political capital), and during that mode the central political capital icon now turns red :D. Something I coded just an hour ago was a change in the UI color of the policy slider to remind you when you cannot raise (or maybe lower) a policy slider due to lack of political capital. Its right there in the UI on the right, but coloring the actual slider bar is also a nice reminder I think:</p>
  489.  
  490.  
  491.  
  492. <figure class="wp-block-image size-large"><a href="https://www.positech.co.uk/cliffsblog/wp-content/uploads/2020/04/image-2.png"><img src="https://www.positech.co.uk/cliffsblog/wp-content/uploads/2020/04/image-2-1024x731.png" alt="" class="wp-image-5750" srcset="https://www.positech.co.uk/cliffsblog/wp-content/uploads/2020/04/image-2-1024x731.png 1024w, https://www.positech.co.uk/cliffsblog/wp-content/uploads/2020/04/image-2-680x485.png 680w, https://www.positech.co.uk/cliffsblog/wp-content/uploads/2020/04/image-2-768x548.png 768w, https://www.positech.co.uk/cliffsblog/wp-content/uploads/2020/04/image-2-317x226.png 317w, https://www.positech.co.uk/cliffsblog/wp-content/uploads/2020/04/image-2.png 1262w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></figure>
  493.  
  494.  
  495.  
  496. <p>I&#8217;ve also been going through a lot of the policies and tweaking the starting values for the UK, and making sure the numbers make sense. We added a policy of &#8216;state broadcaster&#8217; for the UK, and some research showed me that I was vastly overestimating how much the <a href="https://en.wikipedia.org/wiki/BBC">BBC</a> cost in comparison to total government spending. Stuff like that all needs a lot of tweaking.</p>
  497.  
  498.  
  499.  
  500. <p>Another thing you can see in that screenshot is the background color for minister profiles now ALWAYS shows the color that represents how happy (green) or sad (orange, then red) they are, so you subconsciously are always aware of their loyalties.</p>
  501.  
  502.  
  503.  
  504. <p>Plus there are a ton of links between policies that need tweaking, adding or removing. I have concluded that foreign investor tax breaks should improve foreign relations. This makes sense. You tend to be fairly kindly disposed towards governments that are helping you grow your own economy, and giving your companies good deals on investment. I had to vastly alter the equations for the &#8216;air strike&#8217; event too. I had too many playthroughs where seemingly randomly some foreign country accused the UK of having WMD and bombed us. Oh dear&#8230;</p>
  505.  
  506.  
  507.  
  508. <p>Some things come as sudden inspiration in a &#8216;Why didn&#8217;t I do this before way&#8217; like adding illustrative socialist/capitalist characters to the political compass:</p>
  509.  
  510.  
  511.  
  512. <figure class="wp-block-image size-large"><a href="https://www.positech.co.uk/cliffsblog/wp-content/uploads/2020/04/image-3.png"><img src="https://www.positech.co.uk/cliffsblog/wp-content/uploads/2020/04/image-3-1024x578.png" alt="" class="wp-image-5751" srcset="https://www.positech.co.uk/cliffsblog/wp-content/uploads/2020/04/image-3-1024x578.png 1024w, https://www.positech.co.uk/cliffsblog/wp-content/uploads/2020/04/image-3-680x384.png 680w, https://www.positech.co.uk/cliffsblog/wp-content/uploads/2020/04/image-3-768x434.png 768w, https://www.positech.co.uk/cliffsblog/wp-content/uploads/2020/04/image-3-317x179.png 317w, https://www.positech.co.uk/cliffsblog/wp-content/uploads/2020/04/image-3.png 1521w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></figure>
  513.  
  514.  
  515.  
  516. <p>Anyway&#8230; something I need to consider very soon is what to do about some old data from democracy 3 that I might like to include, but worry about players response to. For example, one of the policies in the game is the governments approach to handling automated trading on the stock market. Basically this makes GDP go up a bit, capitalists love it&#8230;but there is a slight risk of a disastrous &#8216;flash crash&#8217; if its too lax. This is already a policy in &#8216;<a href="http://positech.co.uk/democracy3/clonesanddrones.html">clones &amp; drones</a>&#8216;, part of democracy 3, and thus its now in democracy 4 too.</p>
  517.  
  518.  
  519.  
  520. <p>BUT!</p>
  521.  
  522.  
  523.  
  524. <p>To include that, means it will HAVE to mean including the &#8216;<a href="https://en.wikipedia.org/wiki/Flash_crash">flash crash</a>&#8216; event. This would be (believe it or not) the ONLY event that I am copying from D3 to D4. All the others are new. I sort of worry about this, because some people are bound to complain about &#8216;re-using content&#8217;, but TBH I&#8217;m reusing a bunch of content in other areas of the game already.</p>
  525.  
  526.  
  527.  
  528. <p>Frankly, the dictionary definition of socialist has not changed since 2013, so why rewrite it? Same for the basic descriptions for stuff like income tax, or police force. We ARE adding a ton of new policies, and all the character and event art and UI art and so on is entirely new, as are all the SFX &amp; music. The game is overwhelmingly new content&#8230; so I really shouldn&#8217;t feel bad about including just ONE event from D3&#8230;</p>
  529.  
  530.  
  531.  
  532. <p>I think the problem is that 1% gamers are louder than the other 99%. Its my belief that society online has become much worse in the last five years. Social media has ramped up peoples urges to be abusive, to criticize, to complain, to accuse, and to general act like a dick. Part of me really dreads being accused of just &#8216;reskinning the old game&#8217;, which is not what the last few years of work has been about&#8230; But on the other hand&#8230;</p>
  533.  
  534.  
  535.  
  536. <figure class="wp-block-image size-large"><a href="https://www.positech.co.uk/cliffsblog/wp-content/uploads/2020/04/image-4.png"><img src="https://www.positech.co.uk/cliffsblog/wp-content/uploads/2020/04/image-4-1024x592.png" alt="" class="wp-image-5752" srcset="https://www.positech.co.uk/cliffsblog/wp-content/uploads/2020/04/image-4-1024x592.png 1024w, https://www.positech.co.uk/cliffsblog/wp-content/uploads/2020/04/image-4-680x393.png 680w, https://www.positech.co.uk/cliffsblog/wp-content/uploads/2020/04/image-4-768x444.png 768w, https://www.positech.co.uk/cliffsblog/wp-content/uploads/2020/04/image-4-1536x889.png 1536w, https://www.positech.co.uk/cliffsblog/wp-content/uploads/2020/04/image-4-317x183.png 317w, https://www.positech.co.uk/cliffsblog/wp-content/uploads/2020/04/image-4.png 1922w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></figure>
  537.  
  538.  
  539.  
  540. <p>&#8230;I am clearly NOT re-skinning an old game. The OVERWHELMING majority of players will see that, and in any case, the really angry obsessed 1% who disagree can refund their steam game if they really genuinely are not going to play it&#8230; so why should I feel so worried about upsetting them? especially when even if every single byte and pixel of game content was created anew in a clean room, they would still cry #lazydevs! at me for daring to even release a new game ;D</p>
  541.  
  542.  
  543.  
  544. <p>I guess I am just sharing typical developer angst. Its a pity, because I LOVE early access, and player feedback, and sharing design debates and concerns and ideas with players. However, I am not someone for whom really angry criticism just washes over me. It *does* get to me, both depressing me and angering me, in a way I know it shouldn&#8217;t.</p>
  545.  
  546.  
  547.  
  548. <p>Not *that* long now until we have a playable alpha that we get into the hands of actual customers who can tell me what a horrible game i&#8217;ve made :D</p>
  549.  
  550.  
  551.  
  552. <p>BTW we now have forums for the game where you can tell me how much you hate me and everything I stand for. <a href="https://forums.positech.co.uk/c/democracy-4/55">Here they are</a>.</p>
  553. <div class="feedflare">
  554. <a href="http://feeds.feedburner.com/~ff/cliffski?a=eBjloqAsXoI:KvTKpTu-aps:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/cliffski?d=yIl2AUoC8zA" border="0"></img></a>
  555. </div><img src="http://feeds.feedburner.com/~r/cliffski/~4/eBjloqAsXoI" height="1" width="1" alt=""/>]]></content:encoded>
  556. <wfw:commentRss>https://www.positech.co.uk/cliffsblog/2020/04/21/many-minor-improvements-plus-reusing-old-content/feed/</wfw:commentRss>
  557. <slash:comments>7</slash:comments>
  558. <feedburner:origLink>https://www.positech.co.uk/cliffsblog/2020/04/21/many-minor-improvements-plus-reusing-old-content/</feedburner:origLink></item>
  559. <item>
  560. <title>Consequences in Democracy 4</title>
  561. <link>http://feedproxy.google.com/~r/cliffski/~3/mWRwjGjtbl8/</link>
  562. <comments>https://www.positech.co.uk/cliffsblog/2020/04/11/consequences-in-democracy-4/#comments</comments>
  563. <dc:creator><![CDATA[cliffski]]></dc:creator>
  564. <pubDate>Sat, 11 Apr 2020 11:28:39 +0000</pubDate>
  565. <category><![CDATA[democracy 4]]></category>
  566. <category><![CDATA[game design]]></category>
  567. <guid isPermaLink="false">https://www.positech.co.uk/cliffsblog/?p=5739</guid>
  568.  
  569. <description><![CDATA[As discussed in an earlier blog post, I think what democracy 4 needed was a way to bring home the true consequences of actions to the player. This has always been an area that was missing from the democracy 3 design. You can give the police machine-guns, you can legalize heroin, you can put in <a href="https://www.positech.co.uk/cliffsblog/2020/04/11/consequences-in-democracy-4/">[...]</a>]]></description>
  570. <content:encoded><![CDATA[
  571. <p>As discussed in an earlier blog post, I think what democracy 4 needed was a way to bring home the true consequences of  actions to the player. This has always been an area that was missing from the democracy 3 design. You can give the police machine-guns, you can legalize heroin, you can put in place all the apparatus of a police state, or a religious theocracy, and the only real consequences you see are some numbers going up and down.</p>
  572.  
  573.  
  574.  
  575. <p>Of course, the democracy games are known for being interesting complex simulations, not for whizz bang visuals or for feeling like &#8216;yuo are really there&#8217;. Thats a deliberate design decision, in that I would rather spend the time (and money) making a complex like graphics-lite sim than making a shallow, simple game with some 3D people doing limited things. Its a foolish indie developer indeed who thinks they can ever compete with triple-A studios in terms of graphics.</p>
  576.  
  577.  
  578.  
  579. <p>However, I think I can have some of that feeling of emotional resonance, just by using text, if the text is worded right, and if it fits within the style of the rest of the game. As a result, I&#8217;m introducing this new &#8216;media reports&#8217; feature into the game. Here is an example:</p>
  580.  
  581.  
  582.  
  583. <figure class="wp-block-image size-large"><a href="https://www.positech.co.uk/cliffsblog/wp-content/uploads/2020/04/media.png"><img src="https://www.positech.co.uk/cliffsblog/wp-content/uploads/2020/04/media.png" alt="" class="wp-image-5740" srcset="https://www.positech.co.uk/cliffsblog/wp-content/uploads/2020/04/media.png 1025w, https://www.positech.co.uk/cliffsblog/wp-content/uploads/2020/04/media-680x350.png 680w, https://www.positech.co.uk/cliffsblog/wp-content/uploads/2020/04/media-768x395.png 768w, https://www.positech.co.uk/cliffsblog/wp-content/uploads/2020/04/media-317x163.png 317w" sizes="(max-width: 1025px) 100vw, 1025px" /></a></figure>
  584.  
  585.  
  586.  
  587. <p>These are new things that crop up on the next turn screen now and then. They are not called &#8216;events&#8217; internally, so I&#8217;m avoiding that term here. An event is something like a change in your credit score or a factory closure, which has actual measurable consequences wwithin the simulation. They can be great news or disasters and can shift the simulation in a way you have to respond to. Here is an &#8216;event&#8217;:</p>
  588.  
  589.  
  590.  
  591. <figure class="wp-block-image size-large"><a href="https://www.positech.co.uk/cliffsblog/wp-content/uploads/2020/04/event.png"><img src="https://www.positech.co.uk/cliffsblog/wp-content/uploads/2020/04/event-1024x512.png" alt="" class="wp-image-5742" srcset="https://www.positech.co.uk/cliffsblog/wp-content/uploads/2020/04/event-1024x512.png 1024w, https://www.positech.co.uk/cliffsblog/wp-content/uploads/2020/04/event-680x340.png 680w, https://www.positech.co.uk/cliffsblog/wp-content/uploads/2020/04/event-768x384.png 768w, https://www.positech.co.uk/cliffsblog/wp-content/uploads/2020/04/event-317x158.png 317w, https://www.positech.co.uk/cliffsblog/wp-content/uploads/2020/04/event.png 1063w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></figure>
  592.  
  593.  
  594.  
  595. <p>By contrast, the media reports have no consequences whatsoever. They are simply putting into words the impact of decisions you have made (or in some cases not made, such as policies not implemented). The idea behind them is that they make you stop and think about the choices you have made, and have to accept thoughts like &#8216;Yeah, shes going to die because of my policy, but I guess thats acceptable&#8217;. </p>
  596.  
  597.  
  598.  
  599. <p>In the real world, this sort of stuff does happen. The media is generally rubbish at doing analysis and taking a broad view and educating the citizens on what is going on in an accurate way. I would be astonished if one in a hundred UK citizens have any idea what our GDP is, or even what our current unemployment rate is, or be sure if they knew if crime, and violent crime had gone up or down in the last 5 years, ditto pollution, or productivity.</p>
  600.  
  601.  
  602.  
  603. <p>Basically the media knows most people will not choose to take in data that way, so they pick &#8216;human interest&#8217; stories that they think reflect broader trends. This is the classic case of the war reporter zooming in on a child&#8217;s teddy bear in some rubble. it tells us nothing about a war, apart from reminding us that children are affected too, but that can have a huge political impact.</p>
  604.  
  605.  
  606.  
  607. <p>So anyway, I now have a system for adding this to Democracy 4. Its basically a folder full of text files that contain data that describes the circumstances under which it triggers, and some text templates I can populate with citizens names (so they will be suitably local). Example:</p>
  608.  
  609.  
  610.  
  611. <pre class="wp-block-preformatted">[config]
  612. Name = labourlaws
  613. Text = "A special report tonight on the closing down of one of our oldest manufacturing
  614. businesses.
  615. between her tears, CEO [FEMALEFULLNAME] tells us how heartbreaking it is for the family
  616. firm to close down.
  617. 'Its just impossible to run a business in this country with
  618. the state of our [POLICYNAME]?' She told us. 'The unions are
  619. running us into the ground. We cannot compete any more'."
  620. Policy = "LabourLaws"
  621. Type = MRT_POLICY_CONSEQUENCE
  622. </pre>
  623.  
  624.  
  625.  
  626. <pre class="wp-block-preformatted">[conditions]<br>LabourLaws,1,0.65,1.0<br>GDP,1,0,0.6</pre>
  627.  
  628.  
  629.  
  630. <p></p>
  631.  
  632.  
  633.  
  634. <p>This is a media report that triggers if labour laws is a policy currently implemented, and if its set somewhere between 65 and 100%. It also requires GDP to be below 60%. This is so that we don&#8217;t have a media event about a business closing when the economy is going super-well.</p>
  635.  
  636.  
  637.  
  638. <p>All thats required to add these is just some time and imagination, and some spell checking :D. Its just text, and there is no problem adding hundreds of them. The only reason the game is unlikely to actually ship with hundreds is that it means HUGE translation costs, because a proper professional translation is maybe $0.10 per word. So that media report is $6.70 to translate. This probably seems reasonable, but if we have 100 of these, it means $670 to translate them&#8230;</p>
  639.  
  640.  
  641.  
  642. <p>&#8230;into one language.</p>
  643.  
  644.  
  645.  
  646. <p>If we do the bare minimum for a strategy game (English, French, Italian, German, Spanish). Thats over $2,500. We definitely want to add Chinese, Russian, Portuguese to the game, and this pushes it close to $5,000 just for this feature. Its probably a tenth of the games text at most, and I anticipate a proper paid translation of the game to my target languages is going to cost $50-60,000 at this rate.</p>
  647.  
  648.  
  649.  
  650. <p>maybe I shouldn&#8217;t care about this, after all its a mostly text-based game, isn&#8217;t that an acceptable chunk of the games budget? Also I do know that a lot of indies (even big name successful ones) rely on fan-translations. I am tempted to consider this, because the professional costs are just crazy, and I&#8217;m not sure the quality is any different. My only concern is liability. I need to know the translation is correct, not some random angry political rant snuck into my game by someone else&#8230;. hmmm&#8230;</p>
  651.  
  652.  
  653.  
  654. <p>Oh BTW yes, we will eventually support this being trivially moddable too, so people can add their own :D.</p>
  655. <div class="feedflare">
  656. <a href="http://feeds.feedburner.com/~ff/cliffski?a=mWRwjGjtbl8:T3a9K087chw:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/cliffski?d=yIl2AUoC8zA" border="0"></img></a>
  657. </div><img src="http://feeds.feedburner.com/~r/cliffski/~4/mWRwjGjtbl8" height="1" width="1" alt=""/>]]></content:encoded>
  658. <wfw:commentRss>https://www.positech.co.uk/cliffsblog/2020/04/11/consequences-in-democracy-4/feed/</wfw:commentRss>
  659. <slash:comments>12</slash:comments>
  660. <feedburner:origLink>https://www.positech.co.uk/cliffsblog/2020/04/11/consequences-in-democracy-4/</feedburner:origLink></item>
  661. <item>
  662. <title>Democracy 4: A better economic simulation</title>
  663. <link>http://feedproxy.google.com/~r/cliffski/~3/pda6P_b2y-0/</link>
  664. <comments>https://www.positech.co.uk/cliffsblog/2020/04/06/democracy-4-a-better-economic-simulation/#comments</comments>
  665. <dc:creator><![CDATA[cliffski]]></dc:creator>
  666. <pubDate>Mon, 06 Apr 2020 12:55:59 +0000</pubDate>
  667. <category><![CDATA[democracy 4]]></category>
  668. <category><![CDATA[game design]]></category>
  669. <guid isPermaLink="false">https://www.positech.co.uk/cliffsblog/?p=5736</guid>
  670.  
  671. <description><![CDATA[For a while now I have been putting off addressing a problem in the economic simulation for Democracy 4. Basically we have no monetary policy in the game, only fiscal policy, and for a long time, thats been pretty much fine and nobody has complained. To put things simply, fiscal policy is when the government <a href="https://www.positech.co.uk/cliffsblog/2020/04/06/democracy-4-a-better-economic-simulation/">[...]</a>]]></description>
  672. <content:encoded><![CDATA[
  673. <p>For a while now I have been putting off addressing a problem in the economic simulation for <a href="https://www.positech.co.uk/democracy4/">Democracy 4</a>. Basically we have no <a href="https://en.wikipedia.org/wiki/Monetary_policy">monetary policy</a> in the game, only <a href="https://en.wikipedia.org/wiki/Fiscal_policy">fiscal policy</a>, and for a long time, thats been pretty much fine and nobody has complained.</p>
  674.  
  675.  
  676.  
  677. <p>To put things simply, fiscal policy is when the government raises money through taxes and spends it on stuff. Monetary policy is where government messes around with how much actual cash exists in the economy. They are different ways to do things, and there are fierce arguments (what a surprise) about which works best in which situations.</p>
  678.  
  679.  
  680.  
  681. <p>For the lifetime of Democracy 3, its been a moot issue, because outside of Zimbabwe, nobody has made any major monetary policy decisions for a very long time. Inflation has not been a hot political topic for ages, and the terms &#8216;deflation&#8217; and &#8216;<a href="https://en.wikipedia.org/wiki/Stagflation">stagflation</a>&#8216; have not been in the news for probably forty years. Thus nobody objected to them not being in D3.</p>
  682.  
  683.  
  684.  
  685. <p>But 2020 is not 2013. Since the global financial crisis, a number of policy instruments have become more popular, and the discussion of monetary policy is suddenly very real. The two policies that have been active and also discussed are Quantitative Easing and helicopter money. Both are now in the game&#8230;</p>
  686.  
  687.  
  688.  
  689. <figure class="wp-block-image"><img src="https://osboncapital.com/wp-content/uploads/2018/11/cash.jpg" alt="If I'm Holding Cash, Where Should It Be? - Osbon Capital Management"/></figure>
  690.  
  691.  
  692.  
  693. <p>Quantitative easing is basically printing money, although policymakers pretend it isn&#8217;t, to avoid comparisons with the Wiemar republic or Zimbabwe, because it has a very bad reputation. QE is a special form of money printing where the central bank pushes a button and gives itself (for example) 100 billion dollars, then buys bonds and other relatively safe assets on the stock market worth 100 billion dollars. No ordinary people see any of this money, but it pushes up the stock market, resulting in higher business confidence, more wealth for stockholders, and with any luck, a more stable and maybe even booming economy!</p>
  694.  
  695.  
  696.  
  697. <p>Obviously this has side effects. This basically causes stealth inflation (possibly not visible because it is used to prevent deflation (prices falling) as a last resort. There is no way to avoid the fact that any form of money printing creates inflation. This makes people will cash deposits worse off (people with some savings) and can drive up prices. It also makes your currency weaker. However, if you have shares on the stock market, you are better off, and arguably it can cause an asset-bubble.</p>
  698.  
  699.  
  700.  
  701. <figure class="wp-block-image size-large"><img src="https://www.positech.co.uk/cliffsblog/wp-content/uploads/2020/04/image-1-1024x680.png" alt="" class="wp-image-5737" srcset="https://www.positech.co.uk/cliffsblog/wp-content/uploads/2020/04/image-1-1024x680.png 1024w, https://www.positech.co.uk/cliffsblog/wp-content/uploads/2020/04/image-1-680x452.png 680w, https://www.positech.co.uk/cliffsblog/wp-content/uploads/2020/04/image-1-768x510.png 768w, https://www.positech.co.uk/cliffsblog/wp-content/uploads/2020/04/image-1-317x211.png 317w, https://www.positech.co.uk/cliffsblog/wp-content/uploads/2020/04/image-1.png 1251w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
  702.  
  703.  
  704.  
  705. <p>Anyway&#8230;</p>
  706.  
  707.  
  708.  
  709. <p><a href="https://en.wikipedia.org/wiki/Helicopter_money">Helicopter money</a> is similar. Its another form of money printing, but you basically hand the money in envelopes to every citizen. This has a similar effect in stabilizing the economy, but it makes the poorest better off (typically everyone gets the same payment), and is not skewed towards wealthy stockholders. The problem with helicopter money is you cannot reverse the process if it goes too far, whereas with QE, you can basically sell the bought assets, then destroy the imaginary money you bought them with, thus reducing the money supply, and stopping inflation going mad. FWIW I am lumping in &#8216;<a href="https://en.wikipedia.org/wiki/People%27s_Quantitative_Easing">Peoples QE</a>&#8216; with helicopter money to simplify things.</p>
  710.  
  711.  
  712.  
  713. <p>So&#8230;with those two very quick-and-dirty explanations out the way, how does this fit into Democracy 4?</p>
  714.  
  715.  
  716.  
  717. <figure class="wp-block-image"><img src="https://lenpenzo.com/blog/wp-content/uploads/2017/10/wheelbarrow-wallet.png" alt="18 Curious Facts You Didn't Know About Hyperinflation – Len Penzo ..."/></figure>
  718.  
  719.  
  720.  
  721. <p>Both QE and Helicopter Money are ways to IMMEDIATELY boost GDP, and either make the rich/poor happy/sad depending which you pick, <strong>that do not cost anything at all</strong>. (You printed the cash remember!). Obviously there has to be a catch right?</p>
  722.  
  723.  
  724.  
  725. <p>Well yes&#8230; inflation and the eventual risk of <a href="https://en.wikipedia.org/wiki/Hyperinflation">hyperinflation</a> (which is catastrophic and rarely recoverable). This means I have had to model both inflation and hyperinflation (I also added a border wall policy at the same time btw :D). These are now in the game, with a variety of inputs and effects and I&#8217;m still fiddling with getting the balance right which is HUGELY difficult. (The true economic theories here are amazingly complex and often contradictory so you can imagine what a mess it can all be&#8230;).</p>
  726.  
  727.  
  728.  
  729. <figure class="wp-block-image"><img src="https://upload.wikimedia.org/wikipedia/commons/9/93/German_Hyperinflation.jpg" alt=""/></figure>
  730.  
  731.  
  732.  
  733. <p>I have found (so far) that the best way to model the negative effects of inflation is through prices on food and oil. Most countries do at least some importing of oil and food, and this is a way to reflect the broader globalization trend and the impact of your currency weakening against the country from which you buy stuff. (For the US this would be china). To put things bluntly, if Donald Trump gave everybody in the US an extra (printed) hundred thousand USD, then the USD / Yuan exchange rate *should* change, making goods imported from china more expensive.</p>
  734.  
  735.  
  736.  
  737. <p><strong>NONE OF THIS IS 100% CORRECT OR ACCURATE BUT YOU GET THE IDEA.</strong></p>
  738.  
  739.  
  740.  
  741. <p>I am sure there will be very many long, multi-page debates on my forums once the game goes into pre-alpha sales and people with economics degrees, MSCs and PHDs p[lay the game and argue if certain effects make sense or are too strong/weak. This is tough stuff to model in a video game.</p>
  742.  
  743.  
  744.  
  745. <p>And yet&#8230; it has to be in <a href="https://www.positech.co.uk/democracy4/">Democracy 4</a>. Look at any online politics forum and you will find people (especially on the left of the political spectrum) arguing that the government can print money as an alternative to austerity, and people on the right saying thats nonsense and we have to live within our means. It HAS to be in the game, and I bet loads of people will argue that I&#8217;ve done it wrong.</p>
  746.  
  747.  
  748.  
  749. <p>I guess thats game design for you :D</p>
  750. <div class="feedflare">
  751. <a href="http://feeds.feedburner.com/~ff/cliffski?a=pda6P_b2y-0:pWHCfZBqbUI:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/cliffski?d=yIl2AUoC8zA" border="0"></img></a>
  752. </div><img src="http://feeds.feedburner.com/~r/cliffski/~4/pda6P_b2y-0" height="1" width="1" alt=""/>]]></content:encoded>
  753. <wfw:commentRss>https://www.positech.co.uk/cliffsblog/2020/04/06/democracy-4-a-better-economic-simulation/feed/</wfw:commentRss>
  754. <slash:comments>10</slash:comments>
  755. <feedburner:origLink>https://www.positech.co.uk/cliffsblog/2020/04/06/democracy-4-a-better-economic-simulation/</feedburner:origLink></item>
  756. </channel>
  757. </rss>
  758.  

If you would like to create a banner that links to this page (i.e. this validation result), do the following:

  1. Download the "valid RSS" banner.

  2. Upload the image to your own server. (This step is important. Please do not link directly to the image on this server.)

  3. Add this HTML to your page (change the image src attribute if necessary):

If you would like to create a text link instead, here is the URL you can use:

http://www.feedvalidator.org/check.cgi?url=http%3A//feeds.feedburner.com/cliffski

Copyright © 2002-9 Sam Ruby, Mark Pilgrim, Joseph Walton, and Phil Ringnalda