US20060046854A1 - Method and apparatus for developing an electronic game using automatic user feedback - Google Patents

Method and apparatus for developing an electronic game using automatic user feedback Download PDF

Info

Publication number
US20060046854A1
US20060046854A1 US10/930,326 US93032604A US2006046854A1 US 20060046854 A1 US20060046854 A1 US 20060046854A1 US 93032604 A US93032604 A US 93032604A US 2006046854 A1 US2006046854 A1 US 2006046854A1
Authority
US
United States
Prior art keywords
user
game
feedback
log files
server
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
US10/930,326
Inventor
Juan Arevalo Baeza
Michael Jones
Sean Paul Jenkin
Rinehart Estrella
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Priority to US10/930,326 priority Critical patent/US20060046854A1/en
Assigned to MICROSOFT CORPORATION reassignment MICROSOFT CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: BAEZA, JUAN CARLOS AREVALO, ESTRELLA, RINEHART DEBORJA, JENKIN, SEAN PAUL, JONES, MICHAEL EDWARD
Publication of US20060046854A1 publication Critical patent/US20060046854A1/en
Assigned to MICROSOFT TECHNOLOGY LICENSING, LLC reassignment MICROSOFT TECHNOLOGY LICENSING, LLC ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: MICROSOFT CORPORATION
Pending legal-status Critical Current

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/60Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
    • A63F13/63Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor by the player, e.g. authoring using a level editor
    • A63F13/12
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/70Game security or game management aspects
    • A63F13/71Game security or game management aspects using secure communication between game devices and game servers, e.g. by encrypting game data or authenticating players
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/53Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing
    • A63F2300/535Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing for monitoring, e.g. of user parameters, terminal parameters, application parameters, network parameters
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/6009Methods for processing data by generating or executing the game program for importing or creating game content, e.g. authoring tools during game development, adapting content to different platforms, use of a scripting language to create content
    • A63F2300/6018Methods for processing data by generating or executing the game program for importing or creating game content, e.g. authoring tools during game development, adapting content to different platforms, use of a scripting language to create content where the game content is authored by the player, e.g. level editor or by game device at runtime, e.g. level is created from music data on CD

