WO2001024083A2 - Virtual environment product placement - Google Patents

Virtual environment product placement Download PDF

Info

Publication number
WO2001024083A2
WO2001024083A2 PCT/US2000/025217 US0025217W WO0124083A2 WO 2001024083 A2 WO2001024083 A2 WO 2001024083A2 US 0025217 W US0025217 W US 0025217W WO 0124083 A2 WO0124083 A2 WO 0124083A2
Authority
WO
WIPO (PCT)
Prior art keywords
virtual environment
user
product
placement
environment
Prior art date
Application number
PCT/US2000/025217
Other languages
French (fr)
Other versions
WO2001024083A8 (en
Inventor
Mathew J. Hostetter
James Michael Hammond
Douglas D. Robinow
Murray S. Mazer
Morgan S. Mcguire
Mark H. Giese
Susan B. Hoover
Lori J. Fucarile
Original Assignee
Curl Corporation
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Curl Corporation filed Critical Curl Corporation
Priority to AU74872/00A priority Critical patent/AU7487200A/en
Publication of WO2001024083A2 publication Critical patent/WO2001024083A2/en
Publication of WO2001024083A8 publication Critical patent/WO2001024083A8/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising

Definitions

  • Virtual environments are widely presented as games in which a user assumes the role of a character within the virtual environment which is controlled by a virtual environment (VE) controller.
  • the VE controller also identifies roles of non-user adversaries and of inanimate objects such as weapons.
  • a network environment such as the internet, multiple users may interact within the virtual environment.
  • the present invention enables advertising to be placed within the context of an interactive virtual environment.
  • Advertising objects which advertise products, including services, are defined within the interactive virtual environment which is dynamically controlled in response to user input.
  • Specific product information is dynamically placed in the advertising objects in accordance with the context of the virtual environment.
  • an advertising object may be an object of food which is to be consumed by the user in the virtual environment to alleviate hunger, and a brand name may be dynamically placed on the food container.
  • Context may include, for example, the action of the user, personal characteristics of an individual user, the state of the virtual environment, and time of the action as well as payments made by the advertiser. Placement of specific products in the advertising object may be personalized to the user dependent on skill level of the user, geographical location of the user and personal demographics of the user.
  • the user of the interactive virtual environment plays a role in the virtual environment and the product serves a role as an object in the virtual environment.
  • the virtual environment may be a game environment.
  • the virtual environment may be presented in a three-dimensional display and the product information placed as a texture map on a three-dimensional object.
  • the advertising object may be presented as a prop which is manipulated by the user.
  • rewards to be applied to a real world product may be provided to the user.
  • product coupons may be received.
  • the virtual environment may permit those rewards to be traded among multiple users.
  • benefits within the virtual environment may be obtained from a real world source of the product.
  • a product source may distribute coded information at its stores which can be applied to the virtual environment for special powers or implements.
  • product information presented to one user may be seen by other users of the environment as well.
  • the user's action may result in continued display of an advertisement which also can be seen by other users.
  • specific product information may be placed as endorsements by users in the virtual environment. For example, high scorers within a game might carry a particular product banner and be rewarded with benefits within the game. Similarly, a team of users may be supported by a particular product.
  • Charges to the advertiser may be based on the context of the product information placement. For example, greater interaction of the user with the product may result in increased charges. Charges may also be based on user demographics, and there may be premium time slots during which a product placement would result in higher charges.
  • Figure 1 illustrates multiple users enjoying a virtual environment through a virtual environment product placement server embodying the invention.
  • Figure 2 illustrates a multiple server environment.
  • Figure 3 is a flow chart of interaction between the virtual and real environments in which product coupons are obtained in the virtual environment.
  • Figure 4 illustrates an interaction between the virtual and real environments in which a coupon obtained from a product supplier is used for special benefit in the virtual environment.
  • Figure 5 illustrates a 3D graphical presentation of a torch bearing advertising information in an illustrative implementation of the invention.
  • Figure 6 illustrates object files utilized in an object oriented illustrative presentation of the invention.
  • Figure 7 illustrates calls made between object files of Figure 6.
  • Figure 8 illustrates another set of calls in the system of Figures 6 and 7.
  • Figure 9 illustrates another set of calls for a food object in the system of Figures 6-8.
  • the invention may be implemented in any data processing system including personal computers, game machines, set top boxes and personal digital assistants. As illustrated in Figure 1, individual users may interact with a virtual environment through personal computers 22, each having a display 24, keyboard 26 and mouse 28. Each personal computer 22 is a conventional PC having appropriate processor, memory and user interfaces. Although the invention may be implemented in virtual environments limited to individual personal computers or other devices, the invention is preferably implemented over a network such as the internet under control of a virtual environment product placement server 30. The users may be in culturally and geographically separate regions, involving multiple languages and time zones. As in conventional systems, the server 30 includes a virtual environment controller 32 which responds to user input within a predefined virtual environment to present the virtual environment to the individual users.
  • VE controller is adapted to interact with users, to control the user's actions in the VE and to display text, sound, video and graphics over the internet.
  • the user may have the role of a warrior in a virtual environment, or other roles as defined in the VE, and interactions would be between that user and the VE and, within the VE, between that user and other users.
  • the server 30 additionally includes user, product and statistics databases to implement the present invention.
  • the user database stores the information requested from individual users such as sex, age, interests and any other information which will personalize the role, the products and the virtual environment, assist placement of advertising and provide statistics of interest to advertisers.
  • the product database 26 includes product specific information which assists in placement of products within individual user environments and which is to be placed for individual products. Depending upon the VE, a number of different product roles are available. Examples of such roles include foods, beverages and healing services. Each of these roles can have one or more real world products fulfill that role within the VE, with the product database containing the information relating to the placements.
  • the system searches the product database for a best match for a particular context of the virtual environment.
  • the user may activate a fast food product.
  • the system would then select a particular fast food product which would be of likely interest to the particular user.
  • the choice of product would also be dependent on the fees paid by the advertiser. For example, the higher paying advertiser will obtain a greater number of impressions of its product within the virtual environment.
  • the advertiser may also designate the time of day at which advertisements are to be made.
  • the statistics database 28 collects statistics required by advertisers and enables appropriate charges to be made to the advertisers. For example, advertisers may be charged based on the number of and quality of impressions on the users. For example, one user may trigger the display of an advertisement which is viewed by a number of other users within the same environment. Each user would then count as an impression. Further, if a user actually interacts with an advertising object, such as by eating a particular brand of food, a higher charge may be made for a higher quality impression.
  • a computerized virtual environment engages users to role play and utilizes product placement as strategic components of the virtual environment which include static product placements and dynamically altered product placements depending upon user selections of roles and choices throughout play.
  • product roles within the virtual environment can be predefined. Examples of such product roles include food to provide sustenance, beverage to quench thirst, clothing to provide coverage and protection, potions to provide magic, brokerage firm for investment of winnings, banks to store winnings, hospital for healing, cleaners to fix armor, lawyer to get out of jail, car repair shop to fix vehicle, newspaper to provide hints at virtual environment and status, luggage to carry winnings and cosmetics to provide disguise.
  • a VE role playing virtual environment may include characters such as a warrior.
  • the user may input information in response to certain provided questions which personalizes the warrior within the VE's range of warrior definitions, (i.e., blonde hair, 6 feet, three arms).
  • Part of the role playing virtual environment may, for example, be that the warrior is hungry.
  • the warrior can interact with the VE controller until the character discovers a food establishment.
  • the VE controller would pull from an associated product database a product to fulfill that role, take for example a specific fast food restaurant personalized to the particular user information.
  • the warrior would see in the VE a specific fast food restaurant and enter the "establishment" to receive the required sustenance to continue in the VE.
  • Points may or may not be associated with certain aspects of the virtual environment.
  • Each product role will have one or more real world products that can fulfill that product role.
  • the ability to fill a particular product role may be priced according to but not be limited to: frequency of placement, type of use, demographics of user and timing for the placement.
  • a "food truck” is one example of a temporary placement for a food product role.
  • the truck may show up more frequently during the hours of 6 p.m. to 10 p.m. EST to capture a particular segment of U.S. users. In addition, it may show up in a particular portion of the VE where a certain demographic congregates. The company having a placement would pay accordingly.
  • Product placements may be personalized on an individual level such as on the basis of skill level, geography and personal demographics such as age and sex. Users may have a "home base" through which they always transition when starting in the VE, when healing and, when interacting with others. Thus, the "home base" may have placements targeted for that particular user.
  • Product placements may also be personalized on a group level. Users may belong to groups (fixed and arbitrary sizes). The groups may also have a special "lair” they always transition through when interacting with others in the group. Thus the "lair” may have placements targeted for that particular group. And groups may be sponsored.
  • Placements may be persistent across the VE, across groups or across users.
  • placements can be temporal, limited to a period of time.
  • the product placement may interact with the user. Again, using a specific fast food restaurant example, when the warrior enters, a menu may be presented.
  • the screen may display a video clip and music may be played in accordance with the placement.
  • the display may also contain a number of links.
  • the links may provide product information, a link to the company web site or the opportunity to enter a sweepstakes and/or collect points.
  • the virtual environment may interact with the real environment. For example, as a reward in the virtual environment, a user in the virtual environment such as at 80 in Figure 3, may be provided a coupon for the advertised product. That coupon could be printed at 82 and used in a product purchase at 84. Alternatively, coupons might be bartered within the virtual environment. For example, user 1 might provide his coupon to user 2 at 86 in a trade. User 2 would then print the coupon at 88 and use the coupon in a product purchase at 90.
  • the user may click on a link to receive a coupon to use in the real world for the actual company products.
  • a coupon may be sent via email or postal mail to the user or go into the warrior's "knapsack" for later use.
  • the coupon may be adapted to contain a unique ED to track the user or the effectiveness of the virtual environment.
  • Companies may offer product endorsements to the high scorers in the virtual environment.
  • the warrior may be wearing a specific running shoe manufacturer's shoes of flight.
  • the product endorsement is seen.
  • Groups may also be sponsored. Thus, a group may be formed that was sponsored by a car company, for example, and thus when members of the team interact with other users, the product endorsement is seen. In return, the individual or group may receive certain benefits (points, VE goods, real world discounts, etc.) in exchange for the endorsement or sponsorship.
  • benefits points, VE goods, real world discounts, etc.
  • a company may give a coupon at 92 that contains a number that, when input at 94 and used in the VE 96, may provide special benefits (potion, armor, weapon, etc.) and the number may be used again to track the value of the virtual environment.
  • the amount spent on the company may be converted to points in the virtual environment.
  • the VE may be a mechanism for users to enter sweepstakes, receive coupons, enter contests and/or obtain virtual environment points. The points collected in the VE may be converted to discount coupons to purchase products.
  • Companies may randomly add items to users' "knapsacks" (through coupons) to test their products.
  • the items may also provide benefits to user in the VE, for instance improve the armor.
  • Placements may be localized according to the user's locale.
  • a U.S. user may be presented English menus with U.S. based products, while a Japanese user may be provided a menu in Japanese and tailored to the Japanese market.
  • Another example is for companies that are only based in a single market, for instance car repair.
  • the VE may have a car repair place in the same position for all users, but a user in the U.S. would see a U.S. based company and a user in Japan would see a Japan based company.
  • the server may provide the requisite community building tools. Chat, email, forums, etc. may be provided and may also contain sponsorship advertising via conventional mechanisms.
  • the VE preferably provides age appropriate tailoring. This may be used to control aspects of the VE environment to exclude individuals that do not meet a particular profile.
  • a child may play a virtual environment game with an adult and the VE the child sees would be "child-safe" version of the world, as defined by the parent.
  • a role for a product that is labeled "entertainment" in the VE may display a placement from a casino that emphasizes gambling for an adult profile but arcade virtual environment games for a child profile.
  • an adult rated movie may be the product placement for the adult profile and a child rated movie may be the product placement for a child profile.
  • There may be a mechanism for tracking the display and interaction of placements in order to charge the advertisers.
  • a statistics monitoring tool may be used that charges the advertisers per access of products placed in the virtual environment and this data may be rolled up into an online metering and chargeback system. This system may be based on number of viewings, interactions, coupon downloads, click throughs, endorsements, regional reach, demographic reach, temporal reach, community reach, etc.
  • Individuals may set up virtual environment servers that utilize their own private database of placements and also pull placements off of a central placement server.
  • the central placement server derives revenue from the central placements, and the individual derives revenue from the local placements. This is like local TV stations getting portions of the advertising time slots for local sale.
  • the "Text-based Interaction of a User in the Overdrive Environment” section presents the text based interaction of a user in the Overdrive environment.
  • the "Source Files” section presents the source code in the LPC language which underlies the presentation of the "Text-based Interaction of a User in the Overdrive Environment” section.
  • the user is presented the choices of entering a "before” environment which does not incorporate the invention and an "after” environment which includes product placement in accordance with the invention. Within each environment, the user removes a torch from a sconce in room 1 and eats food in room 2.
  • the torch In the after environment, when the user removes the torch, the torch is labeled with an information provider's name: "Federated Consolidated Brokerage Services.” Thereafter, once a minute, the torch flares up and presents a banner advertisement for the brokerage service. In room 2, the container of food is labeled "rawhide brand beef jerky" and the food is eaten.
  • the labeled torch with periodic banner might appear as illustrated in Figure 5.
  • the source files presented in the "Source Files" section are as follows: anteroom.c - an anteroom from which the layer can enter the adventure placement.h - product placement definitions before ⁇ rooml .c - the two rooms of the adventure before ⁇ room2.c - without product placement obj ⁇ food.c - generic food object obj ⁇ hunger-ob.c - object representing a player's hunger obj ⁇ torch.c - a torch allowing product placements obj ⁇ place-food.c - food allowing product placements afterVrooml.c - the two rooms of the after ⁇ room2.c - adventure with product placement after ⁇ database.c - a sample subset of the information that might be contained in a product placement database after ⁇ placement-ob.c - a translator from LPMUD - specific calls to generic database calls
  • the files which are processed in the after version of the adventure implementing the advertisement placement are illustrated in Figure 6.
  • the rooml .c, room2.c, torch.c and place_food.c files are specific to the particular adventure.
  • the placement_ob.c object performs any translation from the client language to the generic database language and obtains the specific advertising information from the database to be applied to the torch and food objects.
  • the placement object would forward to the database the class of product for which placement is desired, information about the specific user which triggered this product placement request and type of placement information requested.
  • the type of information might be short plain text, short rich text, a static bit map of a given size and a given format, a dynamic image of a given size and a given format and so on.
  • the database makes the appropriate advertising selection and returns it to be included in the torch and food objects.
  • the torch placement is illustrated in Figure 7.
  • a player within rooml 48 gets a torch at 50.
  • the torch object 52 makes a request 34 to the placement object 56, indicating that it requires text associated with an information provider that can be put as a label on the torch, and identifies the particular player for whom the information is required.
  • the placement object then creates a similar request 58, including specific information about the user, to the database 60.
  • the database searches its files of information providers and selects one appropriate for this particular user.
  • the identity of the information provider and the specific text string to be used as a label are then returned to the placement object and to the torch object to be presented to the user as a label on the torch.
  • the torch object also regulates the creation of a further banner ad. Once a minute, the torch flares to include a larger text display for the same information provider. To that end, as illustrated in Figure 8, the torch object counts system heartbeats (1 per 5 seconds), and every 12 heartbeats creates a request 62 to request a larger flat text placement for the previously identified information provider. That request is forwarded at 64 to the database which returns the banner text.
  • the user may input "get-food” to cause the room2 object 66 to clone a place-food object 70.
  • the place-food object makes a request 72 to the placement object for text appropriate for a label for snack food for this player.
  • the placement object 56 then forwards a request 76 with user information to the database 60.
  • the database 60 then returns a snack food label appropriate for this user to the placement object 56 which in turn returns it to the place food object 70 for display to the user.
  • this example could be extended to make a discount coupon for the product available to the user if the user picks up that particular brand of food.
  • the coupon is made available based on the user's action within the virtual environment. That is, providing the reward is an embedded feature of the game.
  • access to an electronic brokerage service might be provided as a reward.
  • is _jmike_food_ob(ob) ⁇ return (ob->is_a_jmike_food_ob()); ⁇
  • This file contains confidential and proprietary information of
  • create() ⁇ ::create(); set_name("food”); set_phrase("some food”); set_short("Some food”); set_long("This is some generic food. Eating it might reduce or "
  • ⁇ ⁇ ⁇ is Jmike_hunger_ob(ob) ⁇ return ob->is_a_jmike_hunger_ob(); ⁇ is_aJmike_food_ob() ⁇ return 1; ⁇
  • extinguish(str) set_heart_beat(0) ; return(::extinguish(str));
  • sample data values are hard-coded below as an array of entries.
  • Each entry is also an array in the format: product class, placement format, placement length category (the smallest power of two that is larger than the actual length of the placement in bytes), target user's ideal age, minimum target user hours per week spent in virtual environments, target user's ideal sex, a unique identifier for this set of placements the set of specific placements fitting this description */
  • Vn Vnhttp ⁇ /www.zowie.com ⁇ a darn good jump site
  • placement_request ( product_class, placement_format, max size, user_information ) ⁇
  • One interaction between the virtual environment and the product placement database is where the VE has an opportunity to make a placement and needs to query the database to find an appropriate product and pertinent information about that product.
  • what type of placement information is requested for example short plain text, short rich text, a static bitmap of a given size in a given format, a dynamic image of a given size in a given format, etc.
  • the specific product placement information is then returned from the database to the VE.
  • a successful placement request returns an array.
  • the [0] value of the array is a string containing an identifier for the placement, to be used in subsequent transactions involving that placement.
  • the [1] value of the array is a string containing the actual product placement text.
  • target_user simulates the fact that different applications will track user data differently and must translate their information into a format expected by the product placement database. So in the following example, we assume that
  • the age group of the user is 13-29
  • the number of hours per week spent in virtual environments is a function of the character's level.

Abstract

Product advertisements are made an integral part of a virtual environment by dynamically placing the advertisements in accordance with the context of the virtual environment. A user input can initiate an advertisement, and the specific advertisement can be personalized to the user. Advertisements may include specific product labels included on props which are manipulated by the user in the virtual environment and may include banners. The advertisements may be viewed by the user who initiates the advertisement as well as by other users in the same environment. Rewards obtained in the virtual environment may be extended to the real world as through coupons. Similarly, a real world source of a product may provide benefits in the virtual environment. Advertisers may be charged based on the actual context of the advertisement within the virtual environment including interaction with the user, user demographics and time of use.

Description

VIRTUAL ENVIRONMENT PRODUCT PLACEMENT
COPYRIGHT NOTICE
A portion of the disclosure of this patent document contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent disclosure, as it appears in the Patent and Trademark Office patent files or records, but otherwise reserves all copyright rights whatsoever.
BACKGROUND OF THE INVENTION
Computer based virtual environments have long been available and continue to be developed to provide greater realism and greater user interaction. Although a virtual environment for a single user may be implemented on an individual's computer, a virtual environment may be shared by many users, such as through a shared server in a multi-user domain (MUD).
Early virtual environments were text based. A textual description of the environment and user options in the environment are presented on the display screen and the user controls the environment through text commands. Such virtual environments rely heavily on the imagination of the user. Today, virtual environments are more likely to be presented through 3D graphical displays which enable the user to visualize moving through the virtual environment. The user interacts with the virtual environment through a joystick or mouse to control movement and use of implements within the virtual environment.
Virtual environments are widely presented as games in which a user assumes the role of a character within the virtual environment which is controlled by a virtual environment (VE) controller. The VE controller also identifies roles of non-user adversaries and of inanimate objects such as weapons. In a network environment such as the internet, multiple users may interact within the virtual environment.
SUMMARY OF THE INVENTION
The present invention enables advertising to be placed within the context of an interactive virtual environment. Advertising objects which advertise products, including services, are defined within the interactive virtual environment which is dynamically controlled in response to user input. Specific product information is dynamically placed in the advertising objects in accordance with the context of the virtual environment. For example, an advertising object may be an object of food which is to be consumed by the user in the virtual environment to alleviate hunger, and a brand name may be dynamically placed on the food container.
Context may include, for example, the action of the user, personal characteristics of an individual user, the state of the virtual environment, and time of the action as well as payments made by the advertiser. Placement of specific products in the advertising object may be personalized to the user dependent on skill level of the user, geographical location of the user and personal demographics of the user.
In preferred embodiments of the invention, the user of the interactive virtual environment plays a role in the virtual environment and the product serves a role as an object in the virtual environment. The virtual environment may be a game environment. The virtual environment may be presented in a three-dimensional display and the product information placed as a texture map on a three-dimensional object. For example, the advertising object may be presented as a prop which is manipulated by the user. Within the virtual environment, rewards to be applied to a real world product may be provided to the user. For example, product coupons may be received. The virtual environment may permit those rewards to be traded among multiple users. On the other hand, benefits within the virtual environment may be obtained from a real world source of the product. For example, a product source may distribute coded information at its stores which can be applied to the virtual environment for special powers or implements.
In a multi-user environment, product information presented to one user may be seen by other users of the environment as well. The user's action may result in continued display of an advertisement which also can be seen by other users. Within the virtual environment, specific product information may be placed as endorsements by users in the virtual environment. For example, high scorers within a game might carry a particular product banner and be rewarded with benefits within the game. Similarly, a team of users may be supported by a particular product. Charges to the advertiser may be based on the context of the product information placement. For example, greater interaction of the user with the product may result in increased charges. Charges may also be based on user demographics, and there may be premium time slots during which a product placement would result in higher charges.
BRIEF DESCRIPTION OF THE DRAWINGS
The foregoing and other objects, features and advantages of the invention will be apparent from the following more particular description of preferred embodiments of the invention, as illustrated in the accompanying drawings in which like reference characters refer to the same parts throughout the different views. The drawings are not necessarily to scale, emphasis instead being placed upon illustrating the principles of the invention.
Figure 1 illustrates multiple users enjoying a virtual environment through a virtual environment product placement server embodying the invention.
Figure 2 illustrates a multiple server environment. Figure 3 is a flow chart of interaction between the virtual and real environments in which product coupons are obtained in the virtual environment.
Figure 4 illustrates an interaction between the virtual and real environments in which a coupon obtained from a product supplier is used for special benefit in the virtual environment. Figure 5 illustrates a 3D graphical presentation of a torch bearing advertising information in an illustrative implementation of the invention.
Figure 6 illustrates object files utilized in an object oriented illustrative presentation of the invention. Figure 7 illustrates calls made between object files of Figure 6.
Figure 8 illustrates another set of calls in the system of Figures 6 and 7.
Figure 9 illustrates another set of calls for a food object in the system of Figures 6-8.
DETAILED DESCRIPTION OF THE INVENTION The invention may be implemented in any data processing system including personal computers, game machines, set top boxes and personal digital assistants. As illustrated in Figure 1, individual users may interact with a virtual environment through personal computers 22, each having a display 24, keyboard 26 and mouse 28. Each personal computer 22 is a conventional PC having appropriate processor, memory and user interfaces. Although the invention may be implemented in virtual environments limited to individual personal computers or other devices, the invention is preferably implemented over a network such as the internet under control of a virtual environment product placement server 30. The users may be in culturally and geographically separate regions, involving multiple languages and time zones. As in conventional systems, the server 30 includes a virtual environment controller 32 which responds to user input within a predefined virtual environment to present the virtual environment to the individual users.
VE controller is adapted to interact with users, to control the user's actions in the VE and to display text, sound, video and graphics over the internet. The user may have the role of a warrior in a virtual environment, or other roles as defined in the VE, and interactions would be between that user and the VE and, within the VE, between that user and other users.
The server 30 additionally includes user, product and statistics databases to implement the present invention. The user database stores the information requested from individual users such as sex, age, interests and any other information which will personalize the role, the products and the virtual environment, assist placement of advertising and provide statistics of interest to advertisers. The product database 26 includes product specific information which assists in placement of products within individual user environments and which is to be placed for individual products. Depending upon the VE, a number of different product roles are available. Examples of such roles include foods, beverages and healing services. Each of these roles can have one or more real world products fulfill that role within the VE, with the product database containing the information relating to the placements. In response to a user action, the system searches the product database for a best match for a particular context of the virtual environment. For example, the user may activate a fast food product. The system would then select a particular fast food product which would be of likely interest to the particular user. The choice of product would also be dependent on the fees paid by the advertiser. For example, the higher paying advertiser will obtain a greater number of impressions of its product within the virtual environment. The advertiser may also designate the time of day at which advertisements are to be made.
The statistics database 28 collects statistics required by advertisers and enables appropriate charges to be made to the advertisers. For example, advertisers may be charged based on the number of and quality of impressions on the users. For example, one user may trigger the display of an advertisement which is viewed by a number of other users within the same environment. Each user would then count as an impression. Further, if a user actually interacts with an advertising object, such as by eating a particular brand of food, a higher charge may be made for a higher quality impression.
A computerized virtual environment, preferably 3D, engages users to role play and utilizes product placement as strategic components of the virtual environment which include static product placements and dynamically altered product placements depending upon user selections of roles and choices throughout play. A number of product roles within the virtual environment can be predefined. Examples of such product roles include food to provide sustenance, beverage to quench thirst, clothing to provide coverage and protection, potions to provide magic, brokerage firm for investment of winnings, banks to store winnings, hospital for healing, cleaners to fix armor, lawyer to get out of jail, car repair shop to fix vehicle, newspaper to provide hints at virtual environment and status, luggage to carry winnings and cosmetics to provide disguise.
A VE role playing virtual environment may include characters such as a warrior. The user may input information in response to certain provided questions which personalizes the warrior within the VE's range of warrior definitions, (i.e., blonde hair, 6 feet, three arms). Part of the role playing virtual environment may, for example, be that the warrior is hungry. Under the invention, the warrior can interact with the VE controller until the character discovers a food establishment. At this point the VE controller would pull from an associated product database a product to fulfill that role, take for example a specific fast food restaurant personalized to the particular user information. As a result, the warrior would see in the VE a specific fast food restaurant and enter the "establishment" to receive the required sustenance to continue in the VE. Points may or may not be associated with certain aspects of the virtual environment. Each product role will have one or more real world products that can fulfill that product role. The ability to fill a particular product role may be priced according to but not be limited to: frequency of placement, type of use, demographics of user and timing for the placement.
There may be permanent or temporary placement of products throughout the virtual environment. A "food truck" is one example of a temporary placement for a food product role. The truck may show up more frequently during the hours of 6 p.m. to 10 p.m. EST to capture a particular segment of U.S. users. In addition, it may show up in a particular portion of the VE where a certain demographic congregates. The company having a placement would pay accordingly. Product placements may be personalized on an individual level such as on the basis of skill level, geography and personal demographics such as age and sex. Users may have a "home base" through which they always transition when starting in the VE, when healing and, when interacting with others. Thus, the "home base" may have placements targeted for that particular user.
Product placements may also be personalized on a group level. Users may belong to groups (fixed and arbitrary sizes). The groups may also have a special "lair" they always transition through when interacting with others in the group. Thus the "lair" may have placements targeted for that particular group. And groups may be sponsored.
Placements may be persistent across the VE, across groups or across users. In addition, placements can be temporal, limited to a period of time.
The product placement may interact with the user. Again, using a specific fast food restaurant example, when the warrior enters, a menu may be presented. The screen may display a video clip and music may be played in accordance with the placement. The display may also contain a number of links. The links may provide product information, a link to the company web site or the opportunity to enter a sweepstakes and/or collect points.
The virtual environment may interact with the real environment. For example, as a reward in the virtual environment, a user in the virtual environment such as at 80 in Figure 3, may be provided a coupon for the advertised product. That coupon could be printed at 82 and used in a product purchase at 84. Alternatively, coupons might be bartered within the virtual environment. For example, user 1 might provide his coupon to user 2 at 86 in a trade. User 2 would then print the coupon at 88 and use the coupon in a product purchase at 90.
If the system has a "profile" of the user's name, address and personal information, the user may click on a link to receive a coupon to use in the real world for the actual company products. Such a coupon may be sent via email or postal mail to the user or go into the warrior's "knapsack" for later use. The coupon may be adapted to contain a unique ED to track the user or the effectiveness of the virtual environment.
Companies may offer product endorsements to the high scorers in the virtual environment. Thus, the warrior may be wearing a specific running shoe manufacturer's shoes of flight. When the warrior interacts with other users, the product endorsement is seen.
Groups may also be sponsored. Thus, a group may be formed that was sponsored by a car company, for example, and thus when members of the team interact with other users, the product endorsement is seen. In return, the individual or group may receive certain benefits (points, VE goods, real world discounts, etc.) in exchange for the endorsement or sponsorship.
In the real world, companies having product placements may also interact. Company stores and web sites may advertise their involvement. As illustrated in Figure 4, a company may give a coupon at 92 that contains a number that, when input at 94 and used in the VE 96, may provide special benefits (potion, armor, weapon, etc.) and the number may be used again to track the value of the virtual environment. In addition, the amount spent on the company may be converted to points in the virtual environment. As noted, the VE may be a mechanism for users to enter sweepstakes, receive coupons, enter contests and/or obtain virtual environment points. The points collected in the VE may be converted to discount coupons to purchase products.
Companies may randomly add items to users' "knapsacks" (through coupons) to test their products. The items may also provide benefits to user in the VE, for instance improve the armor. Placements may be localized according to the user's locale. Using the fast food restaurant idea, a U.S. user may be presented English menus with U.S. based products, while a Japanese user may be provided a menu in Japanese and tailored to the Japanese market. Another example is for companies that are only based in a single market, for instance car repair. In this case, the VE may have a car repair place in the same position for all users, but a user in the U.S. would see a U.S. based company and a user in Japan would see a Japan based company.
The server may provide the requisite community building tools. Chat, email, forums, etc. may be provided and may also contain sponsorship advertising via conventional mechanisms.
The VE preferably provides age appropriate tailoring. This may be used to control aspects of the VE environment to exclude individuals that do not meet a particular profile. A child may play a virtual environment game with an adult and the VE the child sees would be "child-safe" version of the world, as defined by the parent. A role for a product that is labeled "entertainment" in the VE may display a placement from a casino that emphasizes gambling for an adult profile but arcade virtual environment games for a child profile. Or, in the same example, an adult rated movie may be the product placement for the adult profile and a child rated movie may be the product placement for a child profile. There may be a mechanism for tracking the display and interaction of placements in order to charge the advertisers. A statistics monitoring tool may be used that charges the advertisers per access of products placed in the virtual environment and this data may be rolled up into an online metering and chargeback system. This system may be based on number of viewings, interactions, coupon downloads, click throughs, endorsements, regional reach, demographic reach, temporal reach, community reach, etc.
Individuals may set up virtual environment servers that utilize their own private database of placements and also pull placements off of a central placement server. The central placement server derives revenue from the central placements, and the individual derives revenue from the local placements. This is like local TV stations getting portions of the advertising time slots for local sale.
A simple illustration of a text based implementation of the present invention is provided in various sections of Description. The "Text-based Interaction of a User in the Overdrive Environment" section presents the text based interaction of a user in the Overdrive environment. The "Source Files" section presents the source code in the LPC language which underlies the presentation of the "Text-based Interaction of a User in the Overdrive Environment" section. In the illustration, the user is presented the choices of entering a "before" environment which does not incorporate the invention and an "after" environment which includes product placement in accordance with the invention. Within each environment, the user removes a torch from a sconce in room 1 and eats food in room 2. In the after environment, when the user removes the torch, the torch is labeled with an information provider's name: "Federated Consolidated Brokerage Services." Thereafter, once a minute, the torch flares up and presents a banner advertisement for the brokerage service. In room 2, the container of food is labeled "rawhide brand beef jerky" and the food is eaten.
In a 3D graphical implementation, the labeled torch with periodic banner might appear as illustrated in Figure 5.
The source files presented in the "Source Files" section are as follows: anteroom.c - an anteroom from which the layer can enter the adventure placement.h - product placement definitions before\rooml .c - the two rooms of the adventure before\room2.c - without product placement objΛfood.c - generic food object obj\hunger-ob.c - object representing a player's hunger objΛtorch.c - a torch allowing product placements obj\place-food.c - food allowing product placements afterVrooml.c - the two rooms of the after\room2.c - adventure with product placement after\database.c - a sample subset of the information that might be contained in a product placement database after\placement-ob.c - a translator from LPMUD - specific calls to generic database calls
The files which are processed in the after version of the adventure implementing the advertisement placement are illustrated in Figure 6. The rooml .c, room2.c, torch.c and place_food.c files are specific to the particular adventure. The placement_ob.c object performs any translation from the client language to the generic database language and obtains the specific advertising information from the database to be applied to the torch and food objects. The placement object would forward to the database the class of product for which placement is desired, information about the specific user which triggered this product placement request and type of placement information requested. The type of information might be short plain text, short rich text, a static bit map of a given size and a given format, a dynamic image of a given size and a given format and so on. The database makes the appropriate advertising selection and returns it to be included in the torch and food objects.
The torch placement is illustrated in Figure 7. A player within rooml 48 gets a torch at 50. The torch object 52 makes a request 34 to the placement object 56, indicating that it requires text associated with an information provider that can be put as a label on the torch, and identifies the particular player for whom the information is required. The placement object then creates a similar request 58, including specific information about the user, to the database 60. The database then searches its files of information providers and selects one appropriate for this particular user. The identity of the information provider and the specific text string to be used as a label are then returned to the placement object and to the torch object to be presented to the user as a label on the torch.
The torch object also regulates the creation of a further banner ad. Once a minute, the torch flares to include a larger text display for the same information provider. To that end, as illustrated in Figure 8, the torch object counts system heartbeats (1 per 5 seconds), and every 12 heartbeats creates a request 62 to request a larger flat text placement for the previously identified information provider. That request is forwarded at 64 to the database which returns the banner text.
When the user is in room2 66, the user may input "get-food" to cause the room2 object 66 to clone a place-food object 70. The place-food object makes a request 72 to the placement object for text appropriate for a label for snack food for this player. The placement object 56 then forwards a request 76 with user information to the database 60. The database 60 then returns a snack food label appropriate for this user to the placement object 56 which in turn returns it to the place food object 70 for display to the user. Although not incorporated into this source code, this example could be extended to make a discount coupon for the product available to the user if the user picks up that particular brand of food. Thus, the coupon is made available based on the user's action within the virtual environment. That is, providing the reward is an embedded feature of the game. In the case of the brokerage service, access to an electronic brokerage service might be provided as a reward.
While this invention has been particularly shown and described with references to preferred embodiments thereof, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the scope of the invention encompassed by the appended claims.
Text-based Interaction of a User in the Overdrive Environment ======< γou have shifted into >======
OVERDRIVE ==========< WELCOME >========== LPMud MudOS 0.9.19-1
* Daily automatic shutdown at 6AM EST * * New characters do not save until they reach level 2. * * New characters with excessively stupid or athematic names * * will be removed; please pick new names with care * * Be sure to read "help quickhelp" and "help general rules" *
* Old characters are purged periodically * * Please use "wizhelp <problem>" if you need wizard help *
********************************************************** Enter character name: jmike
Password:
This is a very small cubicle with whitewashed walls. A few beanbag chairs lie strewn about the floor for visitors. There is a small clear plastic desk in the center of the room, cluttered with the papers associated with half a dozen half-baked projects. A single white gooseneck lamp throws weird shadows through the room.
- There are six obvious exits: church, hall, parapet, dragon, carnival and patent.
JMike's to-do list (no new messages). > patent
You go to the Patent Office.
/w/jmike/closed/patent/anteroom
You are in the front room of a small adventure which will illustrate an example of the Virtual Environment Product Placement technology being developed by Curl. Through the archway labeled 'Before' is a simple area with generic items. Through the archway labeled 'After' is the same area with some examples of product placements.
- There are two obvious exits: before and after. > before
You walk through the archway labeled 'Before'. /w/jmike/closed/patent/before/room1
This is a small dungeonlike but well-built room. The low ceiling is roughly carved out of black rock. The walls were not simply carved out of the stone, but rather have been made of carefully-laid brick. Dozens of sconces line the north and south walls, and the torches they contain throw a very bright light in the room. A passage leads off to the east, well beyond the range of the light in this room.
- There is one obvious exit: east. > look at torches
Each of the sconces lining the north and south walls contains a torch. A few of the torches seem loose enough to take.
> e
You walk down the long passageway. A dark room.
You are feeling slightly hungry. Perhaps it* d be a good idea to find something to eat soon.
>look
It is too dark. > w
You return down the long passageway.
/w/jmike/closed/patent/before/room1
This is a small dungeonlike but well-built room. The low ceiling is roughly carved out of black rock. The walls were not simply carved out of the stone, but rather have been made of carefully-laid brick. Dozens of sconces line the north and south walls, and the torches they contain throw a very bright light in the room. A passage leads off to the east, well beyond the range of the light in this room. - There is one obvious exit: east.
> take torch
You extinguish one of the loose torches and take it from its mounting.
> e
You walk down the long passageway. A dark room.
> light torch
You can see now!
> look /w/jmike/closed/patent before/room2 This is a small storage room with a few shelves on the east wall. There is not much else interesting about this room. - There is one obvious exit: west.
> look at shelves
You look on the shelves and see some packages that look like food rations. > take food
You take some food from the shelves.
> look at food
This is some generic food. Eating it might reduce or eliminate hunger.
> You are feeling slightly hungry. Perhaps it'd be a good idea to find something to eat soon. eat food
You eat the food. Yum! You burp repeatedly.
That took the edge off your hunger. Ahhh. > quit [End of first session.]
■< You have shifted into >:
OVERDRIVE ======< WELCOME >== LPMud MudOS 0.9.19-1
*************************************************************
* Daily automatic shutdown at 6AM EST * * New characters do not save until they reach level 2. *
* New characters with excessively stupid or athematic names * * will be removed; please pick new names with care * * Be sure to read "help quickhelp" and "help general rules" *
* Old characters are purged periodically * * Please use "wizhelp <problem>" if you need wizard help *
************************************************************* Enter character name: jmike
Password:
This is a very small cubicle with whitewashed walls. A few beanbag chairs lie strewn about the floor for visitors. There is a small clear plastic desk in the center of the room, cluttered with the papers associated with half a dozen half-baked projects. A single white gooseneck lamp throws weird shadows through the room.
- There are six obvious exits: church, hall, parapet, dragon, carnival and patent.
JMike's to-do list (no new messages). > patent
You go to the Patent Office.
/w/jmike/closed/patent/anteroom
You are in the front room of a small adventure which will illustrate an example of the Virtual Environment Product Placement technology being developed by Curl. Through the archway labeled 'Before' is a simple area with generic items. Through the archway labeled 'After' is the same area with some examples of product placements.
- There are two obvious exits: before and after. > after
You walk through the archway labeled 'After'. /w/jmike/closed/patent/after/room1
This is a small dungeonlike but well-built room. The low ceiling is roughly carved out of black rock. The walls were not simply carved out of the stone, but rather have been made of carefully-laid brick. Dozens of sconces line the north and south walls, and the torches they contain throw a very bright light in the room. A passage leads off to the east, well beyond the range of the light in this room.
- There is one obvious exit: east. > look at torches
Each of the sconces lining the north and south walls contains a torch. A few of the torches seem loose enough to take.
> take torch
You extinguish one of the loose torches and take it from its mounting. > look at torch
A torch bearing the inscription:
Federated Consolidated Brokerage Services
> e
You walk down the long passageway. A dark room.
> light torch
You can see now!
A torch flares up in a shower of sparks, spelling out: — > Federated Consolidated Brokerage Services < — > The Broker For You < > http://www.fcbs.com/information.html <-
> look /w/jmike/closed/patent/after/room2
This is a small storage room with a few shelves on the east wall. There is not much else interesting about this room. -- There is one obvious exit: west.
> look at shelves
You look on the shelves and see some packages that look like food rations.
> look at food Several packages on the shelves are wrapped in sturdy brown wrapping paper, labeled in large block letters "Standard Issue Food Ration". Maybe you could take some?
> take food
You take some food from the shelves. > look at food
A container labeled: Rawhide Brand Beef Jerky
> eat food
You eat the food. Yum! You burp repeatedly.
Source Files anteroom.c - an anteroom from which the layer can enter the adventure placement.h - product placement definitions beforevrooml.c - the two rooms of the adventure before\room2.c - without product placement obj\food.c - generic food object obj\hunger-ob.c - object representing a player's hunger obj\torch.c - a torch allowing product placements obj\place-food.c - food allowing product placements afterVooml .c - the two rooms of the after\room2.c - adventure with product placement afteήdatabase.c - a sample subset of the information that might be contained in a product placement database after\placement-ob.c - a translator from LPMUD - specific calls to generic database calls
/*
* anteroom.c
* This file contains confidential and proprietary information of
* Curl Corporation. Permission is not given to disclose this
* information to parties outside Overdrive and Curl Corporation
* except as necessary for the application and processing of the
* patent to which it pertains. * Many thanks to David Schairer of Concentric Networks and Overdrive
* for permission to develop this sample code on Overdrive,
* at overdrive.concentric.net 5195
* J. Michael Hammond, Curl Corporation, 24 July 1999 */ inherit "room/room"; create() { ::create(); set_short("Patent Application Front Room"); set_long("You are in the front room of a small adventure which will " "illustrate an example of the Virtual Environment Product " "Placement technology being developed by Curl.Vn" "Through the archway labeled 'Before' is a simple area " "with generic items. Through the archway labeled 'After' " "is the same area with some examples of product placements.\n"); add_exit("before" , "/w/jmike/closed/patent/before/room 1 " ," go_before"," " . "#%a.c# walks through the archway labeled 'Before'.", "#%a.c# enters from the front room.", "You walk through the archway labeled 'Before'."); add_exit("after","/w/jmike/closed/patent/after/rooml","","", "#%a.c# walks through the archway labeled 'After'.", "#%a.c# enters from the front room.", "You walk through the archway labeled 'After'."); set_light_level(l); set_rel_coordinates( ({ 0, 0, 0 }) );
} init(){
::init(); } go_before() { object hunger, *inv; if(thisjplayer()->is_player()) { inv = filter_array(all_inventory(this_player()),"isJmike_hunger_ob", this_object()); if(!sizeof(inv)){ hunger = clone_object("/w/jmike/closed/patent/obj/hunger_ob"); hunger->setup(this_player()) ; }
is mike_hunger_ob(ob) { return ob->is_aJmike_hunger_ob(); }
* placement.h
* This file contains confidential and proprietary information of * Curl Corporation. Permission is not given to disclose this
* information to parties outside Overdrive and Curl Corporation
* except as necessary for the application and processing of the
* patent to which it pertains. * Many thanks to David Schairer of Concentric Networks and Overdrive
* for permission to develop this sample code on Overdrive,
* at overdrive.concentric.net 5195
* J. Michael Hammond, Curl Corporation, 24 July 1999 * Copyright 1999 Curl Corporation
* All rights reserved
*/
/* Product class */
#define INFORMATIONPROVIDER 1 #define TOY 2
#defme SNACK FOOD 100
/* Placement format */
#define FLAT_TEXT 1 #defme BITMAP 2 #define AUDIO 3 #defme XML 4
/* * before\rooml.c
* This file contains confidential and proprietary information of
* Curl Corporation. Permission is not given to disclose this
* information to parties outside Overdrive and Curl Corporation
* except as necessary for the application and processing of the
* patent to which it pertains. * Many thanks to David Schairer of Concentric Networks and Overdrive
* for permission to develop this sample code on Overdrive,
* at overdrive.concentric.net 5195 *
* J. Michael Hammond, Curl Corporation, 24 July 1999 */ inherit "room/room"; int torches_taken; create() { ::create(); torches_taken = 0; set_short("Torchlit Room"); set_long("This is a small dungeonlike but well-built room. The low " "ceiling is roughly carved out of black rock. The walls " "were not simply carved out of the stone, but rather have been " "made of carefully- laid brick. Dozens of sconces line the "
"north and south walls, and the torches they contain throw " "a very bright light in the room. A passage leads off to the " "east, well beyond the range of the light in this room.\n"); add_exit("east","/w/jmike/closed/paten^efore/room2","","", "#%a.c# sets off down the long passageway to the east.",
"#%a.c# enters the room.", "You walk down the long passageway."); add_item( ({"torch", "torches", "sconce", "sconces", "mounting", "mountings"}), "_look_torch","_get_torch"); set_light_level(l); set_rel_coordinates( ({ 3, 2, 0 }) );
} inιt(){ ::init();
} reset() { torches_taken = 0; } look_torch() { write("Each of the sconces lining the north and south walls contains\n"
"a torch. "); if(torches_taken<2) { write("A few of the torches seem loose enough to takeΛn"); }else{ write("Unfortunately, all of the torches are too tightly\nmounted " "for you to take.\n");
} return 1;
} get_torch(){ object torch_ob; if(torches_taken<2) { write("You extinguish one of the loose torches and take it from its " "mounting.Vn"); say(capitalize(this_player()->query_phrase()) + " extinguishes one of "
"the torches and pulls it from its mounting.Vn"); torch_ob = clone_object("/obj/torch"); torch_ob->move(this_player(), 1 ); torches_taken = torches_taken+l; }else{ write("You try to pry a torch loose, but fail.Vn"); say(capitalize(this_player()->query_phrase()) + " tries to pry a torch " "loose from its mounting, but fails.W);
} return 1;
} /*
* before\room2.c
* This file contains confidential and proprietary information of * Curl Corporation. Permission is not given to disclose this
* information to parties outside Overdrive and Curl Corporation
* except as necessary for the application and processing of the
* patent to which it pertains. * Many thanks to David Schairer of Concentric Networks and Overdrive
* for permission to develop this sample code on Overdrive,
* at overdrive.concentric.net 5195
* J. Michael Hammond, Curl Corporation, 24 July 1999 */ inherit "room/room"; create() { ::create(); set_short("Storage Room"); set_long("This is a small storage room with a few shelves on the " "east wall. There is not much else interesting about this " "room.\n"); add_exit("west" , w/jmike/closed/patent/before/room 1 ","","" , "#%a.c# sets off down the long passageway to the west.", "#%a.c# returns from the long passageway.",
"You return down the long passageway."); add_item( ({"shelf, "shelves"}),
"You look on the shelves and see some packages that look " "like food rations.\n"); add_item( ( {"food", "food ration", "food rations", "ration", "rations"}), "Several packages on the shelves are wrapped in sturdy brown " "wrapping paper, labeled in large block letters \" Standard Issue " "Food RationV. Maybe you could take some?\n", "_get_food"); set_light_level(0); set_rel_coordinates( ({ 5, 2, 0 }) ); } init(){ ::init(); } get_food() { object food, *inv; if(this_player()->is_player()) { inv = filter_array(all_inventory(this_player()),"is_jmike_food_ob", this_object()); if(sizeof(inv) < 2) { write("You take some food from the shelves.Vn"); say(capitalize(this_player()->query_phrase())+" takes some food"
" from the shelves. \n"); food = clone_object("/w/jmike/closedpatent/obj/food"); food->mo ve(this_p layer()) ; } return 1;
} is _jmike_food_ob(ob) { return (ob->is_a_jmike_food_ob()); }
/* * objVfood.c
This file contains confidential and proprietary information of
* Curl Corporation. Permission is not given to disclose this
* information to parties outside Overdrive and Curl Corporation
* except as necessary for the application and processing of the
* patent to which it pertains.
inherit "/obj/treasure"; create() { ::create(); set_name("food"); set_phrase("some food"); set_short("Some food"); set_long("This is some generic food. Eating it might reduce or "
"eliminate hunger.W); set_weight(l); } initO { ::init(); add_action("eat","eat");
} eat(str) { object *inv; if (!str || present(str,t_ιis_player()) != t_ιis_object()) return 0; writeC'You eat the food. Yum!\n"); say(capitalize(this_player()->query_phrase())+" eats some food.\n"); this_player()->force_command("burp"); inv = filter_arτay(all_inventory(this_player()),"isJmike_hunger_ob", this_object()); inv->take_the_edge_off() ; move("/room/void"); destruct(this_object()); return 1 ; } go_before(){ object hunger, *inv; int i,s,found_one; string name, ignore; found_one=0; if(this_player()->is_player()) { inv = filter_array(all_inventory(this_player()),"isjmike_hunger_ob", this_object()); if(!sizeof(inv)){ hunger = clone_object("/w/jmike/closed/patent/obj/hunger_ob"); hunger->setup(this_player());
} } } is Jmike_hunger_ob(ob) { return ob->is_a_jmike_hunger_ob(); } is_aJmike_food_ob() { return 1; }
/*
* obj\hunger-ob.c
* This file contains confidential and proprietary information of * Curl Corporation. Permission is not given to disclose this
* information to parties outside Overdrive and Curl Corporation
* except as necessary for the application and processing of the
* patent to which it pertains. * Many thanks to David Schairer of Concentric Networks and Overdrive
* for permission to develop this sample code on Overdrive,
* at overdrive.concentric.net 5195
* J. Michael Hammond, Curl Corporation, 24 July 1999 */ inherit "/obj/treasure"; int beat_count; /* number of heartbeats remaining before owner will receive another hunger message */ int hunger_messages_sent; /* number of hunger messages already sent */ object my_target; create() { ::create(); set_short(0); add_id( "j mike_hunger_ob ") ; if (clonep(this_object())){ beat_count = 3; hunger_messages_sent = 0; set_heart_beat( 1 );
} }
/* set the target of this hunger object to be the object 'ob' */ setup(ob) { my_target=ob; this_object()->move(my_target); }
/* can't drop this item */ get(){ return 1; } heart_beat() { if(beat_count) { beat_count~; }else{ if(hunger_messages_sent < 5){ tell_object(my_target,"You are feeling slightly hungry. Perhaps it'd be "
"a good idea\nto find something to eat soon.Vn"); beat_count = 10; hunger_messages_sent = hunger_messages_sent + 1 ; } else if (hunger_messages_sent<l 0) { tell_object(my_target,"You are hungry. You really should eat "
"something, soon.\n"); beat_count = 5; hunger_messages_sent = hunger_messages_sent + 1 ; } else if (hunger_messages_sent<20) { tell_object(my_target,"You are very hungry. If you don't eat soon "
"something badVnis going to happen!\n"); beat_count=3; hunger_messages_sent = hunger_messages_sent + 1 ; }else{ tell_object(my_target,"You pass out from hunger. Your last fading "
"thought is that\nyou hope this isn't fatal..."); tell_room(environment(my_target),capitalize(my_target->query_phrase())-r' " faints from hunger, fades away, and disappears!\n", ({my arget})); my_target->move("/w/jmike/closed/patent/anteroom" , 1 ) ; tell_object(my_target,"You wake up back in the anteroom, " "having failed in this\nadventure, but fortunately " "still alive (and no longer hungry).\n"); take_the_edge_off();
}
} } is_aJmike_hunger_ob() { return 1;
} take_the_edge_off() { mo ve( "/room/void" ) ; write("That took the edge off your hunger. Ahhh.Vn"); destruct(this_object());
} /*
* objYtorch.c
* This file contains confidential and proprietary information of * Curl Corporation. Permission is not given to disclose this
* information to parties outside Overdrive and Curl Corporation
* except as necessary for the application and processing of the
* patent to which it pertains. * Many thanks to David Schairer of Concentric Networks and Overdrive
* for permission to develop this sample code on Overdrive,
* at overdrive.concentric.net 5195
* J. Michael Hammond, Curl Corporation, 24 July 1999 * Copyright 1999 Curl Corporation
* All rights reserved
*/
/* this is a Product Placement torch. It acts like a normal torch except that it contains a product placement in the short description and, once every minute, it will flare up and generate a longer placement string related to the one with which it was created. */ int beat_count; string id;
#include "/w/jmike/closed/patent/placement.h" inherit "/obj/torch"; create() { string place_str; ::create(); seteuid(getuid());
"/w/jmike/closed/patent/after/placement_ob"->wakeup(); place_str = w/jmike/closed/patent/after/placernent_ob"-> curl_product_placement_request(INFORMATIONPROVIDER, FLAT_TEXT, 64, this_player()); set_long("A torch bearing the inscription:\n" + place_str[l] + "\n"); id = place_str[0]; beat_count = 12; } init(){
::init(); } light(str){ set_heart_beat(l); return( ::light(str));
} extinguish(str) { set_heart_beat(0) ; return(::extinguish(str));
} heart_beat() { string place_str; beat_count = beat_count - 1 ; if (beat_count = 0){ place_str = "/w/jmike/closed/patent/after/placement_ob"-> curl_specific_placement_request(FLAT_TEXT, 256, id); say("A torch flares up in a shower of sparks, spelling out:\n" place_str[l]+"\n\n"); beat_count = 12; } }
/
* obj\place-food.c
*
* This file contains confidential and proprietary information of * Curl Corporation. Permission is not given to disclose this
* information to parties outside Overdrive and Curl Corporation
* except as necessary for the application and processing of the
* patent to which it pertains. */ #include "/w/jmike/closed/patent/placement.h" inherit "/w/jmike/closed/patent/obj/food" ; create() { string place_str;
::create(); seteuid(getuid()) ;
"/w/j mike/c losed/patent/after/plac ement_ob " ->wakeup() ; place_str = "/w/jmike/closed/patent/after/placement_ob"-> curl_product_placement_request(SNACK_FOOD, FLAT_TEXT,
64, this_player()); set_short("A container of food"); add_id("food"); add_id("container"); set_long("A container labeled:\n" + place_str[l] + "\n"); set_weight(l); }
initO {
::init(); add_action("eat","eat"); } eat(str) { object *inv; if (!str || present(str,this_player()) != this_object()) return 0; write("You eat the food. Yum!\n"); say(capitalize(this_player()->query__phrase())+" eats some food.\n"); this_player()->force_command("burp"); inv = fιlter_array(all_inventory(this_player()),"isJmike_hunger_ob", this_object()); inv->take_the_edge_off(); move("/room/void"); destruct(this_object()); return 1; } go_before() { object hunger, *inv; int i,s,found_one; string name, ignore; found_one=0; if(this_player()->is_player()) { inv = filter_array(all_inventory(this_player()),"isJmike_hunger_ob", this_object()); if(!sizeof(inv)){ hunger = clone_object("/w/jmike/closed/patent/obj/hunger_ob"); hunger->setup(this_player());
} }
} is_jmike_hunger_ob(ob) { return ob->is_aJmike_hunger_ob();
} is_aJmike_food_ob(){ return 1; }
/*
* after\rooml .c
* This file contains confidential and proprietary information of
* Curl Corporation. Permission is not given to disclose this
* information to parties outside Overdrive and Curl Corporation
* except as necessary for the application and processing of the
* patent to which it pertains. * Many thanks to David Schairer of Concentric Networks and Overdrive
* for permission to develop this sample code on Overdrive,
* at overdrive.concentric.net 5195
* J. Michael Hammond, Curl Corporation, 24 July 1999 */
inherit "room/room"; int torches_taken; create() { ::create(); torches_taken = 0; set_short("Torchlit Room"); set_long("This is a small dungeonlike but well-built room. The low " "ceiling is roughly carved out of black rock. The walls " "were not simply carved out of the stone, but rather have been " "made of carefully-laid brick. Dozens of sconces line the "
"north and south walls, and the torches they contain throw " "a very bright light in the room. A passage leads off to the " "east, well beyond the range of the light in this room.W); add_exit("east","/w/jmike/closedpatent/after/room2","","", "#%a.c# sets off down the long passageway to the east.",
"#%a.c# enters the room.", "You walk down the long passageway."); add_item( ({"torch", "torches", "sconce", "sconces", "mounting", "mountings"}), "_look_torch","_get_torch"); set_light_level(l); set_rel_coordinates( ({ 3, 2, 0 }) ); } init(){ ::init();
} reset() { torches_taken = 0; } look_torch() { write("Each of the sconces lining the north and south walls contains\n"
"a torch. "); if(torches_taken<2) { write("A few of the torches seem loose enough to take.\n"); }else{ write("Unfortunately, all of the torches are too tightly\nmounted " "for you to take.\n");
} return 1;
} get_torch() { object torch_ob; if(torches_taken<2) { write("You extinguish one of the loose torches and take it from its " "mounting.Vn"); say(capitalize(this_player()->query_phrase()) + " extinguishes one of "
"the torches and pulls it from its mounting.Vn"); torch_ob = clone_object("/w/jmike/closed/patent/obj/torch"); torch_ob->move(this_player(), 1 ); torches_taken = torches_taken+l; }else{ write("You try to pry a torch loose, but fail.Vn"); say(capitalize(this_player()->query_phrase()) + " tries to pry a torch " "loose from its mounting, but fails.Vn");
} return 1 ;
} /*
* afterVroom2.c
* This file contains confidential and proprietary information of * Curl Corporation. Permission is not given to disclose this
* information to parties outside Overdrive and Curl Corporation
* except as necessary for the application and processing of the
* patent to which it pertains. * Many thanks to David Schairer of Concentric Networks and Overdrive
* for permission to develop this sample code on Overdrive,
* at overdrive.concentric.net 5195
* J. Michael Hammond, Curl Corporation, 24 July 1999 */ inherit "room/room"; create() { ::create(); set_short(" Storage Room"); set_long("This is a small storage room with a few shelves on the " "east wall. There is not much else interesting about this " "room.Vn"); add_exit("west","/w/jmike/closed/patent/after/rooml","","", "#%a.c# sets off down the long passageway to the west.", "#%a.c# returns from the long passageway.",
"You return down the long passageway."); add_item( ({"shelf, "shelves"}),
"You look on the shelves and see some packages that look " "like food rations.Vn"); add_item( ( {"food", "food ration", "food rations", "ration", "rations"}), "Several packages on the shelves are wrapped in sturdy brown " "wrapping paper, labeled in large block letters V" Standard Issue " "Food RationV". Maybe you could take some?Vn", "_get_food"); set_light_level(0); set_rel_coordinates( ({ 5, 2, 0 }) );
} init(){ ::init(); } get_food() { object food, *inv; if(this_player()->is_player()) { inv = filter_array(all_inventory(this_player()),"isjmike_food_ob", this_object()); if(sizeof(inv) < 2){ write("You take some food from the shelves.Vn"); say(capitalize(this_player()->query_phrase())+" takes some food"
" from the shelves.Vn"); food = clone_object("/w/jmike/closed/patent/obj/place_food"); food->move(this_player()) ;
} } return 1; } is Jmike_food_ob(ob) { return (ob->is_aJmike_food_ob()); }
/*
* after\database.c
* This file contains confidential and proprietary information of * Curl Corporation. Permission is not given to disclose this
* information to parties outside Overdrive and Curl Corporation
* except as necessary for the application and processing of the
* patent to which it pertains.
* * Many thanks to David Schairer of Concentric Networks and Overdrive
* for permission to develop this sample code on Overdrive,
* at overdrive.concentric.net 5195 *
* J. Michael Hammond, Curl Corporation, 24 July 1999 * Copyright 1999 Curl Corporation
* All rights reserved
*/
#include "/w/jmike/closeά7patent/placement.h" int placement_iteration; create(){ placement_iteration=0; }
/* This is a simplified sample of the type of information that might come out of a database. In a full-scale system, this information might be obtained via a standardized interface from a standard database, via a network. Multiple valid placements for any specific set of user data would be possible, selected by rotation or randomization. In this example, sample data values are hard-coded below as an array of entries. Each entry is also an array in the format: product class, placement format, placement length category (the smallest power of two that is larger than the actual length of the placement in bytes), target user's ideal age, minimum target user hours per week spent in virtual environments, target user's ideal sex, a unique identifier for this set of placements the set of specific placements fitting this description */
/* note for example that the "Frosted Sugar Bombs" placement will never appear on Overdrive because the age range of Overdrive users is reported to be 13-29
*/ string *sample_data = ( { ( {INFORMATIONPROVIDER, FLAT_TEXT, 64, " 18-49", 0, "", "BilTed", ({ "Bill and Ted's Excellent Search Engine: www.billnted.com", "Visit Bill and Ted's Excellent Search Engine Today!", "www.billnted.com: the only search engine you'll ever need"
})}), ({INFORMATIONPROVIDER, FLAT_TEXT, 64, "25-59", 0, "", "FeCoBS", ({ "Federated Consolidated Brokerage Services", "FCBS — no BS when it comes to financial information", "Federated Consolidated: low commission trades", "Switch brokerage accounts to FCBS! www.fcbs.com" })}),
({INFORMATIONPROVIDER, FLAT_TEXT, 64, "13-45", 10, "", "Zowie!", ({ "Zowie! The Net's Best Jump Site - holy fresh links!", "Get your fresh links at Zowie!, the Net's Best Jump Site!", "! ! !! !!! !! !! ! !! ! ! ! ! ! ΪZOWIE! ! ! ! !! ! ! ! ! !! ! !!! !!!!" })}),
({INFORMATIONPROVIDER, FLAT_TEXT, 64, "13-25", 20, "", "Obsess", ({ "ObsessionCoφ, the best network gaming resource on the net", "Are network games your Obsession? www.obsessioncoφ.com", "Find opponents and new games at Obsession!" })}),
({SNACK_FOOD, FLAT_TEXT, 64, "6-12", 0, "", "SugBom", ({ "Frosted Sugar Bombs Cereal .. yum!" }) }), ({SNACK_FOOD, FLAT_TEXT, 64, "18-35", 0, "", "RawHid", ({ "Rawhide Brand Beef Jerky" }) }), ({SNACK_FOOD, FLAT_TEXT, 64, "59-99", 0, "", "LivrPl", ({ "Liwie Pyll's brand Liver Pills" }) }), ({SNACK_FOOD, FLAT_TEXT, 64, "1-99", 0, "", "BigBrg", ({ "Big Bag o'Burgers Brand Big Burger" }) }),
({INFORMATIONPROVIDER, FLAT TEXT, 256, "18-49", 0, "", "BilTed", ({ "Vn ***** Bill and Ted's Excellent Search Engine *****" "Vn ***** http://www.billnted.com ******
"Vn ***** A Most Excellent Search Experience *****";
"Vn Tired of heinous search engines? Fed up with bogus " "Vn useless links? Visit Bill and Ted's Excellent Search"
"Vn Engine and you'll be righteously rewarded!"
({INFORMATIONPROVIDER, FLAT_TEXT, 256, "25-59", 0, "", "FeCoBS", ( { "Vn > Federated Consolidated Brokerage Services <-
"Vn > The Broker For You < "
"Vn > http://www.fcbs.com/information.html <
})}),
( {INFORMATIONPROVIDER, FLAT TEXT, 256, " 13-45", 10, "", "Zowie!",
( { "VnZowieZowieZowieZowieZowieZowieZowieZowieZowieZowieZowie"
"VnZowieZowieZowieZowieZowieZowieZowieZowieZowieZowieZowie"
"VnZowieZowieZowieZowieZowieZowieZowieZowieZowieZowieZowie" "\n ZOWIE! ! ! ! www.zowie.com"
} ),
( { "Vn"
"\n" "Vn" "Vn zowie. Zowie. Zowie! ! ! !"
"Vn" "Vnhttpø/www.zowie.com ~ a darn good jump site"
})}),
( {INFORMATIONPROVIDER, FLAT TEXT, 256, " 13-25", 20, "", "Obsess", ( {"VnBe honest .. how long have you been sitting there on your"
"Vnbutt playing 'net games?"
"Vn"
"Vn That long? Really?"
"VnOK, you're worthy. Check out www.obsessioncoφ.com"}), ( {"VnTired of lame games and lame opponents? Want to find "
"Vnplayers who are as obsessed about their gaming as you are?"
"Vn www.obsessioncoφ.com"
})})
}); placement_request( product_class, placement_format, max size, user_information ) {
/* placement_request will return an array whose format is: [0] - a unique ID for this placement, whose first six characters are the coφorate ID [1] = a string conforming to the placement request
If there are no matches to the placement request, a null string will be returned.
*/
mixed *valid_placements, *return_value, *the_placement; string age_str, temp_id, temp; /* If this is a request for a placement related to a previous one, filter against the previous placement's ID. Otherwise, filter against the age of the user and the number of hours the user spends in virtual environments and the product class.
*/ if(user_information["specific_product_id"]){ valid_placements = filter_array(sample_data, "right_id", this_object(), user_information["specific_product_id"]);
}else{ valid_placements = fιlter_array(sample_data, "right_age", this_object(), user_information["age"]); valid_placements = frlter_array(valid_placements, "right_immersion", this_object(), user_information["usage"]); valid_placements = filter_array(valid_placements, "right_product", this_object(), product_class); }
/* filter the sample data array for the product class */ valid_placements - filter_array(valid_placements, "right_format", this_object(), placement_format); valid_placements = filter_array(valid_placements, "right_length", this_object(), max_size); if (sizeof(valid_placements)=0) return 0;
/* pick a random placement from among the valid ones */ the_placement = valid_placements[random(sizeof(valid_placements))];
/* build the unique ID */ temp_id = the_placement[6] + ctime(time()) + ρlacement_iteration; placement_iteration = placement_iteration+l;
/* select one of the placement strings */ temp = the_placement[7]; return value = ({ temp_id, temp[random(sizeof(temp))] }) ; retum(retum_value); } right_product(elt, the_class) { return(elt[0]=:=the_class);
} right_format(elt, the_format) { return(elt[l]==the_format);
} right_length(elt, the_length) { return(elt[2] <= the ength && elt[2] >= the_length 2); } right_age(elt, age_str) { int place_count, user_count, place_low, place_high, user_low, user_high;
/* look for any intersection between the user's reported age range and the desired age range of the product placement
*/ place_count = sscanf(elt[3],"%d-%d", place_low, place_high); if (place_count=0) return 1; if (place_count=l) place_high = place_low; user_count = sscanf(age_str, "%d-%d", user_low, user_high); if (user_count=0) return 0; if (user_count= 1 ) user_high = user_low; if (user_low > place_high || user_high < place_low) return 0; return 1;
} right_id(elt, id){ string first_six;
/* compare the placement id against the first six characters of the previous one */ first_six = id[0..5]; return(elt[6]=fιrst_six); } right_immersion(elt, usage_str) { int usage, count; count = sscanf(usage_str, "%d", usage); return(elt[4]<=usage); }
afterVplacement-ob.c
* This file contains confidential and proprietary information of * Curl Coφoration. Permission is not given to disclose this
* information to parties outside Overdrive and Curl Coφoration
* except as necessary for the application and processing of the
* patent to which it pertains. * * Many thanks to David Schairer of Concentric Networks and Overdrive
* for permission to develop this sample code on Overdrive,
* at overdrive.concentric.net 5195 *
* J. Michael Hammond, Curl Coφoration, 24 July 1999 * Copyright 1999 Curl Coφoration
All rights reserved
*/
#include "/w/jmike/closed/patent/placement.h" create(){ seteuid(getuid()); }
/* Product placement object.
This is a simplified example of an application-specific VEPP module. Simplified product-placement queries are included. Due to limitations of the LPMUD environment and Overdrive, the product-placement database will be simulated by the object /w/jmike/closed/patent/obj/database.c and issues of data transmission security and client-trust security will not be illustrated. */
/* One interaction between the virtual environment and the product placement database is where the VE has an opportunity to make a placement and needs to query the database to find an appropriate product and pertinent information about that product.
Information that flows from the VE to the database include
- the class of product for which a placement is desired - information about the specific user who triggered this product-placement request
- what type of placement information is requested (for example short plain text, short rich text, a static bitmap of a given size in a given format, a dynamic image of a given size in a given format, etc.)
The specific product placement information is then returned from the database to the VE.
The following is an example of how such a query is built and the information returned. In this example, a successful placement request returns an array.
The [0] value of the array is a string containing an identifier for the placement, to be used in subsequent transactions involving that placement.
The [1] value of the array is a string containing the actual product placement text.
The handling of target_user simulates the fact that different applications will track user data differently and must translate their information into a format expected by the product placement database. So in the following example, we assume that
- the gender of the player matches that of the character, except that "neuter" characters are played by male players,
- the age group of the user is 13-29,
- the number of hours per week spent in virtual environments is a function of the character's level.
*/ curl_product_placement_request( product_class, placement_format, max_size, target_user ) { object database; mapping user_information; string temp_sex, temp_hours; int lev; if (placement_format != FLAT_TEXT) return 0;
/* Build the user- information data structure out of the character's information and Overdrive-specific assumptions */ user_information = ([]); user_information["age"]="13-29"; temp_sex = target_user->query_gender(); if (temp_sex = "neuter") temp_sex = "male"; user_information["sex"] = temp_sex; lev = target_user->query_level(); if (lev<10){ temp_hours = "5"; }else if (lev<20){ temp_hours = "8"; }else if (lev<40){ temp_hours = "12"; }else if (lev<60){ temp_hours = "15"; }else if (lev<100){ temp_hours = "25"; }else{ temp_hours = "10"; } user_information["usage"] = temp_hours;
/* send the query to the database and return the result to the caller */
"/w/jmike/closed/patent/after/database"->find(); return ("/w/jmike/closeoVpatent/after/database"-> placement_request(product_class, placement_format, max_size, user_information )); } curl_specific_placement_request( placement_format, max_size, id ){ mapping user_information; object database; user nformation = ([]); user_information["specific_product_id"] = id; /* send the query to the database and return the result to the caller */
"/w/jmike/closed/patent/after/database"->find(); return ("/w/jmike/closed/patent/after/database"-> placement_request(0, placement_format, max_size, user_information )); }

Claims

CLADVISWhat is claimed is:
1. In a data processing system, a method of processing an interactive virtual environment comprising: providing advertising objects which advertise products within the interactive virtual environment; dynamically controlling the virtual environment, including the advertising objects, in response to user input; and dynamically placing specific product information in the advertising objects in accordance with the context of the virtual environment.
2. A method as claimed in claim 1 wherein a user of the interactive virtual environment plays a role in the virtual environment and the product serves a role as an object in the virtual environment which responds to input from the user.
3. A method as claimed in claim 2 wherein an input from the user initiates placement of product information.
4. A method as claimed in claim 3 wherein, once product placement is initiated, additional placements for the product are initiated independent of user input.
5. A method as claimed in claim 4 wherein multiple users share the virtual environment including the product information which is placed independent of user input.
6. A method as claimed in claim 1 wherein the interactive virtual environment is a game environment.
7. A method as claimed in claim 1 wherein placement of specific products in the advertising object is personalized to the user.
8. A method as claimed in claim 7 wherein the placement of specific products is dependent on skill level of the user.
9. A method as claimed in claim 7 wherein the placement of specific products is dependent on the geographical location of the user.
10. A method as claimed in claim 7 wherein the placement of specific products is dependent on personal demographics of the user.
11. A method as claimed in claim 1 wherein the virtual environment is presented in a three dimensional display and the product information is placed as a texture map on a three dimensional object.
12. A method as claimed in claim 11 wherein the advertising object is presented as a prop manipulated by the user.
13. A method as claimed in claim 1 further comprising providing rewards to the user to be applied to a real world product.
14. A method as claimed in claim 13 further comprising trading rewards among multiple users in the virtual environment.
15. A method as claimed in claim 1 further comprising providing benefits in the virtual environment obtained from a real world source of the product.
16. A method as claimed in claim 1 wherein multiple users share the virtual environment including the specific product information in the advertising objects.
17. A method as claimed in claim 1 further comprising placing the specific product information such that the placements serve as endorsements by users in the virtual environment.
18. A method as claimed in claim 17 wherein multiple users share the virtual environment and serve as a team which share endorsements.
19. A method as claimed in claim 1 further comprising charging for advertising based on the context of product information placement.
20. A method as claimed in claim 19 wherein the charge is dependent on the user's interaction with the product in the virtual environment.
21. A method as claimed in claim 19 wherein the charge is dependent on user demographics.
22. A method as claimed in claim 19 wherein the charge is dependent on the time of placement.
23. A method as claimed in claim 1 wherein the virtual environment is controlled by a remote virtual environment server and the user interacts with the virtual environment at a client to the server.
24. In a data processing system, a method of processing an interactive virtual environment comprising: providing a virtual environment in a three dimensional display; dynamically controlling the virtual environment in response to user input, the user of the interactive environment playing a role in the virtual environment; and in response to user input, creating a prop in the virtual environment to be manipulated by the user, specific product information being included on the prop in accordance with the context of the virtual environment.
25. A method as claimed in claim 24 wherein placement of specific products in the advertising object is personalized to the user.
26. A method as claimed in claim 24 further comprising providing rewards to the user to be applied to the real world product.
27. A method as claimed in claim 24 further comprising providing benefits in the virtual environment obtained from a real world source of the product.
28. A data processing system providing an interactive virtual environment comprising: advertising objects which advertise products within the interactive virtual environments; and means for placing specific product information in the advertising objects in accordance with the context of the virtual environment.
29. A system as claimed in claim 28 wherein a user of the interactive virtual environment plays a role in the virtual environment and the product serves a role as an object in the virtual environment which responds to input from the user.
30. A system as claimed in claim 29 wherein an input from the user initiates placement of product information.
31. A system as claimed in claim 30 wherein, once product placement is initiated, additional placements for the product are initiated independent of user input.
32. A system as claimed in claim 31 wherein multiple users share the virtual environment including the product information which is placed independent of user input.
33. A system as claimed in claim 28 wherein the interactive virtual environment is a game environment.
34. A system as claimed in claim 28 wherein placement of specific products in the advertising object is personalized to the user.
35. A system as claimed in claim 34 wherein the placement of specific products is dependent on skill level of the user.
36. A system as claimed in claim 34 wherein the placement of specific products is dependent on the geographical location of the user.
37. A system as claimed in claim 34 wherein the placement of specific products is dependent on personal demographics of the user.
38. A system as claimed in claim 28 wherein the virtual environment is presented in a three dimensional display and the product information is placed as a texture map on a three dimensional object.
39. A system as claimed in claim 28 wherein the advertising object is presented as a prop manipulated by the user.
40. A system as claimed in claim 28 further comprising means for providing rewards to the user to be applied to a real world product.
41. A system as claimed in claim 40 further comprising means for trading rewards among multiple users in the virtual environment.
42. A system as claimed in claim 28 further comprising means for providing benefits in the virtual environment obtained from a real world source of the product.
43. A system as claimed in claim 28 wherein multiple users share the virtual environment including the specific product information in the advertising objects.
44. A system as claimed in claim 28 further comprising means for placing the specific product information such that the placements serve as endorsements by users in the virtual environment.
45. A system as claimed in claim 44 wherein multiple users share the virtual environment and serve as a team which share endorsements.
46. A system as claimed in claim 28 further comprising charging for advertising based on the context of product information placement.
47. A system as claimed in claim 46 wherein the charge is dependent on the user's interaction with the product in the virtual environment.
48. A system as claimed in claim 46 wherein the charge is dependent on user demographics.
49. A system as claimed in claim 46 wherein the charge is dependent on the time of placement.
50. A method as claimed in claim 28 wherein the virtual environment is controlled by a remote virtual environment server and the user interacts with the virtual environment at a client to the server.
51. A method of providing targeted advertising in a 3D gaming environment, the method comprising: determining user demographics information corresponding to a user of the 3D gaming environment; using the user demographics information to dynamically select a product to be advertised and used in the 3D environment; generating a virtual representation of the product; and allowing the user to interact with the product in the 3D gaming environment.
52. A computer program product comprising: a computer usable medium; a set of computer program instructions embodied on the computer usable medium, including instructions to: provide advertising objects which advertise products within the interactive virtual environments; dynamically control the virtual environment, including the advertising objects, in response to user input; and dynamically place specific product information in the advertising objects in accordance with the context of the virtual environment.
53. An electromagnetic waveform comprising computer program code, the computer program code dynamically placing specific product information in advertising objects in a virtual environment in accordance with the context of the virtual environment.
PCT/US2000/025217 1999-09-28 2000-09-15 Virtual environment product placement WO2001024083A2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU74872/00A AU7487200A (en) 1999-09-28 2000-09-15 Virtual environment product placement

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US40688399A 1999-09-28 1999-09-28
US09/406,883 1999-09-28

Publications (2)

Publication Number Publication Date
WO2001024083A2 true WO2001024083A2 (en) 2001-04-05
WO2001024083A8 WO2001024083A8 (en) 2001-11-08

Family

ID=23609765

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2000/025217 WO2001024083A2 (en) 1999-09-28 2000-09-15 Virtual environment product placement

Country Status (2)

Country Link
AU (1) AU7487200A (en)
WO (1) WO2001024083A2 (en)

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1436995A1 (en) * 2001-10-12 2004-07-14 Sedna Patent Services, LLC Method and apparatus for targeting of interactive virtual objects
US20060195376A1 (en) * 2005-02-28 2006-08-31 Jung Edward K Compensation techniques for virtual credit transactions
US7743330B1 (en) 2000-06-19 2010-06-22 Comcast Ip Holdings I, Llc Method and apparatus for placing virtual objects
US7770114B2 (en) 2006-03-03 2010-08-03 Cadcorporation.Com Inc. System and method for using virtual environments
US8126763B2 (en) 2005-01-20 2012-02-28 Koninklijke Philips Electronics N.V. Automatic generation of trailers containing product placements
US8527334B2 (en) 2007-12-27 2013-09-03 Microsoft Corporation Advertising revenue sharing
US8578410B2 (en) 2001-08-03 2013-11-05 Comcast Ip Holdings, I, Llc Video and digital multimedia aggregator content coding and formatting
US8600779B2 (en) 2007-10-09 2013-12-03 Microsoft Corporation Advertising with an influential participant in a virtual world
US8606634B2 (en) 2007-10-09 2013-12-10 Microsoft Corporation Providing advertising in a virtual world
US8621521B2 (en) 2001-08-03 2013-12-31 Comcast Ip Holdings I, Llc Video and digital multimedia aggregator
US8719077B2 (en) 2008-01-29 2014-05-06 Microsoft Corporation Real world and virtual world cross-promotion
US8965803B2 (en) 2005-02-04 2015-02-24 The Invention Science Fund I, Llc Virtual world reversion rights
US9078014B2 (en) 2000-06-19 2015-07-07 Comcast Ip Holdings I, Llc Method and apparatus for targeting of interactive virtual objects
US9286294B2 (en) 1992-12-09 2016-03-15 Comcast Ip Holdings I, Llc Video and digital multimedia aggregator content suggestion engine
US10003762B2 (en) 2005-04-26 2018-06-19 Invention Science Fund I, Llc Shared image devices

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
No Search *

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7721307B2 (en) 1992-12-09 2010-05-18 Comcast Ip Holdings I, Llc Method and apparatus for targeting of interactive virtual objects
US9286294B2 (en) 1992-12-09 2016-03-15 Comcast Ip Holdings I, Llc Video and digital multimedia aggregator content suggestion engine
US9813641B2 (en) 2000-06-19 2017-11-07 Comcast Ip Holdings I, Llc Method and apparatus for targeting of interactive virtual objects
US7743330B1 (en) 2000-06-19 2010-06-22 Comcast Ip Holdings I, Llc Method and apparatus for placing virtual objects
US9078014B2 (en) 2000-06-19 2015-07-07 Comcast Ip Holdings I, Llc Method and apparatus for targeting of interactive virtual objects
US10140433B2 (en) 2001-08-03 2018-11-27 Comcast Ip Holdings I, Llc Video and digital multimedia aggregator
US8621521B2 (en) 2001-08-03 2013-12-31 Comcast Ip Holdings I, Llc Video and digital multimedia aggregator
US10349096B2 (en) 2001-08-03 2019-07-09 Comcast Ip Holdings I, Llc Video and digital multimedia aggregator content coding and formatting
US8578410B2 (en) 2001-08-03 2013-11-05 Comcast Ip Holdings, I, Llc Video and digital multimedia aggregator content coding and formatting
EP1436995A4 (en) * 2001-10-12 2005-05-25 Sedna Patent Services Llc Method and apparatus for targeting of interactive virtual objects
EP1436995A1 (en) * 2001-10-12 2004-07-14 Sedna Patent Services, LLC Method and apparatus for targeting of interactive virtual objects
US8126763B2 (en) 2005-01-20 2012-02-28 Koninklijke Philips Electronics N.V. Automatic generation of trailers containing product placements
US8965803B2 (en) 2005-02-04 2015-02-24 The Invention Science Fund I, Llc Virtual world reversion rights
US8977566B2 (en) 2005-02-04 2015-03-10 The Invention Science Fund I, Llc Virtual world reversion rights
US20060195376A1 (en) * 2005-02-28 2006-08-31 Jung Edward K Compensation techniques for virtual credit transactions
US10003762B2 (en) 2005-04-26 2018-06-19 Invention Science Fund I, Llc Shared image devices
US7770114B2 (en) 2006-03-03 2010-08-03 Cadcorporation.Com Inc. System and method for using virtual environments
US8606634B2 (en) 2007-10-09 2013-12-10 Microsoft Corporation Providing advertising in a virtual world
US8600779B2 (en) 2007-10-09 2013-12-03 Microsoft Corporation Advertising with an influential participant in a virtual world
US8527334B2 (en) 2007-12-27 2013-09-03 Microsoft Corporation Advertising revenue sharing
US8719077B2 (en) 2008-01-29 2014-05-06 Microsoft Corporation Real world and virtual world cross-promotion

Also Published As

Publication number Publication date
WO2001024083A8 (en) 2001-11-08
AU7487200A (en) 2001-04-30

Similar Documents

Publication Publication Date Title
US10991165B2 (en) Interactive virtual thematic environment
Lindstrom Brandchild: remarkable insights into the minds of today's global kids and their relationship with brands
US7054928B2 (en) System for viewing content over a network and method therefor
US20020022516A1 (en) Advertising inside electronic games
Harden et al. Digital engagement: Internet marketing that captures customers and builds intense brand loyalty
Roman et al. How to advertise: What works, what doesn't-and why
US20040148221A1 (en) Online game advertising system
Wasko et al. Hollywood meets Madison Avenue: the commercialization of US films
US20040015608A1 (en) Method and system for dynamically incorporating advertising content into multimedia environments
WO2001024083A2 (en) Virtual environment product placement
Nelson Exploring consumer response to “advergaming”
Sacharin Attention!: How to interrupt, yell, whisper, and touch consumers
KR100531931B1 (en) Method for providing service through information network and method for using service
WO2005092028A2 (en) Interactive software application platform
Lammiman et al. CoolSearch: Keeping Your Organization In Touch and On the Edge...
Webber Divide and conquer: Target your customers through market segmentation
JP2002056293A (en) Information processor
Then XR: Inside of Media, Inside the Mind
Vaidya et al. Covert Advertising: Cutting or Placing
Gifford Advertising & Marketing: Developing the Marketplace
KR20000037154A (en) On-line growth game advertising
Boehm et al. Fiction for young people in 2020
Ranftl What elements make an effective advertising campaign? a review of common elements among proven effective advertising campaigns
Whiteman tell-me-what-I-want. com: Adolescent girls, consumer society and information technologies
de la Hera Advertising through Digital Games: Looking Beyond Simulations of Products and Services

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CR CU CZ DE DK DM DZ EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
AK Designated states

Kind code of ref document: C1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CR CU CZ DE DK DM DZ EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: C1

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

D17 Declaration under article 17(2)a
REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase in:

Ref country code: JP