<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xml:base="http://planet-soc.com" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
 <title>Planet SoC - </title>
 <link>http://planet-soc.com/planet</link>
 <description>The basic front page view.</description>
 <language>en</language>
<item>
 <title>Welcome to Planet SoC 2008!</title>
 <link>http://planet-soc.com/node/55</link>
 <description>&lt;p&gt;Hi, everyone! Welcome to Planet SoC, the &lt;del&gt;unofficial&lt;/del&gt; &lt;a href=&quot;http://googlesummerofcode.blogspot.com/2007/04/check-out-planet-soc.html&quot;&gt;official&lt;/a&gt; community site for &lt;a href=&quot;http://code.google.com/soc/&quot;&gt;Google Summer of Code students&lt;/a&gt; and mentors since 2005. You can get started in a few simple steps:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;First, &lt;a href=&quot;/user/register&quot;&gt;register for an account&lt;/a&gt;. Accounts will be approved within 24-48 hours.&lt;/li&gt;
&lt;li&gt;While you&#039;re waiting, feel free to &lt;a href=&quot;/node/add/forum/180&quot;&gt;introduce yourself&lt;/a&gt; on the forums, or &lt;a href=&quot;/tracker&quot;&gt;check out some recent posts&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Once your account is approved, you&#039;ll be able to &lt;a href=&quot;/node/add/feed&quot;&gt;post your blog feed&lt;/a&gt; and have it aggregated here.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;If you have any questions or suggestions, feel free to &lt;a href=&quot;/node/add/forum/2&quot;&gt;leave some feedback&lt;/a&gt; and one of the admins will respond shortly.&lt;/p&gt;
&lt;p&gt;&lt;!--break--&gt;&lt;/p&gt;
</description>
 <comments>http://planet-soc.com/node/55#comments</comments>
 <pubDate>Mon, 21 Apr 2008 05:17:10 +0200</pubDate>
 <dc:creator>webchick</dc:creator>
 <guid isPermaLink="false">55 at http://planet-soc.com</guid>
