The Blog

Apr 3

Hackathon 14

By Sam Toews

Friday, March 28th, Agora completed our 14th Hackathon. As always, the team delivered great projects.

Open Source Updates/Plugin Work - Presentation

Jack updated Agora’s open-source confirm-with-reveal plugin with some new features, including additional customization options for the HTML UI, and JavaScript events hooks on confirmation and cancellation of user prompts.

OAuth Support and Misc. Repo Updates - Presentation

Aaron used Lua to integrate Google Apps OAuth into nginx so that Agora has centralized authentication for all of our tools.

Load Test Chart Enhancements - Presentation

David A. worked on a javascript wrapper around the Google Visualization API to better support overlaying multiple data sets, available here. It allows users to hide and show lines after the graph is rendered and to group lines by any number of axes.

Hydra Support Website - Presentation

Elliott completed the next evolution of the Hydra Support website. With the Hydra Studio platform becoming more popular and well known to game developers, the amount of Hydra Studio support tickets that come into Agora on a weekly basis have greatly increased. Where as prior to the March 28th Hackathon, our support website was heavily weighted towards Hydra Pro support (with a small amount of Hydra Studio support), Elliott’s Hackathon work moved to strike a more suitable balance between Hydra Pro & Hydra Studio support. Hydra Studio now has it’s own dedicated discussion forums (broken out by features), and our knowledge-base has been updated to include all of the most relevant Hydra Studio feature & documentation updates from the past four months. We still have the base level Hydra Pro support that clients have used up to this point, but overall Hydra Studio now has the proper real-estate it deserves on the support website.

Django Auth and PyCharm Integration - Presentation

Vitaly worked on a Django auth back for the hydra service, available here. It allows people to quickly build a site that ties user auth on the site to a hydra user account.

Leaderboard Updates: Ranking - Presentation

David C. worked on two alternate styles of ranking for Hydra’s leaderboard library.

Storm

Andrew spent his time becoming acquainted with Storm. He had hoped to do some real useful data processing, but instead spent the time familiarizing himself with the technologies involved.

Mar 25

GDC 2014 - Thanks from Agora Games!

By Sam Toews & Elliott Haase

Steve, Elliott, and Brad of Agora Games joined an estimated 24,000 attendees at this year’s Game Developers Conference. While in San Francisco, they had the opportunity to meet with a number of clients, partners, and industry professionals to talk about what is new and exciting at Agora.

We are happy to report that interest in the Hydra platform was once again very strong throughout our entire week at GDC. The many connections and conversations that our team participated in during this year’s GDC conference will be showcased in a number of exciting titles planned for release in 2014 and 2015.

We want to take this opportunity to thank all of the individuals who met with the Agora Games team at GDC 2014. Your support and feedback is greatly appreciated, and we look forward to another exciting year working with our development partners.

Mar 20

New Hydra Studio Features

By Sam Toews

It has been a few months since our last Hydra Studio Features post. This is in part because the Hydra Studio Team has been hard at work developing a lot of new features, all of which are available to our users now!

Below is an overview of the new features that have been released. Please take a moment to review, and then head to the Hydra Studio dashboard and give everything a test run. Make sure to share your thoughts on the Beta Support Forum as your feedback is extremely valuable.


Username/Password Auth

One of our major enhancements was the expansion of our Authentication System. Made available late fall, Hydra Studio now supports a variety of authentication schemes to fit your game’s needs.

  • UUID - Given a unique identifier, Hydra will map it to a game account
  • Facebook - Given a valid Facebook auth token, Hydra will map it to a game account
  • Anonymous - A one time, pass-through, scheme which will return a valid auth token for a new account every time it is used
  • Hydra - A username/password account per the environment of your API key
  • Windows Live - Given a valid Windows Live auth token, Hydra will map it to a game account
  • Google - Given a valid Google auth token, Hydra will map it to a game account
  • Steam - Given a valid, hex encoded, encrypted app ticket for a user of your Steam game, Hydra will map it to a game account
  • Custom - Tells Hydra to use an existing authentication system. Given a token that is accepted by your custom authentication url, Hydra will map it to a game account. If a game account does not exist for this token, Hydra will crete a new game account and associate it with the account in your system.

Additionally, we now provide a way for user to recover an account in case they cannot access it by any other authentication method. However, this requires an email being set on their account. If there is no email set, their account cannot be recovered.

Technical notes may be found in the Authentication Documentation page.


Realtime Networking

Early February, we deployed a number of important infrastructure improvements to Hydra Studio. These enhancements included an update to a new Realtime protocol. Our platform now provides the following:

  • Added support for UDP realtime connection - full reliable/unreliable support
  • Added support for multiple realtime connections for the same account
  • Realtime Connected and Disconnected events now pass the protocol of the underlying connection that was connected or disconnected

