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

- Microsoft

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.

Skip to: Description  ·  Claims  · Patent History  ·  Patent History
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 104a and a second controller 104b) 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 132a and 132b, 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 104a-104d. 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 240a and 240b, and each subassembly can support two corresponding peripheral controllers 104a-104d. 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 240a, 240b, and 242 are coupled to the module 214 via one or more cable assemblies 244.

Eight memory units 140a-140h are illustrated as being connectable to the four controllers 140a-140d 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

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.

Patent History
Publication number: 20060046854
Type: Application
Filed: Aug 31, 2004
Publication Date: Mar 2, 2006
Applicant: Microsoft Corporation (Redmond, WA)
Inventors: Juan Arevalo Baeza (Redmond, WA), Michael Jones (Redmond, WA), Sean Paul Jenkin (Redmond, WA), Rinehart Estrella (Sammamish, WA)
Application Number: 10/930,326
Classifications
Current U.S. Class: 463/42.000
International Classification: A63F 9/24 (20060101);