</item>
<item>
 <title>OpenBiomind-GUI 0.0.2.20080704 Screen Shots</title>
 <link>http://planet-soc.com/node/2668</link>
 <description>&lt;p&gt;Following are some of the screen shots of OpenBiomind-GUI 0.0.2.20080704 (revision 27 of &lt;a href=&quot;http://code.google.com/p/openbiomind-gui/&quot;&gt;http://code.google.com/p/openbiomind-gui/&lt;/a&gt;):&lt;/p&gt;

&lt;p&gt;Enhance Dataset Wizard Page&lt;br /&gt;&lt;a href=&quot;http://bp3.blogger.com/_uQZvRSOrh0A/SG7i9EpPkvI/AAAAAAAABrI/hbhNG8gYxRU/s1600-h/OpenBiomind-GUI+-+Enhance+Dataset+Task.PNG&quot;&gt;&lt;img src=&quot;http://bp3.blogger.com/_uQZvRSOrh0A/SG7i9EpPkvI/AAAAAAAABrI/hbhNG8gYxRU/s400/OpenBiomind-GUI+-+Enhance+Dataset+Task.PNG&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5219358557015610098&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;Dataset Transformer Task&lt;br /&gt;&lt;a href=&quot;http://bp2.blogger.com/_uQZvRSOrh0A/SG7i80pPkuI/AAAAAAAABrA/7ylAUD1M-hs/s1600-h/OpenBiomind-GUI+-+Dataset+Transformer+Task.PNG&quot;&gt;&lt;img src=&quot;http://bp2.blogger.com/_uQZvRSOrh0A/SG7i80pPkuI/AAAAAAAABrA/7ylAUD1M-hs/s400/OpenBiomind-GUI+-+Dataset+Transformer+Task.PNG&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5219358552720642786&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;More screen shots are available at &lt;a href=&quot;http://picasaweb.google.com/bsanghvi/OpenBiomindGUI&quot;&gt;http://picasaweb.google.com/bsanghvi/OpenBiomindGUI&lt;/a&gt;.&lt;br /&gt;
&lt;a href=&quot;http://feeds.feedburner.com/~f/openbiomind-gui?a=fBguOJ&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~f/openbiomind-gui?i=fBguOJ&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~f/openbiomind-gui?a=isEzUj&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~f/openbiomind-gui?i=isEzUj&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~f/openbiomind-gui?a=b3kKyj&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~f/openbiomind-gui?i=b3kKyj&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~f/openbiomind-gui?a=GLjZIj&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~f/openbiomind-gui?i=GLjZIj&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt;&lt;br /&gt;
&lt;img src=&quot;http://feeds.feedburner.com/~r/openbiomind-gui/~4/327109003&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;&lt;/p&gt;
</description>
 <comments>http://planet-soc.com/node/2668#comments</comments>
 <category domain="http://planet-soc.com/taxonomy/term/181">Planet SoC</category>
 <category domain="http://planet-soc.com/taxonomy/term/130">Singularity Institute for Artificial Intelligence</category>
 <pubDate>Sat, 05 Jul 2008 04:52:00 +0200</pubDate>
 <dc:creator>bsanghvi</dc:creator>
 <guid isPermaLink="false">2668 at http://planet-soc.com</guid>
</item>
<item>
 <title>OpenBiomind-GUI 0.0.2.20080704 Splash Screen</title>
 <link>http://planet-soc.com/node/2667</link>
 <description>&lt;p&gt;Here is the Splash Screen that I created for OpenBiomind-GUI. I used &lt;a href=&quot;http://www.gimp.org/&quot;&gt;GIMP&lt;/a&gt; to create this image. Clearly, I am not an artist and this was my first attempt at making an image :)&lt;br /&gt;&lt;a href=&quot;http://bp2.blogger.com/_uQZvRSOrh0A/SG7gy0pPktI/AAAAAAAABq4/bYliS7bkOkg/s1600-h/OpenBiomind-GUI+-+Splash.PNG&quot;&gt;&lt;img src=&quot;http://bp2.blogger.com/_uQZvRSOrh0A/SG7gy0pPktI/AAAAAAAABq4/bYliS7bkOkg/s400/OpenBiomind-GUI+-+Splash.PNG&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5219356181898695378&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://feeds.feedburner.com/~f/openbiomind-gui?a=dI8a1J&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~f/openbiomind-gui?i=dI8a1J&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~f/openbiomind-gui?a=K6i7ij&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~f/openbiomind-gui?i=K6i7ij&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~f/openbiomind-gui?a=BJx9Qj&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~f/openbiomind-gui?i=BJx9Qj&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~f/openbiomind-gui?a=DQ8Uvj&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~f/openbiomind-gui?i=DQ8Uvj&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt;&lt;br /&gt;
&lt;img src=&quot;http://feeds.feedburner.com/~r/openbiomind-gui/~4/327091234&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;&lt;/p&gt;
</description>
 <comments>http://planet-soc.com/node/2667#comments</comments>
 <category domain="http://planet-soc.com/taxonomy/term/181">Planet SoC</category>
 <category domain="http://planet-soc.com/taxonomy/term/130">Singularity Institute for Artificial Intelligence</category>
 <pubDate>Sat, 05 Jul 2008 04:38:00 +0200</pubDate>
 <dc:creator>bsanghvi</dc:creator>
 <guid isPermaLink="false">2667 at http://planet-soc.com</guid>
</item>
<item>
 <title>== July 4 == Ye Famous Travelling StarFleet Problem :)</title>
 <link>http://planet-soc.com/node/2666</link>
 <description>&lt;p&gt;It&amp;#8217;s that time &amp;#8216;o week again for me to write about my progress. The previous post is only three days old, but I got some stuff to blah about ;].&lt;/p&gt;

&lt;p&gt;So, for the most part I&amp;#8217;ve been splitting my time between getting the client ready, and preparing the actual robot for some action. I&amp;#8217;ve been having some issues with the ruleset and the low-level library (see last post), but mostly they&amp;#8217;ve been resolved (except for the annoying bug of being unable to colonize!), and now it&amp;#8217;s a matter of some time until the client gains complete functionality.&lt;/p&gt;

