做人的基本原则是什么:Online game infrastructures, Part 5: Make the...

来源:百度文库 编辑:中财网 时间:2024/04/29 19:56:27

Online game infrastructures, Part 5: Make the game work

An architectural approach to providing online game infrastructures

Document options

Print this page

E-mail this page


Hey there! developerWorks is using Twitter

Follow us


Rate this page

Help us improve this content


Level: Introductory

Veronika Megler (vmegler@us.ibm.com), Senior IT Architect, IBM Sales & Distribution

11 Aug 2004

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.


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.



Back to top

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

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

Function Products

  • 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



Back to top

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.



Back to top

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

  • With Business Integration for Games (BIG), provide a framework using Web services as the underpinning technology and take advantage of reusable business function, distributed throughout the network.

  • Try Patterns for e-business Development Kit Lite (PDK Lite), a self-configuring, end-to-end skeleton Web application in one self-extracting package for implementing various Self-Service solution designs.

  • Visit The Klingon Language Institute to discover some of the difficulties involved when serving community needs (such as the need to be able to easily "internationalize" content). So does Klingon for the Galactic Traveler (Star Trek; 1997), by Mark Okrand.

  • Read the author's other articles in this series:
    • For more about developing a high-level business description and identifying patterns, review "Online game infrastructures, Part 1: Develop a high-level business description and identify patterns" (developerWorks, June 2004).
    • In "Online game infrastructures, Part 2: Concentrate on the game," focus on scalability options and complete the last two steps of the patterns-based solutions modeling as you integrate the runtime patterns of the online games infrastructure into a first-level solution and outline whether outsourcing is the best path (developerWorks, June 2004).
    • In "Online game infrastructures, Part 3: Integrate additional device-support functions," focus on integrating new device-support functions into the existing online games infrastructure and meet e-commerce and device-connectivity requirements (developerWorks, July 2004).
    • In "Online game infrastructures, Part 4: Integrate additional device-support functions," focus on learning patterns-based solutions to handle community interaction needs, address adding new content for users of the game environment, and provide assistance when users want it (developerWorks, July 2004).

  • Visit the IBM e-business Patterns site, a repository of pattern resources, including a walkthrough exercise that may make it easier to choose the correct patterns for your design.

  • Check out the The International Game Developers Association, a non-profit membership organization that advocates globally on issues related to digital game creation.

  • Get a quick overview of pattern usage in "Patterns for e-business" (developerWorks, June 2000).

  • "Business Integration for games: An introduction to online games and e-business infrastructure" (developerWorks, October 2003) discusses the technology solutions behind the business and revenue models of online games systems.

  • In "Tetris meets the Java bean," learn how to take Tetris game elements, wrap them as Java objects, and create reusable game components (developerWorks, April 2002).

  • Read "'EverQuest' spins its own economy" and uncover the closed-economy boom spawned by this game.

  • In "eBay, Yahoo crack down on fantasy sales" and "Sony to ban sale of online characters from its popular gaming sites," get the details of eBay's, Yahoo's, and Sony's responses to the closed EverQuest.

  • Enable collaboration capabilities for portal users with WebSphere and Lotus Sametime technologies in "Integrating WebSphere Portal Extend V4.2.1 with Lotus Sametime 3.0" (developerWorks, June 2003).

  • Patterns for e-business: A Strategy for Reuse (IBM Press, 2001), by Adams, Koushik, Vasudeva, and Galambos, is the basis for this article. Read a chapter from the book.

  • Check out Developing Online Games: An Insider's Guide (O'Reilly & Associates; 1996), by Mulligan and Patrovsky, an excellent book describing the business requirements for running an online games infrastructure.

  • Find articles about every aspect of building for the World Wide Web in the developerWorks Web Architecture zone.

  • Browse for books on these and other technical topics.


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.