I was introduced to Weewar a little over a year ago. I really enjoy playing it, though I’m not that good; I am slowly learning though. So I created a tool to feed my addiction, er, that requires a lot of field research. ;-) I kind of always knew about Weewar’s API but kept it in the back of my mind. I had/have more important things on which to focus. However a few months ago I started looking for Ruby Implementations of the Weewar API. I fancy myself a Ruby developer and, like a good craftsman, wish to continue to hone my skills. What better way then to develop something you know you’ll use?
I started my search on Github, of course, and found two Ruby libraries: one that used the standard API and another that used the new AI API. I knew I wanted something in between so I downloaded both libraries and started studying them. I slowly started piecing together my vision for weewar-spy. And at the end of October I uploaded my repository to Github and started announcing its availability. And, today I am officially releasing v1.0.
What is weewar-spy? you may ask. First, it’s a Ruby library that uses a couple different technologies to provide an object model over Weewar’s API. Second, it uses this object model to provide information on the games you’re playing. It provides information on the other players as well; that’s the real value. It was during a game on a large map with six players where I first had the thought: there must be an easy way to know how many bases a player has. I now have weewar-spy to give me all kinds of information.
Weewar-spy is essentially a command-line oriented tool/library. However, I’ve started using a Sinatra-implemented web app on top of weewar-spy. Oshuma (Dale Campbell), in addition to providing some patches for weewar-spy, started a Sinatra-based web application for weewar-spy. I have since forked his implementation and will continue to flesh it out, adding new features and functionality to it. At this time I recommend using either my version or Oshuma’s version of weewar-spy-web (I’ll write more about it at a future date).
I don’t have any screenshots yet. However, the README does contain a sample of weewar-spy’s output. I’ve received favorable reviews, so far. If you’re into Weewar, a Ruby developer, and would like to spy on the players in your games then download weewar-spy and send me your feedback.