Reasoning Behind Personalizer
Since the early days of gaming on home computers, the games have had built-in actions to let
the player interact with the imaginary worlds and tuning options to modify certain aspects
of gameplay. Initially, game developers used to hardcode key bindings and option values, but
eventually the idea of customizable settings became wide-spread. In a modern first-person
shooter you'd expect to find about sixty or seventy settings total, and strategy games
are sometimes just plain scary when it comes to configuring them.
Customizing the experience is very nice—when done in a reasonable fashion. We find nothing
reasonable about the way customization is implemented in PC games. Absolutely every game you install
needs to be customized to your liking; you must instruct them again and again, spelling
out mouse settings, action controls, the whole layout. You go deep into the multiplayer menu
just to set your nickname for deathmatch, you get confused about actions that have differing
names, but identical purpose.
Many people consider this a necessary evil to live with. We challenge that opinion by developing
FingerTips Personalizer Framework, a game development tool that both supports customization
and personalization of gaming experience and spells memory of gamer's preferences into
PC games.
How Personalizer Works
Personalizer is based on a persistent on-disk database that, on every gamer's computer, stores
personalized gaming preferences for that person. The database is not generic: it does not
require the gamer to configure every possible setting once and for all time; instead, there are
separate game-specific profiles.
Every gamer gravitates to a narrow set of genres, so for every person there are stable
personalized defaults that the game developers simply cannot be aware of; that's why it
is impossible to create a default layout to satisfy all players. Personalizer makes every
effort to memorize personalized defaults and make them reusable across games.
A Personalizer-aware game scans through existing profiles to either find suitable reusable
preferences or decide that a default profile should be created. The process is entirely
automatic and only requires minimal programming effort on the part of the game developer.
Obviously, reusing configuration information across games requires the games to have a common
vocabulary of configuration concepts. Personalizer has two such vocabularies with terms that
serve as building blocks for preferences memory: the library of options (configuration nouns,
such as "Invert Mouse") and the library of actions (configuration verbs, such as "Attack".)
This common language is derived by analyzing hundreds of existing games and will evolve along
with configuration concepts. As usual, game developers are free to create custom configuration
entities when required.
Personalizer suggests cooperation across game development projects and teams. The more games
participate, the more profound the effect is. This happens because all Personalizer-aware games
contribute to evolution and elaboration of personalized preferences of every gamer and all
Personalizer-aware games have access to this source of configuration information.
Evolutionary, Not Revolutionary
We believe that exteriors of the configuration process must remain much the same as in the traditional
approach or become more usable in some cases. However, the effort required to configure a
Personalizer-aware game must be minimal as the framework provides the means necessary to automatically
reuse gaming preferences.
Perhaps the most important point about Personalizer is that it educates games by providing them a piece
of vital information about the players and thus makes the gaming experience more welcome and smooth.
The Development Side
Currently, the development efforts with Personalizer are directed to streamlining the whole process
of working with user preferences, from specifying actions and options that the game implements
at design time to discovering and reusing preferences for those actions and options at run time.
It starts with a visual tool that allows the game developer to quickly create game configuration metadata
profiles. The tool, Personalizer Visual Tuner, will also generate snippets of C++ code for integrating
the game with FingerTips Personalizer Application Programming Interface. The developer can work from these
snippets or use customary project procedures. Alternatively, since the configuration metadata is stored in
XML, the developer can automate generation the of supporting code through XSLT. Finally, the game
package must include Personalizer Redistributable Core, a package we provide, and deploy it on the target
computers during installation.
|
 |
Learn more |
 |
|
Documentation Map
Presentation
Overview
Quickstart
Design
Personalizer Visual Tuner
API Reference Manual
 |
Reference |
 |
|
API Reference
Personalizer XML Schema
Prime II XML Schema
Personalizer Core Library of Options
Personalizer Core Library of Actions
Personalizer Core Library of Option Types
 |
Legalese Your Brain |
 |
|
Unlimited Commercial License
Mainstream Commercial License
Small Fee Commercial License
Non-Commercial License
|