US20250312681A1
2025-10-09
19/244,679
2025-06-20
Smart Summary: A new system combines exercise with gaming to make physical activity more fun. It allows users to enjoy games in different places and situations, rather than being stuck in one spot or using specific equipment. The gameplay changes based on how active the user is and their surroundings, making it more engaging while promoting health. This system also aims to prevent cheating in mobile games by working with exercise equipment. Overall, it enhances the gaming experience while encouraging users to stay active safely. 🚀 TL;DR
The integration of exercise and gaming is a growing trend, as evidenced by the popularity of interactive and virtual reality games that encourage physical activity. Existing systems often confine the user to a specific location or type of exercise equipment or user device and fail to extend the interactive experience to other environments in a cohesive manner. Various aspects of the present disclosure provide a gaming environment in which a user can experience different aspects of the environment based on the context via which the user is accessing the environment. The system may, for example, uniquely adapts game play to the context of the user's activity level and environment to enhance engagement and promote physical health without distracting from the primary activity or creating unsafe conditions for the user. Other embodiments may provide integration with physical exercise hardware to substantially eliminate spoofing and other cheating that plague some mobile games.
Get notified when new applications in this technology area are published.
A63B71/0622 » CPC main
Games or sports accessories not covered in groups -; Indicating or scoring devices for games or players, or for other sports activities; Displays, user interfaces and indicating devices, specially adapted for sport equipment, e.g. display mounted on treadmills Visual, audio or audio-visual systems for entertaining, instructing or motivating the user
A63B22/0023 » CPC further
Exercising apparatus specially adapted for conditioning the cardio-vascular system, for training agility or co-ordination of movements with an adjustable movement path of the support elements the inclination of the main axis of the movement path being adjustable, e.g. the inclination of an endless band
A63B22/02 » CPC further
Exercising apparatus specially adapted for conditioning the cardio-vascular system, for training agility or co-ordination of movements with movable endless bands, e.g. treadmills
A63B2071/0638 » CPC further
Games or sports accessories not covered in groups -; Indicating or scoring devices for games or players, or for other sports activities; Displays, user interfaces and indicating devices, specially adapted for sport equipment, e.g. display mounted on treadmills; Visual, audio or audio-visual systems for entertaining, instructing or motivating the user Displaying moving images of recorded environment, e.g. virtual environment
A63B2220/05 » CPC further
Measuring of physical parameters relating to sporting activity Image processing for measuring physical parameters
A63B2220/10 » CPC further
Measuring of physical parameters relating to sporting activity Positions
A63B2220/30 » CPC further
Measuring of physical parameters relating to sporting activity Speed
A63B2220/806 » CPC further
Measuring of physical parameters relating to sporting activity; Special sensors, transducers or devices therefor Video cameras
A63B71/06 IPC
Games or sports accessories not covered in groups - Indicating or scoring devices for games or players, or for other sports activities
A63B22/00 IPC
Exercising apparatus specially adapted for conditioning the cardio-vascular system, for training agility or co-ordination of movements
This application is a continuation-in-part of Ser. No. 18/902,061, filed Sep. 30, 2024, which is a continuation of U.S. patent application Ser. No. 17/962,900, filed Oct. 10, 2022, now U.S. Pat. No. 12,102,903, issued Oct. 1, 2024, which is a continuation of U.S. patent application Ser. No. 17/468,171, filed Sep. 7, 2021, now U.S. Pat. No. 11,465,031, issued Oct. 11, 2022, which claims the benefit of U.S. Provisional Patent Application Ser. No. 63/079,240, filed Sep. 16, 2020, U.S. Provisional Patent Application Ser. No. 63/114,251, filed Nov. 16, 2020, U.S. Provisional Patent Application Ser. No. 63/142,671, filed Jan. 28, 2021, and U.S. Provisional Patent Application Ser. No. 63/182,349, filed Apr. 30, 2021; this application also claims the benefit of U.S. Provisional Patent Application Ser. No. 63/662,084, filed Jun. 20, 2024, the disclosures of which are hereby incorporated herein by reference in their entirety.
Online gaming has grown in popularity as users seek exercise and other equipment and gameplay that offer new features. Accordingly, there is a need for improved systems and methods that address these and other needs.
A method, in various embodiments, comprises: (1) providing, by computing hardware, a virtual gaming environment having a set of features accessible via the virtual gaming environment; (2) identifying, by the computing hardware, a user computing device accessing the virtual gaming environment; (3) determining, by the computing hardware, a user context for a user of the user computing device; (4) modifying, based on a type of the user computing device and the user context, the set of features to exclude at least a first portion of the set of features from the set of features accessible via the virtual gaming environment; generating, by the computing hardware, a customized user interface for accessing the virtual gaming environment, the customized user interface being defined by the modified set of features; and providing, by the computing hardware, the customized user interface for display on the user computing device. In some embodiments, modifying the set of features further comprises modifying, based on a type of the user computing device and the user context, a type of interaction with the virtual gaming environment available to the user that is associated with at least one feature of the set of features.
In some embodiments, the type of the user computing device comprises at least one of: a mobile computing device; a connected exercise device; or a non-mobile computing device. In various embodiments, the type of the user computing device comprises the connected exercise device, and the method further comprises: accessing, by the computing hardware, sensor data from a sensor of the connected exercise device; using, by the computing hardware, the sensor data to confirm a presence of the user on the connected exercise device; and responsive to confirming the presence of the user on the connected exercise device, providing access to the customized user interface for accessing the virtual gaming environment to the user via the connected exercise device. In some embodiments, the method comprises, responsive to failing to confirm the presence of the user on the connected exercise device, modifying the set of features to exclude at least a second portion of the set of features from the set of features accessible via the virtual gaming environment. In some embodiments, the method includes receiving, by the computing hardware, inputs via the connected exercise device; monitoring, by the computing hardware via the sensor data, a continuous current presence of the user during the inputs; and responsive to failing to confirm the present of the user during any one of the inputs, restricting, by the computing hardware, the connected exercise device from providing user input.
In some embodiments, the user context includes at least one of a current location of the user; a rate of movement of the user; a relative location of the user with respect to one or more potential hazards; a population density associated with the current location of the user; or a location type associated with the current location of the user.
A method, in some embodiments, comprises (1) providing, by computing hardware, a gaming environment for access on a user device; (2) modifying, by the computing hardware, the gaming environment between at least two modes based on a type of the user device; (3) determining, by the computing hardware, user context data for a user of the user device; and (4) modifying, by the computing hardware, at least one of the gaming environment or a current mode of the at least two modes based on the user context. In some embodiments, the gaming environment comprises a set of game mechanics; the at least two modes comprise a first mode and a second mode; the first mode provides access to a first portion of the set of game mechanics; and the second mode provides access to a second portion of the set of game mechanics.
In some embodiments, the user context comprises a type of the user device; and the type of the user device comprises at least one of a mobile computing device or a connected exercise device. In various embodiments, determining the user context comprises receiving sensor data from the user device and using the sensor data to confirm a physical presence of the user at the user device. In particular embodiments, modifying, by the computing hardware, at least one of the gaming environment or the current mode of the at least two modes based on the user context comprises restricting at least a portion of the game mechanics in response to failing to confirm the physical presence of the user at the user device.
In particular embodiments, restricting at least a portion of the game mechanics in response to failing to confirm the physical presence of the user at the user device comprises restricting at least one of an ability to access one or more rewards within the gaming environment, a feature within the gaming environment, or an ability to accumulate points within the gaming environment.
A gaming experience modification system, in various embodiments, comprises: a non-transitory computer-readable medium storing instructions; a physical exercise hardware device configured to interact directly with gameplay mechanics in a virtual gaming environment; and processing hardware communicatively coupled to the non-transitory computer-readable medium and the physical exercise hardware device. In some embodiments, the processing hardware is configured to execute the instructions and thereby perform operations comprising: providing the virtual gaming environment; receiving sensor data from the physical exercise hardware device; using the sensor data to substantially continuously authenticate a physical presence of a user; in response to failing to authenticate the physical present of the user, modifying, the gameplay mechanics to exclude at least a first portion of the gameplay mechanics; generating a customized user interface for accessing the virtual gaming environment, the customized user interface being defined by the modified gameplay mechanics; and providing the customized user interface for display on a user computing device.
In some embodiments, the user computing device is a mobile computing device; the gaming experience modification system comprises the mobile computing device; and the customized user interface is configured to provide access, via the mobile computing device, to the to the virtual gaming environment with the modified gameplay mechanics.
In some embodiments, the operations further comprise: receiving, form the mobile computing device, a user context for the user; and modifying, based on the user context, the modified gameplay mechanics exclude at least a second portion of the gameplay mechanics. In some embodiments, the physical exercise hardware device comprises at least one imaging device; the sensor data comprises imaging data receives form the at least one imaging device; and using the sensor data to substantially continuously authenticate the physical presence of the user comprises using the imaging data to authenticate a biometric signature of the user. In various embodiments, the operations further comprising using authentication of the biometric signature of the user to ensure that user interactions with the gameplay mechanics are authentic to substantially prevent spoofing and false interactions.
In the course of this description, reference will be made to the accompanying drawings, which are not necessarily drawn to scale, and wherein:
FIG. 1 depicts an example of a computing environment that can be used for providing customized, context-based gamine experiences in accordance with various aspects of the present disclosure;
FIG. 2 depicts an example of a process for modifying and customizing a computerized gaming experience according to device type and user context;
FIGS. 3-8 depict exemplary user interfaces that a user may encounter in the context of various aspects of the system described herein.
FIG. 9 depicts an example of a system architecture that may be used in accordance with various aspects of the present disclosure;
FIG. 10 depicts an example of a computing entity that may be used in accordance with various aspects of the present disclosure;
FIG. 11 depicts an exemplary treadmill (e.g., exercise device) according to particular embodiments;
FIG. 12 depicts a terrain simulation module, which may, for example, receive data and control one or more operations of an exercise system (e.g., such as in the context of a treadmill system or bicycle riding system described herein);
FIG. 13 depicts an exemplary skeletal mapping of a treadmill user, which may, for example, be generated by the system using one or more imaging devices, and used in the identification of one or more gestures made by the user;
FIG. 14 depicts a diagrammatic representation of a user gait and stride length determination made by the system for use in various implementations of the system;
FIG. 15 depicts a treadmill according to other embodiments in which a pivot point enabling an incline and/or decline of the treadmill is positioned in a more central location; and
FIG. 16 depicts additional embodiments of a treadmill having a central pivot point at varying levels of incline.
Various embodiments now will be described more fully hereinafter with reference to the accompanying drawings. It should be understood that the invention may be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the invention to those skilled in the art. Like numbers refer to like elements throughout.
The integration of exercise and gaming is a growing trend, as evidenced by the popularity of interactive and virtual reality games that encourage physical activity. However, existing systems often confine the user to a specific location or type of exercise equipment or user device and fail to extend the interactive experience to various daily activities and environments in a cohesive manner. Various aspects of the present disclosure provide a gaming environment in which a user can experience different aspects of the environment based on the context via which the user is accessing the environment (e.g., based on device type, what the user is doing while accessing device, based on data associated with the user, etc.). In this way, a user can play a particular game in a particular environment regardless of how the user is accessing the gaming environment, with the features available to the user in any given context modified based on that context. Various aspects of the present disclosure enable a seamless gaming experience that incorporates indoor exercise equipment, such as treadmills or bikes, with outdoor activities and other virtual environments when accessed via a user computing device or otherwise. Various embodiments of the system may, for example, uniquely adapts game play to the context of the user's activity level and environment to enhance engagement and promote physical health without distracting from the primary activity or creating unsafe conditions for the user.
In particular aspects, the system may include various gaming modes, which may vary based on a user context. In some aspects, each mode is further modified/customized to the user based on the user context, location, device type, and other data associated with the user. In some embodiments the system may, for example, provide a gaming environment accessible via a first mode (e.g., an exercise mode). In the first mode, the user may engage with the game interface using exercise device and/or equipment 1000 (such as those described herein). In particular aspects, in the first mode, game elements may be synchronized with the user's exercise intensity and type (e.g., speed, incline, heart rate, calorie goals, etc.). Such factors may, for example, influence game dynamics such as character speed, endurance health, etc. The factors may further influence options available to a user (e.g., run away from an enemy vs. walk away from an enemy vs. stay and fight an enemy) based on whether performing such actions might be physically detrimental to the user in real life (e.g., because the user has already run a certain distance, so requiring further running may over-fatigue them, etc.).
In still a second mode (e.g., a stationary mode), a user accessing the gaming environment via a personal computer, gaming system, mobile device etc. may experience different aspects of the game. For example, in this mode, the system may enable access to certain puzzles, riddles, research tasks and other features that require different input types and may be unsafe or difficult to perform while also exercising. In still a third mode (e.g., transitional mode), the system may provide a different user experience for users that are accessing the gaming environment from a mobile device in a non-fixed context (e.g., walking around outside). In such aspects, the game may provide access to more passive features that may reduce or minimize distractions. In such a mode, the system may modify a user's character based on real-world physical data (e.g., ascertained from one or more sensors) such as the user's location, heart rate, elevation, movement rate, etc.). In this mode, the game may provide more voice commands to limit time looking at the screen. The game may further modify available interactions based on the user context, for example by: (1) making running away an available option for a user in a park; but (2) removing running away as an option when a user is near a road. In some aspects, the system may access user health metrics (such as resting heart rate, sleep data, meal data, exercise data, etc.) to modify a user's in game characteristics and achievements (e.g., increase the user's health after a good night sleep, etc.).
In various aspects, the system may promote physical health through a gaming interface that seamlessly integrates with user activities and their surrounding environment. In particular embodiment, the interaction may encourage continual engagement with the gaming environment, while promoting a healthy lifestyle through incentivizing real-world physical activities.
In various other embodiments, the system may provide anti-cheating/anti-spoofing features. For example, various mobile games provide certain rewards and features in certain geographic locations that require the user to be physically located in the location to access those features/rewards. So users may, for example, spoof their location to ‘cheat’ the game and acquire and access features and rewards without being in the required location. In some embodiments, the system may integrate with one or more sensors (e.g., imaging devices, heart rate monitors, etc.) to ensure that the user is actually performing the required activity to access such features and/or rewards. In some embodiments, the system may use a camera integrated into a piece of connected exercise equipment to confirm that a user is physically using the device. The system may further perform biometric analysis on the user (e.g., analyzing their heart rate, breathing, performance, appearance, and other metrics) to confirm that it is the actual user performing certain actions (e.g., rather than a third party). In some embodiments, the system may limit the user's access, within the gaming environment, to particular game mechanics (e.g., scoring, rewards, features, etc.) if the system is unable to confirm the user's actual performance of the activities, actual presence in a required location, actual current use of a required exercise device, etc.
FIG. 1 depicts an example of a computing environment that can be used for providing customized, context-based gamine experiences. In various aspects, a context-based gaming modification computing system 100 is provided within the computing environment that includes software components and/or hardware components to facilitate modification of gaming features based on user context and other factors. For instance, the context-based gaming modification computing system 100 may provide a gaming environment or other service that is accessible over one or more networks 150 (e.g., the Internet) by a user accessing a user application 122 on a user computing device 120. In other aspects, the context-based gaming modification computing system 100 may provide such platforms for users of an exercise device 1000. The exercise device may include, for example, a display device 1005, one or more imaging devices 900, etc. In some aspects, the context-based gaming modification computing system 100 may be accessible via a suitable user interface 1010 on the display device 1005. In some embodiments, the exercise device may include any suitable exercise device (e.g., bike, treadmill, rowing machine, etc.), such as any exercise device described in U.S. Pat. No. 11,465,031, issued Oct. 11, 2022, entitled “Ambulation systems, terrain simulation systems, treadmill systems, and related systems and methods,” which is hereby incorporated herein in its entirety.
Here, the context-based gaming modification computing system 100 may provide the user computing device 120 (e.g., or exercise device 1000 such as a connected exercise device) with one or more graphical user interfaces (e.g., webpages, software applications, etc.) through the service to access context-based gaming modification computing system 100. The user may use the service in performing functionality associated with accessing a virtual gaming environment in which the accessible features vary based on user context. For example, the context-based gaming modification computing system 100 may provide customized user interfaces that are specific to the context in which the user is accessing the system. In this way, context-based gaming modification computing system 100 may provide graphical user interfaces that provide greater safety and utility to the user accessing the system, in light of the manner in which the user is accessing it.
In addition to the graphical user interfaces, the context-based gaming modification computing system 100 may include one or more interfaces (e.g., application programming interfaces (APIs)) for communicating and/or accessing the third party computing system(s) 170 over the network(s) 150. For instance, the context-based gaming modification computing system 100 may access a third party computing system 170 via one of the interfaces to access user data, sensor data, or third party computing component data for providing more user-specific access the gaming environment and features. For example, the context-based gaming modification computing system 100 may access a third party computing system 170 that stores heart rate data, fitness data, location data, or other user-specific data that may affect the set of available features to the user in a given context (e.g., or as the user context changes as the user switches devices, becomes fatigued, etc.).
In some instances, the context-based gaming modification computing system 100 may include one or more repositories 140 that can be used for storing data related to the user, such as device data, profile data, and other data related to user context, etc. In other aspects, the one or more repositories 140 may store data related to available sets of features within the gamin environment, user avatar data, etc.
In some aspects, the context-based gaming modification computing system 100 executes a Context-Based Gaming Modification Module 200 to generate customized, user-specific instances of a gaming environment based on user context. The Context-Based Gaming Modification Module 200 may be configured determine data related to user context and modify a set of available features and interactions based on the context data.
Further detail is provided below regarding the configuration and functionality of the Context-Based Gaming Modification Module 200 according to various aspects of the disclosure.
The number of devices depicted in FIG. 1 are provided for illustrative purposes. In some aspects, different number of devices may be used. In various aspects, for example, while certain devices or systems are shown as single devices in FIG. 1, multiple devices may instead be used to implement these devices or systems.
In some aspects, the context-based gaming modification computing system 100 can include one or more third-party devices such as, for example, one or more servers operating in a distributed manner. The context-based gaming modification computing system 100 can include any computing device or group of computing devices, and/or one or more server devices.
Although the data repository 140 is shown as a single component, these components 140 may include, in other aspects, a single server and/or repository, servers and/or repositories, one or more cloud-based servers and/or repositories, or any other suitable configuration.
Turning now to FIG. 2, additional details are provided regarding a Context-Based Gaming Modification Module 200. For instance, the flow diagram shown in FIG. 2 may correspond to operations executed by computing hardware found in the context-based gaming modification computing system 100 as it executes the Context-Based Gaming Modification Module 200.
At operation 202, the Context-Based Gaming Modification Module 200 provides a virtual gaming environment. The gaming environment may include one or more game characters and a set of features and available interactions with the characters and in game objects. In some embodiments, the environment may include a virtual terrain, such as discussed herein, to enable a user to traverse through the terrain through system inputs. In some embodiments, the virtual game environment includes a set of game mechanics. The set of game mechanics may define available rewards, scoring features, interactive elements, and other suitable features through which a user can interact with, earn rewards from, or otherwise perform activities within the environment. The user may also interact with other users through one or more game mechanics in the virtual environment.
At operations 204, the system identifies a user computing device accessing the virtual gaming environment. In some aspects the identification may include determining a type of device from which the user is accessing the gaming environment. The system may use the device type (e.g., exercise device, computing device, mobile device, etc.) to select among a plurality of game modes within the gaming environment for presenting to the user.
In some embodiments the system may, for example, provide a gaming environment accessible via a first mode (e.g., an exercise mode). In the first mode, the user may engage with the game interface using exercise equipment 1000 (such as those described herein). In particular aspects, in the first mode, game elements may be synchronized with the user's exercise intensity and type (e.g., speed, incline, heart rate, calorie goals, etc.). Such factors may, for example, influence game dynamics such as character speed, endurance health, etc. The factors may further influence options available to a user (e.g., run away from an enemy vs. walk away from an enemy vs. stay and fight an enemy) based on whether performing such actions might be physically detrimental to the user in real life (e.g., because the user has already run a certain distance, so requiring further running may over-fatigue them, etc.).
In some embodiments, the virtual gaming environment is modified through integration of physical exercise hardware. The may, for example, creates a tightly coupled, controlled interaction environment, drastically reducing the ability to spoof or cheat, as opposed to mobile-only AR that utilize GPS and other features that a user may spoof. In this way, in order to compete in the gaming environment, the user must actually be physically present on the exercise equipment to provide the inputs to the game.
In further embodiments, Skeletal tracking through camera-based sensors (described more fully herein) may provide a robust biometric verification layer. Such tracking may enable detection of actual user presence, motion patterns, and genuine physical effort, making virtual spoofing or falsified gameplay extremely difficult or impossible.
In still a second mode (e.g., a stationary mode), a user accessing the gaming environment via a personal computer, gaming system, mobile device etc. may experience different aspects of the game. For example, in this mode, the system may enable access to certain puzzles, riddles, research tasks and other features that require different input types and may be unsafe or difficult to perform while also exercising. In still a third mode (e.g., transitional mode), the system may provide a different user experience for users that are accessing the gaming environment from a mobile device in a non-fixed context (e.g., walking around outside). In such aspects, the game may provide access to more passive features that may reduce or minimize distractions. In such a mode, the system may modify a user's character based on real-world physical data (e.g., ascertained from one or more sensors) such as the user's location, heart rate, elevation, movement rate, etc.). In this mode, the game may provide more voice commands to limit time looking at the screen. The game may further modify available interactions based on the user context, for example by: (1) making running away an available option for a user in a park; but (2) removing running away as an option when a user is near a road. In some aspects, the system may access user health metrics (such as resting heart rate, sleep data, meal data, exercise data, etc.) to modify a user's in-game characteristics and achievements (e.g., increase the user's health after a good night sleep, etc.).
Returning to operation 206, the system may determine user context data for a user of the computing device. In some aspects, the user context may include, for example: (1) a location of the user; (2) an environment type associated with the location (e.g., rural, urban, park, city, sidewalk, neighborhood, field, etc.); (3) a heart rate of the user; (4) a speed of the user; (5) a stationary status of the user; (6) a direction of the user; (7) an incline at a location of the user; (8) an incline of an exercise device of the user; (8) sensor data for the user (e.g., sleep data, heart rate, calorie burn, etc.); (9) a number of players playing with the user; and/or (10) any other suitable context data related to a property of the user, and/or where and how the user is accessing the gaming environment.
The user context data may further indicate sensor data used to confirm that the user is actually present at the particular device, actually using the particular device, actually using the particular device in the manner required (e.g., performing the exercise, exerting enough effort, etc.).
At operation 208, the system is configured to modify, based on the type of computing device and/or the user context, a set of features available via the gaming environment. The system may, for example, modify a manner in which the user accesses certain items (e.g., the user may gain health by performing physical activity or sleeping in one mode, or gain health by finding health items in a second mode such as a stationary mode). In other aspects, the system may modify a type of interaction the user can have with an object in the game. For example, when encountering an enemy in one mode, the system may enable the user to run away by physically running (e.g., outside when safe, or on a treadmill or other exercise device). When encountering the enemy in a second mode, the user may only have the option to attack the enemy or do some other action that only requires computing device input rather than physical activity. In determining a user context that is near a busy road or other crowded area, the system may remove options related to performing physical movement that could be dangers to the user or others near the user. The system may enable such activities if the system determines the user is in a park or field, or somewhere that moving is safer for the user and others.
The modification may include, for example: (1) including or excluding certain game features (e.g., because the features are not safe, not possible, or don't make sense in a given context; (2) adding or removing certain game objects that user can interact with; (3) modifying a manner in which a user can interact with particular objects; (4) adding or removing certain game characters that the user can interact with; (5) modifying a manner in which a user can interact with particular characters; (6) modifying one or more statistics and/or characteristics of the user's avatar in the environment (e.g., health, strength, available actions to perform, etc.); (7) modifying a manner in which the user traverses the environment; (8) etc.
In some aspects, the system may utilize one or more machine learning and/or artificial intelligence techniques to modify available features in different contexts. The system may, for example, receive feedback data related to safety incidents during certain game conditions. The system may, for example, use such incident data and associated user context data to train a machine learning model for determining particular game features to remove in particular contexts (i.e., to remove dangerous features during those contexts).
At operation 210, the system generates a customized user interface for accessing the virtual environment. The system may, for example, generate a customized instance of the gaming environment that takes into account the various user context data (i.e., by modifying the gaming environment and available features specific to the user's context). In this way, any individual user may experience a unique gaming environment with a customized set of features that are modified initially based on their device type and context (e.g., mode) and further modified based on additional context data (i.e., as the user context changes during the user's play). If the user is initially walking around a park, for example, the system context and mode may change if the user sits down and begins stationary play. The system then provides, at operation 212, the customized user interface for display on the user computing device.
In some embodiments, the system further integrates biometric verification with hardware (e.g., exercise equipment) to provide anti-cheating measures. The system may, for examples, use biometric verification to confirm that the user is actually using the identified device in the manner consistent with a particular current mode. In response to failing to confirm the user, the system may further limit access to particular game mechanics, modify game mechanics, etc.
For illustrative purposes, the Context-Based Gaming Modification Module 200 is described with reference to implementations described above with respect to one or more examples described herein. Other implementations, however, are possible. In some aspects, the steps in FIG. 2 may be implemented in program code that is executed by one or more computing devices such as the context-based gaming modification computing system 100, the user device 120, or other system in FIG. 1. In some aspects, one or more operations shown in FIG. 2 may be omitted or performed in a different order. Similarly, additional operations not shown in FIG. 2 may be performed.
FIGS. 3-8 depict exemplary screen displays that a user may encounter in the context of the system, including particular exemplary screen displays that depict customized versions of a gaming environment that have been customized based on user context (e.g., including both user-based context modifications and/or device-based context modifications). As shown in these figures, accessing the virtual environment from a mobile device provides a different environment than a larger-screen device. Different options are available via different interfaces (e.g., user speed and direction are available in some contexts, while the system tracks other data in others such as loot box collection).
Aspects of the present disclosure may be implemented in various ways, including as computer program products that comprise articles of manufacture. Such computer program products may include one or more software components including, for example, software objects, methods, data structures, and/or the like. A software component may be coded in any of a variety of programming languages. An illustrative programming language may be a lower-level programming language such as an assembly language associated with a particular hardware architecture and/or operating system platform. A software component comprising assembly language instructions may require conversion into executable machine code by an assembler prior to execution by the hardware architecture and/or platform. Another example programming language may be a higher-level programming language that may be portable across multiple architectures. A software component comprising higher-level programming language instructions may require conversion to an intermediate representation by an interpreter or a compiler prior to execution.
Other examples of programming languages include, but are not limited to, a macro language, a shell or command language, a job control language, a script language, a database query, or search language, and/or a report writing language. In one or more example aspects, a software component comprising instructions in one of the foregoing examples of programming languages may be executed directly by an operating system or other software component without having to be first transformed into another form. A software component may be stored as a file or other data storage construct. Software components of a similar type or functionally related may be stored together such as, for example, in a particular directory, folder, or library. Software components may be static (e.g., pre-established, or fixed) or dynamic (e.g., created or modified at the time of execution).
A computer program product may include a non-transitory computer-readable storage medium storing applications, programs, program modules, scripts, source code, program code, object code, byte code, compiled code, interpreted code, machine code, executable instructions, and/or the like (also referred to herein as executable instructions, instructions for execution, computer program products, program code, and/or similar terms used herein interchangeably). Such non-transitory computer-readable storage media include all computer-readable media (including volatile and non-volatile media).
In some aspects, a non-volatile computer-readable storage medium may include a floppy disk, flexible disk, hard disk, solid-state storage (SSS) (e.g., a solid-state drive (SSD), solid state card (SSC), solid state module (SSM)), enterprise flash drive, magnetic tape, or any other non-transitory magnetic medium, and/or the like. A non-volatile computer-readable storage medium may also include a punch card, paper tape, optical mark sheet (or any other physical medium with patterns of holes or other optically recognizable indicia), compact disc read only memory (CD-ROM), compact disc-rewritable (CD-RW), digital versatile disc (DVD), Blu-ray disc (BD), any other non-transitory optical medium, and/or the like. Such a non-volatile computer-readable storage medium may also include read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), flash memory (e.g., Serial, NAND, NOR, and/or the like), multimedia memory cards (MMC), secure digital (SD) memory cards, SmartMedia cards, CompactFlash (CF) cards, Memory Sticks, and/or the like. Further, a non-volatile computer-readable storage medium may also include conductive-bridging random access memory (CBRAM), phase-change random access memory (PRAM), ferroelectric random-access memory (FeRAM), non-volatile random-access memory (NVRAM), magnetoresistive random-access memory (MRAM), resistive random-access memory (RRAM), Silicon-Oxide-Nitride-Oxide-Silicon memory (SONOS), floating junction gate random access memory (FJG RAM), Millipede memory, racetrack memory, and/or the like.
In some aspects, a volatile computer-readable storage medium may include random access memory (RAM), dynamic random access memory (DRAM), static random access memory (SRAM), fast page mode dynamic random access memory (FPM DRAM), extended data-out dynamic random access memory (EDO DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), double data rate type two synchronous dynamic random access memory (DDR2 SDRAM), double data rate type three synchronous dynamic random access memory (DDR3 SDRAM), Rambus dynamic random access memory (RDRAM), Twin Transistor RAM (TTRAM), Thyristor RAM (T-RAM), Zero-capacitor (Z-RAM), Rambus in-line memory module (RIMM), dual in-line memory module (DIMM), single in-line memory module (SIMM), video random access memory (VRAM), cache memory (including various levels), flash memory, register memory, and/or the like. It will be appreciated that where various aspects are described to use a computer-readable storage medium, other types of computer-readable storage media may be substituted for or used in addition to the computer-readable storage media described above.
Various aspects of the present disclosure may also be implemented as methods, apparatuses, systems, computing devices, computing entities, and/or the like. As such, various aspects of the present disclosure may take the form of a data structure, apparatus, system, computing device, computing entity, and/or the like executing instructions stored on a computer-readable storage medium to perform certain steps or operations. Thus, various aspects of the present disclosure also may take the form of entirely hardware, entirely computer program product, and/or a combination of computer program product and hardware performing certain steps or operations.
Various aspects of the present disclosure are described below with reference to block diagrams and flowchart illustrations. Thus, each block of the block diagrams and flowchart illustrations may be implemented in the form of a computer program product, an entirely hardware aspect, a combination of hardware and computer program products, and/or apparatuses, systems, computing devices, computing entities, and/or the like carrying out instructions, operations, steps, and similar words used interchangeably (e.g., the executable instructions, instructions for execution, program code, and/or the like) on a computer-readable storage medium for execution. For example, retrieval, loading, and execution of code may be performed sequentially such that one instruction is retrieved, loaded, and executed at a time. In some examples of aspects, retrieval, loading, and/or execution may be performed in parallel such that multiple instructions are retrieved, loaded, and/or executed together. Thus, such aspects can produce specially configured machines performing the steps or operations specified in the block diagrams and flowchart illustrations. Accordingly, the block diagrams and flowchart illustrations support various combinations of aspects for performing the specified instructions, operations, or steps.
FIG. 9 is a block diagram of an example of a system architecture 1700 that can be used for modifying gaming systems based on user context as described herein. As may be understood from FIG. 9, the system architecture 1700 in some aspects may include a context-based gaming modification computing system 100 that comprises one or more servers 1702 and a data repository 140. The data repository 140 may be made up of computing components such as servers, routers, data storage, networks, and/or the like that are used on the context-based gaming modification computing system 100 to store user data, context data, and gaming data.
As previously noted, the context-based gaming modification computing system 100 may provide gaming environment access over one or more networks 150. Here, a user may access the service via a user device 120. For example, the context-based gaming modification computing system 100 may provide the service through a website that is accessible to the user device 120 or exercise device 1000 via the one or more networks 150.
The server(s) 1702 may execute the various system modules as described herein. Further, according to particular aspects, the server(s) 1702 may provide one or more graphical user interfaces (e.g., one or more webpages, webform, and/or the like through the website) through which users can interact with the context-based gaming modification computing system 100. Furthermore, the server(s) 1702 may provide one or more interfaces that allow context-based gaming modification computing system 100 to communicate with third-party computing system(s) 130 such as one or more suitable application programming interfaces (APIs), direct connections, and/or the like.
FIG. 10 illustrates a diagrammatic representation of a computing hardware device 1800 that may be used in accordance with various aspects. For example, the hardware device 1800 may be computing hardware such as a server 1702 as described in FIG. 9. According to particular aspects, the hardware device 1800 may be connected (e.g., networked) to one or more other computing entities, storage devices, and/or the like via one or more networks such as, for example, a LAN, an intranet, an extranet, and/or the Internet. As noted above, the hardware device 1800 may operate in the capacity of a server and/or a client device in a client-server network environment, or as a peer computing device in a peer-to-peer (or distributed) network environment. In some aspects, the hardware device 1800 may be a personal computer (PC), a tablet PC, a set-top box (STB), a Personal Digital Assistant (PDA), a mobile device (smartphone), a web appliance, a server, a network router, a switch or bridge, or any other device capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken by that device. Further, while only a single hardware device 1800 is illustrated, the term “hardware device,” “computing hardware,” and/or the like shall also be taken to include any collection of computing entities that individually or jointly execute a set (or multiple sets) of instructions to perform any one or more of the methodologies discussed herein.
A hardware device 1800 includes a processor 1802, a main memory 1804 (e.g., read-only memory (ROM), flash memory, dynamic random-access memory (DRAM) such as synchronous DRAM (SDRAM), Rambus DRAM (RDRAM), and/or the like), a static memory 1806 (e.g., flash memory, static random-access memory (SRAM), and/or the like), and a data storage device 1818, that communicate with each other via a bus 1832.
The processor 1802 may represent one or more general-purpose processing devices such as a microprocessor, a central processing unit, and/or the like. According to some aspects, the processor 1802 may be a complex instruction set computing (CISC) microprocessor, reduced instruction set computing (RISC) microprocessor, very long instruction word (VLIW) microprocessor, a processor implementing other instruction sets, processors implementing a combination of instruction sets, and/or the like. According to some aspects, the processor 1802 may be one or more special-purpose processing devices such as an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), a digital signal processor (DSP), network processor, and/or the like. The processor 1802 can execute processing logic 1826 for performing various operations and/or steps described herein.
The hardware device 1800 may further include a network interface device 1808, as well as a video display unit 1810 (e.g., a liquid crystal display (LCD), a cathode ray tube (CRT), and/or the like), an alphanumeric input device 1812 (e.g., a keyboard), a cursor control device1 1814 (e.g., a mouse, a trackpad), and/or a signal generation device 1816 (e.g., a speaker). The hardware device 1800 may further include a data storage device 1818. The data storage device 1818 may include a non-transitory computer-readable storage medium 1830 (also known as a non-transitory computer-readable storage medium or a non-transitory computer-readable medium) on which is stored one or more modules 1822 (e.g., sets of software instructions) embodying any one or more of the methodologies or functions described herein. For instance, according to particular aspects, the modules 1822 include the Context-Based Gaming Modification Module 200 as described herein. The one or more modules 1822 may also reside, completely or at least partially, within main memory 1804 and/or within the processor 1802 during execution thereof by the hardware device 1800-main memory 1804 and processor 1802 also constituting computer-accessible storage media. The one or more modules 1822 may further be transmitted or received over a network 150 via the network interface device 1808.
While the computer-readable storage medium 1830 is shown to be a single medium, the terms “computer-readable storage medium” and “machine-accessible storage medium” should be understood to include a single medium or multiple media (e.g., a centralized or distributed database, and/or associated caches and servers) that store the one or more sets of instructions. The term “computer-readable storage medium” should also be understood to include any medium that is capable of storing, encoding, and/or carrying a set of instructions for execution by the hardware device 1800 and that causes the hardware device 1800 to perform any one or more of the methodologies of the present disclosure. The term “computer-readable storage medium” should accordingly be understood to include, but not be limited to, solid-state memories, optical and magnetic media, and/or the like.
The logical operations described herein may be implemented (1) as a sequence of computer implemented acts or one or more program modules running on a computing system and/or (2) as interconnected machine logic circuits or circuit modules within the computing system. The implementation is a matter of choice dependent on the performance and other requirements of the computing system. Accordingly, the logical operations described herein are referred to variously as states, operations, steps, structural devices, acts, or modules. These states, operations, steps, structural devices, acts, and modules may be implemented in software, in firmware, in special purpose digital logic, and any combination thereof. Greater or fewer operations may be performed than shown in the figures and described herein. These operations also may be performed in a different order than those described herein.
As may be understood in light of this disclosure, a treadmill system 1000 may include a treadmill 800, which may, for example, include a display device 210 and one or more imaging devices 900 (e.g., and/or any suitable input device or combination of input devices). In particular embodiments, the treadmill 800 may include any suitable treadmill, which may, for example, comprise any suitable belt-driven simulated running surface.
In particular embodiments, any treadmill system described herein (e.g., as discussed herein) may be integrated into a virtual terrain simulation system. As may be understood in light of the systems described herein, a treadmill system may provide one or more system inputs and system outputs to the virtual terrain simulation system by, for example: (1) providing system input to the virtual terrain simulation system such as requests for changes in speed, direction, incline, etc.; and (2) provide one or more system outputs by, for example, modifying a belt speed, belt angle, etc. in response to one or more conditions within the virtual terrain simulation systems.
In particular embodiments, the virtual terrain simulation system may include a mixed reality system in which a user of the treadmill system may interact with a virtual environment by providing input to the system and experiencing physical feedback through manipulation of one or more treadmill mechanisms while the user is using the treadmill. In particular embodiments, the user may view the virtual terrain system while on the treadmill using a suitable display screen, virtual reality headset, etc. In various embodiments, the system may provide a more engaging, realistic user experience for a user of a treadmill (e.g., in contrast with a traditional exercise class). In particular embodiments, a virtual camera may travel through the virtual environment based on both: (1) user inputs (direction change); and (2) treadmill settings (e.g., such as speed) such that the system displays (e.g., on the display screen 210) a substantially first-person view as the virtual camera traverses the virtual terrain. In this way, a user of the treadmill may experience a realistic walking and/or running through the virtual terrain.
FIG. 3 depicts a treadmill system 1000 according to various embodiments. In various embodiments, the treadmill 800 may include a tread that extends between one or more front and rear rollers. In such embodiments, the system may enable a runner to run along the tread surface. In particular embodiments, the system is configured to substantially automatically speed up and slowdown in response to identifying a change in running speed of the runner. The system may, for example, determine a change in distance of the runner/rider from the front of the device and speed up and/or slow down the belt in order to maintain the runner in a desired location in the belt (e.g., as the runner is running). In this way, the system may be configured to avoid having to require a user to manually modify a speed of the belt. The system may, for example, use software to keep the runner in the center of the belt, by identifying a slowdown in the user's gait (e.g., using one or more imaging devices, such as a Microsoft Kinect).
In particular embodiments, the treadmill may include one or more lifting mechanisms. In some embodiments, the one or more lifting mechanisms are configured to incline and/or decline a front or rear of the tread (e.g., and/or both the front and the rear) in order to modify an angle of the tread in order to simulate uphill and/or downhill walking/running. In particular embodiments, the system is configured to modify an incline and/or decline level of the treadmill based on one or more changes in terrain of a virtually generated terrain while the system is displaying the terrain on a display screen. For example, as a user's avatar encounters a virtual terrain that has a particular incline level, the system may be configured to automatically modify an incline of the treadmill in response (i.e., the system may be configured to automatically modify the incline based on the incline of the virtual terrain). In this way, the system may be configured to simulate, via physical manipulation of the tread, a running/walking/jogging experience that substantially mirrors the terrain as a user's avatar is traversing through the virtual terrain (e.g., and the system displays a first-person view of the movement through the terrain on the display screen).
Various functionality of the exercise device 1000 and system 100 may be implemented via various system modules. The system, when executing certain steps of such modules, may be configured to receive terrain and sensor data and, in response, send one or more control signals to one or more system components in order to manipulate a position, height, angle, or other orientation of an exercise device (e.g., treadmill). The system may perform the operations described in an order other than those in which they are presented in the various embodiments described herein. Various other embodiments of the system modules may perform steps in addition to those described or omit one or more of the described steps.
FIG. 12 depicts an overview of various operations performed by the treadmill system 1000 when executing a terrain simulation module 400. In particular embodiments, the system is configured to control one or more operations of a treadmill 800, such as the treadmill 800 shown in FIG. 11 (e.g., or other exercise device). In particular embodiments, such as the embodiment shown in FIG. 12, the system begins at Step 410 by receiving terrain data. The system may, for example, receive the terrain data from one or more terrain generation systems that includes, for example, physical terrain data such as altitude, angle, incline, terrain type, etc. In various embodiments, the system is configured to receive terrain data that corresponds to one or more real-world locations. In still other embodiments, the system is configured to generate a custom terrain, which may, for example, be based on a desired difficulty level of a user. In particular embodiments, the system is configured to determine slope data for the virtual terrain (e.g., slope data corresponding to a current position and direction of an avatar positioned within the virtual terrain) using any suitable technique. This may include for example, determining the slope data based on a grid, raster, digital elevation model, and or other suitable technique. In still other embodiments, the terrain data may include position data of an avatar within the virtual terrain and the physical terrain data may be based on the position data.
The system continues, at Step 420, by receiving one or more pieces of sensor data and/or user input data. The one or more pieces of sensor data may, for example, include one or more pieces of sensor data related to a position of one or more components of a bicycle ridden by a rider on a bicycle riding device. For example, the system may use one or more encoders, accelerometers, gyroscopes, or other suitable sensors/devices to determine, for example: (1) running speed; (2) angle of the rider/runner relative to the exercise device; (3) handlebar angle (e.g., in embodiments in which the exercise device includes a bicycle); (4) pose of the rider/runner; (5) tilt of a bicycle relative to the bicycle riding device (e.g., in embodiments in which the exercise device comprises a bicycle); and/or (6) any other suitable sensor data.
In various embodiments, the one or more pieces of sensor data, may, for example, include image data (e.g., received from one or more imaging devices). In particular embodiments, the treadmill system is configured to enable a user to control one or more features of the system using one or more physical gestures (i.e., as opposed to providing physical input via one or more physical controls such as buttons, knobs, levers, etc.). For example, the system may be configured to identify particular user gestures and perform one or more actions in response to an identified gesture. In various embodiments, the system may be configured to associate particular actions with respective gestures and to perform the associated action in response to identifying the respective gesture. In some embodiments, the particular actions may include, for example: (1) speeding up the tread; (2) slowing down the tread; (3) changing an orientation of an avatar relative to a virtually generated terrain (e.g., as discussed more fully herein); (4) causing the avatar to turn to the left and/or right; (5) causing the avatar to avoid one or more obstacles on the virtual terrain; (6) etc.
In various embodiments, gestures that may be associated with particular actions may include, for example: (1) raising or lowering a user's hand; (2) placing one of the user's limbs in a particular orientation; (3) changing the user's position relative to a width of the tread (e.g., moving side to side); (4) jumping; (5) lifting a user's knee; (6) increasing or decreasing the user's running speed; and/or (7) any other suitable action which the system may be configured to identify.
In particular embodiments, as described herein, the treadmill system comprises one or more imaging devices 900 configured to generate a skeletal mapping (e.g., a substantially instantaneous skeletal map) of a user in order to identify one or more gestures performed by the user (e.g., based at least in part on a pose of the skeletal mapping). In various embodiments the one or more imaging devices may include any imaging device configured to identify key points in order to generate a skeletal mapping of a user (e.g., a Microsoft Kinect, Intel Realsense, iPhone, iPad, etc.). In other embodiments, the imaging device may be placed to track a particular user feature (e.g., foot, ankle, knee, leg, etc.). In some embodiments, the system is configured to determine user body positioning data based on one or more images (e.g., video images), one or more infrared images, etc. As may be understood from FIG. 13, the system may be configured to generate the skeletal mapping to determine a pose of the user.
FIG. 13 depicts an example skeletal mapping of a user that may be generated from the one or more imaging devices 900. In various embodiments, The system may be configured to identify a variety of joints, bones, or other portions of an individual's body such as, for example: (1) each of the user's hands; (2) each of the user's forearms; (3) each elbow; (4) each bicep; (5) each shoulder; (6) each hip; (7) each thigh; (8) each knee; (9) each foot; (10) the head; (11) the torso; (12) the top and bottom of the spine; (13) the waist; etc. In particular embodiments, the system is configured to identify and track additional points and features such as, for example: (1) individual bones; (2) joints of the fingers or toes; (3) individual features of the face, such as the nose and eyes; etc.
In various embodiments, the system is configured to enable the user to create gestures by performing particular movements. In some embodiments, a gesture may comprise a motion or pose by a user that the system is configured to capture as image data and parse for meaning. In various embodiments, particular gestures may include dynamic gestures, which may, for example, comprise a motion (e.g., lifting an arm at a particular speed, nodding a head, etc.). In still other embodiments, a gesture may include a static gesture, such as holding an arm up at a ninety-degree angle (e.g., to indicate a desire to stop the treadmill). In particular embodiments, a gesture may comprise more than one body part, such as clapping the hands together. In various embodiments, the system is configured to interpret any particular gesture as any particular user input (e.g., a first gesture may be associated with a first input type or action, a second gesture may be associated with a second input type or action, etc.). In particular embodiments, the system is configured to enable a user to assign particular action types or inputs to particular gestures.
In particular embodiments, the system is configured to interpret particular gestures as a system input. Gestures may be used for input in a general computing context. For example, as discussed above, particular gestures may correspond to particular movements of a user's avatar within a game (i.e., virtual terrain). Still other movements and/or gestures may correspond to particular settings or changes to settings for the treadmill or other exercise device (e.g., speed, elevation/incline, etc.).
In still other embodiments, the system may utilize one or more additional components in order to track one or more aspects of a user's body (i.e., movement, positioning, etc.) in order to determine one or more user actions (e.g., using one or more additional sensors or combination of sensors). The system may, for example, provide one or more tracking devices (e.g., comprising one or more accelerometers, gyroscopes, etc.) for placement on a particular portion of the user's body (i.e., one or more wrists, one or more ankles, around the user's chest, etc.). The one or more tracking devices may be configured to communicate with the system using any suitable wireless protocol (e.g., Bluetooth, zigbee, wireless LAN, NFC, etc.)
In various embodiments, each of the one or more motion trackers are configured to determine motion data for a respective portion of the user's body on which the respective device is placed and relays the motion data to the system. The system may be configured to receive the motion data from the trackers and, in response, cause the treadmill system to modify one or more settings based on the motion data (e.g., an incline level of the treadmill, a speed of the treadmill, etc.). In still other embodiments, the system is configured to receive the motion data from the trackers and, in response, provide input to a connected gaming environment in which an avatar representing the user is traversing a virtual terrain (e.g., by modifying a direction of the avatar within the virtual terrain, causing the avatar to take one or more actions within the virtual terrain, etc.).
In particular embodiments the system is configured to use motion data received from one or more tracking devices in combination with other data (e.g., imaging data, pressure data from one or more pressure sensors, etc.) in order to determine one or more responsive actions (e.g., one or more responsive actions to cause the treadmill or other device to take or to use as one or more inputs in a virtual game).
In some embodiments, the system may include one or more force sensors (e.g., one or more accelerometers, one or more pressure sensitive resistors, etc.) embedded in a deck of the treadmill. In this way, the system may be configured to triangulate a position of a user's foot upon impact of the treadmill's belt. The system may use impact data for each foot to determine, for example: (1) foot position; (2) stride length; (3) foot pressure (e.g., impact pressure); (4) etc. In various embodiments, the system may be configured to monitor pressure changes in each foot, for example, in order to monitor physical therapy progress, muscle imbalances, etc.
In some embodiments, the treadmill may include one or more pressure sensors on the belt, which may, for example, be configured to determine user gait information related to a position of a user's foot while walking/running. The system may, for example, be determined to identify a weight distribution of a user's foot on the tread. This may, for example, enable a user to trial a pair of footwear and otherwise determine which of one or more different types of footwear are most suitable based on the user's gait (e.g., based on different levels of arch support, different cushioning, etc.).
In various embodiments, the system is configured to merge data received from one or more cameras in addition to one or more pressure sensors and/or one or more tracking bands. For example, the system may be configured to determine a body angle based on data received from one or more sensors. As may be understood by one skilled in the art, as a user's running speed increases, the user may modify an angle of their body (e.g., such that their legs impart more thrust against the support surface at a more severe angle than while walking). In particular embodiments, the system is configured to determine stride length, in addition to ‘hang time’ (e.g., an amount of time in the air between foot falls). In various embodiments, the system may use hang time data to identify inefficiencies in a user's running motion (e.g., because too much time between steps may indicate a loss of efficiency).
In particular embodiments, the system is configured to track a respective position (e.g., and/or change in position) of each of the user's feet as the user is running/walking on the treadmill. The system may, for example, track the change in position and/or impact of each foot on the belt based on feedback from the one or more motion tracking devices and/or force sensors worn by the user. The system may then be configured to substantially automatically adjust a belt speed of the treadmill (e.g., on-the-fly) as the user increases or decreases their speed. For example, the system may be configured to monitor a change in position of each foot and cause the motor driving the belt to advance a distance based on the user's instantaneous stride length (i.e., of each leg). In this way, the system may be configured to enable a user to adjust to any changes in terrain (i.e., incline, etc.) that the user may encounter while using the treadmill without having to provide any input to increase or decrease the belt speed (e.g., gesture input, button input, etc.). As the user's stride length increases, for example, the system may automatically increase the speed of the treadmill. In response to measuring a decrease in the user's stride length, the system may be configured to decrease the speed of the treadmill.
Returning to Step 430, the system is configured to analyze the terrain and sensor data. The system may, for example, be configured to analyze the data to determine a position of an avatar that represents the rider (e.g., runner) within the terrain (e.g., a substantially instantaneous position). The system may further analyze the terrain and sensor data to manipulate a location of an avatar (e.g., and/or virtual camera indicating what the avatar is viewing from a first person perspective) within the terrain. The system may then display a current image form the virtual camera on the display device.
At Step 440, the system is configured for, in response to analyzing the terrain and sensor data, determine a desired orientation of the exercise device based on the terrain and sensor data. The system may, for example, determine the desired orientation based on the physical terrain data and one or more sensor-determined aspects of the exercise device (e.g., or the user on the exercise device). For example, the system may determine a desired orientation of the exercise device (e.g., treadmill) based on an orientation that most closely simulates the terrain.
FIG. 13 depicts a diagram indicating the system tracking a user's stride length and gait. As may be understood from this disclosure, the system may be configured to determine, based on the skeletal mapping discussed herein: (1) a user's gait width; (2) a users' stride length (e.g., based on the distance between the landing of the user's feet and a distance of belt travel between footsteps; (3) a velocity of each respective foot, etc.).
In particular embodiments, as part of the analysis, the system is configured to record information about a user's gait characteristics, cadence, etc. in order to identify changes over time. For example, a user rehabilitating a leg injury may initially walk with a limp. The system may be configured to identify, based on the user's skeletal mapping, one or more characteristics of the user's limp such as: (1) the user favoring one particular leg over another; (2) the user leaning to one side; (3) one or more limits to the user's speed or ability to navigate certain levels of incline, etc. In various embodiments, the system may be able to track improvements to the user's gait over time in order to identify completion of a user's rehabilitation from an injury that caused the limp.
In particular embodiments, the system is configured to track a respective position of each of the user's feet as the user is running/walking on the treadmill. The system may then be configured to substantially automatically adjust a belt speed of the treadmill (e.g., on-the-fly) as the user increases or decreases their speed. For example, the system may be configured to monitor a change in position of each foot and cause the motor driving the belt to advance a distance based on the user's instantaneous stride length (i.e., of each leg). In this way, the system may be configured to enable a user to adjust to any changes in terrain (i.e., incline, etc.) that the user may encounter while using the treadmill without having to provide any input to increase or decrease the belt speed (e.g., gesture input, button input, etc.). As the user's stride length increases, for example, the system may automatically increase the speed of the treadmill. In response to measuring a decrease in the user's stride length (e.g., at a higher incline level), the system may be configured to decrease the speed of the treadmill.
In some embodiments, user gait data may be used to biometrically authenticate a user during a virtual gaming session such as described herein.
In particular embodiments, the instantaneous speed adjustments may provide the user with more control over the experience, without having to provide any system input. The system may, for example, be configured to determine a real-time movement speed based in response to completion of a first step as the user drives off of a particular foot. The system may, for example, identify a new forward motion based on a lifting of a knee and/or foot, which may, for example, signal a new forward step by the user. In some embodiments, the system is configured to track user-specific characteristics in order to predict and/or identify a single stride length (e.g., knee position, hand position, arm pumping speed, etc.). In some embodiments, the system may similarly identify other actions by the user such as reversing (i.e., walking/running backwards), crouching, exaggerated longer strides to avoid obstacles, bunny hops to clear certain obstacles, etc.
In still other embodiments, the system is configured to automatically adjust a belt speed in response to a change in incline caused in response to position change within a virtual terrain. For example, the system may automatically reduce a belt speed as the incline of the treadmill increases. In still other embodiments, the system may comprise one or more mechanical breaks (e.g., electromagnetic breaks) configured to prevent slipping of the belt during incline and/or decline. For example, one or more rotors and/or motors may include one or more suitable breaking mechanisms.
In some embodiments, the treadmill may include one or more pressure sensors on the belt, which may, for example, be configured to determine user gait information related to a position of a user's foot while walking/running. The system may, for example, be determined to identify a weight distribution of a user's foot on the tread. This may, for example, enable a user to trial a pair of footwear and otherwise determine which of one or more different types of footwear are most suitable based on the user's gait (e.g., based on different levels of arch support, different cushioning, etc.).
Next, at Step 450, the system is configured to send one or more control systems to one or more exercise device components (e.g., treadmill components) based on the determined orientation. The system may, for example, activate one or more motors to adjust a belt speed of the treadmill. In still other embodiments, the system is configured to modify a position of a rider's avatar within a displayed version of the terrain based on the runner's inputs, lean, etc. The system may be further configured to cause the runner's avatar to traverse the terrain based on the sensor data (e.g., by turning, etc.) which may, in turn, adjust the terrain based on where the runner travels within the terrain. In this way, the system may be configured to enable the runner to ‘freely’ move within the terrain, while the treadmill (e.g., exercise device) adjusts the simulated terrain that the runner experiences based on the runner's position and orientation within the terrain, as well as the turning, leaning, etc. that the runner performs (e.g., and is determined by the sensor data or user input data). In other embodiments, the system may automatically activate a lifting mechanism configured to adjust an incline of the exercise device (e.g., the treadmill) to substantially match (e.g., correspond to) a level of incline based on a current position of a user's avatar within a virtual terrain.
In particular embodiments, the treadmill may include one or more lifting mechanisms. In some embodiments, the one or more lifting mechanisms are configured to incline and/or decline a front or rear of the tread (e.g., and/or both the front and the rear) in order to modify an angle of the tread in order to simulate uphill and/or downhill walking/running. In certain embodiments, such as those shown in FIG. 7, the treadmill is configured to pivot about a point positioned adjacent a rear of the treadmill (e.g., by adjusting and/or lifting or lowering a front portion of the treadmill using any suitable lifting mechanism). In particular embodiments, the system is configured to modify an incline and/or decline level of the treadmill based on one or more changes in terrain of a virtually generated terrain while the system is displaying the terrain on a display screen. The system may, for example, activate the lifting mechanism to adjust an incline of the treadmill's running surface (e.g., upward or downward).
In particular embodiments, a treadmill may comprise one or more lifting mechanisms configured to lift and lower a treadmill belt (e.g., adjust an angle of the treadmill belt relative to a support surface) by adjusting a height of the front and rear of the treadmill about a pivot point. In particular embodiments, the pivot point may be positioned in any suitable location between the front and rear of the treadmill (e.g., positioned somewhat centered along a length of the belt). In the embodiment shown in these figures, the treadmill includes a safety handrail and bar in front of and to either side of the runner. In the embodiment shown in this figure, the treadmill does not include a console with input controls. As discussed more fully herein, the system may employ gesture control through one or more imaging devices. In this way, the system may provide a safer experience by not requiring a user to look down in order to press a button to control a speed or incline of the treadmill. In this way, the user may continue looking ahead to make such setting adjustments, which can avoid unsafe situations resulting from a user looking down or struggling to find a desired button to press (e.g., which is particularly unsafe at an incline or when running at higher speeds).
FIG. 15 depicts an exemplary embodiment of a treadmill in a “see-saw” design in which a pivot point for inclining and/or declining the treadmill is somewhat centrally positioned (e.g., centrally positioned) between a front and rear of the treadmill. As may be understood from this disclosure, although the “see-saw” treadmill will generally be described as having a central pivot point, it should be understood that various other embodiments may include a pivot point at any other suitable location between a front and rear of the treadmill (e.g., positioned approximately ¼ from the front end, ⅓ from the front end, ⅔rd from the front end, ¾th from the front end, etc.).
In particular embodiments, a seesaw arrangement may provide a central pivot point, providing a moment arm to the motor while decreasing a moment arm caused by the load (e.g., the runner). In this way, an apparent load on a motor providing incline and decline to the running surface may be reduced by the system.
As shown in FIG. 15, a treadmill may include, for example, a belt 705 (e.g., running surface), one or more supports 720, one or more pulleys 740 (e.g., one or more sprockets), one or more motors 730, and one or more chains/cables. In particular embodiments, a respective motor 730 (and/or gearbox) may be configured to adjust a length of cable 710 (e.g., chain, link, rigid or semi-rigid connector, etc.) that attaches to a front or rear portion of the treadmill (e.g., a support structure for the belt 705) via a suitable pulley 740. In a particular embodiment, the treadmill includes at least one worm gearbox or other gearbox configured to provide holding torque to the cable (e.g., or other connector). In such embodiments, the gearbox may be configured to provide a holding torque to the cable in the instance of a power loss to one or more motors (e.g., which may enable the system to maintain a particular incline level in the case of power loss, thereby avoiding an unsafe condition for a user stemming from an unpredictable rapid incline or decline). In still other embodiments, a worm gear or other gearbox may be configured to provide holding torque the enables the system to operate more efficiently, as a motor may only draw current to drive the motion of an angle change for the treadmill running surface. In such embodiments, the system does not require power to the motor to maintain the treadmill at a particular incline level. In various other embodiments, the system may include any other suitable geared and/or braking system capable of holding a cable or other connection mechanism while the motor is off or has lost power. In particular embodiments, one or more controllers may be configured to control each of the one or more motors 730 to cooperate to adjust a length of the respective cables to adjust an incline/decline of the belt.
In various embodiments the cable may further include a chain tensioner or other mechanism for integrating the cable with one or more lengths of chain. In particular embodiments, each of the one or more motors are configured to release and/or pull the cable as necessary to enable the respective cable portions to hold the belt at a desired angle with sufficient force to support a runner on the surface of the belt 705 while the belt is running and maintained at the desired angle.
In particular embodiments, the see-saw arrangement described herein may provide a faster change in angle for the belt (e.g., faster than traditional systems which rely on one or more linear actuators to lift a front portion of the treadmill). In particular embodiments, the treadmill system comprises a system of one or more cables, chains, combination of cables and chains, or other suitable mechanism configured to cooperate to cause an incline and/or decline of a running platform (e.g., belt).
In various embodiments, the position of the pivot point 708 may reduce a load on the one or more motors while the belt 705 is in an incline or decline position. In a particular embodiment, the pivot point 708 may be positioned at least about ⅔rd of the length of the belt from a front end of the treadmill.
In particular embodiments, a position of the pivot point and the load of the runner are configured to minimize a load on one or more motors that are causing the running platform to maintain a particular position (e.g., angle relative to the support surface). In particular embodiments, a position of the pivot point may be adjusted to modify a motor load and an effect on a lever arm created by a runner's position with respect to the pivot point. The system may, for example, be configured to utilize different pivot point positions for different applications (e.g., treadmill, rowing machine, etc.). In still other embodiments, the pivot point (e.g., position of the pivot point) is adjustable. FIG. 16 depicts a treadmill with a centralized pivot in various embodiments.
In particular embodiments, the treadmill system is designed such that a runner using the treadmill would have his or her weight substantially centered above the pivot point while running. In a particular embodiment, a drive motor for the belt may be configured to transfer rotation (e.g., via one or more belts) to a shaft at the pivot point, which may then be configured to transfer rotation to either the front roller or a back roller to drive a rotation of the running surface belt (e.g., treadmill surface). FIG. 15 depicts an embodiment in which a drive belt from a drive motor transfers rotational energy to a pivot shaft, which in turn, transfers energy to a rear roller which drives the running belt. The drive belt design described immediately above (e.g., with the drive belt initially driving rotation of a pivot shaft) may, for example, reduce a strain of driving a rear or front roller directly via a stationary motor, as a lifting or lowering of the front or rear of treadmill may exert additional tension on a drive belt in such embodiments. In still other embodiments, one or more motors may be mounted to the bed itself such that the one or more motors provide a direct drive to the belt. Such embodiments may, for example, limit a number of rotating elements and transmission belts and act as a counterweight to improve the efficiency of the lifting mechanism.
While this specification contains many specific aspect details, these should not be construed as limitations on the scope of any invention or of what may be claimed, but rather as descriptions of features that may be specific to particular aspects of particular inventions. Certain features that are described in this specification in the context of separate aspects also may be implemented in combination in a single aspect. Conversely, various features that are described in the context of a single aspect also may be implemented in multiple aspects separately or in any suitable sub-combination. Moreover, although features may be described above as acting in certain combinations and even initially claimed as such, one or more features from a claimed combination may in some cases be excised from the combination, and the claimed combination may be a sub-combination or variation of a sub-combination.
Similarly, while operations are described in a particular order, this should not be understood as requiring that such operations be performed in the particular order described or in sequential order, or that all described operations be performed, to achieve desirable results. In certain circumstances, multitasking and parallel processing may be advantageous. Moreover, the separation of various components in the various aspects described above should not be understood as requiring such separation in all aspects, and the described program components (e.g., modules) and systems may be integrated together in a single software product or packaged into multiple software products.
Many modifications and other aspects of the disclosure will come to mind to one skilled in the art to which this disclosure pertains having the benefit of the teachings presented in the foregoing descriptions and the associated drawings. Therefore, it is to be understood that the disclosure is not to be limited to the specific aspects disclosed and that modifications and other aspects are intended to be included within the scope of the appended claims. Although specific terms are employed herein, they are used in a generic and descriptive sense only and not for the purposes of limitation.
1. A method comprising:
providing, by computing hardware, a virtual gaming environment having a set of features accessible via the virtual gaming environment;
identifying, by the computing hardware, a user computing device accessing the virtual gaming environment;
determining, by the computing hardware, a user context for a user of the user computing device;
modifying, based on a type of the user computing device and the user context, the set of features to exclude at least a first portion of the set of features from the set of features accessible via the virtual gaming environment;
generating, by the computing hardware, a customized user interface for accessing the virtual gaming environment, the customized user interface being defined by the modified set of features; and
providing, by the computing hardware, the customized user interface for display on the user computing device.
2. The method of claim 1, wherein modifying the set of features further comprises:
modifying, based on a type of the user computing device and the user context, a type of interaction with the virtual gaming environment available to the user that is associated with at least one feature of the set of features.
3. The method of claim 1, wherein the type of the user computing device comprises at least one of:
a mobile computing device;
a connected exercise device; or
a non-mobile computing device.
4. The method of claim 3, wherein the type of the user computing device comprises the connected exercise device, and the method further comprising:
accessing, by the computing hardware, sensor data from a sensor of the connected exercise device;
using, by the computing hardware, the sensor data to confirm a presence of the user on the connected exercise device; and
responsive to confirming the presence of the user on the connected exercise device, providing access to the customized user interface for accessing the virtual gaming environment to the user via the connected exercise device.
5. The method of claim 4, further comprising:
responsive to failing to confirm the presence of the user on the connected exercise device, modifying the set of features to exclude at least a second portion of the set of features from the set of features accessible via the virtual gaming environment.
6. The method of claim 4, further comprising:
receiving, by the computing hardware, inputs via the connected exercise device;
monitoring, by the computing hardware via the sensor data, a continuous current presence of the user during the inputs; and
responsive to failing to confirm the present of the user during any one of the inputs, restricting, by the computing hardware, the connected exercise device from providing user input.
7. The method of claim 1, wherein the user context defines at least one of:
a current location of the user;
a rate of movement of the user;
a relative location of the user with respect to one or more potential hazards;
a population density associated with the current location of the user; or
a location type associated with the current location of the user.
8. A method comprising:
providing, by computing hardware, a gaming environment for access on a user device;
modifying, by the computing hardware, the gaming environment between at least two modes based on a type of the user device;
determining, by the computing hardware, user context data for a user of the user device; and
modifying, by the computing hardware, at least one of the gaming environment or a current mode of the at least two modes based on the user context.
9. The method of claim 8, wherein:
the gaming environment comprises a set of game mechanics;
the at least two modes comprise a first mode and a second mode;
the first mode provides access to a first portion of the set of game mechanics; and
the second mode provides access to a second portion of the set of game mechanics.
10. The method of claim 8, wherein:
the user context comprises a type of the user device; and
the type of the user device comprises at least one of a mobile computing device or a connected exercise device.
11. The method of claim 8, wherein:
determining the user context comprises receiving sensor data from the user device and using the sensor data to confirm a physical presence of the user at the user device.
12. The method of claim 8, wherein modifying, by the computing hardware, at least one of the gaming environment or the current mode of the at least two modes based on the user context comprises restricting at least a portion of the game mechanics in response to failing to confirm the physical presence of the user at the user device.
13. The method of claim 12, wherein restricting at least a portion of the game mechanics in response to failing to confirm the physical presence of the user at the user device comprises restricting at least one of an ability to access one or more rewards within the gaming environment, a feature within the gaming environment, or an ability to accumulate points within the gaming environment.
14. The method of claim 8, wherein the user context defines at least one of:
a current location of the user;
a rate of movement of the user;
a relative location of the user with respect to one or more potential hazards;
a population density associated with the current location of the user; or
a location type associated with the current location of the user.
15. A gaming experience modification system comprising:
a non-transitory computer-readable medium storing instructions;
a physical exercise hardware device configured to interact directly with gameplay mechanics in a virtual gaming environment; and
processing hardware communicatively coupled to the non-transitory computer-readable medium and the physical exercise hardware device, wherein the processing hardware is configured to execute the instructions and thereby perform operations comprising:
providing the virtual gaming environment;
receiving sensor data from the physical exercise hardware device;
using the sensor data to substantially continuously authenticate a physical presence of a user;
in response to failing to authenticate the physical present of the user, modifying, the gameplay mechanics to exclude at least a first portion of the gameplay mechanics;
generating a customized user interface for accessing the virtual gaming environment, the customized user interface being defined by the modified gameplay mechanics; and
providing the customized user interface for display on a user computing device.
16. The gaming experience modification system of claim 15, wherein:
the user computing device is a mobile computing device;
the gaming experience modification system comprises the mobile computing device; and
the customized user interface is configured to provide access, via the mobile computing device, to the to the virtual gaming environment with the modified gameplay mechanics.
17. The gaming experience modification of claim 16, wherein the operations further comprise:
receiving, form the mobile computing device, a user context for the user; and
modifying, based on the user context, the modified gameplay mechanics exclude at least a second portion of the gameplay mechanics.
18. The gaming experience modification system of claim 17, wherein the user context defines at least one of:
a current location of the user;
a rate of movement of the user;
a relative location of the user with respect to one or more potential hazards;
a population density associated with the current location of the user; or
a location type associated with the current location of the user.
19. The gaming experience modification system of claim 15, wherein:
the physical exercise hardware device comprises at least one imaging device;
the sensor data comprises imaging data received from the at least one imaging device; and
using the sensor data to substantially continuously authenticate the physical presence of the user comprises using the imaging data to authenticate a biometric signature of the user.
20. The gaming experience modification system of claim 19, the operations further comprising using authentication of the biometric signature of the user to ensure that user interactions with the gameplay mechanics are authentic to substantially prevent spoofing and false interactions.