Definitions

  • the following disclosure relates generally to electronic games and, more particularly, to an automated process for capturing user actions in electronic games to assist in game development.
  • the term electronic game refers to any game that is played on an electronic device. These include, without limitation, console-consoled based games such as Xbox or Playstation, PC games intended for play on a computer, handheld games, games for mobile phones or PDA's, and the like.
  • a group of users may be placed in a room and asked to play a “level” of a game. Once the users have completed the level, they are asked one or more survey questions regarding their user experience. When the survey questions have been answered, the data is compiled and placed into a text editing program, such as Microsoft Word. The interviewer then typically makes subjective observations based on user feedback. Responses to the survey questions are then modified into a useful format for game developers to review. The game developers can then analyze the feedback and determine areas of the game that may need modification, such as particularly difficult portions of the game.
  • the example above illustrates many of the problems associated with current implementations of user feedback for electronic games.
  • the above implementation only allows for subjective feedback from users.
  • the survey questions gather subjective feedback from a user, such as what the user thought about the difficulty of a level, as opposed to objective feedback, such as the exact point in the game where a user died and what button presses led up to that event.
  • subjective feedback may be useful, it may be difficult to use subjective feedback to make objective changes to a game.
  • the pool of users surveyed is often too small to be able to make broad generalizations about the game. The narrow scope of user experience tends to hinder the efforts of game developers.
  • the fact that the survey results are modified to be in the correct format and manually placed into a database creates a less efficient process.
  • game developers must manually search the database for the information they want, a task that consumes more time and detracts from efficiency.
  • the following disclosure describes a tool for better understanding a user's initial experiences when playing an electronic game, and then using that data to ‘balance’ the electronic game and to design a better overall experience.
  • This tool which can be applied to nearly all electronic games, can be used to identify specific areas in the game in need of improvement (such as difficulty of a level) in order to increase the user's overall enjoyment of the product.
  • the method automatically captures a user's actions and their individual feedback as the events occur.
  • the steps include collecting player data in a log file, moving the log file from the electronic device to a data storage device, such as a server, parsing the log file, placing the parsed data into a database, and retrieving the desired data from the database. This information can then be reviewed in an understandable format within minutes of the data being collected, essentially taking subjective data and making it measurable. This allows the game developer to make informed decisions based on measurable data to determine what changes need to be made to achieve the desired ‘balance’ or difficulty for the game.
  • FIG. 1 is a schematic diagram illustrating one type of electronic gaming system on which computer games, video games and/or other electronic games can be implemented in accordance with several embodiments of the invention.
  • FIG. 2 is a block diagram illustrating functional components of the gaming system of FIG. 1 configured in accordance with an embodiment of the invention.
  • FIG. 3 is a schematic diagram illustrating a data flow for a method in accordance with the present invention.
  • FIG. 4 is a flow diagram illustrating a method by which a user can trigger the transmission of log files to a database.
  • FIG. 5 is a flow diagram illustrating a method for developing a game based on user feedback.
  • FIG. 1 is a schematic diagram illustrating a suitable gaming system 100 on which computer games, video games and/or other electronic games can be implemented in accordance with several embodiments of the invention.
  • the gaming system 100 includes a plurality of controllers 104 (identified individually as a first controller 104 a and a second controller 104 b ) operably connected to a game console 102 .
  • the controllers 104 can be connected to the game console 102 via a wired or wireless interface.
  • the controllers 104 are universal serial bus (USB) compatible and are connected to the console 102 via serial cables 130 received in sockets 110 .
  • USB universal serial bus
  • the controllers 104 can be equipped with a wide variety of user-interaction mechanisms.
  • each controller 104 includes two thumbsticks 132 a and 132 b , a D-pad 134 , various buttons 136 , and corresponding triggers 138 .
  • the foregoing mechanisms are merely illustrative of the various types of user-interaction mechanisms that can be included with the controllers 104 . Accordingly, in other embodiments, other controllers can include more or fewer such mechanisms without departing from the spirit or scope of the present disclosure.
  • Each of the controllers 104 can be configured to accommodate two portable memory units 140 for portable storage capability.
  • the memory units 140 enable users to store game parameters and import them for play on other game consoles.
  • each controller 104 is configured to accommodate two memory units 140 . In other embodiments, however, suitable controllers can be configured to accommodate more or fewer memory units.
  • the game console 102 can include a plurality of cables for connection to supporting systems.
  • the game console 102 can be operably connected to a television or display 150 via audio visual interface cables 120 .
  • a power cable 122 can provide power to the game console 102 .
  • a cable or modem connector 124 can facilitate information exchange between the game console 102 and a network, such as the Internet, for broadband data transmission.
  • the game console 102 can be equipped with an internal hard disk drive (not shown) and a portable media drive 106 .
  • the portable media drive 106 can be configured to support various forms of portable storage media as represented by an optical storage disk 108 . Examples of suitable portable storage media can include DVD and CD-ROM game disks and the like.
  • the game console 102 can further include a power button 112 and an eject button 114 . Depressing the eject button 114 alternately opens and closes a tray associated with the portable media device 106 to allow insertion and extraction of the storage disk 108 .
  • the gaming system 100 enables players and other users to enjoy various forms of entertainment including games, music, and videos. With the different storage options available, such media can be played from the hard disk drive, the portable media drive 106 , the memory units 140 , or an online source.
  • the gaming system 100 is capable of playing music from a CD inserted in the portable media drive 106 , from a file on the hard disk drive, or from an online streaming source.
  • the gaming system 100 can also play a digital audio/video game from a DVD disk inserted in the portable media drive 106 , from a file on the hard disk drive (e.g., a file in Active Streaming Format), or an online streaming source.
  • the gaming system 100 is but one example of a suitable system for implementing embodiments of the invention. Accordingly, the methods and systems disclosed herein are not limited to implementation on the gaming system 100 , but extend to numerous other general or special purpose computing systems or configurations. Examples of well-known computing systems, environments, and/or configurations that may be suitable for use with aspects of the invention include personal computers (PCs), server computers, portable and hand-held devices such as personal digital assistants (PDAs), laptop and tablet PCs, multiprocessor systems, microprocessor-based systems, set top boxes, programmable consumer electronics, network PCs, mini-computers, mainframe computers, electronic game consoles, and distributed computing environments that include one or more of the above systems or devices.
  • PCs personal computers
  • server computers portable and hand-held devices
  • PDAs personal digital assistants
  • multiprocessor systems microprocessor-based systems
  • set top boxes programmable consumer electronics
  • network PCs network PCs
  • mini-computers mini-computers
  • mainframe computers mainframe computers
  • electronic game consoles electronic
  • FIG. 2 is a block diagram illustrating functional components of the gaming system 100 configured in accordance with an embodiment of the invention.
  • the game console 102 includes a central processing unit (CPU) 200 and a memory controller 202 .
  • the memory controller 202 can facilitate processor access to various types of memory.
  • Such memory can include a flash Read Only Memory (ROM) 204 , a Random Access Memory (RAM) 206 , a hard disk drive 208 , and the portable media drive 106 .
  • the CPU 200 can be equipped with a level one cache 210 and a level two cache 212 to temporarily store data and reduce the number of necessary memory access cycles, thereby improving processing speed and throughput.
  • the CPU 200 , the memory controller 202 , and the various memory devices described above are interconnected via one or more buses, such as serial and parallel buses, memory buses, peripheral buses, and/or processor or local buses using any of a variety of bus architectures.
  • bus architectures can include, for example, an Industry Standard Architecture (ISA), a Micro Channel Architecture (MCA), an enhanced ISA (EISA), a Video Electronics Standards Association (VESA) local bus architecture, and a Peripheral Component Interconnects (PCI) bus architecture also known as a mezzanine bus architecture.
  • the CPU 200 , memory controller 202 , ROM 204 , and RAM 206 can be integrated into a common module 214 .
  • the ROM 204 is configured as a flash ROM that is connected to the memory controller 202 via a PCI bus and a ROM bus (neither of which is shown).
  • the RAM 206 can be configured as a multiple Double Data Rate Synchronous Dynamic RAM (DDR SDRAM) that is independently controlled by the memory controller 202 via separate buses (not shown).
  • DDR SDRAM Double Data Rate Synchronous Dynamic RAM
  • the hard disk drive 208 and portable media drive 106 can be connected to the memory controller 202 via the PCI bus and an AT attachment (ATA) bus 216 .
  • ATA AT attachment
  • a 3D graphics processing unit 220 and a video encoder 222 can form a video processing pipeline for high speed and high resolution graphics processing.
  • Data can be carried from the graphics processing unit 220 to the video encoder 222 via a digital video bus (not shown).
  • An audio processing unit 224 and an audio codec (coder/decoder) 226 can form a corresponding audio processing pipeline with high fidelity and stereo processing. Audio data can be carried between the audio processing unit 224 and the audio codec 226 via a communication link (not shown).
  • the video and audio processing pipelines output data to an audio/video (A/V) port 228 for transmission to the display 150 .
  • the video and audio processing components 220 - 228 are mounted on the module 214 .
  • a USB host controller 230 and a network interface 232 can also be implemented on the module 214 .
  • the USB host controller 230 can be coupled to the CPU 200 and the memory controller 202 via a bus (e.g., a PCI bus), and serves as a host for peripheral controllers 104 a - 104 d .
  • the network interface 232 can provide access to a network (e.g., the Internet, a home network, etc.) and may be any of a wide variety of wire or wireless interface components including an Ethernet card, a modem, a Bluetooth module, a cable modem, and the like.
  • the game console 102 can include dual controller port subassemblies 240 a and 240 b , and each subassembly can support two corresponding peripheral controllers 104 a - 104 d .
  • a front panel I/O subassembly 242 supports the functionality of the power button 112 and the eject button 114 , as well as any light emitting diodes (LEDs) or other indicators exposed on the outer surface of the game console 102 .
  • the subassemblies 240 a , 240 b , and 242 are coupled to the module 214 via one or more cable assemblies 244 .
  • Eight memory units 140 a - 140 h are illustrated as being connectable to the four controllers 140 a - 140 d in a two memory units per controller configuration. Each memory unit 140 offers additional storage on which games, game parameters, and other data may be stored. When inserted into a controller, the memory unit 140 can be accessed by the memory controller 202 .
  • a system power supply module 250 can provide power to the components of the gaming system 100 , and a fan 252 can cool the circuitry within the game console 102 .
  • the game console 102 described above can implement a uniform media portal model that provides a consistent user interface and navigation hierarchy to move users through various entertainment areas.
  • the portal model offers a convenient way to access multiple different types of media content including game data, audio data, and video data regardless of the media type inserted into the portable media drive 106 .
  • a console user interface (UI) application 260 is stored on the hard disk drive 208 .
  • various portions of the console application 260 are loaded into RAM 206 and/or caches 210 , 212 and executed on the CPU 200 .
  • the console application 260 presents a graphical user interface that provides a consistent user experience when navigating to different media types available on the game console. Aspects of the UI application and some of the exemplary screen displays it presents are described below in more detail.
  • the gaming system 100 may be operated as a standalone system by simply connecting the system to the display 150 . In the standalone mode, the gaming system 100 allows one or more players operating the controllers 104 to play games and view them on the display 150 . With the broadband connectivity made possible via the network interface 232 , however, the gaming system 100 can also be operated in a larger, network-based gaming community.
  • FIG. 3 illustrates the data flow for a method formed in accordance with one embodiment of the present invention.
  • FIG. 3 illustrates a game console 310 , a file server 314 , a folder watcher 318 , a file parser 322 , and a SQL server 326 .
  • the SQL server 326 can be accessed by various software applications, such as a spreadsheet application (e.g. Microsoft Excel) 332 or a web based SQL application 334 .
  • the game console 310 includes a controller routine or module 302 , upload code unit 308 , and log files 306 .
  • the log files may be stored, for example, on the hard disk drive 208 of the game console of FIG. 2 .
  • the controller routine 302 is referred to as an Xbox Controller Recorder (XCR).
  • the function of the controller routine 302 is to identify controller inputs and to transmit a set of log levels and events 304 to log files 306 stored within game console 310 .
  • the types of specific user input that are captured by the log files 306 can vary depending upon the particular implementation.
  • the controller routine 302 is adapted to record all of the user inputs via the controllers 104 . In other applications, perhaps only select inputs are recorded. Along with the user inputs being recorded, an indication as to the game context of the user input is captured. This may include the location of the player within the game, the current game situation, etc.
  • the term “log file” as used herein is intended to include any type of electronic recordation of information and should not be construed to be overly limiting.
  • the controller routine 302 may be adapted to record function calls.
  • Function calls are those actions triggered either by the user or automatically by the game software that causes the game to perform some action.
  • function calls typically identify events in a game. These function calls can be output to the log files 306 .
  • the log files 306 utilize upload code 308 to initiate a game console 310 initiated upload 312 to file server 314 .
  • the game console 310 automatically initiates the upload of the log files 306 to file server 314 .
  • the uploading of the log files 306 may be done periodically or based on some other trigger, such as completion of a level in the game.
  • the file server 314 may be configured to periodically and automatically poll the game console 310 to upload the log files 306 .
  • Log files 306 which are created for each gaming session, have certain requirements in one embodiment.
  • Each log file 306 is given a unique name based on the game console name and the time and date that the file was created.
  • each log file 306 contains a header consisting of the game name, build name (includes build number and name identifying where the data was collected—e.g., playtest, deep game play), game console name, IP (Internet Protocol) address (if the game console is networked over the Internet), and time stamp.
  • Each log file 306 also contains a write log value, which refers to an action or event, with the coordinate location of the event and time stamp, including but not limited to all button presses, objects picked up/dropped, avatar/character death, health increase/decrease, level/skill increase or decrease, and others as defined by a game development team.
  • log file 306 can be created based on function calls made in the game and inputs from a game controller. For instance, each time a player presses the “A” button (using an Xbox controller as an example) on the controller to cause an avatar to jump, the press of the “A” button is recorded in the log file 306 in conjunction with the coordinates identifying where the player pressed the “A” button. Further, function calls, such as a character's death, can be captured along with the location and time where it happened. Some of the information captured in the log file 306 is standard, such as the use of buttons on the controllers, but function calls for events in the game that are captured will often need to be identified by the game developer.
  • folder watcher 318 (which in one embodiment may be a software process) monitors the appropriate “folder” on the file server 314 .
  • the folder watcher 318 notifies generic log file parser 322 and passes log files 320 to the generic log file parser 322 .
  • the log files 306 are generated in a generic format that allows the generic log file parser 322 to identify the event or state that is recorded on each line, as well as the data that is associated with the event or state.
  • the generic log file parser 322 inserts data 324 into an SQL (Structured Query Language) server 326 , though other types of databases may be used.
  • SQL Structured Query Language
  • the SQL server 326 generates standard web reports 330 in the form of web based SQL reports 334 .
  • the SQL server 326 also generates customizable reports (pivot tables) 328 in MS Excel 332 format. It should be noted that other formats for presentation of the data are also possible.
  • the reports 332 or 334 from the SQL server 326 consist of at least two types of information.
  • the first type of information identifies each level or area of the game and the unique identifier to a log name.
  • the second type of information consists of all the events that were logged out for that particular level/area. If a game developer wishes to begin tracking of additional events when the new event is identified by the generic log file parser 322 , the new event will be added.
  • SQL Reporting Services is a layer that sits atop the SQL server 326 and presents the information in a web based format. This allows the game developer to review the data using a web browser, such as Microsoft Internet Explorer. Further, the data can be exported in a variety of formats, such as an html file, Word file, or Excel file.
  • FIG. 4 illustrates a method by which a user can automatically trigger the transmission of log files to a database.
  • a user at box 402 activates an event trigger point, such as a character's death or the completion of a level.
  • the log file that has been recording user inputs leading up to the event trigger point is automatically transmitted to a database at box 412 for storage and subsequent retrieval.
  • a feedback survey at box 404 with predetermined options for a player to choose from presents itself to the user. If the user chooses not to answer the feedback survey at box 404 , the user can return to game play at box 410 .
  • a survey log file at box 408 is generated which records the user's responses to the feedback survey at box 404 .
  • the survey log file is transmitted to the database at box 412 for storage and subsequent retrieval.
  • the game returns to its normal operation following the transmission of the survey log file.
  • a predetermined event such as an avatar's death or the completion of a level, prompts the user to answer survey questions on a feedback screen.
  • the user can move forward in the game only if the user responds to the survey questions in this particular embodiment. If the user does not respond to the survey questions, then the user cannot move forward in the game. Preventing the user from moving forward until survey questions have been answered may entail prompting and re-prompting the survey questions until the user answers them.
  • the user can press the “back or B button” (in the case of an Xbox controller) to bring up a menu screen that allows them to enter predetermined feedback at anytime they wish.
  • the user can press the “B” button (in the case of an Xbox controller) to cancel the screen, returning them to normal game play, or the player can press the thumbstick and the “A” button (in the case of an Xbox controller) to select one of the feedback options which then returns them to the game.
  • the user can select a pause menu to direct them to a feedback survey at box 404 .
  • the above embodiments illustrate examples of ways in which users can prompt a feedback survey and is not meant to be all encompassing or definitive. Other options could be presented or available at any of the above mentioned steps.
  • the feedback options can be stored in a text file that will be included with the game. These text files can be edited to allow for easy changes to the feedback options.
  • Each event (including the optional Back Button use in the case of an Xbox controller) will have its own text file for feedback options. In this manner, each event can have a different set of player feedback options available.
  • a software program for implementing the feedback survey, event log file, and survey log file is embedded into the game software itself. If the game comes in the form of a CD (compact disc) or a DVD (digital video disk), then the software program can be embedded into the CD or DVD.
  • the user is not aware that anything is technically taking place.
  • the user is unaware that their button presses on a controller or keyboard are being recorded in a log file that is automatically transmitted to a database.
  • the user can approve the use of a log file by signing an End-User Licensing Agreement.
  • the game console and not a computer, initiates the automatic upload of the log files from the game console to a server, assuming connection to a network or other communications medium. Game console initiated uploads allow for the automation of the data gathering process.
  • FIG. 5 illustrates a method for developing a game based on user feedback.
  • a user at box 402 activates an event trigger point, such as a character's death or the completion of a level
  • an event log file is generated that is automatically transmitted to a database at box 412 for storage.
  • the event trigger point prompts a feedback survey at box 404 .
  • Answers to the feedback survey generate a survey log file at box 408 which is stored in the database.
  • Storage of event log files and survey log files in the database facilitates the process of data retrieval at box 502 .
  • data analysis at box 504 can be performed to decipher ways to improve the gaming experience. From this data analysis at box 504 , the process of game modification at box 506 can be undertaken to improve user experience based on user feedback.
  • User feedback that is driven by events within the game allows game developers to utilize objective data to improve user experience. For instance, if there is a particular level within a game that many users are failing, game developers can retrieve event log files from the database that can objectively indicate, for instance, that a certain percentage of users failed on a particular level of a game. This objective data, gathered from log files, can be used to analyze where in the game that users are getting frustrated and to improve the design in that particular area of the game. Data gathered from both the event log files and the survey log files can be combined to provide a more thorough view of the user's experience to the game developers. This, in turn, allows game developers to improve user experience using concrete, objective data gathered from the game itself. The process of developing a game based on gathering user feedback, analyzing the data, and modifying the game based upon that data provides an objective means for the game developer to improve a user's experience.