&lt;p&gt;In parallel to that, I&amp;#8217;ve started to work on the actual AI mechanism and infrastructure (by infrastructure, I mean creating the necessary framework for the robot to function). I have decided to forgo the original plan of running a natural-selection mechanism for actions on each and every move for the sake of a simpler, more conventional, but still (I think) very  elegant solution (which still implements a genetic selection process, only this time during its creation).&lt;/p&gt;

&lt;p&gt;The reason for this was twofold: first of all, I discovered a couple of problems in the design that were hard to overcome; the simulation of each move would&amp;#8217;ve been a real issue, and the mechanism for illegal-move sifting would not have been very difficult to implement, due to &amp;#8220;hypothesizing&amp;#8221; game-eventualities many moves ahead. Another, equally important reason for me to change the plan, is that this was really a two-fold project, as I had to spend (and still do, to some extent) an incredible amount of work on getting the Java client started, even before getting started on the robot. Hence, de-facto I&amp;#8217;ve only started work on the robot almost at the midterm-point, and I need to simplify the design a bit to get it in good shape before the fat lady sings! ;].&lt;/p&gt;

&lt;p&gt;I&amp;#8217;ll have much more to say on the alternative solution by next Friday, but in short it will be a four-part project: a) the client and game library, b) robot logic, c) a robot-factory for creating new robots, and d) an evolutionary framework for optimizing them. Each robot will have &amp;#8216;behavioural characteristics&amp;#8217;, by which its behavior will be guided, and which will be susceptible to mutation in the evolution-simulator.&lt;/p&gt;

&lt;p&gt;Here, I guess that&amp;#8217;s it for this week.&lt;/p&gt;

&lt;p&gt;PS - Do check out the code in the repo in the &amp;#8220;ActionMethods&amp;#8221; class for a home-brewed solution of  Ye Famous Travelling StarFleet Problem + some mathematical analysis on it! (It&amp;#8217;s not very tested yet, but I&amp;#8217;ve got faith in it).&lt;/p&gt;

&lt;p&gt;Till the dolphins leave,&lt;br /&gt;____________________&lt;/p&gt;

&lt;p&gt;Victor Ivri (vi1985)&lt;br /&gt;Blog address: &lt;a href=&quot;http://git.thousandparsec.net/gitweb/gitweb.cgi?p=gencon-rfts-ai.git;a=summary&quot;&gt;BLOG&lt;/a&gt;&lt;br /&gt;You can find the project in the git repo here: &lt;a href=&quot;http://git.thousandparsec.net/gitweb/gitweb.cgi?p=gencon-rfts-ai.git;a=summary&quot;&gt;REPO&lt;/a&gt;&lt;/p&gt;
</description>
 <comments>http://planet-soc.com/node/2666#comments</comments>
 <category domain="http://planet-soc.com/taxonomy/term/181">Planet SoC</category>
 <category domain="http://planet-soc.com/taxonomy/term/160">Thousand Parsec</category>
 <pubDate>Sat, 05 Jul 2008 02:19:00 +0200</pubDate>
 <dc:creator>vi1985</dc:creator>
 <guid isPermaLink="false">2666 at http://planet-soc.com</guid>
</item>
<item>
 <title>Weekly Report (June 30 - July 4)</title>
 <link>http://planet-soc.com/node/2660</link>
 <description>&lt;p&gt;This week I got the turn structure finalized by&lt;a href=&quot;http://git.thousandparsec.net/gitweb/gitweb.cgi?p=tpserver-cpp.git;a=commit;h=04132f62cc30fcde0daf3beef82ffcbbecaff344&quot;&gt; processing orders one player at a time and rotating that order&lt;/a&gt; each turn.  You can read more about my reasoning to do this in &lt;a href=&quot;http://nuleren.blogspot.com/2008/05/thoughts-on-simultaneous-turns.html&quot;&gt;this blog post&lt;/a&gt;.  I also &lt;a href=&quot;http://git.thousandparsec.net/gitweb/gitweb.cgi?p=tpserver-cpp.git;a=commit;h=8d3fde0eaeaf153e13300c1058d493533d2718e6&quot;&gt;fixed a couple bugs&lt;/a&gt; which arose from processing orders in this way.&lt;/p&gt;

