NotEnoughMinerals.com

five years, what a surprise

xc.js 0.1

with one comment

I’m finally ready to release something I’ve been working on for a while.

xc.js is a framework for developing 2d games in Javascript.  The main backend right now is HTML canvas but there is also a working iOS backend.

The framework is based on a thin compatibility layer that makes it quite easy to port to a new platform.  The iOS port took less than a day to get where it is.  I plan on porting to Android soon and other platforms are definitely a possibility.  The goal of xc.js is to enable games to be written once in Javascript and ported with minimal effort to many platforms.

This is a 0.1 release and, as such, expect bugs and missing functionality.  With that said I’m working on it constantly and I’ve already written a couple of complete games with the framework.

If you’re interested, I’d encourage you to head over to www.getxc.org and read some more.  You can download the framework to play with but there’s also a neat browser based interactive demo using Mozilla Skywriter.  A direct link to the interactive demo is www.getxc.org/try.html.

xc.js is BSD licensed and you can get the source from my github page.  If you’re so inclined, please fork it and add cool stuff!

I write all of the framework code in CoffeeScript, a great little language that compiles to Javascript and makes it much nicer to work with.  If you have to write a lot of Javascript I’d suggest checking it out.

The framework is pretty simple; there is only graphics functionality.  It’s design was largely inspired by Cocos2d’s scene/node hierarchy.  There are a lot of things to be done, but big items on my todo shortlist include:

  • Sound support.  Both playing background music and sound effects
  • Box2d physics integration.  I’ll likely use Box2djs for the browser backend and regular Box2d for stuff with a C backend like iOS.  Emscripten looks interesting, though, for compiling the C version to Javascript.
  • Networking support.  Probably something simple with sending and resceiving JSON objects but I’m not sure yet.
  • Android backend.  This is next on my list of ports to start.  I’m also interested in other backends but they are probably further off.  WebOS?  Windows phone 7?  XNA for xbox360 publishing?

If you just want to see it in action, there’s a demo game on the main page of getxc.org.

Written by fairfieldt

November 24th, 2010 at 12:19 am

Starcraft Genetic Programming

without comments

I was keeping track of these on their own webpage but I figure I might as well move as much as I can over here.  Here’s a few posts about the project I did developing Starcraft AI with genetic programming.

Update 12/21/2009

Here’s the end of the semester update. I polished the project in its current state and gave a presentation on it. I think I’ll keep working as there are some definite improvements to be made and it has potential. The newest (still ugly) version of the code is available on github.

Here’s a link to the slides from my presentation.  Check out a video of a decent run against the default A.I after the break. You can see some interesting behaviors that have evolved.
Read the rest of this entry »

Written by fairfieldt

December 21st, 2009 at 7:17 pm