Abstract

A method which enables game developers to capture user actions and to automatically solicit user feedback as game events occur, so that game developers can then use this data to “tune” the game to improve a user's experience is disclosed herein. To develop game data, function calls and user inputs are recorded in a log file. Also, players can provide feedback on game play after predetermined events occur (e.g., player finishes level) or through a pause menu. By allowing a development team to better understand a user's experience in game play, the game can be tuned to improve the user's experience.

Description

    TECHNICAL FIELD
  • The following disclosure relates generally to electronic games and, more particularly, to an automated process for capturing user actions in electronic games to assist in game development.
  • BACKGROUND
  • Current methods for gauging user feedback for electronic games require a user to play a game, relay game feedback to an interviewer, and have the interviewer tell a game developer what improvements need to be made to the game to improve user experience. As used herein, the term electronic game refers to any game that is played on an electronic device. These include, without limitation, console-consoled based games such as Xbox or Playstation, PC games intended for play on a computer, handheld games, games for mobile phones or PDA's, and the like.
  • For example, in the prior art, a group of users may be placed in a room and asked to play a “level” of a game. Once the users have completed the level, they are asked one or more survey questions regarding their user experience. When the survey questions have been answered, the data is compiled and placed into a text editing program, such as Microsoft Word. The interviewer then typically makes subjective observations based on user feedback. Responses to the survey questions are then modified into a useful format for game developers to review. The game developers can then analyze the feedback and determine areas of the game that may need modification, such as particularly difficult portions of the game.
  • The example above illustrates many of the problems associated with current implementations of user feedback for electronic games. The above implementation only allows for subjective feedback from users. The survey questions gather subjective feedback from a user, such as what the user thought about the difficulty of a level, as opposed to objective feedback, such as the exact point in the game where a user died and what button presses led up to that event. Although subjective feedback may be useful, it may be difficult to use subjective feedback to make objective changes to a game. In addition, the pool of users surveyed is often too small to be able to make broad generalizations about the game. The narrow scope of user experience tends to hinder the efforts of game developers. Also, the fact that the survey results are modified to be in the correct format and manually placed into a database creates a less efficient process. In addition, game developers must manually search the database for the information they want, a task that consumes more time and detracts from efficiency.
  • SUMMARY
  • The following disclosure describes a tool for better understanding a user's initial experiences when playing an electronic game, and then using that data to ‘balance’ the electronic game and to design a better overall experience. This tool, which can be applied to nearly all electronic games, can be used to identify specific areas in the game in need of improvement (such as difficulty of a level) in order to increase the user's overall enjoyment of the product.
  • The method automatically captures a user's actions and their individual feedback as the events occur. The steps include collecting player data in a log file, moving the log file from the electronic device to a data storage device, such as a server, parsing the log file, placing the parsed data into a database, and retrieving the desired data from the database. This information can then be reviewed in an understandable format within minutes of the data being collected, essentially taking subjective data and making it measurable. This allows the game developer to make informed decisions based on measurable data to determine what changes need to be made to achieve the desired ‘balance’ or difficulty for the game.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 is a schematic diagram illustrating one type of electronic gaming system on which computer games, video games and/or other electronic games can be implemented in accordance with several embodiments of the invention.
  • FIG. 2 is a block diagram illustrating functional components of the gaming system of FIG. 1 configured in accordance with an embodiment of the invention.
  • FIG. 3 is a schematic diagram illustrating a data flow for a method in accordance with the present invention.
  • FIG. 4 is a flow diagram illustrating a method by which a user can trigger the transmission of log files to a database.
  • FIG. 5 is a flow diagram illustrating a method for developing a game based on user feedback.
  • DETAILED DESCRIPTION
  • The following disclosure describes several embodiments of systems and methods for electronic games. Specific details of several embodiments of the invention are described below to provide a thorough understanding of such embodiments. However, other details describing well-known structures and routines often associated with electronic games are not set forth below to avoid unnecessarily obscuring the description of the various embodiments. Further, those of ordinary skill in the art will understand that the invention may have other embodiments that include additional elements or lack one or more of the elements described below with reference to FIGS. 1-3.
  • In the Figures, identical reference numbers identify identical or at least generally similar elements. To facilitate the discussion of any particular element, the most significant digit or digits of any reference number refer to the Figure in which that element is first introduced.
  • It is intended that the terminology used in the description presented below be interpreted in its broadest reasonable manner, even though it is being used in conjunction with a detailed description of certain specific embodiments of the invention. Certain terms may even be emphasized below; however, any terminology intended to be interpreted in any restricted manner will be overtly and specifically defined as such in this Detailed Description section.
  • Certain embodiments of methods and systems for electronic games are described below in the context of computer-executable instructions performed by a game console or a general-purpose computer, such as a personal computer. In one embodiment, for example, these computer-executable instructions can be stored on a computer-readable medium, such as a hard disk, a floppy disk, or a CD-ROM. In other embodiments, these instructions can be stored on a server computer system and accessed via a computer network such as an intranet or the Internet. Because the basic structures and functions related to computer-executable routines and corresponding computer implementation systems are well known, they have not been shown or described in detail here to avoid unnecessarily obscuring the described embodiments.
  • FIG. 1 is a schematic diagram illustrating a suitable gaming system 100 on which computer games, video games and/or other electronic games can be implemented in accordance with several embodiments of the invention. In one aspect of this embodiment, the gaming system 100 includes a plurality of controllers 104 (identified individually as a first controller 104 a and a second controller 104 b) operably connected to a game console 102. The controllers 104 can be connected to the game console 102 via a wired or wireless interface. For example, in the illustrated embodiment, the controllers 104 are universal serial bus (USB) compatible and are connected to the console 102 via serial cables 130 received in sockets 110. The controllers 104 can be equipped with a wide variety of user-interaction mechanisms. For example, in the illustrated embodiment, each controller 104 includes two thumbsticks 132 a and 132 b, a D-pad 134, various buttons 136, and corresponding triggers 138. The foregoing mechanisms are merely illustrative of the various types of user-interaction mechanisms that can be included with the controllers 104. Accordingly, in other embodiments, other controllers can include more or fewer such mechanisms without departing from the spirit or scope of the present disclosure.
  • Each of the controllers 104 can be configured to accommodate two portable memory units 140 for portable storage capability. The memory units 140 enable users to store game parameters and import them for play on other game consoles. In the illustrated embodiment, each controller 104 is configured to accommodate two memory units 140. In other embodiments, however, suitable controllers can be configured to accommodate more or fewer memory units.
  • The game console 102 can include a plurality of cables for connection to supporting systems. For example, the game console 102 can be operably connected to a television or display 150 via audio visual interface cables 120. In addition, a power cable 122 can provide power to the game console 102. Further, a cable or modem connector 124 can facilitate information exchange between the game console 102 and a network, such as the Internet, for broadband data transmission.
  • The game console 102 can be equipped with an internal hard disk drive (not shown) and a portable media drive 106. The portable media drive 106 can be configured to support various forms of portable storage media as represented by an optical storage disk 108. Examples of suitable portable storage media can include DVD and CD-ROM game disks and the like. The game console 102 can further include a power button 112 and an eject button 114. Depressing the eject button 114 alternately opens and closes a tray associated with the portable media device 106 to allow insertion and extraction of the storage disk 108.
  • The gaming system 100 enables players and other users to enjoy various forms of entertainment including games, music, and videos. With the different storage options available, such media can be played from the hard disk drive, the portable media drive 106, the memory units 140, or an online source. For example, the gaming system 100 is capable of playing music from a CD inserted in the portable media drive 106, from a file on the hard disk drive, or from an online streaming source. Similarly, the gaming system 100 can also play a digital audio/video game from a DVD disk inserted in the portable media drive 106, from a file on the hard disk drive (e.g., a file in Active Streaming Format), or an online streaming source.
  • The gaming system 100 is but one example of a suitable system for implementing embodiments of the invention. Accordingly, the methods and systems disclosed herein are not limited to implementation on the gaming system 100, but extend to numerous other general or special purpose computing systems or configurations. Examples of well-known computing systems, environments, and/or configurations that may be suitable for use with aspects of the invention include personal computers (PCs), server computers, portable and hand-held devices such as personal digital assistants (PDAs), laptop and tablet PCs, multiprocessor systems, microprocessor-based systems, set top boxes, programmable consumer electronics, network PCs, mini-computers, mainframe computers, electronic game consoles, and distributed computing environments that include one or more of the above systems or devices.
  • FIG. 2 is a block diagram illustrating functional components of the gaming system 100 configured in accordance with an embodiment of the invention. In one aspect of this embodiment, the game console 102 includes a central processing unit (CPU) 200 and a memory controller 202. The memory controller 202 can facilitate processor access to various types of memory. Such memory can include a flash Read Only Memory (ROM) 204, a Random Access Memory (RAM) 206, a hard disk drive 208, and the portable media drive 106. The CPU 200 can be equipped with a level one cache 210 and a level two cache 212 to temporarily store data and reduce the number of necessary memory access cycles, thereby improving processing speed and throughput. The CPU 200, the memory controller 202, and the various memory devices described above are interconnected via one or more buses, such as serial and parallel buses, memory buses, peripheral buses, and/or processor or local buses using any of a variety of bus architectures. Such architectures can include, for example, an Industry Standard Architecture (ISA), a Micro Channel Architecture (MCA), an enhanced ISA (EISA), a Video Electronics Standards Association (VESA) local bus architecture, and a Peripheral Component Interconnects (PCI) bus architecture also known as a mezzanine bus architecture.
  • In one embodiment, the CPU 200, memory controller 202, ROM 204, and RAM 206 can be integrated into a common module 214. In this embodiment, the ROM 204 is configured as a flash ROM that is connected to the memory controller 202 via a PCI bus and a ROM bus (neither of which is shown). The RAM 206 can be configured as a multiple Double Data Rate Synchronous Dynamic RAM (DDR SDRAM) that is independently controlled by the memory controller 202 via separate buses (not shown). The hard disk drive 208 and portable media drive 106 can be connected to the memory controller 202 via the PCI bus and an AT attachment (ATA) bus 216.
  • In the illustrated embodiment, a 3D graphics processing unit 220 and a video encoder 222 can form a video processing pipeline for high speed and high resolution graphics processing. Data can be carried from the graphics processing unit 220 to the video encoder 222 via a digital video bus (not shown). An audio processing unit 224 and an audio codec (coder/decoder) 226 can form a corresponding audio processing pipeline with high fidelity and stereo processing. Audio data can be carried between the audio processing unit 224 and the audio codec 226 via a communication link (not shown). The video and audio processing pipelines output data to an audio/video (A/V) port 228 for transmission to the display 150. In the illustrated embodiment, the video and audio processing components 220-228 are mounted on the module 214.
  • A USB host controller 230 and a network interface 232 can also be implemented on the module 214. The USB host controller 230 can be coupled to the CPU 200 and the memory controller 202 via a bus (e.g., a PCI bus), and serves as a host for peripheral controllers 104 a-104 d. The network interface 232 can provide access to a network (e.g., the Internet, a home network, etc.) and may be any of a wide variety of wire or wireless interface components including an Ethernet card, a modem, a Bluetooth module, a cable modem, and the like.
  • The game console 102 can include dual controller port subassemblies 240 a and 240 b, and each subassembly can support two corresponding peripheral controllers 104 a-104 d. A front panel I/O subassembly 242 supports the functionality of the power button 112 and the eject button 114, as well as any light emitting diodes (LEDs) or other indicators exposed on the outer surface of the game console 102. The subassemblies 240 a, 240 b, and 242 are coupled to the module 214 via one or more cable assemblies 244.
  • Eight memory units 140 a-140 h are illustrated as being connectable to the four controllers 140 a-140 d in a two memory units per controller configuration. Each memory unit 140 offers additional storage on which games, game parameters, and other data may be stored. When inserted into a controller, the memory unit 140 can be accessed by the memory controller 202. A system power supply module 250 can provide power to the components of the gaming system 100, and a fan 252 can cool the circuitry within the game console 102.
  • The game console 102 described above can implement a uniform media portal model that provides a consistent user interface and navigation hierarchy to move users through various entertainment areas. The portal model offers a convenient way to access multiple different types of media content including game data, audio data, and video data regardless of the media type inserted into the portable media drive 106.
  • To implement the uniform media portal model, a console user interface (UI) application 260 is stored on the hard disk drive 208. When the game console is powered on, various portions of the console application 260 are loaded into RAM 206 and/or caches 210, 212 and executed on the CPU 200. The console application 260 presents a graphical user interface that provides a consistent user experience when navigating to different media types available on the game console. Aspects of the UI application and some of the exemplary screen displays it presents are described below in more detail.
  • The gaming system 100 may be operated as a standalone system by simply connecting the system to the display 150. In the standalone mode, the gaming system 100 allows one or more players operating the controllers 104 to play games and view them on the display 150. With the broadband connectivity made possible via the network interface 232, however, the gaming system 100 can also be operated in a larger, network-based gaming community.
  • FIG. 3 illustrates the data flow for a method formed in accordance with one embodiment of the present invention. FIG. 3 illustrates a game console 310, a file server 314, a folder watcher 318, a file parser 322, and a SQL server 326. The SQL server 326 can be accessed by various software applications, such as a spreadsheet application (e.g. Microsoft Excel) 332 or a web based SQL application 334. The game console 310 includes a controller routine or module 302, upload code unit 308, and log files 306. The log files may be stored, for example, on the hard disk drive 208 of the game console of FIG. 2.
  • In one embodiment, the controller routine 302 is referred to as an Xbox Controller Recorder (XCR). The function of the controller routine 302 is to identify controller inputs and to transmit a set of log levels and events 304 to log files 306 stored within game console 310. The types of specific user input that are captured by the log files 306 can vary depending upon the particular implementation. In the broadest sense, the controller routine 302 is adapted to record all of the user inputs via the controllers 104. In other applications, perhaps only select inputs are recorded. Along with the user inputs being recorded, an indication as to the game context of the user input is captured. This may include the location of the player within the game, the current game situation, etc. Note that the term “log file” as used herein is intended to include any type of electronic recordation of information and should not be construed to be overly limiting.
  • For example, the controller routine 302 may be adapted to record function calls. Function calls are those actions triggered either by the user or automatically by the game software that causes the game to perform some action. For example, function calls typically identify events in a game. These function calls can be output to the log files 306.
  • The log files 306 utilize upload code 308 to initiate a game console 310 initiated upload 312 to file server 314. In one embodiment, the game console 310 automatically initiates the upload of the log files 306 to file server 314. The uploading of the log files 306 may be done periodically or based on some other trigger, such as completion of a level in the game. In other embodiments, the file server 314 may be configured to periodically and automatically poll the game console 310 to upload the log files 306.
  • Log files 306, which are created for each gaming session, have certain requirements in one embodiment. Each log file 306 is given a unique name based on the game console name and the time and date that the file was created. In addition, in one embodiment, each log file 306 contains a header consisting of the game name, build name (includes build number and name identifying where the data was collected—e.g., playtest, deep game play), game console name, IP (Internet Protocol) address (if the game console is networked over the Internet), and time stamp. Each log file 306 also contains a write log value, which refers to an action or event, with the coordinate location of the event and time stamp, including but not limited to all button presses, objects picked up/dropped, avatar/character death, health increase/decrease, level/skill increase or decrease, and others as defined by a game development team.
  • In one embodiment, log file 306 can be created based on function calls made in the game and inputs from a game controller. For instance, each time a player presses the “A” button (using an Xbox controller as an example) on the controller to cause an avatar to jump, the press of the “A” button is recorded in the log file 306 in conjunction with the coordinates identifying where the player pressed the “A” button. Further, function calls, such as a character's death, can be captured along with the location and time where it happened. Some of the information captured in the log file 306 is standard, such as the use of buttons on the controllers, but function calls for events in the game that are captured will often need to be identified by the game developer.
  • Still, referring to FIG. 3, folder watcher 318 (which in one embodiment may be a software process) monitors the appropriate “folder” on the file server 314. Once the log files 306 are pushed to the file server 314, the folder watcher 318 notifies generic log file parser 322 and passes log files 320 to the generic log file parser 322. The log files 306 are generated in a generic format that allows the generic log file parser 322 to identify the event or state that is recorded on each line, as well as the data that is associated with the event or state. The generic log file parser 322 inserts data 324 into an SQL (Structured Query Language) server 326, though other types of databases may be used. The SQL server 326 generates standard web reports 330 in the form of web based SQL reports 334. The SQL server 326 also generates customizable reports (pivot tables) 328 in MS Excel 332 format. It should be noted that other formats for presentation of the data are also possible.
  • The reports 332 or 334 from the SQL server 326 consist of at least two types of information. The first type of information identifies each level or area of the game and the unique identifier to a log name. The second type of information consists of all the events that were logged out for that particular level/area. If a game developer wishes to begin tracking of additional events when the new event is identified by the generic log file parser 322, the new event will be added.
  • In one embodiment, a software application referred to as “SQL Reporting Services” is used to display the reports for the data collected. SQL Reporting Services is a layer that sits atop the SQL server 326 and presents the information in a web based format. This allows the game developer to review the data using a web browser, such as Microsoft Internet Explorer. Further, the data can be exported in a variety of formats, such as an html file, Word file, or Excel file.
  • To illustrate how the above described system may be used, FIG. 4 illustrates a method by which a user can automatically trigger the transmission of log files to a database. In the embodiment of FIG. 4, a user at box 402 activates an event trigger point, such as a character's death or the completion of a level. At box 406, the log file that has been recording user inputs leading up to the event trigger point is automatically transmitted to a database at box 412 for storage and subsequent retrieval. Once the event trigger point at box 402 has been activated, a feedback survey at box 404 with predetermined options for a player to choose from presents itself to the user. If the user chooses not to answer the feedback survey at box 404, the user can return to game play at box 410. If the user chooses to answer the feedback survey at box 404 by selecting one of the feedback options on the screen (on an Xbox, this can be accomplished using a thumbstick and pressing the “A” button to record their selection), then a survey log file at box 408 is generated which records the user's responses to the feedback survey at box 404. The survey log file is transmitted to the database at box 412 for storage and subsequent retrieval. The game returns to its normal operation following the transmission of the survey log file. The above embodiment illustrates one such way in which log files can be transmitted to a database and is not meant to be all encompassing or definitive. Other options could be presented or available at any of the above mentioned steps.
  • In one embodiment, a predetermined event, such as an avatar's death or the completion of a level, prompts the user to answer survey questions on a feedback screen. The user can move forward in the game only if the user responds to the survey questions in this particular embodiment. If the user does not respond to the survey questions, then the user cannot move forward in the game. Preventing the user from moving forward until survey questions have been answered may entail prompting and re-prompting the survey questions until the user answers them.
  • In an alternative embodiment, the user can press the “back or B button” (in the case of an Xbox controller) to bring up a menu screen that allows them to enter predetermined feedback at anytime they wish. The user can press the “B” button (in the case of an Xbox controller) to cancel the screen, returning them to normal game play, or the player can press the thumbstick and the “A” button (in the case of an Xbox controller) to select one of the feedback options which then returns them to the game. In another embodiment, the user can select a pause menu to direct them to a feedback survey at box 404. The above embodiments illustrate examples of ways in which users can prompt a feedback survey and is not meant to be all encompassing or definitive. Other options could be presented or available at any of the above mentioned steps.
  • In one embodiment, the feedback options can be stored in a text file that will be included with the game. These text files can be edited to allow for easy changes to the feedback options. Each event (including the optional Back Button use in the case of an Xbox controller) will have its own text file for feedback options. In this manner, each event can have a different set of player feedback options available.
  • In one embodiment, a software program for implementing the feedback survey, event log file, and survey log file is embedded into the game software itself. If the game comes in the form of a CD (compact disc) or a DVD (digital video disk), then the software program can be embedded into the CD or DVD.
  • In one embodiment, the user is not aware that anything is technically taking place. The user is unaware that their button presses on a controller or keyboard are being recorded in a log file that is automatically transmitted to a database. The user can approve the use of a log file by signing an End-User Licensing Agreement. The game console, and not a computer, initiates the automatic upload of the log files from the game console to a server, assuming connection to a network or other communications medium. Game console initiated uploads allow for the automation of the data gathering process.
  • FIG. 5 illustrates a method for developing a game based on user feedback. As stated above, a user at box 402 activates an event trigger point, such as a character's death or the completion of a level, at box 406, an event log file is generated that is automatically transmitted to a database at box 412 for storage. In one embodiment, the event trigger point prompts a feedback survey at box 404. Answers to the feedback survey generate a survey log file at box 408 which is stored in the database. Storage of event log files and survey log files in the database facilitates the process of data retrieval at box 502. Once data has been retrieved, data analysis at box 504 can be performed to decipher ways to improve the gaming experience. From this data analysis at box 504, the process of game modification at box 506 can be undertaken to improve user experience based on user feedback.
  • User feedback that is driven by events within the game allows game developers to utilize objective data to improve user experience. For instance, if there is a particular level within a game that many users are failing, game developers can retrieve event log files from the database that can objectively indicate, for instance, that a certain percentage of users failed on a particular level of a game. This objective data, gathered from log files, can be used to analyze where in the game that users are getting frustrated and to improve the design in that particular area of the game. Data gathered from both the event log files and the survey log files can be combined to provide a more thorough view of the user's experience to the game developers. This, in turn, allows game developers to improve user experience using concrete, objective data gathered from the game itself. The process of developing a game based on gathering user feedback, analyzing the data, and modifying the game based upon that data provides an objective means for the game developer to improve a user's experience.
  • The above mentioned examples represent sample use cases meant to illustrate some of the ways that the present invention might function for the given scenarios and is not meant to be all encompassing or definitive. Other options could be presented or available at any of the above mentioned steps.
  • The above detailed descriptions of embodiments of the invention are not intended to be exhaustive or to limit the invention to the precise form disclosed above. While specific embodiments of, and examples for, the invention are described above for illustrative purposes, various equivalent modifications are possible within the scope of the invention, as those skilled in the relevant art will recognize.
  • Words in the above Detailed Description using the singular or plural number may also include the plural or singular number respectively, where the context permits. Additionally, the words “herein,” “above,” “below,” and words of similar import, when used in this application, shall refer to this application as a whole and not to any particular portions of this application. When the claims use the word “or” in reference to a list of two or more items, that word covers all of the following interpretations of the word: any of the items in the list, all of the items in the list, and any combination of the items in the list.
  • The teachings of the invention provided herein can be applied to other systems, not necessarily the system described herein. These and other changes can be made to the invention in light of the detailed description. The elements and acts of the various embodiments described above can be combined to provide further embodiments.
  • These and other changes can be made to the invention in light of the above detailed description. While the above description details certain embodiments of the invention and describes the best mode contemplated, no matter how detailed the above appears in text, the invention can be practiced in many ways. Details of configurations, functions, etc. may vary considerably in implementation details, while still being encompassed by the invention disclosed herein. As noted above, particular terminology used when describing certain features, or aspects of the invention should not be taken to imply that the terminology is being re-defined herein to be restricted to any specific characteristics, features, or aspects of the invention with which that terminology is associated. In general, the terms used should not be construed to limit the invention to the specific embodiments disclosed in the specification, unless the above Detailed Description section explicitly defines such terms. Accordingly, the actual scope of the invention encompasses not only the disclosed embodiments, but also all equivalent ways of practicing or implementing the invention.

