{% extends "konami.html" %}
{% block body %}
<p>Why?</p>
<p>I was curious how these APIs work, yet could find little to nothing on Google. There are a number of
    closed-source projects, with presumably similarly closed-source internal documentation, and a scattering of
    implementations of things, yet I couldn't find a site that actually just documents how the API works. If I'm
    going to have to reverse engineer an open source project (or a closed source one, for that matter), I might as
    well just go reverse engineer an actual game (or it's stdlib, as most of my time has been spent currently).</p>
<p>For the sake of being lazy, I'll probably end up calling it eAmuse more than anything else throughout these
    pages. Other names you may come across include <code>httpac</code> and <code>xrpc</code>*. The former is the
    suite of HTTP functions used in the Bemani stdlib, and the latter then name of their communication protocol they
    implement at the application layer, but whenever someone refers to any of them in the context of a rhythm game,
    they will be referring to the things documented here.<br />
    <small style="margin-left: 8px">*I believe <code>xrpc</code> is the officialy used name for the protocol.</small>
</p>
<p>These pages are very much a work in progress, and are being written <i>as</i> I reverse engineer parts of the
    protocol. I've been asserting all my assumptions by writing my own implementation as I go, however it currently
    isn't sharable quality code and, more importantly, the purpose of these pages is to make implementation of one's
    own code hopefully trivial (teach a man to fish, and all that).</p>
<p>Sharing annotated sources for all of the games' stdlibs would be both impractical and unwise. Where relevant
    however I try to include snippets to illustrate concepts, and have included their locations in the source for if
    you feel like taking a dive too.</p>
<p>If you're here because you work on one of those aforementioned closed source projects, hello! Feel free to share
    knowledge with the rest of the world, or point out corrections. Or don't; you do you.</p>

{% endblock %}