<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to DevelopmentEnvironment</title><link>https://sourceforge.net/p/scbg/wiki/DevelopmentEnvironment/</link><description>Recent changes to DevelopmentEnvironment</description><atom:link href="https://sourceforge.net/p/scbg/wiki/DevelopmentEnvironment/feed" rel="self"/><language>en</language><lastBuildDate>Mon, 09 Jun 2014 09:07:58 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/scbg/wiki/DevelopmentEnvironment/feed" rel="self" type="application/rss+xml"/><item><title>DevelopmentEnvironment modified by Nicolas Cabanis</title><link>https://sourceforge.net/p/scbg/wiki/DevelopmentEnvironment/</link><description>&lt;div class="markdown_content"&gt;&lt;h1 id="development-environment-setup"&gt;Development Environment Setup&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;use Eclipse 3.6 (classic edition) &lt;/li&gt;
&lt;li&gt;install the following plugins &lt;ul&gt;
&lt;li&gt;Google plugin for App Engine and Web Toolkit &lt;a href="http://code.google.com/intl/de-DE/eclipse/docs/download.html" rel="nofollow"&gt;http://code.google.com/intl/de-DE/eclipse/docs/download.html&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Web-Developer tools &lt;/li&gt;
&lt;li&gt;GEF (optional for swt-client which is anyways not compiling currently) &lt;/li&gt;
&lt;li&gt;SVN (optional, but useful) &lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h1 id="workspace-setup"&gt;Workspace Setup&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;check out the source code &lt;a href="https://scbg.svn.sourceforge.net/svnroot/scbg"&gt;https://scbg.svn.sourceforge.net/svnroot/scbg&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;I usually recommend to separate the local source code repository from the Eclipse workspace &lt;/li&gt;
&lt;li&gt;start Eclipse, create a new workspace and import the projects &lt;/li&gt;
&lt;li&gt;close the &lt;strong&gt;starcraft.gameclient.swt&lt;/strong&gt; project as it is not compiling currently &lt;/li&gt;
&lt;/ul&gt;
&lt;h1 id="additional-setup"&gt;Additional Setup&lt;/h1&gt;
&lt;p&gt;A file-system link (ln on Linux, mklink on Windows) must be created in the project &lt;strong&gt;starcraft.webapp&lt;/strong&gt;. The &lt;strong&gt;starcraft.resources&lt;/strong&gt;\images directory has to be mapped to &lt;strong&gt;starcraft.webapp&lt;/strong&gt;\war\images\res. This has been done to avoid having to copy the images. The OpenGL client loads the images through the class path, the web client through the Web server from the file system. &lt;/p&gt;
&lt;p&gt;Create the symbolic link &lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;   &lt;span class="n"&gt;cd&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;base&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;dir&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="err"&gt;\&lt;/span&gt;&lt;span class="n"&gt;starcraft&lt;/span&gt;&lt;span class="err"&gt;\&lt;/span&gt;&lt;span class="n"&gt;starcraft&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;webapp&lt;/span&gt;&lt;span class="err"&gt;\&lt;/span&gt;&lt;span class="n"&gt;war&lt;/span&gt;&lt;span class="err"&gt;\&lt;/span&gt;&lt;span class="n"&gt;images&lt;/span&gt;
   &lt;span class="n"&gt;mklink&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;D&lt;/span&gt; &lt;span class="n"&gt;res&lt;/span&gt; &lt;span class="p"&gt;..&lt;/span&gt;&lt;span class="err"&gt;\&lt;/span&gt;&lt;span class="p"&gt;..&lt;/span&gt;&lt;span class="err"&gt;\&lt;/span&gt;&lt;span class="p"&gt;..&lt;/span&gt;&lt;span class="err"&gt;\&lt;/span&gt;&lt;span class="n"&gt;starcraft&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;resources&lt;/span&gt;&lt;span class="err"&gt;\&lt;/span&gt;&lt;span class="n"&gt;images&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;The result should look like this (on Windows) &lt;br /&gt;
&lt;img alt="" src="/apps/trac/scbg/raw-attachment/wiki/DevelopmentEnvironment/symlink.png" /&gt;&lt;/p&gt;
&lt;h1 id="project-overview"&gt;Project Overview&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;starcraft.gameclient&lt;/strong&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;GameClient&lt;/code&gt; provides the RMI API for the client &lt;/li&gt;
&lt;li&gt;automated scripts to create some game state &lt;/li&gt;
&lt;li&gt;rules as PDF &lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;starcraft.gameclient.opengl&lt;/strong&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;StarcraftBordgameClient&lt;/code&gt; entry class for the OpenGL client &lt;/li&gt;
&lt;li&gt;other entry points are some classes named *State, e.g. &lt;code&gt;PlanetPlacementState&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;not sure that all executes well &lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;starcraft.gameclient.swt&lt;/strong&gt;&lt;ul&gt;
&lt;li&gt;very old, does not compile at all &lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;starcraft.gamemodel&lt;/strong&gt;&lt;ul&gt;
&lt;li&gt;this is a GWT module; the classes defined in the packages 'model', 'shared' and 'remoteservices' are compiled into JavaScript &lt;/li&gt;
&lt;li&gt;most of these classes are serializable and used for client/server communication &lt;/li&gt;
&lt;li&gt;&lt;code&gt;StarCraftRemoteService&lt;/code&gt; is the main communication interface between client and server &lt;/li&gt;
&lt;li&gt;the use of the 'player' parameter is not consistent; sometimes it could be derived from the 'clientID'; work in progress &lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;starcraft.gameserver&lt;/strong&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;ServerRuntime&lt;/code&gt; is a good starting point &lt;/li&gt;
&lt;li&gt;the &lt;code&gt;starcraft.gameserver.game&lt;/code&gt; package contains the main server implementation &lt;/li&gt;
&lt;li&gt;the &lt;code&gt;starcraft.gameserver.debug&lt;/code&gt; package was thought as REST implementation, but development is ceased &lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;starcraft.gameserver.rcp&lt;/strong&gt;&lt;ul&gt;
&lt;li&gt;unsure of the current state, but probably nothing useful &lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;starcraft.resources&lt;/strong&gt;&lt;ul&gt;
&lt;li&gt;just images &lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;starcraft.tests&lt;/strong&gt;&lt;ul&gt;
&lt;li&gt;not much useful things &lt;/li&gt;
&lt;li&gt;the project has dependecies to the client and the server; could be used for automated tests &lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;starcraft.webapp&lt;/strong&gt;&lt;ul&gt;
&lt;li&gt;the GWT web client/server implementation &lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;starcraft.webapp.gae&lt;/strong&gt;&lt;ul&gt;
&lt;li&gt;project for deployment of the application to the Google App Engine &lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nicolas Cabanis</dc:creator><pubDate>Mon, 09 Jun 2014 09:07:58 -0000</pubDate><guid>https://sourceforge.netf9c0f21bbe934a9718bebc72892de003e097a910</guid></item></channel></rss>