&lt;p&gt;Each player should have 6 colonist ships at the beginning of each turn.  I &lt;a href=&quot;http://git.thousandparsec.net/gitweb/gitweb.cgi?p=tpserver-cpp.git;a=commit;h=f5f2c3e1d6d036bb39d86a467041b613746e57c3&quot;&gt;implemented the code to replenish&lt;/a&gt; these ships as they are used.  While doing this I also &lt;a href=&quot;http://git.thousandparsec.net/gitweb/gitweb.cgi?p=tpserver-cpp.git;a=commit;h=346efed6f9fde6d3693c14f4ee443fec14f39409&quot;&gt;moved the fleet creation code into its own class&lt;/a&gt;.  This helped to make the code more readable, easier to modify and easier to extend.&lt;/p&gt;

&lt;p&gt;I have almost everything done for the midterm.  I would like to add a message when the game over conditions are reached.  I would also like to create a better default map for the game.  I should have this done early next week.  In addition to this I will be finishing anything else that crops up and submitting my midterm evaluation.&lt;/p&gt;
</description>
 <comments>http://planet-soc.com/node/2660#comments</comments>
 <category domain="http://planet-soc.com/taxonomy/term/181">Planet SoC</category>
 <category domain="http://planet-soc.com/taxonomy/term/160">Thousand Parsec</category>
 <pubDate>Fri, 04 Jul 2008 23:03:00 +0200</pubDate>
 <dc:creator>Nuleren</dc:creator>
 <guid isPermaLink="false">2660 at http://planet-soc.com</guid>
</item>
<item>
 <title>Creating/Opening Link using Eclipse SWT</title>
 <link>http://planet-soc.com/node/2656</link>
 <description>&lt;p&gt;I recently had a need to use hyperlinks (though I did not use it eventually). Here is a snippet to create hyperlinks in using Eclipse SWT.&lt;/p&gt;

