Aria uses a simple heuristic to determine each participant's playing ability.
The system allows for "pluggable" heuristics, meaning that heuristics can
be swapped during the live experience. New heuristics are also easily added.
The heuristic is responsbile for analyzing the participant's performance
and then returning a rating (a number between 0.0 and 1.0, inclusive). The
heuristic has access to a number of values describing the current status of
the simulation, including the current beat history, each participant's drum
pad hit history, and each player's current rating. A number of heuristics have already implemented. Each will be described
in detail in the sections that follow. This was the first heuristic that was implemented. The idea here is to score
each participant based on how close their drum hits coincide with expected
music beats. The expected music beats are determined based on a notion of
the music's meter. The average time between beats is calculated periodically (to account for
changes in tempo). Next, a sample is taken of the participant's recent drum
hits. The modulus of each hit's timestamp and the average beat time is computed,
and the resulting descrepancies are summed. This is compounded with a count
of the number of times that player hit their drum to yield a rating, which
is in turn weighted against their previous rating. The problem with this heuristic arises in the fact that the participant's
beats may or may not fall on actual beat points in the music. It's also exceptionally
difficult to score well based on this heuristic. The second heuristic only looks at the frequency of drum hits over a period
of time (one second, for example). The more times the participant hits their
drum over this period, the higher their rating. This heuristic proved to be quite popular due to its simplicity. It's easy
for the participant to score highly, and their actions yield near immediate
satisfaction. The problem, however, is that this heuristic promotes rapid,
freeform pounding on the drum pads. This creates neither a satisfying nor
coherent musical experience. This heuristic was intended as a simplified version of the meter-based heuristic.
Both the average beat time (time between beats) and the average hit time (time
between hits) are calculated for the participant. Those two values are compared
and their descrepancy calculated. The lower the aggregate descrepancy, the
higher the participant's rating. This system works fairly well in theory, but it does not account for the
cases in which the player decides not to hit their drum for a period of time.
This increases the statistic delay between their hits and disrupts their average,
compounding their playing error for a number of cycles into the future. This
makes it difficult for the participant to score well because they would have
to spend a considerable effort in correcting their hit average in order to
get back on track. This heuristic also precludes the participant's ability to improvise their
playing by hitting their drum twice per beat time. They would have to balance
their performance by playing twice the beat time for half the time and not
playing at all for the other half in order to achieve a good average hit time
and thus a high rating. The count-based heuristic is an evolved form of the frequency-based heuristic
that also takes the music beats into account. In this heuristic, the number
of beats over a time period is counted. The number of times the participant
hit their drum over the same time period is also counted. Those two numbers
are then compared to compute the participant's rating. This system works fairly well in that is doesn't dictate at the micro-level
the times that the participant must strike the drum. It only requires that
they strike the drum a certain number of times. This may or may not produce
a successful musical experience, but it does give the player greater flexibility
in their playing. Heuristics