Claims (34)

1. A method for soliciting feedback from a user within an electronic game, the method comprising:
displaying a feedback screen after a predetermined event occurs within a game, wherein the feedback screen contains predetermined feedback options for the user to choose from;
prompting the user to choose to give feedback on the game or to not give feedback on the game;
receiving a selection from the user indicating the user's decision to provide feedback on the game; and
receiving feedback on the game on behalf of the user if a received selection indicates that the user wishes to provide feedback.
2. The method of claim 1 wherein displaying the feedback screen after the predetermined event occurs within a game, wherein the predetermined event is an avatar's death or the completion of a level.
3. The method of claim 1 wherein displaying the feedback screen includes displaying feedback options that are stored in a text file and that can be edited.
4. The method of claim 1 wherein prompting the user to choose to give feedback includes selecting a pause menu or selecting a back button.
5. The method of claim 1 wherein prompting the user to choose to give feedback includes displaying the feedback screen after predetermined events occur and after user inputs are collected in log files.
6. The method of claim 1 wherein receiving a selection from the user includes selecting to provide feedback by using a controller.
7. A method for capturing user actions within an electronic game, the method comprising:
collecting a user's inputs in a log file;
transferring the log file automatically from a game console to a server to facilitate subsequent retrieval and;
retrieving log files from the server.
8. The method of claim 7 wherein transferring the log file automatically from a game console to a server includes automatically initiating an upload of the log file through the game console.
9. The method of claim 7 wherein transferring the log file from a game console to a server includes utilizing an upload code.
10. The method of claim 7 wherein collecting a user's inputs in a log file includes creating a log file with a header containing information pertinent to the log file.
11. The method of claim 7 wherein collecting a user's inputs in a log file includes creating a log file based on function calls made in the game and inputs from a controller.
12. The method of claim 7 wherein retrieving log files from the server includes the server generating reports in different formats.
13. A system for gauging user experience within an electronic game, the system comprising:
means for receiving feedback from a user to gauge user experience;
means for storing feedback in log files;
means for automatically transmitting log files to a server to facilitate subsequent retrieval and;
means for retrieving log files from the server.
14. The system of claim 13 wherein the means for receiving feedback from a user includes means for identifying user inputs in a log file.
15. The system of claim 13 wherein the means for transmitting log files to a server includes means for having a game console automatically initiate the upload of the log files.
16. The system of claim 13 wherein the means for storing feedback includes means for capturing user inputs in log files.
17. The system of claim 13 wherein the means for retrieving log files from the server includes means for generating reports in various formats.
18. A system comprising:
a controller recorder that identifies controller inputs;
a set of log files coupled to store user inputs from the controller recorder; and
a server coupled to store user inputs in the log files.
19. The system of claim 18, wherein the controller recorder and the log files are located within a game console.
20. The system of claim 18, wherein the server is located outside the game console.
21. A computer-readable medium having computer-executable instructions for performing steps comprising:
receiving information about events from a controller;
transmitting the information about the events to a log file; and
initiating the upload of the log file to a server.
22. The computer-readable medium of claim 21 wherein a game console initiates the upload of the log file to the server.
23. The computer-readable medium of claim 21 wherein an upload code is sent to the server.
24. A method for developing an electronic game based on user feedback, the method comprising:
storing log files containing a record of game events and user feedback in a database;
retrieving log files from the database;
analyzing log files to determine ways to improve user experience; and
modifying the game based on user feedback to improve user experience.
25. The method of claim 24 wherein storing log files includes storing log files that record the events within the game.
26. The method of claim 24 wherein storing log files includes storing log files that record user answers to survey questions within the game.
27. The method of claim 24 wherein retrieving log files from the database includes retrieving information about game events and user feedback from the database.
28. The method of claim 24 wherein analyzing log files includes analyzing information about game events and user feedback from the database.
29. A method for soliciting feedback from a user within an electronic game, the method comprising:
displaying a feedback screen after a predetermined event occurs within a game, wherein the feedback screen contains survey questions for the user to answer;
Allowing the user to move forward in the game only if the user responds to the survey questions; and
Preventing the user from moving forward in the game if the user does not respond to the survey questions.
30. The method of claim 29 wherein displaying the feedback screen after the predetermined event occurs within a game, wherein the predetermined event is an avatar's death or the completion of a level.
31. The method of claim 29 wherein displaying the feedback screen includes displaying survey questions that are stored in a text file and that can be edited.
32. The method of claim 29 wherein allowing the user to move forward in the game includes allowing the user to proceed to a later level or stage within the game.
33. The method of claim 29 wherein preventing the user from moving forward includes continuing to prompt and to re-prompt the survey questions until the user answers the survey questions.
34. The method of claim 29 wherein responding to the survey questions includes selecting answers to the survey questions using a controller.
US10/930,326 2004-08-31 2004-08-31 Method and apparatus for developing an electronic game using automatic user feedback Pending US20060046854A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US10/930,326 US20060046854A1 (en) 2004-08-31 2004-08-31 Method and apparatus for developing an electronic game using automatic user feedback

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/930,326 US20060046854A1 (en) 2004-08-31 2004-08-31 Method and apparatus for developing an electronic game using automatic user feedback