&lt;p&gt;/*&lt;br /&gt; * Specific to Eclipse SWT&lt;br /&gt; * Related packages&lt;br /&gt; * - org.eclipse.swt.widgets.Link&lt;br /&gt; * - org.eclipse.swt.events.SelectionAdapter&lt;br /&gt; * - org.eclipse.swt.events.SelectionEvent&lt;br /&gt; * - org.eclipse.swt.SWT&lt;br /&gt; * - org.eclipse.swt.program.Program&lt;br /&gt; */&lt;br /&gt;final Link link = new Link(parent, SWT.NONE);&lt;br /&gt;link.setText(&amp;#8220;Visit &lt;a href=&quot;//code.google.com/p/openbiomind-gui/\&amp;quot;&quot;&gt;OpenBiomind-GUI homepage&lt;/a&gt;&amp;#8221;);&lt;/p&gt;

&lt;p&gt;/*&lt;br /&gt; * You can use Selection Listener to identify the text that was clicked.&lt;br /&gt; * For e.g. here when user clicks on the hyperlink named OpenBiomind-GUI&lt;br /&gt; * then its href text, that is, &lt;a href=&quot;http://code.google.com/p/openbiomind-gui/&quot; title=&quot;http://code.google.com/p/openbiomind-gui/&quot;&gt;http://code.google.com/p/openbiomind-gui/&lt;/a&gt;&lt;br /&gt; * is set as event.text.&lt;br /&gt; */&lt;br /&gt;link.addSelectionListener(new SelectionAdapter() {&lt;/p&gt;

&lt;p&gt;    @Override&lt;br /&gt;    public void widgetSelected(final SelectionEvent event) {&lt;br /&gt;        // this will open the hyperlink in the default web browser&lt;br /&gt;        Program.launch(event.text);&lt;br /&gt;    }&lt;/p&gt;

&lt;p&gt;});&lt;br /&gt;
&lt;a href=&quot;http://feeds.feedburner.com/~f/openbiomind-gui?a=bpzk3J&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~f/openbiomind-gui?i=bpzk3J&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~f/openbiomind-gui?a=vyPrZj&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~f/openbiomind-gui?i=vyPrZj&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~f/openbiomind-gui?a=1p0I6j&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~f/openbiomind-gui?i=1p0I6j&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~f/openbiomind-gui?a=K73j3j&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~f/openbiomind-gui?i=K73j3j&quot; border=&quot;0&quot;&gt;&lt;/img&gt;&lt;/a&gt;&lt;br /&gt;
&lt;img src=&quot;http://feeds.feedburner.com/~r/openbiomind-gui/~4/326898944&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;&lt;/p&gt;
</description>
 <comments>http://planet-soc.com/node/2656#comments</comments>
 <category domain="http://planet-soc.com/taxonomy/term/181">Planet SoC</category>
 <category domain="http://planet-soc.com/taxonomy/term/130">Singularity Institute for Artificial Intelligence</category>
 <pubDate>Fri, 04 Jul 2008 22:16:00 +0200</pubDate>
 <dc:creator>bsanghvi</dc:creator>
 <guid isPermaLink="false">2656 at http://planet-soc.com</guid>
</item>
<item>
 <title>Weekly Report 8</title>
 <link>http://planet-soc.com/node/2655</link>
 <description>&lt;p&gt;Seeing that midterms evaluations lay so near things have started to get exciting again! This week saw the transition from private alpha testing to actual player testing, a good deal of C++ reading, and the start of planning for the second half of the term. I have to say my spirits were starting to wane, alpha testing was getting very dull and dreary. I wasn&amp;#8217;t quite sure if I was testing wrong, if the stage of testing was nearing an end, or if I was just running out of ideas. &lt;/p&gt;

&lt;p&gt;A brief letter to Tyler (my mentor - have to say it :P) and a break to finish reading the last 2/3rds of &lt;a href=&quot;http://www.amazon.com/Effective-Specific-Addison-Wesley-Professional-Computing/dp/0321334876&quot; title=&quot; Books&quot;&gt;Effective C++&lt;/a&gt; revitalized my spirits while I awaited Tyler&amp;#8217;s reply. Tyler informed me I was most likely ready to start having other players test the game and my feelings weren&amp;#8217;t unusual. Soon after I recruited my wife to help me playtest. Once I got Jackie (my wife) rolling, and introduced to Thousand Parsec in general, things started going really well. Playing with someone else almost instantly illuminated quite a few more glaring bugs and errors I didn&amp;#8217;t notice before. The two games we played helped me fix up some message formatting, improve the accuracy of Attack moves (particularly conquering planets,) gain more information on my &amp;#8220;view&amp;#8221; bugs and finally, revealed a SUPER BUG I&amp;#8217;m calling &amp;#8220;Phantom Ownership.&amp;#8221; Jackie also helped me to notice parts of my documentation that could be less ambiguous, and other areas that need work. She also noted the disappointing lack a connectivity map, something I need to work on next half-term.&lt;br /&gt;
As for how I&amp;#8217;m actually FEELING about GSoC this week&amp;#8230; better, much better. Testing was/is pretty hard; I found myself getting bored of playing Risk and running out of things to test for (as well as becoming &amp;#8220;blind&amp;#8221; to errors I should have noticed.) My time spent reading Effective C++ was excellent, and I&amp;#8217;d like to continue reading bits and pieces of various C++/programming books as I keep working on my project. The benefit have been noticeable, and I should be able to improve my coding in the rest of GSoC, as well as fixing/revising older code. I&amp;#8217;m excited that next week marks the start of mid-term evaluations; I feel as if I underestimated myself when I initially scoped out my project. As a result I&amp;#8217;m a bit ahead of schedule: I have a fairly stable game, needing only a few more features to be complete. The focus of the second half of my term will be on XML map import, increased clarity in the visual presentation, and improving documentation.&lt;br /&gt;
Now for the week:&lt;br /&gt;
&lt;strong&gt;Monday:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
Read the middle ~1/3 of Effective C++. Monday was a shorter day due to a family visit.
&lt;/li&gt;
&lt;li&gt;
A bit of testing. No new bugs discovered, documented more on &amp;#8220;view&amp;#8221; bugs in bugs.txt. &lt;a href=&quot;http://git.thousandparsec.net/gitweb/gitweb.cgi?p=tpserver-cpp.git;a=commit;h=b0e23a56d8b7f5b16758b3626fd5baffd44ee437&quot; title=&quot;git.thousandparsec.net Git - tpserver-cpp.git/commit&quot;&gt;commit&lt;/a&gt;.
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Tuesday:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
Family visit + Canada day.
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Wednesday:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
Finished Effective C++. Otherwise a very slow day (spoke with Tyler about testing, &lt;a href=&quot;http://www.hammerofcode.com/2008/07/canada-day/#more-48&quot; title=&quot;canada day -  Hammer of Code&quot;&gt;post&lt;/a&gt;.)
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Thursday:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
Did a lot of research and thinking about XML and Map import. &lt;a href=&quot;http://www.hammerofcode.com/2008/07/xml-and-the-like/&quot; title=&quot;xml and the like -  Hammer of Code&quot;&gt;See post&lt;/a&gt;.
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Friday:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Did play testing with wife:&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;
Fixed bug where player created extra units when conquering a planet. &lt;a href=&quot;http://git.thousandparsec.net/gitweb/gitweb.cgi?p=tpserver-cpp.git;a=commit;h=f2ee71901de5c3f1c03ff3a87eaa6000306c440e&quot; title=&quot;git.thousandparsec.net Git - tpserver-cpp.git/commit&quot;&gt;commit&lt;/a&gt;.
&lt;/li&gt;
&lt;li&gt;
Fixed formatting issue for origin player on Move order. &lt;a href=&quot;http://git.thousandparsec.net/gitweb/gitweb.cgi?p=tpserver-cpp.git;a=commit;h=bdd5a51a29352a74abff94e8f5a50b52bb4fb724&quot; title=&quot;git.thousandparsec.net Git - tpserver-cpp.git/commit&quot;&gt;commit&lt;/a&gt;.
&lt;/li&gt;
&lt;li&gt;
Fixed logical error where player could receive better odds by attacking as a &amp;#8220;last stand&amp;#8221;. &lt;a href=&quot;http://git.thousandparsec.net/gitweb/gitweb.cgi?p=tpserver-cpp.git;a=commit;h=de8752ad8cabb19bfdeca93716c980af45de323c&quot; title=&quot;git.thousandparsec.net Git - tpserver-cpp.git/commit&quot;&gt;commit&lt;/a&gt;.
&lt;/li&gt;
&lt;li&gt;
Added more info on Bug. 1 - &amp;#8220;View&amp;#8221; bug -&amp;gt; Will be putting together Mailing list post to ask for help.
&lt;/li&gt;
&lt;li&gt;
Discovered &amp;#8220;Phantom Ownership&amp;#8221;: A player retains the ability to issue orders on a planet after it has been captured. Also asking for help with this on the ML.
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;/ul&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Next Week:&lt;/strong&gt;&lt;br /&gt;
Seeing as next week marks the beginning of midterm evaluations it seems appropriate to start work on XML map importing. After an excellent comment from &lt;a href=&quot;http://www.codesynthesis.com/~boris/blog/&quot; title=&quot;A Sense of Design&quot;&gt;Boris Kolpackov&lt;/a&gt; I have good insight into what parser I will be using, and as such can develop an &lt;a href=&quot;http://www.w3.org/XML/Schema&quot; title=&quot;W3C XML Schema&quot;&gt;XML Schema&lt;/a&gt; for the map specifications and evaluate the suitability of &lt;a href=&quot;http://www.codesynthesis.com/products/xsd/&quot; title=&quot;CodeSynthesis XSD - XML Data Binding for C++&quot;&gt;CodeSynthesis&amp;#8217; XSD&lt;/a&gt;. I will also continue testing with my wife, and anyone who cares to give me their time to playtest with! In addition I will enhance Getting_Started documentation to be more clear and unambiguous.&lt;/p&gt;
</description>
 <comments>http://planet-soc.com/node/2655#comments</comments>
 <category domain="http://planet-soc.com/taxonomy/term/181">Planet SoC</category>
 <category domain="http://planet-soc.com/taxonomy/term/160">Thousand Parsec</category>
 <pubDate>Fri, 04 Jul 2008 22:08:50 +0200</pubDate>
 <dc:creator>jphr</dc:creator>
 <guid isPermaLink="false">2655 at http://planet-soc.com</guid>
</item>
<item>
 <title>Actual (theoretical) functionality!</title>
 <link>http://planet-soc.com/node/2645</link>
 <description>&lt;p&gt;I finished the backend for the player kicking interface and fixed a bunch of other semantic errors.  I also spent some time researching the less well known HTTP methods PUT and DELETE to see if they would be suitable for some of the controls, particularly using PUT for help messages.  Browser support seems to be the limiting factor.  I&amp;#8217;ll make a decision on this next day and make the necessary changes, and also test what I have so far, moving onto the banlist interface if I have time left.&lt;/p&gt;
</description>
 <comments>http://planet-soc.com/node/2645#comments</comments>
 <category domain="http://planet-soc.com/taxonomy/term/14">BZFlag</category>
 <pubDate>Fri, 04 Jul 2008 07:04:07 +0200</pubDate>
 <dc:creator>bug</dc:creator>
 <guid isPermaLink="false">2645 at http://planet-soc.com</guid>
</item>
<item>
 <title>xml and the like</title>
 <link>http://planet-soc.com/node/2643</link>
 <description>&lt;p&gt;Contrary to what I expected I ended up spending the day looking into XML, xml-parsers and map importing. I kicked things off by familiarizing myself with XML; turns out I had a decent grasp on how XML worked already. I did, however, learn that it was possible to define a &amp;#8220;Document Type Definition&amp;#8221; or DTD to specify which tags have what, which attributes exist of tags, and the like. I threw together a simple DTD for the map metalanguage; It allows the map to have multiple constellations, each with a name attribute. Those constellations can then have multiple planets. Each planet has a name, id, x, y attribute, as well as any number of &amp;#8220;id&amp;#8221;s of adjacent planets. &lt;/p&gt;

&lt;p&gt;Here is the DTD for those versed in XML:&lt;/p&gt;

&lt;p&gt;&lt;pre&gt;
!DOCTYPE MAP [
!ELEMENT MAP (CNST&lt;em&gt;)&amp;gt;
!ELEMENT CNST (PLNT&lt;/em&gt;)&amp;gt;
    !ATTLIST CNST name CDATA #REQUIRED&amp;gt;
!ELEMENT PLNT (ID*)&amp;gt;
    !ATTLIST PLNT name CDATA #REQUIRED&amp;gt;
    !ATTLIST PLNT id CDATA #REQUIRED&amp;gt;
    !ATTLIST PLNT x CDATA #REQUIRED&amp;gt;
    !ATTLIST PLNT y CDATA #REQUIRED&amp;gt;
!ELEMENT ID (#PCDATA)&amp;gt;
]&amp;gt;
&lt;/pre&gt;&lt;p&gt;(I had to remove the beginning braces because of display issues)&lt;br /&gt;
The only issue a predefined DTD raises is that it creates the need for a more sophisticated xml parser. My original intention was to use the &lt;a href=&quot;http://www.grinninglizard.com/tinyxml/&quot; title=&quot;TinyXml Main Page&quot;&gt;TinyXml&lt;/a&gt; parser, but in its frugality it omits DTD validation of XML. DTD is a feature I think is fairly important for a map import class, primarily because a validated XML doc should THEORETICALLY contain a valid map (if my DTD does the job correctly.) That valid XML could then be imported via &lt;a href=&quot;http://en.wikipedia.org/wiki/Document_Object_Model&quot; title=&quot;Document Object Model - Wikipedia, the free encyclopedia&quot;&gt;DOM&lt;/a&gt;, possibly directly, into the game. While a DOM import would be nice, it may not be possible. My backup plan would be the following:&lt;/p&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Do a pass over all constellations. Create each one (using name), and add a pointer to it to a set.&lt;/li&gt;
&lt;li&gt;Do a pass through each constellation, over all planets. Create each planet (using name, x, y and parent constellation) and map the specified id to the planets TRUE in-game ID.&lt;/li&gt;
&lt;li&gt;Do another pass. This time adding adjacencies from the parsed XML to the game. This can be accomplished by using the ID map to relate xml IDs to true IDs.&lt;/li&gt;
&lt;li&gt;Done. At this point a valid map should have been created&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Going back to &lt;strong&gt;choosing&lt;/strong&gt; an XML parser; My next candidate to investigate, and the #1 result when you search for &amp;#8220;XML C++ Parser&amp;#8221; is the &lt;a href=&quot;http://xerces.apache.org/xerces-c/&quot; title=&quot;Xerces C++ Parser&quot;&gt;Xerces C++ Parser&lt;/a&gt;. From what I understand, Xerces is a little bit more robust XML parser. While TinyXML is under a fairly loose license, Xerces is under the &lt;a href=&quot;http://www.fsf.org/licensing/licenses/&quot; title=&quot;Licenses - Free Software Foundation&quot;&gt;Apache General License&lt;/a&gt;, so I&amp;#8217;m not entirely sure about its usability.&lt;br /&gt;
In other news: I just received an EZFLASH 3-in-1 GBA cart for my Nintendo DS, and so I will be bidding you all adieu to muck around with all the GBA homebrew (and other stuff) I can!&lt;/p&gt;
</description>
 <comments>http://planet-soc.com/node/2643#comments</comments>
 <category domain="http://planet-soc.com/taxonomy/term/181">Planet SoC</category>
 <category domain="http://planet-soc.com/taxonomy/term/160">Thousand Parsec</category>
 <pubDate>Fri, 04 Jul 2008 00:13:40 +0200</pubDate>
 <dc:creator>jphr</dc:creator>
 <guid isPermaLink="false">2643 at http://planet-soc.com</guid>
</item>
<item>
 <title>Have you got a 27B/6?</title>
 <link>http://planet-soc.com/node/2641</link>
 <description>&lt;p&gt;I think the first half of my GSoC project, comprising the &lt;a href=&quot;http://git.thousandparsec.net/gitweb/gitweb.cgi?p=documents.git;a=blob;f=protocol/admin.xml;h=112049dd2198a507248519aa640076d59645feef;hb=e54464acadfbb83e59b2d8aa158d5ce653f07338&quot;&gt;administration protocol&lt;/a&gt;, the modifications to tpserver-cpp and libtpproto-cpp to support it, and the standalone tpadmin-cpp administration client, is ready for prime time, or at least a half-hour spot at 3:00 AM on the public access channel.&lt;/p&gt;

&lt;p&gt;I&amp;#8217;ll still be hammering it for bugs over the next day or two, but fingers crossed, it looks good right now. There are still a few gaps in functionality that will probably be added at some point; notably, the local command set is only updated at login currently, but eventually the client may want to watch for changes in the server-side list and update.&lt;/p&gt;

&lt;p&gt;If you&amp;#8217;d like to try it out, compile the config branches of &lt;a href=&quot;http://git.thousandparsec.net/gitweb/gitweb.cgi?p=tpserver-cpp.git;a=summary&quot;&gt;tpserver-cpp&lt;/a&gt; and &lt;a href=&quot;http://git.thousandparsec.net/gitweb/gitweb.cgi?p=libtpproto-cpp.git;a=summary&quot;&gt;libtpproto-cpp&lt;/a&gt;, as well as &lt;a href=&quot;http://git.thousandparsec.net/gitweb/gitweb.cgi?p=tpadmin-cpp.git;a=summary&quot;&gt;tpadmin-cpp&lt;/a&gt;. Note that this version of tpserver-cpp runs as a daemon, but you can disable that behavior with the &lt;code&gt;-d&lt;/code&gt; switch. Issuing &lt;code&gt;open localhost&lt;/code&gt; and &lt;code&gt;login admin admin&lt;/code&gt; to tpadmin-cpp should give you access to a set of commands on the server (type &lt;code&gt;help&lt;/code&gt; to see them all).&lt;/p&gt;

&lt;p&gt;I&amp;#8217;ll greatly appreciate any feedback, especially suggestions and bug reports.&lt;/p&gt;
</description>
 <comments>http://planet-soc.com/node/2641#comments</comments>
 <category domain="http://planet-soc.com/taxonomy/term/181">Planet SoC</category>
 <category domain="http://planet-soc.com/taxonomy/term/160">Thousand Parsec</category>
 <pubDate>Thu, 03 Jul 2008 20:15:55 +0200</pubDate>
 <dc:creator>ezod</dc:creator>
 <guid isPermaLink="false">2641 at http://planet-soc.com</guid>
</item>
</channel>
</rss>
