<?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/"
	>

<channel>
	<title>Martin Ankerl &#187; corewars</title>
	<atom:link href="http://martin.ankerl.com/category/corewars/feed/" rel="self" type="application/rss+xml" />
	<link>http://martin.ankerl.com</link>
	<description>No movement is faster than no movement</description>
	<lastBuildDate>Fri, 13 Aug 2010 07:34:52 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=abc</generator>
		<item>
		<title>CoreWars Simulators Overview</title>
		<link>http://martin.ankerl.com/2006/07/29/corwars-simulators-overview/</link>
		<comments>http://martin.ankerl.com/2006/07/29/corwars-simulators-overview/#comments</comments>
		<pubDate>Sat, 29 Jul 2006 12:48:16 +0000</pubDate>
		<dc:creator>Martin Ankerl</dc:creator>
				<category><![CDATA[coding]]></category>
		<category><![CDATA[corewars]]></category>

		<guid isPermaLink="false">http://martin.ankerl.com/?p=68</guid>
		<description><![CDATA[I have just received a patch for qMars from Pavel Šavara, so I have finally got some updated information about the different CoreWars simulators I have written. All of them have quite different properties, so have a look and choose whichever suites you best: qMars Download: qmars_1.1.tar.bz2 Speed: Pretty fast Coolness: Very cool Techniques: To [...]]]></description>
			<content:encoded><![CDATA[<p>I have just received a patch for qMars from <a href="http://nmars.sourceforge.net/">Pavel Šavara</a>, so I have finally got some updated information about the different <a href="http://www.corewars.org/">CoreWars</a> simulators I have written. All of them have quite different properties, so have a look and choose whichever suites you best:</p>
<p><span id="more-68"></span></p>
<h1>qMars</h1>
<ul>
<li><b>Download</b>: <a href="/files/qmars_1.1.tar.bz2">qmars_1.1.tar.bz2</a>
<li><b>Speed</b>: Pretty fast
<li><b>Coolness</b>: Very cool
<li><b>Techniques</b>: To achieve the speed, qMars uses a code generator that generates a very big switch-statement (383 cases) which allows for highly optimized code that would not be possible to write by hand. It is written in C++ and uses some <a href="http://osl.iu.edu/~tveldhui/papers/Template-Metaprograms/meta-art.html">template metaprogramming</a> tricks which gives it a high coolness factor.
</ul>
<h1>exhaust-ma</h1>
<ul>
<li><b>Download</b>: <a href="/files/exhaust-ma.zip">exhaust-ma.zip</a>
<li><b>Speed</b>: Pretty damn fast
<li><b>Coolness</b>: Cool enough
<li><b>Techniques</b>: This is a modified <a href="http://www.cs.helsinki.fi/u/jpihlaja/exhaust/exhaust.html">exhaust</a> with some quite obscure optimization tricks. It achieves its  speed through hand-optimized code for the most commonly used commands (MOV.I, DJN, SPL). It uses several bit operations and lots of macros which makes the it exceptinally fast and the source exceptionally unreadable. It is written in C, and compiles quite fast.
</ul>
<h1>exMARS</h1>
<ul>
<li><b>Download</b>: <a href="/files/exmars-0.01.tar.gz">exmars-0.01.tar.gz</a>
<li><b>Speed</b>: Pretty damn fast
<li><b>Coolness</b>: Extremely amazing Cool
<li><b>Techniques</b> exMARS combines the best parts of exhaus-ma with <a href="http://www.ecst.csuchico.edu/%7Epizza/koth/pmars.html">pmars</a> and goes even further:
<ul>
<li>exMARS uses the parser of pmars which means that you can read in <em>any</em> warrior file, no need to preparse the warriors like in exhaust or qMars.
<li>exMARS uses the simulator engine of exhaust-ma which means it is pretty damn fast.
<li>exMARS contains several fixes to memory leaks of the pmars parser and the interface has been rewritten, so now you can embedd exMARS in your application and have <i>multiple different mars simulators at once</i>.
<li>There is more, read this slowly to let it slowly sink in: <i>exMARS has <a href="http://www.ruby-lang.org/en/">Ruby</a> bindings</i>. That means you can write an evolver in Ruby and still have an exceptionally fast simulator. Usage is like this:
<pre>require "mars"
mars = Mars.standard(2) # standard mars settings, two warriors.

w1 = mars.parse("warriors/94nop/behemot.red")
w2 = mars.parse("warriors/94nop/reepicheep.red")

mars.rounds = 200
puts m.fight(w1, w2).results_str</pre>
</ul>
<p>Told you it is cool.
</ul>
<p>On a side note, somebody has taken these ideas to the extreme and wrote <a href="http://www.v-lo.krakow.pl/~michal/fmars.html">fmars</a>, which is the currently fastest corewars simulator on the planet, which rightfully deserves to be called &#8220;pretty amazing damn fast&#8221;. Unfortunately it can be a bit tricky to compile and only works with <a href="http://gcc.gnu.org/">gcc</a>. But he has also a Python interface (with <a href="http://www.swig.org/">SWIG</a>, so generating Ruby, Java or whatever interface you like should be very simple).</p>
<div style='clear:both'></div><img src="http://martin.ankerl.com/?ak_action=api_record_view&id=68&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://martin.ankerl.com/2006/07/29/corwars-simulators-overview/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>CoreWars</title>
		<link>http://martin.ankerl.com/2006/06/12/corewars/</link>
		<comments>http://martin.ankerl.com/2006/06/12/corewars/#comments</comments>
		<pubDate>Mon, 12 Jun 2006 17:32:02 +0000</pubDate>
		<dc:creator>Martin Ankerl</dc:creator>
				<category><![CDATA[about]]></category>
		<category><![CDATA[corewars]]></category>
		<category><![CDATA[news]]></category>

		<guid isPermaLink="false">http://martin.ankerl.com/?p=61</guid>
		<description><![CDATA[Some years ago I have played a bit with CoreWars, which is a very interesting programming game. corwars.co.uk seems is now hosting my site, because I am too lazy to integrate the data into my new homepage. Have a look at Yace, exhaust-ma and qMars here.]]></description>
			<content:encoded><![CDATA[<p>Some years ago I have played a bit with <a href="http://www.corewars.org/">CoreWars</a>, which is a very interesting programming game. corwars.co.uk seems is now hosting my site, because I am too lazy to integrate the data into my new homepage. Have a look at Yace, exhaust-ma and qMars <a href="http://corewar.co.uk/ankerl/index.htm">here</a>.</p>
<div style='clear:both'></div><img src="http://martin.ankerl.com/?ak_action=api_record_view&id=61&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://martin.ankerl.com/2006/06/12/corewars/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
