U.S. patent application number 10/930326 was filed with the patent office on 2006-03-02 for method and apparatus for developing an electronic game using automatic user feedback.
This patent application is currently assigned to Microsoft Corporation. Invention is credited to Juan Carlos Arevalo Baeza, Rinehart Deborja Estrella, Sean Paul Jenkin, Michael Edward Jones.
Application Number | 20060046854 10/930326 |
Document ID | / |
Family ID | 35944145 |
Filed Date | 2006-03-02 |
United States Patent
Application |
20060046854 |
Kind Code |
A1 |
Arevalo Baeza; Juan Carlos ;
et al. |
March 2, 2006 |
Method and apparatus for developing an electronic game using
automatic user feedback
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.
Inventors: |
Arevalo Baeza; Juan Carlos;
(Redmond, WA) ; Jones; Michael Edward; (Redmond,
WA) ; Jenkin; Sean Paul; (Redmond, WA) ;
Estrella; Rinehart Deborja; (Sammamish, WA) |
Correspondence
Address: |
PERKINS COIE LLP/MSFT
P. O. BOX 1247
SEATTLE
WA
98111-1247
US
|
Assignee: |
Microsoft Corporation
Redmond
WA
|
Family ID: |
35944145 |
Appl. No.: |
10/930326 |
Filed: |
August 31, 2004 |
Current U.S.
Class: |
463/42 |
Current CPC
Class: |
A63F 13/63 20140902;
A63F 2300/50 20130101; A63F 13/71 20140902; A63F 13/35 20140902;
A63F 13/12 20130101; A63F 2300/6018 20130101; A63F 2300/535
20130101 |
Class at
Publication: |
463/042 |
International
Class: |
A63F 9/24 20060101
A63F009/24 |
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.
Description
TECHNICAL FIELD
[0001] 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
[0002] 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.
[0003] 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.
[0004] 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
[0005] 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.
[0006] 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
[0007] 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.
[0008] 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.
[0009] FIG. 3 is a schematic diagram illustrating a data flow for a
method in accordance with the present invention.
[0010] FIG. 4 is a flow diagram illustrating a method by which a
user can trigger the transmission of log files to a database.
[0011] FIG. 5 is a flow diagram illustrating a method for
developing a game based on user feedback.
DETAILED DESCRIPTION
[0012] 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.
[0013] 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.
[0014] 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.
[0015] 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.
[0016] 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.
[0017] 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.
[0018] 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.
[0019] 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.
[0020] 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.
[0021] 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.
[0022] 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.
[0023] 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.
[0024] 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.
[0025] 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.
[0026] 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.
[0027] 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.
[0028] 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.
[0029] 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.
[0030] 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.
[0031] 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.
[0032] 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.
[0033] 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.
[0034] 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.
[0035] 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.
[0036] 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.
[0037] 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.
[0038] 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.
[0039] 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.
[0040] 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.
[0041] 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.
[0042] 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.
[0043] 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.
[0044] 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.
[0045] 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.
[0046] 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.
[0047] 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.
[0048] 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.
[0049] 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.
[0050] 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.
[0051] 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.
[0052] 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.
* * * * *