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

<channel>
	<title>RedPanda Development Blog</title>
	<atom:link href="http://redpanda.southwestern.edu/blog/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://redpanda.southwestern.edu/blog</link>
	<description>Meta-Gaming and Emergent Properties</description>
	<pubDate>Wed, 18 Mar 2009 16:07:23 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5</generator>
	<language>en</language>
			<item>
		<title>AI Integration</title>
		<link>http://redpanda.southwestern.edu/blog/?p=71</link>
		<comments>http://redpanda.southwestern.edu/blog/?p=71#comments</comments>
		<pubDate>Wed, 18 Mar 2009 16:07:23 +0000</pubDate>
		<dc:creator>stephen</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://redpanda.southwestern.edu/blog/?p=71</guid>
		<description><![CDATA[I&#8217;ve begun the process of reintegrating our awesome AI features into the rewrite.  It&#8217;s going well!  The ai stuff was failry abstract to begin with, so it&#8217;s not particularly difficult.  There are just a lot of methods to implement in the context of our new Request-based architecture.  I had forgotten how much power our in-game [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve begun the process of reintegrating our awesome AI features into the rewrite.  It&#8217;s going well!  The ai stuff was failry abstract to begin with, so it&#8217;s not particularly difficult.  There are just a lot of methods to implement in the context of our new Request-based architecture.  I had forgotten how much power our in-game scripting language has.</p>
]]></content:encoded>
			<wfw:commentRss>http://redpanda.southwestern.edu/blog/?feed=rss2&amp;p=71</wfw:commentRss>
		</item>
		<item>
		<title>Computer Vision</title>
		<link>http://redpanda.southwestern.edu/blog/?p=70</link>
		<comments>http://redpanda.southwestern.edu/blog/?p=70#comments</comments>
		<pubDate>Wed, 18 Mar 2009 16:04:47 +0000</pubDate>
		<dc:creator>stephen</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://redpanda.southwestern.edu/blog/?p=70</guid>
		<description><![CDATA[Just as an experiment, I added some computer vision to our game.  Using just a webcam, you can control where you move in the game just by moving colored objects in the real world (i.e. a pen cap, a marked finger, etc.)  It works surprisingly well!  We need to put videos on YouTube!
]]></description>
			<content:encoded><![CDATA[<p>Just as an experiment, I added some computer vision to our game.  Using just a webcam, you can control where you move in the game just by moving colored objects in the real world (i.e. a pen cap, a marked finger, etc.)  It works surprisingly well!  We need to put videos on YouTube!</p>
]]></content:encoded>
			<wfw:commentRss>http://redpanda.southwestern.edu/blog/?feed=rss2&amp;p=70</wfw:commentRss>
		</item>
		<item>
		<title>Synchronization and future directions</title>
		<link>http://redpanda.southwestern.edu/blog/?p=69</link>
		<comments>http://redpanda.southwestern.edu/blog/?p=69#comments</comments>
		<pubDate>Mon, 02 Feb 2009 00:59:23 +0000</pubDate>
		<dc:creator>stephen</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://redpanda.southwestern.edu/blog/?p=69</guid>
		<description><![CDATA[MoveRequests are being synchronized (according to the tests.)  But we use MoveWithMouseRequests to drag objects.  These should probably be translated into MoveRequests before reaching BodyManager.  Should we make a RelationalMoverModule???
Also, I haven&#8217;t yet tested anything by running the game.  But I made a SimpleServer, which is like ModularSimpleGame, except that it just has a BodyManager [...]]]></description>
			<content:encoded><![CDATA[<p>MoveRequests are being synchronized (according to the tests.)  But we use MoveWithMouseRequests to drag objects.  These should probably be translated into MoveRequests before reaching BodyManager.  Should we make a RelationalMoverModule???</p>
<p>Also, I haven&#8217;t yet tested anything by running the game.  But I made a SimpleServer, which is like ModularSimpleGame, except that it just has a BodyManager and the server modules.  In a perfect world, we can run SimpleServer then run ModularSimpleGame and see the AI-Brain-Possessed rock climbing the mountain on both  the server and the client.  But I am skeptical that this will actually work.  Will the AIModule get angry that the rock isn&#8217;t being created fast enough?  Will there be other, unforseeable problems?  These things are impossible to know until the Wikipedia community gets off its ass and writes a series of articles about ModularSimpleGame.</p>
<p>&#8211;Stephen</p>
<p>P.S. Would this be cool?  First, we make a module with a Will.  This module opens a socket to which we can connect remotely with a simple console/shell program.  The module takes incoming strings, translates them into NewRequests, and broadcasts to the connected modules.  Thus, we would be able to connect to our game with a text-based user interface and mess with a running game in realtime without ever having to run the game&#8230;</p>
<p>Also, we could then attach a guiModule to the ConsoleModule and make an in-game console.</p>
]]></content:encoded>
			<wfw:commentRss>http://redpanda.southwestern.edu/blog/?feed=rss2&amp;p=69</wfw:commentRss>
		</item>
		<item>
		<title>Reports of Our Death</title>
		<link>http://redpanda.southwestern.edu/blog/?p=68</link>
		<comments>http://redpanda.southwestern.edu/blog/?p=68#comments</comments>
		<pubDate>Sat, 31 Jan 2009 22:43:28 +0000</pubDate>
		<dc:creator>stephen</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://redpanda.southwestern.edu/blog/?p=68</guid>
		<description><![CDATA[In spite of the lack of recent activity on this blog, it is important to note that RedPanda is alive and well.  We are currently in the middle of a full rewrite, which will make the game much easier for the open source community to work on.
The rewrite is going VERY smoothly, more smoothly than [...]]]></description>
			<content:encoded><![CDATA[<p>In spite of the lack of recent activity on this blog, it is important to note that RedPanda is alive and well.  We are currently in the middle of a full rewrite, which will make the game much easier for the open source community to work on.</p>
<p>The rewrite is going VERY smoothly, more smoothly than I could ever have hoped.  In just a few months, we have almost recreated all features from version 1.0.  After finishing up the synchronization of game entities, all that&#8217;s left is to rewrite the artificial intelligence feature set.</p>
<p>We&#8217;re hoping for an official release at the end of Februrary!</p>
]]></content:encoded>
			<wfw:commentRss>http://redpanda.southwestern.edu/blog/?feed=rss2&amp;p=68</wfw:commentRss>
		</item>
		<item>
		<title>Changes</title>
		<link>http://redpanda.southwestern.edu/blog/?p=67</link>
		<comments>http://redpanda.southwestern.edu/blog/?p=67#comments</comments>
		<pubDate>Sun, 25 May 2008 23:52:52 +0000</pubDate>
		<dc:creator>tommy</dc:creator>
		
		<category><![CDATA[Programming]]></category>

		<category><![CDATA[issues]]></category>

		<guid isPermaLink="false">http://redpanda.southwestern.edu/blog/?p=67</guid>
		<description><![CDATA[I worked for a long time today trying to get the database to be able to be on a computer other than redpanda, and partially succeeded.
The conversations.Database class now keeps track of a serverAddress string that indicates, as expected, the location of the server. This is set by a static Database.setServerAddress(String) method that gets called [...]]]></description>
			<content:encoded><![CDATA[<p>I worked for a long time today trying to get the database to be able to be on a computer other than redpanda, and partially succeeded.</p>
<p>The conversations.Database class now keeps track of a serverAddress string that indicates, as expected, the location of the server. This is set by a static Database.setServerAddress(String) method that gets called about as soon as you start the client or server, in the FrontClient and NetworkBetterServer constructors. (Although I don&#8217;t think the server ever actually uses it - explained later.)</p>
<p>We have mysterious duplicate methods in the Database class, which take an extra unused parameter (boolean onServer) to distinguish between them. I&#8217;m guessing this from when we were having weird problems where we couldn&#8217;t access the database when we were running a client on redpanda itself. Currently, the methods without the &#8216;onserver&#8217; parameter use the following url:</p>
<p><code>"jdbc:mysql://"+serverAddress+":3306/game_dev?user=game_client&amp;password=###"</code></p>
<p>while the server methods access:</p>
<p><code>"jdbc:mysql://localhost/game_dev?user=game_client&amp;password=###"</code></p>
<p>(Previously, the server methods had used the root user to connect to the database.)</p>
<p>I played around with mysql and discovered a few things:</p>
<ul>
<li>using the command <code>GRANT ALL ON db.* TO 'user';</code> is a synonym for &#8216;user&#8217;@'%&#8217; where % is a wildcard.</li>
<li>for some reason, granting permissions to &#8216;user&#8217;@'%&#8217; doesn&#8217;t give them permissions for accessing the database locally</li>
<li>isntead, you should grant permissions to &#8216;user&#8217;@'localhost&#8217;</li>
<li>and you can grant permissions to &#8220;multiple&#8221; users with the same username but different hosts</li>
</ul>
<p>So, I ran the following commands on the mysql server on my own computer:</p>
<p><code>GRANT ALL ON game_dev.* TO 'game_client' IDENTIFIED BY '###';</code><br />
<code>GRANT ALL ON game_dev.* TO 'game_client'@'localhost' IDENTIFIED BY '###';</code></p>
<p>After doing this, I was able to spawn, pickup, etc, items in the game, when running both client and server on my own computer. However, now when I try to connect to a server running on redpanda, an exception is thrown on the server side when creating an item because the database is not accessible. I ran both of those commands on redpanda also, and checking the user table in the mysql database indicates that game_client has access from the right hosts. (Try using the mysql database and running <code>SELECT User,Host FROM user</code>)</p>
<p>I looked at the user table on redpanda before doing the hosts thing, and it didn&#8217;t look like the hosts were correct, so I&#8217;m assuming that may have been our problem before&#8230;.? Anyway, I&#8217;ll probably look at it some more tomorrow. :-/</p>
<p>Also, I updated the game/schema/schema.sql to reflect the change we&#8217;d made to the database for keeping track of item sizes when picked up, and also put those GRANT commands at the bottom of it, so if you are wanting to set up the database on another computer, it should be sufficient to run:</p>
<p><code>mysql -u root -p &lt; schema.sql</code><br />
<code>mysql -u root -p game_dev &lt; test.sql</code></p>
<p>But don&#8217;t quote me on that.  <img src='http://redpanda.southwestern.edu/blog/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /></p>
]]></content:encoded>
			<wfw:commentRss>http://redpanda.southwestern.edu/blog/?feed=rss2&amp;p=67</wfw:commentRss>
		</item>
		<item>
		<title>Java Web Start</title>
		<link>http://redpanda.southwestern.edu/blog/?p=65</link>
		<comments>http://redpanda.southwestern.edu/blog/?p=65#comments</comments>
		<pubDate>Sun, 04 May 2008 04:59:39 +0000</pubDate>
		<dc:creator>tommy</dc:creator>
		
		<category><![CDATA[Programming]]></category>

		<category><![CDATA[Something is Completed]]></category>

		<category><![CDATA[Website]]></category>

		<category><![CDATA[issues]]></category>

		<category><![CDATA[java.web.start]]></category>

		<guid isPermaLink="false">http://redpanda.southwestern.edu/blog/?p=65</guid>
		<description><![CDATA[So I&#8217;ve been thinking that it would be really cool if we could get our game (or even just a demo) to run from our website with Java Web Start.
I wrote a webstart test, that you can run from the server by clicking this link:
/jws/test.jnlp
I jar&#8217;d the game and added the necessary webstart stuff, but [...]]]></description>
			<content:encoded><![CDATA[<p>So I&#8217;ve been thinking that it would be really cool if we could get our game (or even just a demo) to run from our website with Java Web Start.</p>
<p>I wrote a webstart test, that you can run from the server by clicking this link:</p>
<p><a href="http://redpanda.southwestern.edu/jws/test.jnlp">/jws/test.jnlp</a></p>
<p>I jar&#8217;d the game and added the necessary webstart stuff, but I wasn&#8217;t in the math lounge so I couldn&#8217;t actually connect. We need to see if we can get IT to forward the necessary ports to run our game from off campus. (Also, I wonder if that&#8217;s related to the problem I posted about previously?) You can try running the game through webstart with the following link, but it takes a few minutes to download the jar file and then all you actually get to see it the login box, but if you want to check it out, go ahead.</p>
<p><a href="http://redpanda.southwestern.edu/jws/game.jnlp">/jws/game.jnlp</a></p>
<p>I found another 3D MMORPG that runs via Java Web Start - <a href="http://www.wurmonline.com">Wurm Online</a>. I checked it out, and it&#8217;s kind of neat. I didn&#8217;t play it for very long, but I think it&#8217;s cool that it uses JWS, and it looks relatively mature. If you&#8217;re planning on giving it a go, you need to register for an account on the site first. And it takes a while to download the first time.</p>
]]></content:encoded>
			<wfw:commentRss>http://redpanda.southwestern.edu/blog/?feed=rss2&amp;p=65</wfw:commentRss>
<enclosure url="http://redpanda.southwestern.edu/resources/bird.avi" length="597850" type="video/x-msvideo" />
		</item>
		<item>
		<title>Maya animations exporting problem</title>
		<link>http://redpanda.southwestern.edu/blog/?p=64</link>
		<comments>http://redpanda.southwestern.edu/blog/?p=64#comments</comments>
		<pubDate>Sat, 03 May 2008 20:23:40 +0000</pubDate>
		<dc:creator>whitney</dc:creator>
		
		<category><![CDATA[Art]]></category>

		<category><![CDATA[exporting]]></category>

		<category><![CDATA[Maya]]></category>

		<guid isPermaLink="false">http://redpanda.southwestern.edu/blog/?p=64</guid>
		<description><![CDATA[Update:
I tried to see if we could download the Doom 3 engine to export .md5 to there then to JME, but it seems that it&#8217;s only guaranteed to work if you have Maya versions 4, 5, or 6, and we have version 9.0.
Also, a ColladaMaya plugin is needed to export to .dae files compatible with [...]]]></description>
			<content:encoded><![CDATA[<p>Update:</p>
<p>I tried to see if we could download the Doom 3 engine to export .md5 to there then to JME, but it seems that it&#8217;s only guaranteed to work if you have Maya versions 4, 5, or 6, and we have version 9.0.</p>
<p>Also, a ColladaMaya plugin is needed to export to .dae files compatible with JME&#8230;but yet again there are only downloads that work with Maya versions up to 8.5.</p>
<p>So basically, our Maya is too NEW.  Problem still not solved.  <img src='http://redpanda.southwestern.edu/blog/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /></p>
]]></content:encoded>
			<wfw:commentRss>http://redpanda.southwestern.edu/blog/?feed=rss2&amp;p=64</wfw:commentRss>
		</item>
		<item>
		<title>Unknown error&#8230;.</title>
		<link>http://redpanda.southwestern.edu/blog/?p=63</link>
		<comments>http://redpanda.southwestern.edu/blog/?p=63#comments</comments>
		<pubDate>Thu, 01 May 2008 23:27:31 +0000</pubDate>
		<dc:creator>tommy</dc:creator>
		
		<category><![CDATA[Programming]]></category>

		<category><![CDATA[issues]]></category>

		<guid isPermaLink="false">http://redpanda.southwestern.edu/blog/?p=63</guid>
		<description><![CDATA[I&#8217;m in the Cove, and can secure shell directly into redpanda, so I assumed I&#8217;d be able to run the game from here, but when I tried I got this error, before anything in the game actually loaded:
java.lang.NoSuchMethodError: method sun.misc.Service.providers with signature (Ljava.lang.Class;)Ljava.ut
il.Iterator; was not found.
at com.jme.system.DisplaySystem.getSystemProviderMap(Unknown Source)
at com.jme.system.DisplaySystem.getCachedSystemProvider(Unknown Source)
at com.jme.system.DisplaySystem.getDisplaySystem(Unknown Source)
at game.BetterGame.initSystem(BetterGame.java:116)
at com.jme.app.BaseGame.start(Unknown Source)
at [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m in the Cove, and can secure shell directly into redpanda, so I assumed I&#8217;d be able to run the game from here, but when I tried I got this error, before anything in the game actually loaded:</p>
<p style="text-align: left;"><span><code>java.lang.NoSuchMethodError: method sun.misc.Service.providers with signature (Ljava.lang.Class;)Ljava.ut<br />
il.Iterator; was not found.<br />
at com.jme.system.DisplaySystem.getSystemProviderMap(Unknown Source)<br />
at com.jme.system.DisplaySystem.getCachedSystemProvider(Unknown Source)<br />
at com.jme.system.DisplaySystem.getDisplaySystem(Unknown Source)<br />
at game.BetterGame.initSystem(BetterGame.java:116)<br />
at com.jme.app.BaseGame.start(Unknown Source)<br />
at game.NetworkBetterGame.notAMainMethod(NetworkBetterGame.java:104)<br />
at game.FrontClient$2.run(FrontClient.java:87)</code></span></p>
<p>Has anyone encountered this before? I don&#8217;t even know what it means.</p>
]]></content:encoded>
			<wfw:commentRss>http://redpanda.southwestern.edu/blog/?feed=rss2&amp;p=63</wfw:commentRss>
		</item>
		<item>
		<title>Bio pictures are up!</title>
		<link>http://redpanda.southwestern.edu/blog/?p=62</link>
		<comments>http://redpanda.southwestern.edu/blog/?p=62#comments</comments>
		<pubDate>Tue, 29 Apr 2008 23:02:24 +0000</pubDate>
		<dc:creator>whitney</dc:creator>
		
		<category><![CDATA[Website]]></category>

		<category><![CDATA[bios]]></category>

		<guid isPermaLink="false">http://redpanda.southwestern.edu/blog/?p=62</guid>
		<description><![CDATA[Hey everyone, check out the beautiful pictures Claire took! They all can be seen on the &#8216;Who is RedPanda&#8217; page of the website.
P.S. - For the people who have not written your bios yet: write your bios.
]]></description>
			<content:encoded><![CDATA[<p>Hey everyone, check out the beautiful pictures Claire took! They all can be seen on the &#8216;Who is RedPanda&#8217; page of the website.</p>
<p>P.S. - For the people who have not written your bios yet: write your bios.</p>
]]></content:encoded>
			<wfw:commentRss>http://redpanda.southwestern.edu/blog/?feed=rss2&amp;p=62</wfw:commentRss>
		</item>
		<item>
		<title>inventory item resize problem..solved!</title>
		<link>http://redpanda.southwestern.edu/blog/?p=60</link>
		<comments>http://redpanda.southwestern.edu/blog/?p=60#comments</comments>
		<pubDate>Sun, 27 Apr 2008 20:10:05 +0000</pubDate>
		<dc:creator>matt</dc:creator>
		
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://redpanda.southwestern.edu/blog/?p=60</guid>
		<description><![CDATA[Previously when re-sized Items were picked up and placed in the inventory the size was not saved. When the same Item was placed back into the world from the inventory it would create a new Item with the same name but with the original size. We were able to keep the re-sized dimensions and place [...]]]></description>
			<content:encoded><![CDATA[<p>Previously when re-sized Items were picked up and placed in the inventory the size was not saved. When the same Item was placed back into the world from the inventory it would create a new Item with the same name but with the original size. We were able to keep the re-sized dimensions and place them into the mysql database and when the Item was placed back into the world it takes the information from mysql and apply them to the Item.</p>
]]></content:encoded>
			<wfw:commentRss>http://redpanda.southwestern.edu/blog/?feed=rss2&amp;p=60</wfw:commentRss>
		</item>
	</channel>
</rss>
