Skip to main content

Online game infrastructures, Part 5: Make the game work

An architectural approach to providing online game infrastructures

Veronika Megler (vmegler@us.ibm.com), Senior IT Architect, IBM Sales & Distribution
In the early 1980s, Veronika Megler was part of the birth of the computer games industry in Australia as the first employee of the heralded Melbourne House Publisher. While there, she wrote best-selling computer games, including a legendary cult game, the best selling game ever on the Spectrum 64 home computer, The Hobbit. Twenty years has taken her career full circle -- after working in operations, application development, systems programming, systems management disciplines, project management, and IT management consulting, she spent a large part of 2003 working to match IBM's products with the nascent online games industry. Now a Senior IT Architect for IBM Sales & Distribution working on Offerings for Emerging & Competitive Accounts, she is passionate about making IBM solutions and technology usable by customers and consumers. She enjoys building architectural solutions to solve real business problems, then proving they work in practice. Reach Veronika at vmegler@us.ibm.com.

Summary:  The business of the online gaming industry is a complex one, requiring the input and integration of many variables -- people, business conditions, product goals, and more -- to create, implement, and distribute a successful online game. In the last of five articles, IBM® Senior IT Architect Veronika Megler recaps here the entire process for designing a game environment infrastructure, delivers a final revised build-buy-borrow template for game environment functions, discusses putting all this effort to work, and notes a few additional potential functions.

Date:  11 Aug 2004
Level:  Introductory
Activity:  1099 views

In this, the last part in this series, I start by recapping the entire design process to demonstrate how far you've come in providing an online game environment. Next, I deliver a revised build-buy-borrow outline, complete with some real-world product solutions. Lastly, as a way of putting the game environment to work, I offer up a thought on further potential functions for the environment that you may want to consider.

Up until this point

In Part 1, you learned to:

  • Migrate from a game focus to a business focus, using an e-commerce model to ensure success.
  • Apply business patterns to the development of a game environment.
  • Craft a business description of the environment you want.
  • Take that description and pull out pertinent elements, and build a solution overview of the project.
  • Use the overview to identify the needed patterns to develop the infrastructure.

In Part 2, you learned to:

  • Refocus on the game, applying a patterns-based perspective to illuminate its design.
  • Outline and understand why you chose certain patterns, based on your determinations.
  • Walk through the application, applying patterns as you go.
  • Examine scale requirements and determine which patterns fit those best.
  • Integrate runtime patterns into a workable solution.
  • Match real-world products with the runtime functions.
  • Determine when and where reuse (buy or borrow) was appropriate.

In Part 3, you :

  • Identified a new scenario -- game playing as a lifestyle -- and the resulting requirements.
  • Discussed the requirements needed to create ancillary products for the gamer to purchase.
  • Highlighted potential graphics issues in translating game images to physical items.
  • Covered the components necessary for building a barter/exchange system that works within the gaming world and between the game environment and the real world.
  • Examined the realities of connectivity between the game and the multitude of devices that gamers may use.
  • Outlined the critical issues in connectivity concerning devices.
  • Matched the useful patterns to help adapt the solution to allow a larger number of potential gamers to access the most services in the environment.

In Part 4, you :

  • Discussed needed community-issue functions such as providing for self-regulating communities.
  • Focused on purpose-built content and personalization.
  • Discussed giving groups the ability to recognize their own members for the purpose of content distribution.
  • Talked about offering gamer education.
  • Identified the need some users might have to communicate with other players within the game.
  • Postulated a statistics-based function that could help matchmake gamers.
  • Covered downloading and installing patches.
  • Recognized the need to be able to identify the current version a player is using.
  • Focused on automatically installing patches needed to bring a player's game up to date.
  • Realized the need to provide an indicator of when a new game version is available.
  • Highlighted the need for a user-accepted install service.
  • Examined self-service user account management that allows registered gamers to renew their subscription, check their account status and balance, and do other account maintenance.
  • Detailed when to use customer service through multiple mechanisms such as e-mail, chat, and telephone.
  • Offered pattern advice for each of the new functions you uncovered.
  • Matched the appropriate new functions to real-world products.

I've provided an index to help you locate the key concepts discussed in this series, including the functions identified and the patterns I chose to meet those requirements.

Now, look at the new and improved build-buy-borrow picture.


The new, improved build-buy-borrow picture

Start with the additions from the extended scenarios and build a new build/buy/borrow hypothesis that incorporates the changes.

As with my earlier approach, I used IBM and IBM Business Partner products because I know they can provide the functions you identified. Clearly, you need to more closely examine each case to validate that the functions of the products provided really meet your exact needs.

First, review the patterns-based solution that you designed for your game environment.


Figure 1. The final overview patterns solution
The final overview patterns solution

Taking the components from the overview, you'll now match up real-world products to fulfill the functions of those components.


