Swerve Drive is really easy to implement if you ignore the actual control of the motors and just look at it abstractly (ie.. point motor to angle and run it at some speed). Of course, there are some optimizations you can do to ensure smoother operation past just the pure mathematical analysis.
I created a spreadsheet to simulate a swerve drive and its calculations (by using a graph to model the direction/speed of the wheels):
http://www.virtualroadside.com/blog/...l-spreadsheet/
We also released the source code for our robot that year (which includes its swerve drive code), which can also be found elsewhere on my website.