The subject matter disclosed herein generally relates to amusements and games.
A device may be used for communication by a user of the device. For example, a device may be a portable device (e.g., a mobile device), and the device may be carried by the user or otherwise kept near the user for convenient use in sending or receiving communications.
Modern devices may include a camera that can be used to generate an image (e.g., a photographic image). For example, a device may be a cellular telephone with a built-in camera that is able to take a photograph and store the photograph on the cellular telephone (e.g., in a memory of the cellular telephone).
Accordingly, a device may be a communication device with a camera, and the device may be used to generate an image and then communicate the image (e.g., via a network). As an example, a user may operate a cellular telephone with a built-in camera to take a photograph and transmit the photograph to another cellular telephone belonging to a different user, where the photograph is transmitted via a cellular network accessible by the two cellular telephones.
Some embodiments are illustrated by way of example and not limitation in the figures of the accompanying drawings.
Example methods, systems, and apparatus are directed to photographic social gaming. Examples merely typify possible variations. Unless explicitly stated otherwise, components and functions are optional and may be combined or subdivided, and operations may vary in sequence or be combined or subdivided. In the following description, for purposes of explanation, numerous specific details are set forth to provide a thorough understanding of example embodiments. It will be evident to one skilled in the art, however, that the present subject matter may be practiced without these specific details.
A game machine facilitates a photographic social game that may be played using, for example, camera-enabled devices (e.g., participating devices). The photographic social game asks that users of camera-enabled devices take and submit photographs at a particular time (e.g., 5:00 PM GMT or 5:00 PM local time), after an occurrence of a particular event (e.g., 5 minutes after waking up), or any suitable combination thereof. These photos may be assembled by the game machine into a presentation, and one or more of various games may be played by the users based on the presentation.
The game machine causes prompts to appear on the participating devices belonging to contributory users, where the prompts serve as reminders to take and submit photos for the photographic social game. The game machine receives images from the participating devices in response to the prompts being shown. Each of the images is generated by one of the participating devices in response to one of the prompts being shown by that participating device. The game machine generates a presentation of images based on the received images, and the received images may appear in the presentation. For example, the presentation may take the form of a single image in which the images are arranged as a collage, a grid, a mosaic, or any suitable combination thereof. As other examples, the presentation may take the form of an album in which the images are arranged in groups (e.g., as multiple sets of multiple images), an electronic book in which the images are arranged as pages of the electronic book, a slideshow in which the images are arranged as slides in the slideshow, a video in which the images appear (e.g., one at a time or several at a time), or any suitable combination thereof. The game machine then provides the presentation to the participating devices from which the images were received (e.g., as a communication to the participating devices or as a communication to a server machine of the social media service provider for one or more contributory users). Also, the game machine may provide the presentation to non-participating devices (e.g., as a publicly accessible web page) belonging to non-contributory users.
The game machine may facilitate a guessing game in which a contributory user who submitted an image to the game machine from a participating device may submit an identifier (e.g., a name or username) of a further contributory user who submitted a further image. The game machine may receive the identifier as a guess at who submitted the further image, and the game machine may award points to the contributor user by updating a score of the contributory user based on the submitted identifier.
The game machine may facilitate a rating game in which contributory users, non-contributory users (who submitted none of the images), or both, submit ratings of one or more images appearing in the presentation provided by the game machine. Accordingly, the game machine may receive a rating of an image as a submission from a contributory user, from a non-contributory user, or any suitable combination thereof. For example, the rating may indicate a quality of the presentation (e.g., as a whole), a quality of a particular image appearing in the presentation (e.g., as a standalone image), or any suitable combination thereof. Based on one or more received ratings, the game machine may award points to multiple contributory users (e.g., for participation in the photographic social game), to the contributory user who submitted the particular image (e.g., for submitting that particular image), or any suitable combination thereof.
The photographic social game may be facilitated by instructions (e.g., software) executing on one or more of the participating devices, and the game machine may provide instructions to one or more of the participating devices. The instructions may cause a participating device to show a prompt (e.g., reminder) related to contributing images for the photographic social game. For example, the game machine may act as a server machine that provides a mobile application to a mobile device. Additional details of the game machine are discussed below.
In
In
Also shown in
Additionally shown in
In
In
In
In
In
In
Example embodiments of the game machine 1110 are described below with respect to
The social media service server machine 1120 is configured to provide one or more social media services to various users (e.g., contributory users participating in a particular instance of a photographic social game). Examples of social media services include Facebook®, Flickr®, Twitter®, Picassa®, and MySpace®. The social media service server machine 1120 may support sharing of information (e.g., presentation 900) among a group of users of a social media service that is provided by the social media service server machine 1120.
Also shown in
Any of the machines, databases, or devices shown in
The network 1190 may be any network that enables communication between machines (e.g., game machine 1110 and the device 1130). Accordingly, the network 1190 may be a wired network, a wireless network (e.g., a cellular network), or any suitable combination thereof. The network 1190 may include one or more portions that constitute a private network (e.g., a commercial network for paying customers), a public network (e.g., the Internet), or any suitable combination thereof.
The game module 1210 is a module as described below with respect to
The communication module 1220 is a module as described below with respect to
As shown in
In operation 1320, the game module 1210 receives one or more images (e.g., a plurality of images) from the participating devices (e.g., devices 1130 and 1140) in response to the prompts being shown or caused to be shown by the participating devices in operation 1310. As noted above, each of the images may be generated by one of the participating devices subsequent to (e.g., in response to) one of the prompts being shown by that device.
In operation 1330, the game module 1210 generates the presentation (e.g., presentation 820 or presentation 900) of images based on (e.g., from) the one or more images received in operation 1320. The generating of the presentation may be in response to reception of the one or more images from the participating devices (e.g., devices 1130 and 1140).
In operation 1340, the communication module 1220 provides the presentation (e.g., presentation 820 or presentation 900) of images generated in operation 1330 to one or more of the participating devices (e.g., devices 1130 and 1140). For example, the communication module 1220 may communicate the presentation to the devices 1130 and 1140 using the network 1190.
As shown in
In operation 1410, the communication module 1220 provides instructions to one or more of the participating devices (e.g., devices 1130 and 1140). As noted above, the instructions may cause a participating device (e.g., device 1130) to show a prompt (e.g., prompt 610) related to contributing images for the photographic social game (e.g., a particular instance of the photographic social game). For example, the communication module 1220 may act as a server module that provides a mobile application (e.g., a mobile app) to the device 1130 for execution by the device 1130, and the mobile application, when executed by the device 1130, may cause the device 1130 to show the prompt in response to the performance of operation 1310 by the game module 1210.
In operation 1420, the communication module 1220 accesses communication activity data of a contributory user (e.g., a user participating in a particular instance of the photographic social game). An example of a contributory user may be the user 1132 of the device 1130, where the user 1132 has been invited to participate in a particular instance of the photographic social game (e.g., invited to contribute an image to the particular instance of the photographic social game). The communication activity data may be accessed from the social media service server machine 1120 (e.g., accessed from a database hosted by the social media service server machine 1120). Examples of the communication activity data include a calendar of the contributory user, data from digital content and tools used by the contributory user (e.g., email, instant messaging, or phones), global positioning system (GPS) data of the contributory user, and social media data of the contributory user. According to certain example embodiments, the performance of operation 1310 by the game module 1210 is based on the communication activity data accessed in operation 1420. For example, the game module 1210 may perform operation 1310 in response to the determination that the user 1132 has a particular context as determined from the communication activity data.
As noted above, the presentation (e.g., presentation 820 or presentation 900) generated in operation 1330 may take the form of a single image in which the images received in operation 1320 are arranged as a collage, a grid, a mosaic, or any suitable combination thereof. In operation 1430, the game module 1210 generates the presentation as a single image, where the single image may be a collage, a grid, a mosaic, or any suitable combination thereof.
In some example embodiments, the presentation (e.g., presentation 820 or presentation 900) generated in operation 1330 takes the form of an album in which the images received in operation 1320 are arranged in groups (e.g., as multiple sets of multiple images). In operation 1440, the game module 1210 generates the presentation as an album, in which the images are arranged in groups (e.g., sets).
In certain example embodiments, the presentation generated in operation 1330 takes the form of an electronic book in which the images received in operation 1320 are arranged as pages of the electronic book. In operation 1450, the game module 1210 generates the presentation as an electronic book, in which the images are arranged as pages of the book.
In various example embodiments, the presentation generated in operation 1330 takes the form of a slideshow in which the images received in operation 1320 are arranged as slides in the slideshow. In operation 1460, the game module 1210 generates the presentation as a slideshow, in which the images are arranged as slides.
According to some example embodiments, the presentation takes the form of a video in which the images received in operation 1320 appear (e.g., one at a time or several at a time). In operation 1470, the game module 1210 generates the presentation as a video, in which the images are shown as a sequence of images.
In operation 1480, the communication module 1220 communicates the presentation (e.g., presentation 820 or presentation 900) to the social media service server machine 1120. The social media service server machine 1120 may be providing a social media service to one or more contributory users (e.g., user 1142), one or more non-contributory users (e.g., user 1152), or any suitable combination thereof. Accordingly, operation 1480 may have the effect of sharing the presentation with one or more contributory users, one or more non-contributory users, or any suitable combination thereof.
As shown in
In operation 1510, the communication module 1220 receives a request to perform a communicating of invitations (e.g., a plurality of invitations) to one or more of various devices (e.g., devices 1130 and 1140). An example of these invitations is the invitation 510 discussed above with respect to
According to some example embodiments, one or more of the invitations (e.g., each of the invitations) specifies a topic for the images to be submitted by the contributory users (e.g., the images to be received by the game module 1210 in operation 1320). Hence, in these example embodiments, each of the images received in operation 1320 may be pertinent to the specified topic, and the presentation (e.g., presentation 820 or presentation 900) generated in operation 1330 may be pertinent to the specified topic.
According to certain example embodiments, one or more of the invitations (e.g., each of the invitations) specifies a particular time at which at least one of the images to be received in operation 1320 is to be generated by at least one of the participating devices (e.g., devices to be participating devices). For example, an invitation (e.g., invitation 510) may specify that a photograph is to be taken at 5:32 PM.
According to various example embodiments, one or more of the invitations (e.g., each invitation) specifies a particular event after which at least one of the images to be received in operation 1320 is to be generated by at least one of the participating devices (e.g., device 1130). For example, an invitation (e.g., invitation 510) may specify that a photograph is to be taken five minutes after waking up (e.g., after the user 1132 wakes up).
In operation 1520, the communication module 1220 communicates the invitations to the various devices (e.g., devices 1130 and 1140). Operation 1520 may be performed in response to the request received in operation 1510. Accordingly, the communication module 1220 may send the invitations to the users (e.g., user 1142) as requested in the request received in operation 1510.
In operation 1530, the communication module 1220 receives responses (e.g., a plurality of responses) to the invitations communicated in operation 1520. The responses may be received from one or more of the various devices (e.g., devices 1130 and 1140) discussed above with respect to operation 1510. Operation 1530 may be performed in response to the communicating of the invitations in operation 1520. In certain example embodiments, the performance of operation 1310 by the game module 1210 is based on the responses (e.g., affirmative responses) received in operation 1530. For example, the game module 1210 may perform operation 1310 by causing prompts (e.g., prompt 610) to appear only on participating devices (e.g., device 1130) that sent affirmative responses to the communication module in operation 1530.
For purposes of illustrating example embodiments, operations 1540-1590 are presently described in the example context of the devices 1130 and 1140 being participating devices that correspond to contributory users (e.g., users 1132 and 1142 respectively). Furthermore, the operations 1540-1590 are presently described in the example context of a device 1150 being a non-participating device that corresponds to a noncontributory user (e.g., user 1152). Within this example context, in the performance of operation 1320, the game module 1210 receives the image 910 generated by the device 1130 (e.g., as submitted by the user 1132) and receives the image 920 (e.g., a further image) generated by the device 1140 (e.g., as submitted by the user 1140). The images 910 and 920, as noted above with respect to
According to some example embodiments, the photographic social game, or a particular instance thereof, facilitates tagging the presentation 900 by contributory users. In operation 1540, the game module 1210 receives a descriptor (e.g., a tag) from the device 1130 as a submission of the user 1132. The descriptor describes the image (e.g., image 910) received from the device 1130 in operation 1320. For example, the user 1132 may be named “Ruth,” and the game module 1210 may receive the name “Ruth” as a submitted tag indicating that Ruth is the photographer who took the image 910 that appears within the presentation 900.
In operation 1550, the game module 1210 updates the presentation 900 based on the descriptor received in operation 1540. For example, the game module 1210 may add the descriptor to the presentation 900. Accordingly, the communication module 1220 may provide the updated presentation 900 in a manner similar to that described above with respect to operation 1340.
According to certain example embodiments, the photographic social game, or a particular instance thereof, involves a guessing game in which a contributory user attempts to guess who photographed one or more images (e.g., image 920) appearing in the presentation 900. In operation 1560, the game module 1210 receives an identifier (e.g., a name or username) from the device 1130, as a submission of the user 1132. The identifier identifies the user 1142, and the identifier is received as a guess (e.g., an assertion) that the user 1142 is the photographer who took the image 920 that appears within the presentation 900. This guess may be correct or incorrect.
In operation 1570, the game module 1210 updates a score (e.g., a stored value representing a number of points) of the user 1132. The score may be updated based on the identifier received as a submission of the user 1132 in operation 1560. For example, if the identifier is a correct guess, the score may be updated by increasing its value by a predetermined number of points or according to a predetermined formula for calculating the resulting value of the score. As another example, if the identifier is an incorrect guess, the score may be updated by decreasing its value by a predetermined number of points or according to a predetermined formula. In some example embodiments, an incorrect guess results in no change to the score of the user 1132.
According to various example embodiments, the photographic social game, or a particular instance thereof, involves receiving ratings of images (e.g., image 910) appearing in the presentation 900 and awarding points based on the received ratings. Ratings may be received by contributory users (e.g., user 1142), non-contributory users (e.g., user 1152), or any suitable combination thereof. For clarity, the present discussion of operations 1580 and 1590 focuses on a rating received from a non-contributory user. Certain example embodiments, however, support a rating received from a contributory user in a similar or analogous manner.
In operation 1580, the game module 1210 receives a rating from the device 1150 as a submission of the user 1152. The user 1152 is a non-contributory user who submitted none of the images received by the game module in operation 1320. In some example embodiments, the rating is indicative of a quality of the image 910 submitted by the user 1132 (e.g., a subjective indication of the quality of the image 910, as determined or opined by the user 1152). In various example embodiments, the rating is indicative of a quality of the presentation 900 generated by the game module 1210 (e.g., subjective indication of the quality of the presentation 900, as determined or opined by the user 1152). In various example embodiments, the rating indicates how much that a user 1152 likes or dislikes the image 910 or the presentation 900.
In operation 1590, the game module 1210 updates the score (e.g., the number of points) of the user 1132 based on the rating received in operation 1580. For example, where the rating indicates a quality of the image 910, the score of the user 1132 may be raised, left unchanged, or lowered as a reward or consequence of submitting the image 910 for this particular instance of the photographic social game. As another example, where the rating indicates a quality of the presentation 900, the score of the user 1132 may be raised, left unchanged, or lowered as a reward or consequence of participating in (e.g., contributing to) this particular instance of the photographic social game.
According to various example embodiments, one or more of the methodologies described herein may facilitate entertainment, amusement, competition, publicity, enjoyment, or any suitable combination thereof, for any number of users (e.g., users 1132, 1142, or 1152). In particular, one or more of the methodologies described herein may constitute all or part of a game (e.g., a social media game), all or part of a business method (e.g., a business method implemented using a machine), or both.
When these effects are considered in aggregate, one or more of the methodologies described herein may obviate a need for certain efforts or resources that otherwise would be involved in facilitating the entertainment, amusement, competition, publicity, enjoyment, or any suitable combination thereof, for various users. Effort and time expended by a game organizer in facilitating a particular instance of a photographic social game may be reduced by one or more of the methodologies described herein. Computing resources used by one or more machines, databases, or devices (e.g., within the network environment 1100) may similarly be reduced. Examples of such computing resources include processor cycles, network traffic, memory usage, data storage capacity, power consumption, and cooling capacity.
The machine 1600 includes a processor 1602 (e.g., a central processing unit (CPU), a graphics processing unit (GPU), a digital signal processor (DSP), an application specific integrated circuit (ASIC), a radio-frequency integrated circuit (RFIC), or any suitable combination thereof), a main memory 1604, and a static memory 1606, which are configured to communicate with each other via a bus 1608. The machine 1600 may further include a graphics display 1610 (e.g., a plasma display panel (PDP), a liquid crystal display (LCD), a projector, or a cathode ray tube (CRT)). The machine 1600 may also include an alphanumeric input device 1612 (e.g., a keyboard), a cursor control device 1614 (e.g., a mouse, a touchpad, a trackball, a joystick, a motion sensor, or other pointing instrument), a storage unit 1616, a signal generation device 1618 (e.g., a speaker), and a network interface device 1620 (e.g., communication module 1220).
The storage unit 1616 includes a machine-readable medium 1622 on which is stored the instructions 1624 (e.g., software) embodying any one or more of the methodologies or functions described herein. The instructions 1624 may also reside, completely or at least partially, within the main memory 1604, within the processor 1602 (e.g., within the processor's cache memory), or both, during execution thereof by the machine 1600. Accordingly, the main memory 1604 and the processor 1602 may be considered as machine-readable media. The instructions 1624 may be transmitted or received over a network 1626 (e.g., network 1190) via the network interface device 1620.
As used herein, the term “memory” refers to a machine-readable medium able to store data temporarily or permanently and may be taken to include, but not be limited to, random-access memory (RAM), read-only memory (ROM), buffer memory, flash memory, and cache memory. While the machine-readable medium 1622 is shown in an example embodiment to be a single medium, the term “machine-readable medium” should be taken to include a single medium or multiple media (e.g., a centralized or distributed database, or associated caches and servers) able to store instructions (e.g., instructions 1624). The term “machine-readable medium” shall also be taken to include any medium that is capable of storing instructions (e.g., software) for execution by the machine, such that the instructions, when executed by one or more processors of the machine (e.g., processor 1602), cause the machine to perform any one or more of the methodologies described herein. The term “machine-readable medium” shall accordingly be taken to include, but not be limited to, a data repository in the form of a solid-state memory, an optical medium, a magnetic medium, or any suitable combination thereof.
Throughout this specification, plural instances may implement components, operations, or structures described as a single instance. Although individual operations of one or more methods are illustrated and described as separate operations, one or more of the individual operations may be performed concurrently, and nothing requires that the operations be performed in the order illustrated. Structures and functionality presented as separate components in example configurations may be implemented as a combined structure or component. Similarly, structures and functionality presented as a single component may be implemented as separate components. These and other variations, modifications, additions, and improvements fall within the scope of the subject matter herein.
Certain embodiments are described herein as including logic or a number of components, modules, or mechanisms. Modules may constitute either software modules (e.g., code embodied on a machine-readable medium or in a transmission signal) or hardware modules. A “hardware module” is a tangible unit capable of performing certain operations and may be configured or arranged in a certain physical manner. In various example embodiments, one or more computer systems (e.g., a standalone computer system, a client computer system, or a server computer system) or one or more hardware modules of a computer system (e.g., a processor or a group of processors) may be configured by software (e.g., an application or application portion) as a hardware module that operates to perform certain operations as described herein.
In some embodiments, a hardware module may be implemented mechanically, electronically, or any suitable combination thereof. For example, a hardware module may include dedicated circuitry or logic that is permanently configured to perform certain operations. For example, a hardware module may be a special-purpose processor, such as a field programmable gate array (FPGA) or an ASIC. A hardware module may also include programmable logic or circuitry that is temporarily configured by software to perform certain operations. For example, a hardware module may include software encompassed within a general-purpose processor or other programmable processor. It will be appreciated that the decision to implement a hardware module mechanically, in dedicated and permanently configured circuitry, or in temporarily configured circuitry (e.g., configured by software) may be driven by cost and time considerations.
Accordingly, the term “hardware module” should be understood to encompass a tangible entity, be that an entity that is physically constructed, permanently configured (e.g., hardwired), or temporarily configured (e.g., programmed) to operate in a certain manner or to perform certain operations described herein. As used herein, “hardware-implemented module” refers to a hardware module. Considering embodiments in which hardware modules are temporarily configured (e.g., programmed), each of the hardware modules need not be configured or instantiated at any one instance in time. For example, where the hardware modules comprise a general-purpose processor configured by software to become a special-purpose processor, the general-purpose processor may be configured as respectively different hardware modules at different times. Software may accordingly configure a processor, for example, to constitute a particular hardware module at one instance of time and to constitute a different hardware module at a different instance of time.
Hardware modules can provide information to, and receive information from, other hardware modules. Accordingly, the described hardware modules may be regarded as being communicatively coupled. Where multiple hardware modules exist contemporaneously, communications may be achieved through signal transmission (e.g., over appropriate circuits and buses) between or among two or more of the hardware modules. In embodiments in which multiple hardware modules are configured or instantiated at different times, communications between such hardware modules may be achieved, for example, through the storage and retrieval of information in memory structures to which the multiple hardware modules have access. For example, one hardware module may perform an operation and store the output of that operation in a memory device to which it is communicatively coupled. A further hardware module may then, at a later time, access the memory device to retrieve and process the stored output. Hardware modules may also initiate communications with input or output devices, and can operate on a resource (e.g., a collection of information).
The various operations of example methods described herein may be performed, at least partially, by one or more processors that are temporarily configured (e.g., by software) or permanently configured to perform the relevant operations. Whether temporarily or permanently configured, such processors may constitute processor-implemented modules that operate to perform one or more operations or functions described herein. As used herein, “processor-implemented module” refers to a hardware module implemented using one or more processors.
Similarly, the methods described herein may be at least partially processor-implemented, a processor being an example of hardware. For example, at least some of the operations of a method may be performed by one or more processors or processor-implemented modules. Moreover, the one or more processors may also operate to support performance of the relevant operations in a “cloud computing” environment or as a “software as a service” (SaaS). For example, at least some of the operations may be performed by a group of computers (as examples of machines including processors), with these operations being accessible via a network (e.g., the Internet) and via one or more appropriate interfaces (e.g., an application program interface (API)).
The performance of certain of the operations may be distributed among the one or more processors, not only residing within a single machine, but deployed across a number of machines. In some example embodiments, the one or more processors or processor-implemented modules may be located in a single geographic location (e.g., within a home environment, an office environment, or a server farm). In other example embodiments, the one or more processors or processor-implemented modules may be distributed across a number of geographic locations.
Some portions of this specification are presented in terms of algorithms or symbolic representations of operations on data stored as bits or binary digital signals within a machine memory (e.g., a computer memory). These algorithms or symbolic representations are examples of techniques used by those of ordinary skill in the data processing arts to convey the substance of their work to others skilled in the art. As used herein, an “algorithm” is a self-consistent sequence of operations or similar processing leading to a desired result. In this context, algorithms and operations involve physical manipulation of physical quantities. Typically, but not necessarily, such quantities may take the form of electrical, magnetic, or optical signals capable of being stored, accessed, transferred, combined, compared, or otherwise manipulated by a machine. It is convenient at times, principally for reasons of common usage, to refer to such signals using words such as “data,” “content,” “bits,” “values,” “elements,” “symbols,” “characters,” “terms,” “numbers,” “numerals,” or the like. These words, however, are merely convenient labels and are to be associated with appropriate physical quantities.
Unless specifically stated otherwise, discussions herein using words such as “processing,” “computing,” “calculating,” “determining,” “presenting,” “displaying,” or the like may refer to actions or processes of a machine (e.g., a computer) that manipulates or transforms data represented as physical (e.g., electronic, magnetic, or optical) quantities within one or more memories (e.g., volatile memory, non-volatile memory, or any suitable combination thereof), registers, or other machine components that receive, store, transmit, or display information. Furthermore, unless specifically stated otherwise, the terms “a” or “an” are herein used, as is common in patent documents, to include one or more than one instance. Finally, as used herein, the conjunction “or” refers to a non-exclusive “or,” unless specifically stated otherwise.
This application claims the priority benefit of U.S. Provisional Application No. 61/366,463, filed Jul. 21, 2010, which is incorporated herein by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
61366463 | Jul 2010 | US |