Publications (1)

Publication Number Publication Date
US20060046854A1 true US20060046854A1 (en) 2006-03-02

Family

ID=35944145

Family Applications (1)

Application Number Title Priority Date Filing Date
US10/930,326 Pending US20060046854A1 (en) 2004-08-31 2004-08-31 Method and apparatus for developing an electronic game using automatic user feedback

Country Status (1)

Country Link
US (1) US20060046854A1 (en)

Cited By (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050239523A1 (en) * 2004-01-15 2005-10-27 Espeed, Inc. System and method for managing a game controller device for electronic trading
US20080167118A1 (en) * 2007-01-09 2008-07-10 Kroeckel John G Apparatus for providing amusement
US20080167130A1 (en) * 2007-01-09 2008-07-10 Kroeckel John G Systems for providing amusement
US20080248845A1 (en) * 2007-04-06 2008-10-09 Henry Paul Morgan Contextual Gamer Options Menu
EP2025373A1 (en) * 2007-08-17 2009-02-18 X-Aitment GmbH Balancing tool
US20090048010A1 (en) * 2007-08-13 2009-02-19 Kroeckel John G Methods for providing amusement
US20090124386A1 (en) * 2007-11-14 2009-05-14 Lamontagne Joel David Method and system for randomly altering information and content within web pages to create a new and unique website and online game
US20090138813A1 (en) * 2007-11-14 2009-05-28 Lamontagne Entertainment, Llc System and method for providing an objective to a user
US20090156305A1 (en) * 2007-03-15 2009-06-18 Big Fish Games, Inc. Insertion of Graphics into Video Game
US20090163272A1 (en) * 2007-12-21 2009-06-25 Microsoft Corporation Connected gaming
US20090240569A1 (en) * 2005-09-14 2009-09-24 Jorey Ramer Syndication of a behavioral profile using a monetization platform
US20100260487A1 (en) * 2009-04-09 2010-10-14 Sony Computer Entertainment America Inc. Method and apparatus for searching replay data
US8103524B1 (en) * 2008-11-25 2012-01-24 Intuit Inc. Physician recommendation system
US20120142430A1 (en) * 2008-02-11 2012-06-07 Microsoft Corporation Partitioned artificial intelligence for networked games
US20120309543A1 (en) * 2011-05-30 2012-12-06 Kabushiki Kaisha Square Enix (Also Trading As Square Enix Co., Ltd.) Assessment information gathering system
US20150165310A1 (en) * 2013-12-17 2015-06-18 Microsoft Corporation Dynamic story driven gameworld creation
US20150231502A1 (en) * 2014-02-19 2015-08-20 International Business Machines Corporation Game adjustments through crowdsourcing
CN105871640A (en) * 2016-06-07 2016-08-17 腾讯科技(深圳)有限公司 Level configuration data configuration method and system and game server
US9600390B2 (en) 2012-05-17 2017-03-21 Sony Corporation Menu usage statistics collection and reporting
US9703892B2 (en) 2005-09-14 2017-07-11 Millennial Media Llc Predictive text completion for a mobile communication facility
US9754287B2 (en) 2005-09-14 2017-09-05 Millenial Media LLC System for targeting advertising content to a plurality of mobile communication facilities
US9785975B2 (en) 2005-09-14 2017-10-10 Millennial Media Llc Dynamic bidding and expected value
US9811589B2 (en) 2005-09-14 2017-11-07 Millennial Media Llc Presentation of search results to mobile devices based on television viewing history
US10038756B2 (en) 2005-09-14 2018-07-31 Millenial Media LLC Managing sponsored content based on device characteristics
GB2572548A (en) * 2018-03-28 2019-10-09 Sony Interactive Entertainment Inc Content generation system
US10541042B2 (en) 2018-04-23 2020-01-21 Microsoft Technology Licensing, Llc Level-crossing memory trace inspection queries
US10698792B2 (en) 2018-05-02 2020-06-30 Microsoft Technology Licensing, Llc Execution control with cross-level trace mapping
US10740219B2 (en) 2018-04-27 2020-08-11 Workman Nydegger Selectively tracing portions of computer process execution
US10747645B2 (en) 2018-04-27 2020-08-18 Microsoft Technology Licensing, Llc Selectively tracing portions of computer process execution
US10803482B2 (en) 2005-09-14 2020-10-13 Verizon Media Inc. Exclusivity bidding for mobile sponsored content
US10911894B2 (en) 2005-09-14 2021-02-02 Verizon Media Inc. Use of dynamic content generation parameters based on previous performance of those parameters
CN112494933A (en) * 2020-12-07 2021-03-16 上海哔哩哔哩科技有限公司 Game data warehouse construction method and device
US11620705B2 (en) 2007-03-15 2023-04-04 Bgc Partners, Inc. System and method for providing an operator interface for displaying market data, trader options, and trader input
US20240001240A1 (en) * 2020-12-22 2024-01-04 Electronic Arts Inc. Live gameplay updates

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020111214A1 (en) * 2000-12-08 2002-08-15 Clifton Lind Lottery ticket distribution system
US7076445B1 (en) * 2000-06-20 2006-07-11 Cartwright Shawn D System and methods for obtaining advantages and transacting the same in a computer gaming environment
US7305398B2 (en) * 2003-06-15 2007-12-04 Mordechai Teicher Apparatus and method for managing social games
US7329187B1 (en) * 1995-02-21 2008-02-12 Oneida Indian Nation Cashless computerized video game system and method

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7329187B1 (en) * 1995-02-21 2008-02-12 Oneida Indian Nation Cashless computerized video game system and method
US7076445B1 (en) * 2000-06-20 2006-07-11 Cartwright Shawn D System and methods for obtaining advantages and transacting the same in a computer gaming environment
US20020111214A1 (en) * 2000-12-08 2002-08-15 Clifton Lind Lottery ticket distribution system
US7305398B2 (en) * 2003-06-15 2007-12-04 Mordechai Teicher Apparatus and method for managing social games

Cited By (56)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050239523A1 (en) * 2004-01-15 2005-10-27 Espeed, Inc. System and method for managing a game controller device for electronic trading
US20090240569A1 (en) * 2005-09-14 2009-09-24 Jorey Ramer Syndication of a behavioral profile using a monetization platform
US10911894B2 (en) 2005-09-14 2021-02-02 Verizon Media Inc. Use of dynamic content generation parameters based on previous performance of those parameters
US10803482B2 (en) 2005-09-14 2020-10-13 Verizon Media Inc. Exclusivity bidding for mobile sponsored content
US10592930B2 (en) * 2005-09-14 2020-03-17 Millenial Media, LLC Syndication of a behavioral profile using a monetization platform
US10038756B2 (en) 2005-09-14 2018-07-31 Millenial Media LLC Managing sponsored content based on device characteristics
US9811589B2 (en) 2005-09-14 2017-11-07 Millennial Media Llc Presentation of search results to mobile devices based on television viewing history
US9785975B2 (en) 2005-09-14 2017-10-10 Millennial Media Llc Dynamic bidding and expected value
US9754287B2 (en) 2005-09-14 2017-09-05 Millenial Media LLC System for targeting advertising content to a plurality of mobile communication facilities
US9703892B2 (en) 2005-09-14 2017-07-11 Millennial Media Llc Predictive text completion for a mobile communication facility
US20110117997A1 (en) * 2007-01-09 2011-05-19 Kroeckel John G Apparatus for providing amusement
US8308546B2 (en) 2007-01-09 2012-11-13 Bally Gaming, Inc. Apparatus for providing amusement
US8480468B2 (en) 2007-01-09 2013-07-09 Bally Gaming, Inc. Apparatus for providing amusement
US20080167118A1 (en) * 2007-01-09 2008-07-10 Kroeckel John G Apparatus for providing amusement
US20110077069A1 (en) * 2007-01-09 2011-03-31 Kroeckel John G Apparatus for providing amusement
US8888597B2 (en) 2007-01-09 2014-11-18 Bally Gaming, Inc. Systems for providing amusement
US20110124392A1 (en) * 2007-01-09 2011-05-26 Kroeckel John G Apparatus for providing amusement
US7976373B2 (en) 2007-01-09 2011-07-12 Bally Gaming, Inc. Apparatus for providing amusement
US8425299B2 (en) 2007-01-09 2013-04-23 Bally Gaming, Inc. Apparatus for providing amusement
US20080167130A1 (en) * 2007-01-09 2008-07-10 Kroeckel John G Systems for providing amusement
US8317588B2 (en) 2007-01-09 2012-11-27 Bally Gaming, Inc. Apparatus for providing amusement
US20090156305A1 (en) * 2007-03-15 2009-06-18 Big Fish Games, Inc. Insertion of Graphics into Video Game
US11620705B2 (en) 2007-03-15 2023-04-04 Bgc Partners, Inc. System and method for providing an operator interface for displaying market data, trader options, and trader input
US20080248845A1 (en) * 2007-04-06 2008-10-09 Henry Paul Morgan Contextual Gamer Options Menu
US20090048010A1 (en) * 2007-08-13 2009-02-19 Kroeckel John G Methods for providing amusement
US7976376B2 (en) * 2007-08-13 2011-07-12 Bally Gaming, Inc. Methods for providing amusement
US8556702B2 (en) 2007-08-13 2013-10-15 Bally Gaming, Inc. Methods for providing amusement
EP2025373A1 (en) * 2007-08-17 2009-02-18 X-Aitment GmbH Balancing tool
US20090048008A1 (en) * 2007-08-17 2009-02-19 X-Aitment Gmbh Balancing tool
US8425324B2 (en) 2007-08-17 2013-04-23 X-Aitment Gmbh Balancing tool
US10029182B2 (en) 2007-11-14 2018-07-24 Trivver, Inc. Method and system for randomly altering information and content in an online game
US20090138813A1 (en) * 2007-11-14 2009-05-28 Lamontagne Entertainment, Llc System and method for providing an objective to a user
US20090124386A1 (en) * 2007-11-14 2009-05-14 Lamontagne Joel David Method and system for randomly altering information and content within web pages to create a new and unique website and online game
US9333429B2 (en) 2007-11-14 2016-05-10 Trivver, Inc. Method and system for randomly altering information and content within web pages to create a new and unique website and online game
US20090163272A1 (en) * 2007-12-21 2009-06-25 Microsoft Corporation Connected gaming
US9327194B2 (en) * 2008-02-11 2016-05-03 Microsoft Technology Licensing, Llc Partitioned artificial intelligence for networked games
US20120142430A1 (en) * 2008-02-11 2012-06-07 Microsoft Corporation Partitioned artificial intelligence for networked games
US8103524B1 (en) * 2008-11-25 2012-01-24 Intuit Inc. Physician recommendation system
US8761575B2 (en) 2009-04-09 2014-06-24 Sony Computer Entertainment America Llc Method and apparatus for searching replay data
WO2010117962A1 (en) * 2009-04-09 2010-10-14 Sony Computer Entertainment America Inc. Method and apparatus for searching replay data
US20100260487A1 (en) * 2009-04-09 2010-10-14 Sony Computer Entertainment America Inc. Method and apparatus for searching replay data
US20120309543A1 (en) * 2011-05-30 2012-12-06 Kabushiki Kaisha Square Enix (Also Trading As Square Enix Co., Ltd.) Assessment information gathering system
EP2530932A3 (en) * 2011-05-30 2013-11-27 Kabushiki Kaisha Square Enix (also Trading As Square Enix Co. Ltd.) Assessment information gathering system
US9600390B2 (en) 2012-05-17 2017-03-21 Sony Corporation Menu usage statistics collection and reporting
US20150165310A1 (en) * 2013-12-17 2015-06-18 Microsoft Corporation Dynamic story driven gameworld creation
US9636586B2 (en) * 2014-02-19 2017-05-02 International Business Machines Corporation Game adjustments through crowdsourcing
US20150231502A1 (en) * 2014-02-19 2015-08-20 International Business Machines Corporation Game adjustments through crowdsourcing
CN105871640A (en) * 2016-06-07 2016-08-17 腾讯科技(深圳)有限公司 Level configuration data configuration method and system and game server
GB2572548A (en) * 2018-03-28 2019-10-09 Sony Interactive Entertainment Inc Content generation system
US11547945B2 (en) 2018-03-28 2023-01-10 Sony Interactive Entertainment Inc. Content generation system
US10541042B2 (en) 2018-04-23 2020-01-21 Microsoft Technology Licensing, Llc Level-crossing memory trace inspection queries
US10747645B2 (en) 2018-04-27 2020-08-18 Microsoft Technology Licensing, Llc Selectively tracing portions of computer process execution
US10740219B2 (en) 2018-04-27 2020-08-11 Workman Nydegger Selectively tracing portions of computer process execution
US10698792B2 (en) 2018-05-02 2020-06-30 Microsoft Technology Licensing, Llc Execution control with cross-level trace mapping
CN112494933A (en) * 2020-12-07 2021-03-16 上海哔哩哔哩科技有限公司 Game data warehouse construction method and device
US20240001240A1 (en) * 2020-12-22 2024-01-04 Electronic Arts Inc. Live gameplay updates

Similar Documents

Publication Publication Date Title
US20060046854A1 (en) Method and apparatus for developing an electronic game using automatic user feedback
KR102337507B1 (en) Synchronized video with in game telemetry
US20210245049A1 (en) Method, non-transitory computer-readable recording medium, information processing system, and information processing device
US10154104B2 (en) Intelligent delivery of actionable content
JP5941039B2 (en) Method and apparatus for online rendering of game files
US9132349B2 (en) Third-party recommendation in game system
JP2020099729A (en) Mini-games accessed through sharing interface
US9233305B2 (en) System and method for managing game-playing experiences
JP4908531B2 (en) Apparatus, method, and recording medium for restoring device to initial setting state
US8376834B2 (en) Role assignment in multiplayer games
US20180078862A1 (en) Automatic Video Game Highlight Reel
US20110151971A1 (en) Technological platform for gaming
EP2193828B1 (en) Communication hub for video game development systems
US20200143197A1 (en) Method and apparatus for categorising images of mobile device software
WO2018145527A1 (en) Cross-platform interaction method and device, program, and medium
US8647209B1 (en) System and method for creating and/or serving online games embedded in websites
EP4124369A1 (en) Classification of gaming styles
Epp et al. An empirical study of trends of popular virtual reality games and their complaints
KR100823700B1 (en) Method and system for tracking learning data of game program connecting with learning management system
US11210332B2 (en) Mapped views of digital content
US11000771B1 (en) Gameplay telemetry and video acquisition system
CN110574066B (en) Server device and recording medium
CN114191822A (en) Test method, test device, computer equipment, storage medium and product
KR20110016728A (en) Game news providing system and the method thereof
US11951401B2 (en) Classification of gaming styles

Legal Events

Date Code Title Description
AS Assignment

Owner name: MICROSOFT CORPORATION, WASHINGTON

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:BAEZA, JUAN CARLOS AREVALO;ESTRELLA, RINEHART DEBORJA;JENKIN, SEAN PAUL;AND OTHERS;REEL/FRAME:015761/0640;SIGNING DATES FROM 20040825 TO 20040830

STPP Information on status: patent application and granting procedure in general

Free format text: FINAL REJECTION MAILED

AS Assignment

Owner name: MICROSOFT TECHNOLOGY LICENSING, LLC, WASHINGTON

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MICROSOFT CORPORATION;REEL/FRAME:034766/0001

Effective date: 20141014