Friday, October 26, 2012

Tripleslash Studios!

Our team is creating a business and we've decided to call it Tripleslash Studios!  It will be our pleasure for the next few months create our first game Attraction!  We've created a website and facebook page to help keep everyone in the loop as our dev process rolls along.

Website

Facebook Page

Any questions or comments can be sent to:

info@tripleslashstudios.com


The programming side of things has been moving along, and we are closing in on a basic functioning level editor so our designers can start designing!

Tuesday, October 23, 2012

XML Schema files and more!

Never thought I'd be excited about something so mundane as XML!  I've just wrapped up writing a custom serializer and deserializer for our Level class as part of our game, Attraction.  The coolest part about it was the schema file that basically defines objects within XML files.  It's a powerful tool that let's you create elements, extensions, and wrap elements within other elements.  I was able to tailor the schema to accept a level with any amount of entities, which included a set of components.  It's all matched up to our entity system, Artemis.

Now that the level portion is coming together, we'll be able to save and load levels.  Once the level editor is more or less complete, our designers will have the tools to create awesome levels!


Friday, October 19, 2012

XNA Intermediate XML format

I've been messing around with XNA's automagically parsed intermediate format, and finding good documentation has been horrible.  I finally found a good resource here.

I'm currently writing the Level class for our game and has the following structure so far:


public string name;                                     //level name
public List<List<Vector2>> playerClip;           //List of lists of coordinates for all player clip
public List<Vector2> magnets;                     //list of magnets throughout level
public Vector2 magnetHead;                       //initial magnet head spawn
public Vector2 playerSpawn;                       //initial player spawn

Serializing this object into XNA intermediate format looks something like this:

<?xml version="1.0" encoding="utf-8" ?>
<XnaContent>
  <Asset Type="DataTypes.Level">
    <name>TestLevel</name>
    <playerClip>
       <Item>x y x y....</Item>
       <Item>x y x y...</Item>
    </playerClip>
    <magnets>x y x y...</magnets>
    <magnetHead>x y</magnetHead>
    <playerSpawn>x y </playerSpawn>
  </Asset>
</XnaContent>


Yeah, Vector2's are space-seperated (who does that?) and a List within a List is stored in separate bins tagged with <Item>.  It also 'compiles' the xml files, just checking for any syntax errors at compile time.  Yeah, it's....odd.