The Blog

Posts from March 2013

Mar 29

Game Face

By David Czarnecki

“Game Face” will be our weekly round-up of our internal and external open source work here at Agora Games. Internal open source refers to our public projects that you can find over at our Agora Games GitHub account. External open source work refers to projects that we contribute to in off-hours and may or may not have anything to do with video games because we’re swell folks like that. Pretty simple right? Here goes…

forecast-ruby

forecast-ruby is a forecast.io API wrapper in Ruby. forecast.io is the best weather service out there today and we’re happy to have helped bring the Ruby wrapper to life.

Contributor(s): David Czarnecki (GitHub, Twitter)

hipchat-rb

hipchat-rb is the official Ruby gem for interacting with the HipChat service. This past week a pull request was integrated to only send HipChat notifications on capistrano deploys if the –dry-run (-n) was not passed.

Contributor(s): David Czarnecki (GitHub, Twitter)

 

Mar 22

Game Face

By David Czarnecki

“Game Face” will be our weekly round-up of our internal and external open source work here at Agora Games. Internal open source refers to our public projects that you can find over at our Agora Games GitHub account. External open source work refers to projects that we contribute to in off-hours and may or may not have anything to do with video games because we’re swell folks like that. Pretty simple right? Here goes…

chai

chai provides a very easy to use api for mocking/stubbing your python objects, patterned after the Mocha library for Ruby. The 0.2.4 release this week fixes a bug in stubs on types by preventing secondary initialization in addition to fixing global namespace manipulation on deeply nested chai subclasses. Finally, mock objects will report parameters and method name when raising UnexpectedCall.

Contributor(s): Aaron Westendorf (GitHub, Twitter)

Mar 21

New Hydra Features - March 2013

By Elliott Haase

The Hydra Team has been very busy during the month of March, and we’ve already released a number of features we have planned for our upcoming milestone (currently targeted for completion in May 2013).

Below is an overview of the new features we released this month. Take a quick read, and then head to the Hydra dashboard and give everything a test run. Make sure you let us know your thoughts on the Beta Support Forum as your feedback is extremely valuable.

Time-based Leaderboards

You can now easily create leaderboards that automatically expire and reset based on the time criteria you designate (daily, weekly, monthly, or yearly). Combine this new functionality with the global leaderboard support we already have in place, and you have a very solid leaderboard offering to make available to your users. Read our updated leaderboard documentation here.

Match Configuration Enhancements

The 1st iteration of the Hydra match template system allows you to easily create reusable match configurations. Those match configurations can then be used in matchmaking, ranked matches, and other Hydra services. Early match template documentation is available here.

Data Viewer Enhancements

We’ve improved the Hydra dashboard data viewer in a number of ways that will make your development and QA easier. You can now view profile, achievement, and match data for individual users right in the Hydra dashboard. Access the profile data page of the Hydra dashboard, type in a user’s profile name, and click search. We’ve organized this data so it’s easy to access, and easy on the eyes.

Additionally, you can now view all of the leaderboard data coming from your game right in the Hydra dashboard. Access the leaderboards page of the Hydra dashboard, and then click the “Show” button next to the leaderboard you want to view.

Everything else

In addition to the top level features above, we released a number of smaller updates during the month of March:

  1. Leaderboards based on match stats - Users can now generate leaderboards and achievements based on match values (win, loss, rank)

  2. Realtime Server Enhancements - We’ve shrunk data transfer sizes and optimized for speed and performance.

  3. SDK Auto-detect - If you’re using an out-of-date SDK, we’ll automatically let you know that you need to update (by way of relevant error messaging).

  4. Sexier Splash Page - Includes an improved overview of our high level feature set, and looks damn good. View it here.

Still to come

Here is a list of the features that are currently under development, and that you’ll be able to get your hands on soon:

User Accounts

  • Facebook account authorization

Friends

  • Facebook friend import

Chat/Presence

  • First iteration of match/lobby chat functionality

Pricing / Payment Processing

  • First iteration of payment processing and account management

Feel free to post questions on any of these features in our  Beta Support Forum, and continue to put our platform to the test. Thanks a ton!

Hydra Beta Access