More detailed information may be found in the Realtime Networking Documentation page.


REST API

We recently added REST API documentation to our Hydra Studio Game Integration Docs. The Guide provides a general overview of the Hydra REST API, a Getting Started section for those beginning the process, and a REST Endpoint Reference.

For an example of how Hydra REST API may be used, visit our Demo site.


AgoraSaurus

Meet AgoraSaurus, the official mascot of Agora Games, now starring in his very own continuous run mobile game. Available for download on Google Play, AgoraSaurus is an in-house developed, sample application of a Hydra Studio integrated game.

In-game features include:

  • User account creation and login
  • Top 10 global leaderboard
  • Achievement listing and live pop-up notification

Coming soon, we will be adding player-vs-player challenges, an iOS app, and providing source code.


Everything Else

In addition to the top level features above, we released a number of smaller updates during the last few months.

  • Matchmaking service - Added ability to cancel pending matchmaking requests, cancel events
  • Achievements - Added methods to load progress for one achievement
  • Matches service - Added match expiration warning
  • Notifications - Broadcast messaging over push notifications
  • Better error reporting

Still To Come

Here is a list of the features that are currently under development, or will be in the near future, and that you will be able to get your hands on soon.

  • Cloud/Title Storage - Provides secured access to stored user content
  • Clans - Allows for multiple players to be voluntarily grouped together for social and competitive online experiences
  • Xbox One & PS4 Support - C++ SDK support for next-gen consoles
  • User-Generated Content - Provides secure, cross-device storage of player information, content, game saves and other data

Those who want to stay informed of the very latest developments are encouraged to follow our Hydra Studio Announcements Forum and the Agora Games Blog.

If you have questions, comments, or suggestions, please post them in our Beta Support Forum, and continue to put our platform to the test. Thanks a ton!

- The Hydra Team

Mar 13

Agora Games is Hiring!

By Sam Toews

Software Engineer

As a Software Engineer at Agora Games, you will be working on our online game service platform called “Hydra Studio”. You will be responsible for creating complex data processing and presentation tools that integrate tightly with some of the industry’s biggest game franchises. You will work as part of a highly talented team of producers, engineers, and business specialists to expand the Hydra platform.

We are looking for candidates with the ability to quickly learn new platforms. We use many different technologies within Hydra, and while we don’t expect you to know them all coming in, we need a candidate who can quickly learn and be proficient with them! Junior and Senior candidates are welcome to apply.


Job Requirements:

  • Experience delivering large, complex, highly available software systems
  • Experience developing and operating distributed systems
  • Knowledge and practical application of design patterns, SOA, refactoring and software testing
  • Experience with web application servers, web development frameworks, proxy servers and relational databases
  • A detail-oriented, organized thought process and the ability to act decisively under stressful conditions
  • A proactive mindset and the ability to multitask and prioritize requirements
  • A self-motivated work process and excellent communication skills
  • An understanding of system optimization issues
  • Experience with system monitoring tools
  • Interest in working on-site at our office in Troy, NY or in an awesome remote office

Technologies we use:

  • Languages: Ruby, C++, Python, C#, Java, Objective-C
  • OS: Linux, Windows, OSX
  • Databases: MySQL, MongoDB, Redis, PostgreSQL, RabbitMQ, ZeroMQ
  • Web: Rails, CSS, HTML, Javascript, node.js
  • Misc: Chef, Git, Runit, SaltStack

Employee Benefits:

  • Competitive salaries
  • Benefits: medical, dental, and vision programs for you and your dependents
  • 401K retirement program
  • Flexible work hours
  • A brand-new computer of your choice when you start
  • An open & collaborative work space
  • We value a good work-life balance
  • Work on some of the biggest video games in the industry!

To Apply:

Visit our website or submit a resume to jobs@agoragames.com. We look forward to hearing from you!

Feb 20

GDC 2014

By Sam Toews

It is that time of year again, the annual migration of game developers to GDC in San Francisco, and Agora Games will be in attendance.

2013 was an exciting year for the Hydra Team. We added a ton of features to our Hydra portfolios and we can’t wait to show them off. Whether you are an existing user, or would like to learn more about what we do, we welcome the opportunity to meet with you. Please review our conference attendance schedule below, and reach out to us to set up a meeting.


GDC 2014

Hydra Team Attendance: Monday, March 17th - Thursday, March 20th

Current Availability:

  • Monday, March 17th - Available for meetings anytime after 1:00pm PT
  • Tuesday, March 18th - Available for meetings all day
  • Wednesday, March 19th - Available for meetings all day
  • Thursday, March 20th - Available for meetings after 1:00pm PT