Table 2. Product options for your online game environment needs
FunctionProducts
  • Edge services (cache)
  • Use content caching; Partner with Akamai for content download
  • Protocol/domain firewalls
  • IBM Secureway® Firewall
  • Registration and login
  • Use IGS registration service and WebSphere® Application Server
  • Matchmaking
  • ISV Application such as Andago, WebSphere Application Server
  • Web server redirector
  • WebSphere Network Dispatcher
  • IBM HTTP Server with IBM WebSphere Application Server Plug-in
  • Collaboration
  • Lotus® Domino®
  • Lotus Sametime®
  • Lotus Quickplace®
  • Content delivery; provisioning
  • IBM Video Charger
  • FTP Server
  • WebSphere Everyplace® Delivery Manager
  • Content management
  • IBM DB2® Content Manager
  • IBM DB2 UDB
  • Voice-activated response system
  • IBM Voice Server
  • IBM WebSphere Application Server
  • Directory and security services
  • IBM Secureway Directory
  • Customer relationship management
  • Industry leading CRM application like KANA or Onyx
  • Digital rights management
  • Business partner, to be researched
  • Portal and portal services, including:
    Personalization server
    Presentation server
    Search and indexing
    Application server; commerce application
    Billing, subscription
  • IBM WebSphere Application Server
  • IBM WebSphere Portal
  • IBM DB2 UDB
  • IBM WebSphere Personalization
  • WebSphere Portal Server Search and Indexing Portlets
  • WebSphere Digital Media Enabler
  • IBM WebSphere Commerce
  • WebSphere Commerce Payments
  • WebSphere Commerce Recommendation Engine
  • Billing, subscription
  • Use WebSphere Commerce's subscription purchase
  • for micropayments use iPin
  • Database server
  • IBM DB2 UDB
  • Data Mining Application (optional)
  • Load balancer/proxy
  • Game servers
  • Depending on the game: IBM Network Dispatcher
  • GameGrid/OptimalGrid
  • In-game collaboration service
  • In-game provisioning
  • In-game commerce service
  • Other in-game services
  • Business Integration for Games: use to connect to native services for each required service

Final concepts

As a games infrastructure provider you are, in effect, a service provider. Your ability to make money is tightly coupled to your ability to keep your gamers happy. Therefore, you have to consider these other requirements as well:

  • Scalability. You want to be able to service all users who show up to play, no matter when or how.
  • Availability. You need to provide reliable service all the time.
  • Performance. You want to provide good, reliable, consistent response times.
  • Digital Rights Management. In today's world, you cannot have an e-commerce component to your business and not consider the consequences of property rights.

In a number of cases, existing patterns can address these requirements. The non-functional requirements of scalability and availability, for example, have runtime patterns and implementation suggestions that can add significant detail to your diagrams. These subjects are worthy of an entire collection of articles in themselves.


Game over!

Clearly, you can apply unlimited creativity when planning and implementing a games infrastructure. By using some fairly standard patterns as the basis for your infrastructure, you can continue to build up a complex, rich, integrated environment without creating a maze that is impossible to maintain.

Also, I've not addressed a variety of issues, such as availability, scalability, and performance. But as you can see, you've broken interesting, challenging game functions into a variety of straightforward functionality implemented with off-the-shelf components to support the more boring business needs. These components are available, well understood, and well tested; and when coupled with one or more exciting research technologies, you can provide truly leading-edge capabilities.


Resources

About the author

In the early 1980s, Veronika Megler was part of the birth of the computer games industry in Australia as the first employee of the heralded Melbourne House Publisher. While there, she wrote best-selling computer games, including a legendary cult game, the best selling game ever on the Spectrum 64 home computer, The Hobbit. Twenty years has taken her career full circle -- after working in operations, application development, systems programming, systems management disciplines, project management, and IT management consulting, she spent a large part of 2003 working to match IBM's products with the nascent online games industry. Now a Senior IT Architect for IBM Sales & Distribution working on Offerings for Emerging & Competitive Accounts, she is passionate about making IBM solutions and technology usable by customers and consumers. She enjoys building architectural solutions to solve real business problems, then proving they work in practice. Reach Veronika at vmegler@us.ibm.com.

Comments (Undergoing maintenance)



Trademarks  |  My developerWorks terms and conditions

Help: Update or add to My dW interests

What's this?

This little timesaver lets you update your My developerWorks profile with just one click! The general subject of this content (AIX and UNIX, Information Management, Lotus, Rational, Tivoli, WebSphere, Java, Linux, Open source, SOA and Web services, Web development, or XML) will be added to the interests section of your profile, if it's not there already. You only need to be logged in to My developerWorks.

And what's the point of adding your interests to your profile? That's how you find other users with the same interests as yours, and see what they're reading and contributing to the community. Your interests also help us recommend relevant developerWorks content to you.

View your My developerWorks profile

Return from help

Help: Remove from My dW interests

What's this?

Removing this interest does not alter your profile, but rather removes this piece of content from a list of all content for which you've indicated interest. In a future enhancement to My developerWorks, you'll be able to see a record of that content.

View your My developerWorks profile

Return from help

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=1
Zone=Web development
ArticleID=15053
ArticleTitle=Online game infrastructures, Part 5: Make the game work
publish-date=08112004
author1-email=vmegler@us.ibm.com
author1-email-cc=

My developerWorks community

Tags

Help
Use the search field to find all types of content in My developerWorks with that tag.

Use the slider bar to see more or fewer tags.

Popular tags shows the top tags for this particular content zone (for example, Java technology, Linux, WebSphere).

My tags shows your tags for this particular content zone (for example, Java technology, Linux, WebSphere).

Use the search field to find all types of content in My developerWorks with that tag. Popular tags shows the top tags for this particular content zone (for example, Java technology, Linux, WebSphere). My tags shows your tags for this particular content zone (for example, Java technology, Linux, WebSphere).

Rate a product. Write a review.

Special offers