alanp.ca

Posts Tagged ‘GSoC’

Progress: Sun 14 Jun

Sunday, June 14th, 2009
Share

My progress has been slowed by influenza.  Regardless of this, I am going to go on a coding frenzy over the next couple days.  I hope to finish my Jun 23rd milestone (#1) early in order to leave more time for the second milestone which is scheduled for July 10th.  I’ve fixed the issue that I have been having with the importation of Components from the XML file.  This specific issue actually had nothing to do with the code that I wrote to import the components.  Rather, it was a bad regular expression that I used to actually create the XML document from the old MTSec source code.  This is not a weekly report, only a quick update.

GSoC/TP Weekly Report (June 1, 2009 – June 8)

Tuesday, June 9th, 2009
Share

This Week:

My goal for this week was to clean up the mtsec.cpp file and integrate tinyxml.  After some initial troubles with tinyxml, I finally got an (albeit rough) version working to import component information from an XML file.  Unfortunately, I seem to have run into some troubles.  When joining a game with the pywx client, an immediate crash occurs while dealing with pyguile.cpp.  It happens in TpGuile::calculateDesignPropertyValues( Design* d).  I have been working today to track down the issue, but so far I have been unsuccessful.  I have commited my current code, which builds but has the issue mentioned above.

Next Week:

My immediate goal (aiming for Wednesday night) is to fix the issue I am having with tpserver-cpp crashing on client join.  Obviously, this is a deal breaker and has to be dealt with immediately.  Once this task is completed I will be finishing the components of the ship.  I will look into using tinyxml further in MTSec as well. I believe that I am still online to meet (and hopefully exceed) my initial goal tenatively slated for June 23rd.

I also plan to speak with Epyon regarding an issue I found with command line options vs. configuration file.  Currently, the command line flags are parsed only if loaded after the configuration file.  Both Aaron and I find this unexpected, but Lee mentioned that Epyon may be already working on changed to this code.

GSoC/TP Weekly Report (May 25, 2009 – June 1)

Monday, June 1st, 2009
Share

Last Week:

Due to the move I previously mentioned, this past week was not a productive one for Google Summer of Code.  My computer spent much of the week boxed up, but I am now moved in and ready to devote myself to Thousand Parsec.  Before I left I mentioned my plan to clean up the mtsec.cpp file and it was mentioned that moving the components to XML would be a good strategy here.  I’ve created the following XML schema, shown with an example component of MTSec:

<?xml version="1.0" ?>
<Components>
    <comp>
        <name>AntiparticleExplosives</name>
        <description>An extremely expensive but hugely explosive particle and anit-particle explosive</description>
        <tpclRequirementsFunction>"(lambda (design) "
            "(if (= (designType.num-ammo design) 1) "
            "(cons #t \"\") "
            "(cons #f \"This is a complete component, nothing else can be included\")))"
        </tpclRequirementsFunction>
        <propertyList>
            <Speed>(lambda (design) 0)</Speed>
            <BuildTime>(lambda (design) 1)</BuildTime>
            <Colonise>(lambda (design) 0)</Colonise>
            <Armor>(lambda (design) 0)</Armor>
            <AmmoSize>(lambda (design) 0.8)</AmmoSize>
            <AmmoExplosiveness>(lambda (design) 16)</AmmoExplosiveness>
            <AmmoCose>(lambda (design) 64)</AmmoCost>
            <StartingHitPoints> (lambda (design) 0)</StartingHitPoints>
            <num-ammo>(lambda (design) 1)</num-ammo>
        </propertyList>
    </comp>

llnz mentioned that he saw no problem with this design so it is the one that I am planning to use for the Components.  Moving the Props may also be a good idea.  I will be using tinyxml to input the components from the XML file.

Next Week:

My goal for this week is to continue what I briefly started in this past week.  This will include cleaning up the mtsec.cpp file and integrating tinyxml.   Once this has been completed I also plan to implement the various components of a ship that are currently not included.

This weeks work will build toward my first milestone: the creation of ships that include all of the components outlined in the specification.

GSoC/TP Weekly Report (Beginning – May 25, 2009)

Monday, May 25th, 2009
Share

This Week:

For this post, we will consider “This week” as since the beginning of my acceptance into the Google Summer of Code for Thousand Parsec.  In this time, I have completed the following tasks:

Become familiar with Thousand Parsec framework

I have gone over much of the framework.  Since most of my work will be done on tpserver-cpp, I have studied this the most.  I think that I have a good idea of what is going on throughout the c++ server and I don’t believe that there will be any issues going forward with development on this.

Study various rulesets (especially Minisec)

Studying the already-implemented rulesets has given me an idea of what needs to be implemented to have a working ruleset.

Read Ruleset development with tpserver-cpp vigirously

This document has been of great use for understanding what needs to be implemented to have a running ruleset.  During the GSoC period I hope to have my own contributions to it.  This document helps to further the information gained by going over the Minisec ruleset.

Read entire implementation of MTSec Ruleset

While creating my MTSec Initial Report, I read the entire code base for MTSec.  This has given me a good understanding of what is going on and what I will need to implement in the future.  My report outlines the various methods and hooks that I have at my disposal during devlopment of the MTSec ruleset.

Next Week:

Unfortunately, the next week will be an incredibly tough one for personal reasons.  I will be moving into a new place during the next week and this will require large periods of my time.  Also, I am not 100% sure that my internet connection will be ready for the date that I move in.  During this time I will have internet access at my old home, so I will try to sneak back into there to do as much work as possible.

My goal for this week is to clean up the mtsec.cpp file.  I believe that this file is currently far too long and it implements various ship components with different names from the specification.  Once this has been fixed I also plan to implement the various components of a ship.  This weeks work will build toward my first milestone: the creation of ships that include all of the components outlined in the specification.

MTSec Initial Report

Thursday, May 14th, 2009
Share

I was asked by Aaron Mavrinac to write a report about what exactly MTSec currently does in the code – summary of what the standard hooks are doing, list of orders, list of objects, etc.  For this report I focused mainly on the code itself, sort of the MTSec API as it stands now.  This means that I have read all of the MTSec code already and have a good idea of what is happening within it.  I plan to create a wiki page within the Thousand Parsec Wiki for others to be able to update my work as they see fit.  Feel free to read my report on the MTSec game module source.
(more…)

Let the Work Commence

Wednesday, May 6th, 2009
Share

I have officially started my work today for Thousand Parsec.  My GSoC mentor, Aaron Mavrinac, has outlined these items for me to complete in the next week or so:

1. Make a test commit to tpserver-cpp mtsec branch (add yourself to AUTHORS).

2. Read the TP protocol spec again, make sure you understand what each
thing is.

3. Read Part III of the ruleset development manual.

4. Write me a report about what exactly MTSec currently does in the
code – summary of what the standard hooks are doing, list of orders,
list of objects, etc.

I’ve completed task #1 and I am beginning the rest of the tasks.  My plan is to read the spec over again (I read it many times during the proposal stage) and complete these tasks by the end of the weekend.

My 2009 Thousand Parsec Proposal

Monday, May 4th, 2009
Share

I mentioned previously that I would be posting my complete proposal to this blog. Today, I have gone ahead with that and it is viewable in this post.  Throughout the summer as I become more acclimated to Thousand Parsec and the Google Summer of Code process I will be posting regarding possible areas for improvement for this proposal.
(more…)

How To Get Accepted Into Google Summer Of Code (GSoC)

Thursday, April 30th, 2009
Share

There have been various discussions in both the GSoC mailing list and official IRC channel regarding improving your chances of getting into GSoC.  Since the 2009 process has already finished, I have these suggestions for 2010 students and beyond:

  • Be active in the community.
  • Write a good proposal, submit it early.
  • Subscribe to your update notifications for your proposal.
  • Update your proposal.
  • Be active in the community.
  • Submit Patches.

Let’s break these criteria down further:
(more…)

Accepted into Google Summer of Code

Monday, April 20th, 2009
Share

I have been formally accepted into Google’s Summer of Code (GSoC) for 2009.  I will be working on the Thousand Parsec open source project.  The Thousand Parsec project is a group of 4X (eXplore, eXpand, eXploit and eXterminate) games built around a common framework.

My proposal is to complete the now-primitive Missile and Torpedo Ruleset (MTSec).  From my abstract:

In this Google Summer of Code project, I plan to complete the MTSec ruleset, ultimately delivering a working and enjoyable ruleset to tpserver-cpp. This second milestone game is meant to be a fun game and to exercise the object design capabilities of the Thousand Parsec framework.

Essentially, I plan on implementing a playable version of the MTSec ruleset by the end of the GSoC period.  Throughout this process I will be posting updates on this blog, marked as category GSoC.