Notes: We will be available in and around the expo throughout the week. Please schedule a meeting with us using the directions below and we will find a time and place to meet up.


Schedule a Meeting

Simply send an email to hydra@agoragames.com and tell us when you will be available. Our production team will reach out to you shortly and schedule an official meeting.


Additionally, the Hydra Team will be attending a few invite only engineering conferences that we cannot publicly announce. If you know that you will be attending these type of conferences as well, please note that in your email.

We look forward to seeing you!

The Hydra Team

Feb 17

2K Games and Turtle Rock Studios Announce Evolve

By Sam Toews

Agora Games is proud to announce that we have partnered with 2K Games and Turtle Rock Studios on their upcoming title Evolve, due to release fall 2014.

To learn more about Evolve, gamers can pick up the latest issue of Game Informer magazine or visit Game Informer online for an exclusive look at the game.

Official Game Website

Learn more about Hydra

Jan 29

Hackathon 13

By Sam Toews

Agora’s most recent 24 hour Hackathon kicked off Thursday, January 16th and concluded Friday, January 17th. Check out the link of each project for the full presentation.

REST API DOCUMENTATION & DEMO - Presentation

Steve added public facing Rest API documentation for Hydra studio, including references for each available endpoint.

He also worked on a sample website that is using our Rest API. The website interacts with our Accounts (sign in/registration), Profiles, Achievements, Broadcasts, Leaderboards and Friends features.

ANALYTICS FRAMEWORK - Presentation

Aaron worked on a “real world” example of how to use the analytics framework he recently started.

HYDRA STUDIO SERVER-SIDE CODE - Presentation

Brad worked on and demonstrated Hydra Studio’s server-side code working with real code.

SINGLE-PAGE BROWSER APP WITH HYDRA BACKEND - Presentation

Andrew experimented with a single-page browser app communicating with Hydra via XHR requests in Javascript. It was compiled from Clojurescript with DOM updates via the Reagent library built on the React library.

REDIS LEADERBOARDS - Presentation

David C. worked on extracting out various bits of logic from our leaderboard library that retrieves leader data and trying to create Lua functions in Redis from them. This would allow us to have a more complete transaction when retrieving leaderboard data from Redis.

ZURB FOUNDATION 5

Jack attempted to migrate Agora’s front-end framework from ZURB Foundation version 4 to version 5. For now, he decided to put off merging it into master, since he ran into some obstacles with the JavaScript migration, and the new features of version 5 didn’t include anything that he felt we urgently needed. For the time being, he considers it an exploratory project.

OUYA GAME ANDROID DEMO

David A. worked on porting a demo OUYA game to android, and added Hydra Studio Matchmaking and Realtime features. By the end of Agora’s Hackathon, he was able to demonstrate a mobile to mobile realtime match.

Jan 19

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…

We’re playing a bit of catch up since migrating our blog.

chai

chai provides a very easy to use api for mocking/stubbing your python objects, patterned after the Mocha library for Ruby. A couple of important issues have been addressed in the 0.4.6 and 0.4.7 releases. As of 0.4.6, immediately after running a test, we teardown the stubs. This fixes any problems with exception handling, such as UnexpectedCall, when methods involved in exception handling, such as open, have been stubbed. In 0.4.7, we addressed a regression in 0.4.6, so that reporting on unmet expectations is correct.

Contributor(s): Aaron Westendorf (GitHub, Twitter) and Owen Smith (GitHub).

confirm-with-reveal

confirm-with-reveal is a replacement for window.confirm() using the Reveal modal popup plugin from Zurb Foundation. In the release we did on 2014-01-16, we made the jQuery plugin compatible with jQuery.noConflict();.

Contributor(s): Jack Letourneau (GitHub, Twitter)

stache

stache is our Rails 3.x and Rails 4.x compatible Mustache/Handlebars Template Handler, with support for partials and a couple extra niceties to make sharing the raw templates with client-side javascript a little easier. As of stache 1.0.3, the library is now compatible with Rails 4.x and you can now access RSpec-assigned instance variables in view classes.

Contributor(s): Matthew Wilson (GitHub, Twitter) and kianw (GitHub).

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.6.2 release, we’ve added support for SQL and Cassandra databases in schemas, added a tool for migrating data betwen schemas, fixed a significant performance issue in all endpoints, improved the “Quick Start” documentation, as well addressing a number of smaller issues. The CHANGELOG goes into more detail on the 0.6.0 through 0.6.2 releases.

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

Jan 14
Jan 11

Happy New Year

By Steven Flenory

Happy New Year, from Agora Games