Get involved!

About   Downloads   Documentation   Buy

Product information / Overview

 

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

 

© 2001-2006 Software Species, all rights reserved