Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/agoragames/tassadar

A Starcraft 2 replay parser written in pure Ruby
https://github.com/agoragames/tassadar

Last synced: about 1 month ago
JSON representation

A Starcraft 2 replay parser written in pure Ruby

Awesome Lists containing this project

README

        

# Tassadar

A fast Starcraft 2 replay parser written in pure Ruby... now with JRuby support! See below for performance comparison.

## Tested under..

* ruby-1.9.3-p194
* jruby-1.7.0
* jruby-1.7.2

*Not compatible with jruby-1.6.*

## Installation

Add this line to your application's Gemfile:

```
gem 'tassadar'
```

And then execute:

```
$ bundle
```

Or install it yourself as:

```
$ gem install tassadar
```

## Usage

Create a replay object:

```ruby
replay = Tassadar::SC2::Replay.new(path_to_replay)
```

All of the important information is in the game object:

```ruby
replay.game
=> #255, :red=>0, :green=>66, :blue=>255}, @chosen_race="Zerg", @actual_race="Zerg", @handicap=100>, @time=2011-07-05 17:01:08 -0500, @map="Delta Quadrant">
```

Or the player objects:

```ruby
replay.players.first
=> #255, :red=>180, :green=>20, :blue=>30}, @chosen_race="Terran", @actual_race="Terran", @handicap=100>
```

## Benchmarks

### Method

require 'tassadar'
require 'benchmark'

puts Benchmark.measure {
puts Tassadar::SC2::Replay.new('spec/replays/random.SC2Replay').game.winner.name
}

### tassadar-0.2.0 ( ruby-1.9.3-p194 )

$ ruby ./benchmark.rb
PaWeL
0.040000 0.000000 0.040000 ( 0.038560)

### tassadar-0.2.0 ( jruby-1.7.0 )

$ ruby ./benchmark.rb
PaWeL
2.330000 0.010000 2.340000 ( 0.904000)

### tassadar-0.2.0 ( jruby-1.7.2 )

$ ruby ./benchmark.rb
PaWeL
2.110000 0.060000 2.170000 ( 0.861000)

## Contributing

1. Fork it
2. Create your feature branch (`git checkout -b my-new-feature`)
3. Commit your changes (`git commit -am 'Added some feature'`)
4. Push to the branch (`git push origin my-new-feature`)
5. Create new Pull Request

## Copyright

Copyright (c) 2011-2014 Agora Games. See LICENSE.txt for further details.