<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	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:georss="http://www.georss.org/georss"
	xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#"
	>

<channel>
	<title>Darkstars</title>
	<atom:link href="https://darkstars.co.uk/feed/" rel="self" type="application/rss+xml" />
	<link>https://darkstars.co.uk</link>
	<description>Thoughts On The Spring RTS Engine</description>
	<lastBuildDate>Thu, 22 Jan 2015 00:45:17 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=5.8</generator>

<image>
	<url>https://darkstars.tomjn.com/wp-content/uploads/sites/6/2008/03/cropped-afsquaresmall-1-32x32.png</url>
	<title>Darkstars</title>
	<link>https://darkstars.co.uk</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>History</title>
		<link>https://darkstars.co.uk/2014/08/11/history/</link>
					<comments>https://darkstars.co.uk/2014/08/11/history/#respond</comments>
		
		<dc:creator><![CDATA[Tom J Nowell]]></dc:creator>
		<pubDate>Mon, 11 Aug 2014 13:31:39 +0000</pubDate>
				<category><![CDATA[Blog]]></category>
		<guid isPermaLink="false">https://darkstars.co.uk/?p=1799</guid>

					<description><![CDATA[I&#8217;ve been a member of the Spring Engine community almost since its inception. I joined the forums back in 2004 prior to the first release, and played a notable part for many years alongside many other prominent figures. The last few years however I have not been as active, and I&#8217;ve generally moved on with [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>I&#8217;ve been a member of the Spring Engine community almost since its inception. I joined the forums back in 2004 prior to the first release, and played a notable part for many years alongside many other prominent figures. The last few years however I have not been as active, and I&#8217;ve generally moved on with things. It&#8217;s been at least a year since Smoth broke through my lead on the post count front.</p>
<p><span id="more-1799"></span></p>
<p>I&#8217;m a web developer not an AI developer, and my attempts to contribute in the last 2-3 years have mainly taken the form of AI advice, and the SpringInfo website. My AI involvement diminished around the time we moved to mingw32 only builds of AIs &amp; the engine, and never recovered fully. My lobby projects consumed far too much time and energy to be worthwhile, and my career and studies took precedence. A string of demoralising events took hold and I&#8217;m now where I am today.</p>
<p>Some of you will see this as all obvious, and some will have no idea who I am thanks to my recent inactivity, but I write this because I&#8217;d like to formalise this. My current Spring related projects are:</p>
<ul>
<li>Shard</li>
<li>SpringInfo.info</li>
<li>Spring social network profiles</li>
<li>Spring Vagrant box</li>
</ul>
<p>I&#8217;m now looking for a new maintainer for Shard. My intention being that it eventually become a gadget lua AI. The engine devs will continue doing what they&#8217;ve always done and fix compile bugs as they did with KAI and the other native AIs, but that dependency needs to be removed, and I haven&#8217;t the time or energy to do it myself. NTai is in a similar state of the living dead, and should compile but would work similar to KAI and RAI etc, don&#8217;t expect miracles.</p>
<p>SpringInfo will run as-is with the automation, and i will provide technical assistance, but for progress and updates, I need somebody to add feeds and collect news, categorise, and approve things. Right now it&#8217;s running on auto-pilot. I&#8217;m happy to add people to the various social networks as admins if they feel it&#8217;s necessary, but they&#8217;re either completely automated or have people with access already.</p>
<p>The spring vagrant box I&#8217;m passing on to Abma. He knows more about what is needed for it, and he has the most use of it. I&#8217;m happy to advise, but I doubt it&#8217;s necessary.</p>
<h3>A Final Note On The Engine Itself</h3>
<p>Total Annihilation was released in 1997. When the Spring Engine made its first release as TA Spring it was early 2005. TA was 8 years old, yet at the time of writing this Spring itself is 9 years old. If a new engine appeared, it would be a year overdue, Spring isn&#8217;t state of the art, new or top-end, and it&#8217;s not a modern RTS engine. It&#8217;s an active legacy project catering to a small community with minor additions.</p>
<p>If there&#8217;s a lesson to be learnt from this, it&#8217;s that things will remain roughly the same from now on. We have the same type of lobby as we did 5 years ago. The games of today, minus a handful of exceptions, are roughly the same as 5 years ago but mode developed and polished. Even major issues that were recognised 5 years ago are still a problem, e.g. feature vs unit rendering, the website, saving and loading games etc.</p>
<p>A lot has been achieved, and I&#8217;m sure there are some surprises left, but things in 5 years time will be analogous to where they have been for several years already.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://darkstars.co.uk/2014/08/11/history/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>The Spring Engine Website</title>
		<link>https://darkstars.co.uk/2014/04/20/the-spring-engine-website/</link>
					<comments>https://darkstars.co.uk/2014/04/20/the-spring-engine-website/#respond</comments>
		
		<dc:creator><![CDATA[Tom J Nowell]]></dc:creator>
		<pubDate>Sun, 20 Apr 2014 00:08:39 +0000</pubDate>
				<category><![CDATA[Spring]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[fnordia]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[spring engine]]></category>
		<category><![CDATA[website]]></category>
		<guid isPermaLink="false">https://darkstars.co.uk/?p=1768</guid>

					<description><![CDATA[History has a habit of repeating itself. A long time ago, I spent a good deal of energy trying to improve the Spring Engine website. I built a Developer site running Joomla for the engine developers, produced stylesheet upgrades, built a brand new website based on Dokuwiki, and then on WordPress, and a new design [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>History has a habit of repeating itself.</p>
<p>A long time ago, I spent a good deal of energy trying to improve the Spring Engine website. I built a Developer site running Joomla for the engine developers, produced stylesheet upgrades, <a href="https://darkstars.co.uk/2008/spring-site-design/" target="_blank">built a brand new website based on Dokuwiki</a>, and then on WordPress, and a new design to great fanfare and debate. The only thing that stuck was the logo artwork, which was adopted by the community and became defacto standard as it was iterated upon by others.</p>
<p><span id="more-1768"></span></p>
<p>Eventually, my website design was derailed when a forum member named Roflcopter turned up and provided an incomplete design for a homepage. Fnordia, without discussion, implemented a poorly built table based implementation of this design in the early hours of one morning and deployed several hours later. Weeks of work were replaced with the rushed work of a server admin done on a whim, taking everyone by surprise. Faced with this I gave up on my efforts to improve the site. The community cannot work with due process in the open when all work could be for nothing at the mercy of a server admin.</p>
<p>If Fnordia were a professional client he would have been fired and charged for breach of contract, and been avoided by the local community with a reputation as a poor client. Fnordia however wasn&#8217;t a commercial client, and there was little I could do to recover or undo the hours I&#8217;d contributed and volunteered. So I moved on and worked on my own things. He meant well, and I&#8217;ve no ill feelings, but I won&#8217;t pretend it wasn&#8217;t a kick in the teeth at the time.</p>
<h3>The Impact</h3>
<p>Fnordias actions started an eventual decline in my involvement in the community. My AI updates became fewer and further between, and projects I&#8217;d started never saw the light of day. I abandoned attempts to produce a game in frustration, and gave up on making maps that weren&#8217;t abysmal in favour of projects elsewhere.</p>
<p>I rebuilt SpringInfo for Forboding, implemented a lot of automation, and set up most of the social networking profiles for the engine with it. SpringInfo hasn&#8217;t seen as much love as it should have done in the past though, and because of the depression in Spring web development, my attempts to foster interest fell on deaf ears. SpringInfo Blogs had almost no response when proposed, despite a generous offer of unlimited free bandwidth/space, and automation freely given that would normally have cost hundreds of dollars to implement.</p>
<h3>The Present</h3>
<p>Just because I&#8217;ve abandoned efforts of a site redesign, doesn&#8217;t mean others have too. The roflcopter design, ignoring its flaws, is by now aged. The site has had the same design for years, and little has changed. Some believe this should change. Forboding Angel, better known as the content developer behind EvolutionRTS, took it upon himself to volunteer time and effort towards building something new. Unlike myself however, he was prepared to put considerably more time and effort in, and took a hyper conservative pragmatic approach.</p>
<p>My designs tried to upgrade all aspects of the site, but fell short of realistic concerns, such as my suggestion of Dokuwiki. Foboding however took what he thought was a safer route. He didn&#8217;t replace the wiki, and he didn&#8217;t abandon PHPBB. He kept them as is with initially almost no changes. He produced a WordPress site for the non-Wiki/non-Forum sections of the website that looked identical to the roflcopter design.</p>
<p>This new site would behave similarly to how the existing site does, but with a vastly improved implementation, and opening the door for real practical choices and possibilities in the future. By using a widely adopted open-source CMS but keeping the components people worry about, he provided the best of both world in a community that has several high profile WordPress developers.</p>
<p>On request, he made changes to the forum and wiki, including changes to the roflcopter design. The forum was completely restyled from scratch, made responsive to remove the need for the controversial Tapatalk, and tweaked to resemble the existing forum. The wiki was heavily modified to feature a responsive design, with a mobile editor.</p>
<h3>Safeguarding</h3>
<p>My own website efforts were hampered by politics. People felt they had to have their say, and if the site was perfect they couldn&#8217;t contribute. So they would point out issues. Some of these were valid and I attempted to remedy them. Some people were simply opposed to change of any kind. This meant engine developers would never deploy my work as that would involve taking sides. Instead they avoided the situation and remained silent, buried their heads in the sand in hopes they could pretend it never happened and get back to what they found interesting.</p>
<p>So instead, Forboding worked behind the scenes. He contacted some key pivotal people, Abma, Flozi, and through those, a small minimal number of people became involved, with some observing such as myself. Things were kept small and on a need to know basis to avoid unnecessary drama and politics, and ensure that things got done. The fear being that if the project was made public on the forums, it would not survive regardless of its merits.</p>
<h3>Progress</h3>
<p>Thanks to this, the site progressed and was deployed to test.springrts.com, and was done using <a href="https://github.com/spring/spring-website/tree/wordpress" target="_blank">a Git branch here</a>. Those who frequent the forums will perhaps realise how large a slice of humble pie this is for the self professed anti-git activist that was Forboding Angel.</p>
<p>Time came to deployment, Abma attempted at one point, but because of a lack of experience working with WordPress, he failed to anticipate issues relating to URLs stored in the database that required replacement and rolled back.</p>
<p>Things stagnated as the site remained in a state ready to deploy but no action was taken. Abma made requests for changes, things were delayed, arguments occurred over trivialities such as wether the WordPress tables should be in the same database as the forum or not, etc, compromises were made but no progress. At the time of writing, the WordPress branch of the spring website repository was last modified 16 days ago. I&#8217;m told the relevant parties were busy offline.</p>
<h3>History Repeats Itself</h3>
<p>Several days ago, <a href="http://springrts.com/phpbb/viewtopic.php?p=556741#p556741" target="_blank">this happened:</a></p>
<p><a href="https://darkstars.tomjn.com/wp-content/uploads/sites/6/2014/04/Screen-Shot-2014-04-19-at-18.54.11.png"><img loading="lazy" class="alignnone size-full wp-image-1770" src="https://darkstars.tomjn.com/wp-content/uploads/sites/6/2014/04/Screen-Shot-2014-04-19-at-18.54.11.png" alt="Screen Shot 2014-04-19 at 18.54.11" width="1584" height="1322" srcset="https://darkstars.tomjn.com/wp-content/uploads/sites/6/2014/04/Screen-Shot-2014-04-19-at-18.54.11.png 1584w, https://darkstars.tomjn.com/wp-content/uploads/sites/6/2014/04/Screen-Shot-2014-04-19-at-18.54.11-300x250.png 300w, https://darkstars.tomjn.com/wp-content/uploads/sites/6/2014/04/Screen-Shot-2014-04-19-at-18.54.11-1024x855.png 1024w" sizes="(max-width: 1584px) 100vw, 1584px" /></a></p>
<p>Jk, had made several commits that day and announced a major style upgrade on the forums without prior consultation. Perhaps he was unaware of the work Forboding Angel had done? Unlikely, but I asked anyway, and got this response:</p>
<p><a href="https://darkstars.tomjn.com/wp-content/uploads/sites/6/2014/04/Screen-Shot-2014-04-19-at-18.57.08.png"><img loading="lazy" class="alignnone size-full wp-image-1771" src="https://darkstars.tomjn.com/wp-content/uploads/sites/6/2014/04/Screen-Shot-2014-04-19-at-18.57.08.png" alt="Screen Shot 2014-04-19 at 18.57.08" width="1480" height="170" srcset="https://darkstars.tomjn.com/wp-content/uploads/sites/6/2014/04/Screen-Shot-2014-04-19-at-18.57.08.png 1480w, https://darkstars.tomjn.com/wp-content/uploads/sites/6/2014/04/Screen-Shot-2014-04-19-at-18.57.08-300x34.png 300w, https://darkstars.tomjn.com/wp-content/uploads/sites/6/2014/04/Screen-Shot-2014-04-19-at-18.57.08-1024x118.png 1024w" sizes="(max-width: 1480px) 100vw, 1480px" /></a></p>
<p>JKs design was deployed to test.springrts.com, and Forbodings test site was discarded, database and all:</p>
<p><a href="https://darkstars.tomjn.com/wp-content/uploads/sites/6/2014/04/Screen-Shot-2014-04-19-at-18.39.20.png"><img loading="lazy" class="alignnone size-full wp-image-1772" src="https://darkstars.tomjn.com/wp-content/uploads/sites/6/2014/04/Screen-Shot-2014-04-19-at-18.39.20.png" alt="Screen Shot 2014-04-19 at 18.39.20" width="2474" height="1408" srcset="https://darkstars.tomjn.com/wp-content/uploads/sites/6/2014/04/Screen-Shot-2014-04-19-at-18.39.20.png 2474w, https://darkstars.tomjn.com/wp-content/uploads/sites/6/2014/04/Screen-Shot-2014-04-19-at-18.39.20-300x171.png 300w, https://darkstars.tomjn.com/wp-content/uploads/sites/6/2014/04/Screen-Shot-2014-04-19-at-18.39.20-1024x583.png 1024w" sizes="(max-width: 2474px) 100vw, 2474px" /></a></p>
<p>Luckily, his git repo branches remain in multiple locations, so the code itself is not lost. When I asked about the deployment of the WordPress branch, Abma deflected the issue:</p>
<p><a href="https://darkstars.tomjn.com/wp-content/uploads/sites/6/2014/04/Screen-Shot-2014-04-19-at-18.59.41.png"><img loading="lazy" class="alignnone size-full wp-image-1773" src="https://darkstars.tomjn.com/wp-content/uploads/sites/6/2014/04/Screen-Shot-2014-04-19-at-18.59.41.png" alt="Screen Shot 2014-04-19 at 18.59.41" width="1192" height="364" srcset="https://darkstars.tomjn.com/wp-content/uploads/sites/6/2014/04/Screen-Shot-2014-04-19-at-18.59.41.png 1192w, https://darkstars.tomjn.com/wp-content/uploads/sites/6/2014/04/Screen-Shot-2014-04-19-at-18.59.41-300x92.png 300w, https://darkstars.tomjn.com/wp-content/uploads/sites/6/2014/04/Screen-Shot-2014-04-19-at-18.59.41-1024x313.png 1024w" sizes="(max-width: 1192px) 100vw, 1192px" /></a></p>
<p>I had hoped Abma could explain what had happened prior to JK&#8217;s commits but he has not been forthcoming. Speaking with other community members involved I discovered JK knew about the process long before he made those commits after being made aware of the project by accident ( in much the same way Abma leaked its existence to myself ).</p>
<p>jK bypassed Abma to deploy his changes to the test site, losing the WordPress database in the process. Procedure wasn&#8217;t followed meaning a backup wasn&#8217;t taken and the changes weren&#8217;t deployed correctly to demonstrate jKs changes.</p>
<p>Suffice to say Forboding Angel is not happy. I remember when this was done to me, and things were set back. Fnordias actions killed off all web design and development on the project for a significant period. It stated that any attempt to contribute no matter how great or brilliant could be thrown away on a whim one morning.</p>
<p><a href="https://darkstars.tomjn.com/wp-content/uploads/sites/6/2014/04/Screen-Shot-2014-04-19-at-19.01.04.png"><img loading="lazy" class="alignnone size-full wp-image-1774" src="https://darkstars.tomjn.com/wp-content/uploads/sites/6/2014/04/Screen-Shot-2014-04-19-at-19.01.04.png" alt="Screen Shot 2014-04-19 at 19.01.04" width="556" height="354" srcset="https://darkstars.tomjn.com/wp-content/uploads/sites/6/2014/04/Screen-Shot-2014-04-19-at-19.01.04.png 556w, https://darkstars.tomjn.com/wp-content/uploads/sites/6/2014/04/Screen-Shot-2014-04-19-at-19.01.04-300x191.png 300w" sizes="(max-width: 556px) 100vw, 556px" /></a></p>
<h3>The Costs</h3>
<p>Jks design added several things. Firstly he took the additions I&#8217;d made to allow the site to stretch, and dialled up the default width to 1000px+. He then made some styling changes to add in red bevelled panels on the forum headings and the main page.</p>
<p>Taken alone, these are improvements to the site, some questionable design decisions, but nothing to dismiss. There are issues with it however, for examples his red bevelled styling of the welcome to spring panel is a call to action that cannot be actioned, and inconsistent with the logo branding as specified. It uses text shadowing as a crutch and has poor wording, that remains hardcoded in static html.</p>
<p>Forbodings improvements included these capabilities but in a more adaptable form. More importantly, his version opened the possibility up to new themes and ways of testing out the site without replacing it entirely. For example, any of the thousands of WordPress themes could be tried, superior SpringInfo integration with images and videos, carousels, sliders, brand new spring specific designs, and a great number of plugins and other features, visual editors to replace hardcoded strings on Github, etc. With Forbodings work, it would have been easy to experiment and test out ideas such as this:</p>
<p><a href="https://darkstars.tomjn.com/wp-content/uploads/sites/6/2014/04/Screen-Shot-2013-12-19-at-17.58.11.png"><img loading="lazy" class="alignnone size-full wp-image-1775" src="https://darkstars.tomjn.com/wp-content/uploads/sites/6/2014/04/Screen-Shot-2013-12-19-at-17.58.11.png" alt="Screen Shot 2013-12-19 at 17.58.11" width="2546" height="1398" srcset="https://darkstars.tomjn.com/wp-content/uploads/sites/6/2014/04/Screen-Shot-2013-12-19-at-17.58.11.png 2546w, https://darkstars.tomjn.com/wp-content/uploads/sites/6/2014/04/Screen-Shot-2013-12-19-at-17.58.11-300x165.png 300w, https://darkstars.tomjn.com/wp-content/uploads/sites/6/2014/04/Screen-Shot-2013-12-19-at-17.58.11-1024x562.png 1024w" sizes="(max-width: 2546px) 100vw, 2546px" /></a></p>
<p>It took me 10 minutes to produce that, and I can see a lot of things that could be done to improve it, and there are a huge number of things that would be possible. What about the cost to Forboding? He spent time and energy on this that amounts to around <b>$3000 of paid time</b>. Since starting the project he&#8217;s moved to a new job, with an even higher hourly rate.</p>
<p>Taking my own hourly rate into consideration, the company I work for has a day rate of ~$800 for a project like this. Myself and Forboding are experienced, and we&#8217;re not cheap, with tens of thousands of hours of business and commercial experience between us with some pretty hefty clients under our belt.</p>
<p>jKs response is that the site is easy to setup, and the readme is very useful. Those looking to redesign have ample ability to do so.</p>
<h3>The View From The Other Side</h3>
<p>jK on the other hand is angry. Following process and committing to git in public view, he feels that the community has been cheated. Forboding should have documented and discussed his plans on the forums.</p>
<blockquote><p>[1:27pm] [LCC]jK: that&#8217;s why I am pissed off when ppl do uncommited stuff on webserver<br />
[1:27pm] [LCC]jK: it&#8217;s just hell when ppl do so<br />
[1:27pm] [LCC]jK: and still forb pushed abma to do so,<br />
[1:27pm] [LCC]jK: abma shouldn&#8217;t play with website at all<br />
[1:27pm] [LCC]jK: he isn&#8217;t the correct one for that</p></blockquote>
<p>From jKs point of view, Forboding and Abma attempted to subvert the existing process without discussion. Like Fnordia, a well intentioned Forboding and Abma conspired to improve the website in secret, abandoning due process and community approval. Understandably jK is unhappy with this. His efforts up to this point discarded if the wordpress branch was deployed.</p>
<p>jK doesn&#8217;t see the benefit of a WordPress installation as outweighing the disadvantages, nor does he believe there should be any media/content management system behind the frontend of the site.</p>
<h3>The Future</h3>
<p>That in 2014 we&#8217;re using a static HTML template with snippets of procedural PHP scattered around for the homepage and header is embarrassing, and people notice. It&#8217;s clear to a lot of people that the site does not do its job, and hasn&#8217;t for a long time. Be it the people who register to the forums to ask basic questions about what the engine can and can&#8217;t do, or the ludicrous amount of time it takes for fixes and improvements to be deployed, things cannot continue as they are. I&#8217;ve identified the following issues:</p>
<ul>
<li>Abma should have delegated. He should have taken a backup then given Forboding a locked down SSH account and an hour to do his stuff. The engine developers are busy people who should be focusing on what they do best</li>
<li>When difficulties were introduced, additional expertise wasn&#8217;t called upon. For example, the issue of PHP serialised URLs is entirely avoidable, I myself worked at a company previously that built a tool dedicated to getting around that issue, I&#8217;m aware of numerous tools that could have automated the entire process down to a <code>. deployspringsite.sh</code> command</li>
<li>It should not require a user with full server SSH access to deploy a new version of the git repository</li>
<li>Engine developers are terrified of anything remotely controversial. All it would have taken to derail the entire Forboding project was a sentence like <em>&#8220;That rounded corner should have a radius of 6 not 5 pixels&#8221;</em> and suddenly developers vanish from the discussion. It happened the last time a website was mentioned, it happens in any discussion that has opposing sides. Such a discussion used to occur roughly every 4 months on the forum but has slowed the last year or so.</li>
</ul>
<p>Clearly no amount of political wrangling or persuasion will fix this in the current situation. Nobody will step in with SSH access and fix everything, nobody will set out a process, nobody will prevent this happening again.</p>
<p>So I suggest the following:</p>
<ul>
<li>The task of maintaining the site should be delegated. Engine developers should work on the engine. Let people who are experienced with website development deal with the website. Engine developers no longer have to take sides in trivial arguments, can focus on more relevant things to them, yet retain the ability to veto things.</li>
<li>Auto-deploy the master branch to the site, and auto deploy a test branch to the test domain. Ban people from committing to master for anything other than merging pull requests. No more waiting for deployment, no more surprise commits flouting due process. If someone wants to make changes, they make it in their fork and do a pull request to the test branch. If it checks out it&#8217;s merged.</li>
<li>The stigma and massive cost, coupled with the huge probability of it all going wrong is averted. Attempting to improve the spring website is no longer a high risk gamble.</li>
<li>Deploy the WordPress branch and integrate JKs changes</li>
</ul>
<p>We have a poor website, and it&#8217;s damaging the engine. We&#8217;re also causing massive damage in the way we&#8217;re handling our website and the continuous attempts to improve it.</p>
<h3>What&#8217;s Likely To Happen</h3>
<p>The likely outcome of this is that JKs design will be deployed without contest. A vastly improved MediaWiki theme and an improved PHPBB re-skinning, are in danger of not seeing the light of day.</p>
<p>Currently jKs access to the test server has been revoked by Abma who is similarly dissatisfied with how things have turned out.</p>
<p>There is a good chance we will be stuck with the same terrible site we had in 2005 but with fewer tables and a slightly modified roflcopter stylesheet that would make any junior designer scour their eyes out.</p>
<p>jK has made it clear he opposes any attempt to deploy WordPress, and it&#8217;s my hope that some of what Forboding produced can be salvaged and deployed lest it go to waste.</p>
<h3>Ammendments</h3>
<p>This article has been read and commented on by several people including Forboding. Abma declined to offer amendments though I removed and amended sections based on what he said. A section was added to try and explain jKs point of view as explained in the #sy channel. Earlier versions of this article made statements which have been disproven by new information and removed. This is the 18th revision of this post.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://darkstars.co.uk/2014/04/20/the-spring-engine-website/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>New Server Announced</title>
		<link>https://darkstars.co.uk/2013/09/25/new-server-announced/</link>
					<comments>https://darkstars.co.uk/2013/09/25/new-server-announced/#respond</comments>
		
		<dc:creator><![CDATA[Tom J Nowell]]></dc:creator>
		<pubDate>Wed, 25 Sep 2013 21:20:39 +0000</pubDate>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Glest]]></category>
		<category><![CDATA[Spring]]></category>
		<category><![CDATA[fnordia]]></category>
		<category><![CDATA[fridge]]></category>
		<category><![CDATA[licho]]></category>
		<category><![CDATA[TV]]></category>
		<guid isPermaLink="false">https://darkstars.co.uk/?p=1742</guid>

					<description><![CDATA[After almost 2 years of drinking Espresso, Licho has grown tired. The Espresso machine, an upgrade to the stifling Internet Fridge server of the Fnordia years, was hoped to be a return to the good old days when the Spring Engine website was hosted on an early Smart TV that played re-runs of Ugly Betty. [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>After almost 2 years of drinking Espresso, Licho has grown tired. The Espresso machine, an upgrade to the stifling Internet Fridge server of the Fnordia years, was hoped to be a return to the good old days when the Spring Engine website was hosted on an early Smart TV that played re-runs of Ugly Betty.</p>
<p><span id="more-1742"></span></p>
<p>Sadly, the only mess the espresso created was a brown stain on Forboding Angels otherwise pristine white walls. Having come down from his high, Lichos spokesman Knorke revealed that he is in the process of moving to a new machine, and one with much improved timing.</p>
<p><a href="https://darkstars.tomjn.com/wp-content/uploads/sites/6/2013/09/T2eC16NzUFIb8bodvcBSQZFPB1q60_58.jpg"><img loading="lazy" class="alignnone size-full wp-image-1745" src="https://darkstars.tomjn.com/wp-content/uploads/sites/6/2013/09/T2eC16NzUFIb8bodvcBSQZFPB1q60_58.jpg" alt="Teasmade" width="640" height="440" srcset="https://darkstars.tomjn.com/wp-content/uploads/sites/6/2013/09/T2eC16NzUFIb8bodvcBSQZFPB1q60_58.jpg 640w, https://darkstars.tomjn.com/wp-content/uploads/sites/6/2013/09/T2eC16NzUFIb8bodvcBSQZFPB1q60_58-300x206.jpg 300w" sizes="(max-width: 640px) 100vw, 640px" /></a></p>
<p>Technical specifications of the new Teasmade include enough memory to hold 3 standard cups of Earl Grey Tea, 12 hour continuous display, and a Mega Arduino cpu powering a state of the art nightlight.</p>
<p>The calming effects of tea, coupled with a mono-timezone display are intended to help soothe firey forum rhetoric. The built in alarm is part of a new marketing attempt to wake up the sleeping masses under the tagline &#8220;Spring Engine, now with games&#8221;.</p>
<p>Arguments broke out at the news over which variety of Tea bag should be installed. A meeting will be held in a months time to decide the issue, until which a new brand of Tea will be made available each day.</p>
<p>After the dramatic failure of the robotic sea lion to catch Lichos eye in 2011, Japanese innovators faced falling stocks, and had prepared a Robot Schoolgirl riding a bicycle in hopes of replacing the espresso machine in 2014 as the primary server.</p>
<p><a href="https://darkstars.tomjn.com/wp-content/uploads/sites/6/2013/09/ceatec_robot_6.img_assist_custom.jpg"><img loading="lazy" class="alignnone size-full wp-image-1749" src="https://darkstars.tomjn.com/wp-content/uploads/sites/6/2013/09/ceatec_robot_6.img_assist_custom.jpg" alt="ceatec_robot_6.img_assist_custom" width="467" height="506" srcset="https://darkstars.tomjn.com/wp-content/uploads/sites/6/2013/09/ceatec_robot_6.img_assist_custom.jpg 467w, https://darkstars.tomjn.com/wp-content/uploads/sites/6/2013/09/ceatec_robot_6.img_assist_custom-277x300.jpg 277w" sizes="(max-width: 467px) 100vw, 467px" /></a></p>
<p>Recent trial runs with the Megaglest community however indicate perpetual password reset issues</p>
]]></content:encoded>
					
					<wfw:commentRss>https://darkstars.co.uk/2013/09/25/new-server-announced/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>ClosestBuildSite &#038; Shard</title>
		<link>https://darkstars.co.uk/2013/03/07/closestbuildsite-shard/</link>
					<comments>https://darkstars.co.uk/2013/03/07/closestbuildsite-shard/#respond</comments>
		
		<dc:creator><![CDATA[Tom J Nowell]]></dc:creator>
		<pubDate>Thu, 07 Mar 2013 10:09:40 +0000</pubDate>
				<category><![CDATA[Shard]]></category>
		<category><![CDATA[Spring]]></category>
		<category><![CDATA[AI]]></category>
		<category><![CDATA[building placement]]></category>
		<category><![CDATA[interface]]></category>
		<category><![CDATA[spring engine]]></category>
		<guid isPermaLink="false">https://darkstars.co.uk/?p=1730</guid>

					<description><![CDATA[Since the beginning, the Spring engine APIs have provided a helper function closestbuildsite. Poorly documented, this API call does not work as one would expect, and is understood by few ( hence the lack of documentation ). For lack of time to implement something more comprehensive, Shard uses this API. Because of the way this [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Since the beginning, the Spring engine APIs have provided a helper function closestbuildsite. Poorly documented, this API call does not work as one would expect, and is understood by few ( hence the lack of documentation ).</p>
<p><span id="more-1730"></span></p>
<p>For lack of time to implement something more comprehensive, Shard uses this API.</p>
<p>Because of the way this API works, these issues can appear, sometimes all at once:</p>
<ul>
<li><span style="line-height: 13px">Units are spaced apart by large distances</span></li>
<li>Maps are built in such a way that those large distances prevent a position being found in the search radius</li>
<li>Wide open plains are ignored because they aren&#8217;t inside the search radius</li>
<li>A builder in the middle of an island might not have any valid water in its radius when requesting a shipyard</li>
<li>Units are built too close to each other</li>
</ul>
<p>These are symptomatic of how the API works.</p>
<p>Closestbuildsite requires a position, a radius, a unit definition, a facing direction and a spacing parameter, but has the following problems:</p>
<ul>
<li><span style="line-height: 13px">If you pass the builders position, you will likely get the builders position back, and the builder will block itself, preventing construction</span></li>
<li>As the search radius goes up, the cost and performance degradation rises exponentially, it performs no caching, and employs no special mechanisms to optimise</li>
<li>The spacing parameter is counter intuitive. The unit of measurement is how footprints worth of the specified unit</li>
<li>Spacing doesn&#8217;t take account of terrain or units, anything that blocks counts, so if there&#8217;s a buildable area with a small bump in the middle, it will not be valid.</li>
</ul>
<p>So if we specify a spacing value of 5, and build a light laser tower with a footprint of 1, it must be 5 from the nearest unbuildable square. If we build a kbot factory with a footprint of 8, and a spacing of 5, it must be 40 squares away from any unbuildable blocked position.</p>
<p>Shard attempts to mitigate this by doing some math on the footprint values and giving different values as spacing depending on how big or small a footprint is, but they&#8217;re approximate, and hard to optimise. Failures are inevitable. You can use the API to pass in your own position, but few do, and it moves the optimisation of spacing issue to lua rather than the C++ component.</p>
<h2>So What&#8217;s The Longterm fix?</h2>
<p>Implement a building placement algorithm. Possible mechanisms include:</p>
<ul>
<li><span style="line-height: 13px">Brute force test each square, starting at a position and radiating outwards ( expensive )</span></li>
<li>Split the map up into a grid, and mark larger grid squares as free or not free, with data on wether they&#8217;re valid for unit types. Generate valid positions ahead of time</li>
</ul>
<p>I will likely take the latter approach, and I&#8217;m sure there are other routes, but those are simple and easy to implement, and importantly, to expand on for each games purposes. In the future it also leads to basic landmass detection using a basic flood algorithm, to help prevent things such as shipyards in ponds, land factories on islands, and other silly construction decisions.</p>
<p>It could also be a good idea to delete the method from the API. This may break some old AIs, but most encountered this issue and built their own algorithm. Doing this would prevent new developers falling into the same trap and force new algorithms to be built ( and more clever AI features )</p>
<p>&#8211; Lead image source: http://www.flickr.com/photos/metrolibraryarchive/4128220971/sizes/o/</p>
]]></content:encoded>
					
					<wfw:commentRss>https://darkstars.co.uk/2013/03/07/closestbuildsite-shard/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Spring Server Move</title>
		<link>https://darkstars.co.uk/2011/11/15/spring-server-move/</link>
					<comments>https://darkstars.co.uk/2011/11/15/spring-server-move/#respond</comments>
		
		<dc:creator><![CDATA[Tom J Nowell]]></dc:creator>
		<pubDate>Tue, 15 Nov 2011 15:57:15 +0000</pubDate>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Spring]]></category>
		<guid isPermaLink="false">https://darkstars.co.uk/?p=1673</guid>

					<description><![CDATA[Licho, having tired of his internet fridge, has moved to a more powerful machine. It appears the spring community is now hosted on a very expensive customised espresso machine: Asked about the new machines specification, the owner, Licho had this to say: 15:36:39] &#60;Licho[0K]&#62; yeah something like that .. its 24gb server in roubaix france [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Licho, having tired of his <a href="https://darkstars.co.uk/2009/lichos-new-fridge/" target="_blank">internet fridge</a>, has moved to a more powerful machine.</p>
<p><span id="more-1673"></span>It appears the spring community is now hosted on a very expensive customised espresso machine:</p>
<p><a href="http://www.amazon.co.uk/gp/product/B0041DIWZM/ref=s9_simh_gw_p79_d0_g79_i1?pf_rd_m=A3P5ROKL5A1OLE&amp;pf_rd_s=center-2&amp;pf_rd_r=0X9P2KCYNEGR8SE2VTQK&amp;pf_rd_t=101&amp;pf_rd_p=467128533&amp;pf_rd_i=468294" target="_blank"><img loading="lazy" class="alignnone size-full wp-image-1675" title="31sddNtu01L._SL500_AA300_" src="https://darkstars.tomjn.com/wp-content/uploads/sites/6/2011/11/31sddNtu01L._SL500_AA300_.jpg" alt="" width="300" height="300" srcset="https://darkstars.tomjn.com/wp-content/uploads/sites/6/2011/11/31sddNtu01L._SL500_AA300_.jpg 300w, https://darkstars.tomjn.com/wp-content/uploads/sites/6/2011/11/31sddNtu01L._SL500_AA300_-150x150.jpg 150w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>Asked about the new machines specification, the owner, Licho had this to say:</p>
<pre>15:36:39] &lt;Licho[0K]&gt; yeah something like that .. its 24gb server in roubaix france ..
[15:37:09] &lt;AF&gt; is it noisy when it's at work?
[15:37:31] &lt;Licho[0K]&gt; most likely yeah, it has ordinary disk and fans
[15:37:47] &lt;AF&gt; aha a custom build ^_^</pre>
<p>Previous servers include <a href="https://darkstars.co.uk/2008/fnordias-new-tv/" target="_blank">Fnordias much lauded media TV</a>, and its replacement, the infamous <a href="https://darkstars.co.uk/2009/lichos-new-fridge/" target="_blank">internet enabled fridge</a>. We asked numerous community members their opinion on the output of the new espresso machine:</p>
<pre>[15:54:34] &lt;[LCC]KingRaptor[0K]&gt; things seem a bit smoother (may be placebo-like effect)</pre>
<p>Rival bidder for the new machine tender  Paro Robots U.S. Inc. is said to be angry at the revelation.  Paro Robots had proposed the <a href="https://www.youtube.com/watch?v=VEWTSSwwp5U" target="_blank">internet enabled cuddly seal</a>:</p>
<p><a href="https://darkstars.tomjn.com/wp-content/uploads/sites/6/2011/11/clickchick_2.jpg"><img loading="lazy" class="aligncenter size-full wp-image-1679" title="clickchick_2" src="https://darkstars.tomjn.com/wp-content/uploads/sites/6/2011/11/clickchick_2.jpg" alt="" width="300" height="200" /></a></p>
<p>Upon light of the rejection, rumours of an impending army of angry Japanese investors displaced rumours of the impending army of Atari litigators. The community is expected to return to Atari fear-mongering in the near future.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://darkstars.co.uk/2011/11/15/spring-server-move/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Shard, Gadget AIs, and Project Management</title>
		<link>https://darkstars.co.uk/2011/09/26/shard-gadget-ais-and-project-management/</link>
					<comments>https://darkstars.co.uk/2011/09/26/shard-gadget-ais-and-project-management/#respond</comments>
		
		<dc:creator><![CDATA[Tom J Nowell]]></dc:creator>
		<pubDate>Mon, 26 Sep 2011 15:06:23 +0000</pubDate>
				<category><![CDATA[AI]]></category>
		<category><![CDATA[Shard]]></category>
		<guid isPermaLink="false">https://darkstars.co.uk/?p=1654</guid>

					<description><![CDATA[Things are moving forward. Recent political hoohahs and misunderstandings have been cleared up, and a new vision is needed! To start, Foreboding Angel has offered to lead a port of Shard to exist as a pure lua AI in the spring engine, using the native gadget AI APIs. How will the different projects move forward? [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Things are moving forward. Recent political hoohahs and misunderstandings have been cleared up, and a new vision is needed!<span id="more-1654"></span></p>
<p>To start, Foreboding Angel has offered to lead a port of Shard to exist as a pure lua AI in the spring engine, using the native gadget AI APIs.</p>
<h3>How will the different projects move forward?</h3>
<p>I will continue to develop Shard as &#8216;Shard Core&#8217;, using the native interface. Foreboding Angel will lead the maintenance of the Gagdte Port of the Shard API. The Shard code from SHard core will use this API, and only this API, to ensure compatability.</p>
<h4>Naming</h4>
<p>My build will be termed Shard Core, and I suggest the following naming scheme:</p>
<pre>&lt;game name or distribution name&gt; Shard &lt;version moniker&gt;</pre>
<p>e.g. EvoRTS Shard Ballsey or just EvoRTS Shard if we were to take the latest release ( 0.31 Ballsey ) and the gadget AI currently used in EvolutionRTS.</p>
<h3>What is Needed to Port the API?</h3>
<p>Shards C++ component exposes an object called <em>game_engine</em> which is wrapped by another object named <em>game</em> in the file api.lua. Using this, one can make this objects functions work in both environments.</p>
<p>E.g. to make the game:SendToConsole call work in both Spring and Shards lua environments, the following ammendments need to be made:</p>
<pre>   -- prints 'message' to ingame chat console
   function game:SendToConsole(message)
      <strong>if Spring ~= nil then</strong>
<strong>         return Spring.SendMessage(message)</strong>
<strong>      else</strong>
         return game_engine:SendToConsole(message)
      <strong>end</strong>
   end</pre>
<p>From here on it&#8217;s mainly a matter of including the new api.lua, the ai itself, instantiating an instance of the AI from a gadget luaAI, and then passing events to this new AI object. Wrapper wills also need ot be made to prepresent the unit objects and unit definition objects also, but these are simple and would require little work, and can be done entirely using spring gadget API calls.</p>
<h3>Spring specific code?</h3>
<p>Once Shard is ported, developers will want to use their own code callouts and access spring specific APIs. I ask that rather than modify the existing code, they duplicate the relevant behaviours under a new game specific name, and make their own adjustments there. This way they can retain the benefits of updated Shard code, while having their own code that integrates with their own gadgets. Further documentation and helper methods will be made available to facilitate this, allowing Shard behaviours to be added from other spring gadgets.</p>
<h3>Progress</h3>
<p>Foreboding is currently refamiliarising himself with Shards internals. Here&#8217;s a video of a recent battle he posted:</p>
<p>http://youtu.be/MCeJeCuM4N8</p>
]]></content:encoded>
					
					<wfw:commentRss>https://darkstars.co.uk/2011/09/26/shard-gadget-ais-and-project-management/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Shard 0.31.1 Not So Ballsey</title>
		<link>https://darkstars.co.uk/2011/09/01/shard-0-31-1-not-so-ballsey/</link>
					<comments>https://darkstars.co.uk/2011/09/01/shard-0-31-1-not-so-ballsey/#respond</comments>
		
		<dc:creator><![CDATA[Tom J Nowell]]></dc:creator>
		<pubDate>Thu, 01 Sep 2011 16:25:55 +0000</pubDate>
				<category><![CDATA[AI]]></category>
		<category><![CDATA[Shard]]></category>
		<category><![CDATA[Spring]]></category>
		<category><![CDATA[shard ai]]></category>
		<guid isPermaLink="false">https://darkstars.co.uk/?p=1657</guid>

					<description><![CDATA[A minor adjustment for the current spring release when encountering unknown games. It has been found that there was a typographical error ( a missing &#8216;=&#8217; ). Fixed in the development build it has gone unfixed in the latest release, but not any more. Download Shard 0.31.1 Not So Ballsey here]]></description>
										<content:encoded><![CDATA[<p>A minor adjustment for the current spring release when encountering unknown games.</p>
<p><span id="more-1657"></span>It has been found that there was a typographical error ( a missing &#8216;=&#8217; ). Fixed in the development build it has gone unfixed in the latest release, but not any more.</p>
<p><a href="http://www.darkstars.co.uk/downloads/view.php?file=releases/shard/Shard.0.31.1NotSoBallsey.rar">Download Shard 0.31.1 Not So Ballsey here</a></p>
]]></content:encoded>
					
					<wfw:commentRss>https://darkstars.co.uk/2011/09/01/shard-0-31-1-not-so-ballsey/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Shard Attacks</title>
		<link>https://darkstars.co.uk/2011/03/22/shard-attacks/</link>
					<comments>https://darkstars.co.uk/2011/03/22/shard-attacks/#respond</comments>
		
		<dc:creator><![CDATA[Tom J Nowell]]></dc:creator>
		<pubDate>Tue, 22 Mar 2011 20:33:16 +0000</pubDate>
				<category><![CDATA[AI]]></category>
		<category><![CDATA[Shard]]></category>
		<category><![CDATA[Spring]]></category>
		<category><![CDATA[shard ai]]></category>
		<guid isPermaLink="false">https://darkstars.co.uk/?p=1632</guid>

					<description><![CDATA[I was asked a question about Shards attack system on the spring engine lobby server. Having described Shards attack system, I decided to repost the log here for posterity [20:19:31] &#60;[Mr]Peanus_Butter&#62; yo its #fhh£hu@4545, just a few questions about shard if you've a moment [20:19:41] oh rly? [20:20:10] &#60;[Mr]Peanus_Butter&#62; i'm wondering how shard determines threats [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>I was asked a question about Shards attack system on the spring engine lobby server. Having described Shards attack system, I decided to repost the log here for posterity<span id="more-1632"></span></p>
<pre>[20:19:31] &lt;[Mr]Peanus_Butter&gt; yo its <del>#fhh£hu@4545</del>, just a few questions about shard if you've a moment
[20:19:41]  oh rly?
[20:20:10] &lt;[Mr]Peanus_Butter&gt; i'm wondering how shard determines threats or enemy positions... how does it choose how to attack basically
[20:20:27] &lt;[Mr]Peanus_Butter&gt; i know it waits until a certain number of units are massed
[20:20:33] &lt;[Mr]Peanus_Butter&gt; but how does it decide where to go?
[20:20:37]  the files in question are attackhandler.lua and attackerbehaviour.lua
[20:20:46] &lt;[Mr]Peanus_Butter&gt; just a sec, i make open
[20:20:55]  when the unit is built
[20:21:07]  behaviourfactory looks at the behaviours table and loads the ones specified
[20:21:13]  if no entry is found
[20:21:25]  it looks to see if the unit is in the attackerslist table
[20:21:32]  and adds the attackerbehaviour
[20:21:45]  the attackerbehaviour then acts kind of like a conscripted soldier at home
[20:21:58]  it fires off an event registering its presence to the attackhandler
[20:22:09]  attackhandler then saves it in a table and does a check
[20:22:23]  if the queue of waiting attackers in the list is above a threshold
[20:22:28]  it removes them from the queue
[20:22:36]  and starts looking for a target
[20:22:48]  it iterates through every enemy on the map
[20:22:55] &lt;[Mr]Peanus_Butter&gt; ok i'm going to need a DL link, apparently i havent got it on this computer
[20:22:59]  adding its position to a counter on a grid
[20:23:08] &lt;[Mr]Peanus_Butter&gt; (still listening, thx for this)
[20:23:23]  when all the units are categorised, it picks the grid sector with the lowest nonzero value
[20:23:45]  this is how AAI, and NTai chose their targets
[20:23:53]  only AAI and NTai chose the highest
[20:23:56]  not the lowest
[20:24:02]  NTai had a lot of other twists also
[20:24:04] &lt;[Mr]Peanus_Butter&gt; so the choice of area to send attackers to is -not- actually using a threatmap, but a similar behavior, looking for a weak point
[20:24:24]  those 2 AIs did the targeting loop every few frames and added it to a heatmap that decayed
[20:24:34]  its more instantaneous and reactive
[20:24:37]  no lingering threats
[20:24:45]  rather simple if I do say so
[20:24:53]  when an enemy target is found
[20:25:01] &lt;[Mr]Peanus_Butter&gt; hmmmm
[20:25:04]  the attackhandler orders the attackerbehaviour to attack
[20:25:13]  a fight command is sent to the position
[20:25:20]  and the attacker is now left ot its own devices
[20:25:27]  and si out of the loop
[20:25:43]  when the attackerbehaviour recieves a unitIdle event for the attacker
[20:25:52]  the assumption is that there is nothing for it to do
[20:26:01]  so it assigns the attacker as in waiting
[20:26:08]  and repeats the whole process from the beginning
[20:26:23] &lt;[Mr]Peanus_Butter&gt; well it sounds pretty efficient
[20:26:23]  a nice and simple 'new' unit goes in
[20:26:26]  attacker comes out
[20:26:53] &lt;[Mr]Peanus_Butter&gt; attacking a weakpoint seems like a better strategy than attacking the strongest point
[20:26:58]  I have further optimisations to make to the algorithm to make it pluggable
[20:27:13]  you have IK to thank for that insight
[20:27:15]  but
[20:27:23]  I intend to make it a choice in future
[20:27:27]  like supcom
[20:27:33]  cull weakest vs attack strongest
[20:28:22]  do you mind if I repost this as a blog post?
[20:28:41] &lt;[Mr]Peanus_Butter&gt; yeah for sure; its helpful knowing how it works
[20:29:15] &lt;[Mr]Peanus_Butter&gt; i'm playing with a survival game idea with car and bob and wombat and a few others; trying to learn what i can about the various AI behaviours in spring
[20:29:26]  note
[20:29:31]  that the entire attacking system can be either
[20:29:33]  sidestepped
[20:29:35]  or replaced
[20:29:53]  all it would take is either your own behaviours, thats then assigned to attacker units
[20:29:54]  or
[20:30:05] &lt;[Mr]Peanus_Butter&gt; the other day I was testing shard against some other AI I've forgotten which and noticed the difference in attacking weak vs strong; i attributed it to a difference in threatmapping, but now i am wiser
[20:30:07]  put your own attackerhandler and attackbehaviour in your games subfolder
[20:30:21]  Shards Lua VM is set to ignore the main files if one is present in a game subdir
[20:30:29]  so itll be as if ym implementation never existed
[20:30:55]  or you can have different units use differing attack systems</pre>
]]></content:encoded>
					
					<wfw:commentRss>https://darkstars.co.uk/2011/03/22/shard-attacks/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Quick Update</title>
		<link>https://darkstars.co.uk/2011/01/17/quick-update/</link>
					<comments>https://darkstars.co.uk/2011/01/17/quick-update/#respond</comments>
		
		<dc:creator><![CDATA[Tom J Nowell]]></dc:creator>
		<pubDate>Mon, 17 Jan 2011 21:51:09 +0000</pubDate>
				<category><![CDATA[Blog]]></category>
		<guid isPermaLink="false">https://darkstars.co.uk/?p=1607</guid>

					<description><![CDATA[A quick udpate on what I&#8217;ve been up to and how things are going! Job &#38; Moving Flat I&#8217;m currently working as a Web Developer at QuadroNation, and moving flat, which has taken up quite a lot of my time the last few months. I now have keys and a move in date! So the [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>A quick udpate on what I&#8217;ve been up to and how things are going!</p>
<p><span id="more-1607"></span><br />
<img loading="lazy" class="size-full wp-image-1613 alignnone" style="margin-left:0" title="dsquad" src="https://darkstars.tomjn.com/wp-content/uploads/sites/6/2011/01/dsquad.jpg" alt="" width="847" height="539" srcset="https://darkstars.tomjn.com/wp-content/uploads/sites/6/2011/01/dsquad.jpg 847w, https://darkstars.tomjn.com/wp-content/uploads/sites/6/2011/01/dsquad-300x191.jpg 300w" sizes="(max-width: 847px) 100vw, 847px" /></p>
<h3>Job &amp; Moving Flat</h3>
<p>I&#8217;m currently working as a Web Developer at QuadroNation, and moving flat, which has taken up quite a lot of my time the last few months. I now have keys and a move in date! So the disruption should lessen soon and I can get back to work on my projects.</p>
<h3>Shard</h3>
<p>Work on .32 is going slowly. I have made improvements and fixes for fringe cases, but I have made no release due to a handful of problems that I&#8217;ve found in new games with the new code. Suffice to say I am behind schedule!</p>
<h3>This Website</h3>
<p>Since my last blogpost on Darkstars development, Ive made quite a few changes. However I&#8217;ve decided that I need a site attributable to me by name, one that doesn&#8217;t have people scratching their heads figuring out how to spell my email address. So I&#8217;ve been working on a second site to showcase me as a Web Developer, which is coming along nicely. I&#8217;ll then backport the changes into darkstars.co.uk</p>
<h3>Stamper</h3>
<p>Others will have noticed a lot of changes to the Stamper tool, from PNG images, to improved quality and multiple logo support! Go <a href="http://stamper.darkstars.co.uk">check it out here</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://darkstars.co.uk/2011/01/17/quick-update/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Shard 0.31 Ballsey</title>
		<link>https://darkstars.co.uk/2010/10/24/shard-0-31-ballsey/</link>
					<comments>https://darkstars.co.uk/2010/10/24/shard-0-31-ballsey/#respond</comments>
		
		<dc:creator><![CDATA[Tom J Nowell]]></dc:creator>
		<pubDate>Sat, 23 Oct 2010 23:23:29 +0000</pubDate>
				<category><![CDATA[AI]]></category>
		<category><![CDATA[Shard]]></category>
		<category><![CDATA[Spring]]></category>
		<category><![CDATA[lag]]></category>
		<category><![CDATA[NTai]]></category>
		<category><![CDATA[Spikes]]></category>
		<guid isPermaLink="false">https://darkstars.co.uk/?p=1600</guid>

					<description><![CDATA[Vast performance increases and reliability improvements have been made in Shard 0.31.Changes include: Spring v0.82.6.1 support Dramatically improved performance when searching for construction sites, spikes should no longer occur Shard will now search in a much larger radius for geothermal construction sites ( 600 -&#62; 3000 ) Shard now staggers the search radius and spacing [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Vast performance increases and reliability improvements have been made in Shard 0.31.<span id="more-1600"></span>Changes include:</p>
<ul>
<li>Spring v0.82.6.1 support</li>
<li>Dramatically improved performance when searching for construction sites, spikes should no longer occur</li>
<li>Shard will now search in a much larger radius for geothermal construction sites ( 600 -&gt; 3000 )</li>
<li>Shard now staggers the search radius and spacing of construction sites based on the size of the unit that needs building</li>
<li>Internal Architecture changes to support logic modules</li>
<li>Spike timer messages are now disabled at runtime</li>
<li>Code layout of default taskqueues changed to encourage better practises for newcomers</li>
</ul>
<p><strong><s>Download here</s></strong></p>
]]></content:encoded>
					
					<wfw:commentRss>https://darkstars.co.uk/2010/10/24/shard-0-31-ballsey/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>