Are you reading all of this new and compelling Hydra news and saying to yourself, “how come I don’t have beta access?” If so, visit the Hydra splash page, click the Join the Beta! button in the top right hand corner of the page, and request access. We’ll get back to you shortly with your access credentials!

- The Hydra Team

 

Mar 15

Game Face

By David Czarnecki

“Game Face” will be our weekly round-up of our internal and external open source work here at Agora Games. Internal open source refers to our public projects that you can find over at our Agora Games GitHub account. External open source work refers to projects that we contribute to in off-hours and may or may not have anything to do with video games because we’re swell folks like that. Pretty simple right? Here goes…

kairos

kairos provides time series storage using a Redis backend. kairos is intended to replace RRD in situations where the scale of Redis is required, with as few dependencies on other packages as possible. A number of quick releases went out, but as of the 0.1.5 release, we fixed increment by integer on a Count series, added a Gauge type and fixed a bug turning relative interval definitions into integers for calculations in get() and series().

Contributor(s): Aaron Westendorf (GitHub, Twitter)

torus

torus is a service implementing the Carbon protocol to store time series data using kairos and an HTTP server to query and analyze the data. As of the 0.1.3 release this week, torus now has relative date and gauge type support, transforms in a schema to replace or suppress key/value pairs and fixing a bug reading data from timeseries with relative time interval schemas.

Contributor(s): Aaron Westendorf (GitHub, Twitter)

vcr

vcr allows you to “record your test suite’s HTTP interactions and replay them during future test runs for fast, deterministic, accurate tests.” We submitted a patch that was integrated to support the latest version of the typhoeus HTTP library.

Contributor(s): David Czarnecki (GitHub, Twitter)

 

Mar 8

Game Face

By David Czarnecki

“Game Face” will be our weekly round-up of our internal and external open source work here at Agora Games. Internal open source refers to our public projects that you can find over at our Agora Games GitHub account. External open source work refers to projects that we contribute to in off-hours and may or may not have anything to do with video games because we’re swell folks like that. Pretty simple right? Here goes…

kairos

kairos provides time series storage using a Redis backend. kairos is intended to replace RRD in situations where the scale of Redis is required, with as few dependencies on other packages as possible. In the 0.1.2 release, we added support for relative time in terms of hours, days, weeks, months and years, support for simple transforms and an API for generic transforms to support statistics packages.

Contributor(s): Aaron Westendorf (GitHub, Twitter)

torus

torus is a service implementing the Carbon protocol to store time series data using kairos and an HTTP server to query and analyze the data. It’s a new project and compared to traditional disk stores such as RRD and Whisper, torus adds:

  • abstraction on top of kairos for histograms, input and output processing
  • compact storage for sparse data points
  • scaling with per-schema hosting and sharding
  • non-buffering semantics for aggregate processing
  • consistent hashing of timestamps for ease in interleaving and interpolation

 

Contributor(s): Aaron Westendorf (GitHub, Twitter)

Mar 1

Game Face

By David Czarnecki

“Game Face” will be our weekly round-up of our internal and external open source work here at Agora Games. Internal open source refers to our public projects that you can find over at our Agora Games GitHub account. External open source work refers to projects that we contribute to in off-hours and may or may not have anything to do with video games because we’re swell folks like that. Pretty simple right? Here goes…

bnet_scraper

bnet_scraper is our Nokogiri-based scraper of Battle.net profiles. In the 0.4.0 release, a revamped profile scraper API is available in addition to pulling of achievements, match history and league information. Finally, Heart of the Swarm information is now available.

Andrew Nordman (GitHub, Twitter)

leaderboard** (and leaderboard-python and leaderboard-coffeescript) **

leaderboard allows you to build leaderboards using Redis. We released version 3.0.2 this past week to fix a data leak in expire_leaderboard and expire_leaderboard_at to also set expiration on the member data hash. We also fixed this data leak with the 2.2.2 release of leaderboard-python, our Python port of the leaderboard project. Finally, we released version 1.0.0 of leaderboard-coffeescript since it had been at full feature parity with the Ruby and Python implementations since it was started. And don’t worry, the data leak was fixed in that project as well.

Contributor(s): David Czarnecki (GitHub, Twitter)