Online building toy
AssigneeRoblox Corporation
InventorsDavid B. Baszucki, Erik S. Cassel
Life of this patent
Estimating the term…
Abstract
The present invention pertains to a method and apparatus for building online games. In one embodiment, the method may include providing a user interface that facilitates user selection of parts, and placing a set of parts selected by a user in a three-dimensional (3D) world. The method may also include joining parts within the set based on their proximity to each other in the 3D world to form one or more models for a game, and sending a model file for each of these models to a server via a network for use by various users.
Claims16
A computerized method comprising:
- providing, by a computer system, a user interface for creating a game, the user interface facilitating user selection of parts for the game;
- placing, by the computer system, a set of parts selected by a user in a three-dimensional (3D) world;
- automatically detecting, without user interaction, by the computer system, adjacent parts within the set based on proximity of surfaces of the parts in the 3D world while parts are being moved during editing operations of the user;
- upon detecting the adjacent parts, automatically determining, without user interaction, joint types for the adjacent parts based on surface types of the adjacent parts;
- automatically creating, without user interaction, by the computer system, one or more rigid joints of the determined joint types between the adjacent parts, wherein at least some of the adjacent parts are primitive geometric shapes selected by the user for joining with other parts in the set, the primitive geometric shapes including at least one of a block, a wedge, a cylinder and a sphere;
- forming one or more models for the game from the set of parts that comprises parts automatically joined, without user interaction, using the one or more rigid joints;
- physically simulating, by a rigid body physics engine, motion of joined parts having one or more rigid joints in the game and motion of the one or more models in the game using one or more properties, wherein the one or more properties specify one or more of an event to occur when joined parts having one or more rigid joints collide during simulation and whether joined parts having one or more rigid joints are intended to collide during simulation;
- detecting, by the physics engine, a first collision between the joined parts having one or more rigid joints in the 3D world during physical simulation of the motion of the joined parts having one or more rigid joints and the one or more models;
- simulating, based on the one or more properties, a behavior of the joined parts having one or more rigid joints that results from the first collision;
- allowing a user to modify one or more properties of joined parts having one or more rigid joints, the joined parts selected by the user in the 3D world;
- and
- simulating, based on the modified properties, a modified behavior of the joined parts having one or more rigid joints that results from a second collision.
A system comprising:
- a memory;
- and
- a processing system, coupled to the memory, the processing system causing:
- a user interface presenter to provide a user interface for creating a game, the user interface facilitating user selection of parts for the game;
- an editing engine to place a set of parts selected by a user in a three-dimensional (3D) world;
- a joint engine to automatically detect, without user interaction, adjacent parts within the set based on proximity of surfaces of the parts in the 3D world while parts are being moved during editing operations of the user and, upon detecting the adjacent parts, to automatically determine, without user interaction, joint types for the adjacent parts based on surface types of the adjacent parts and to automatically create, without user interaction, one or more rigid joints of the determined joint types between the adjacent parts, wherein at least some of the adjacent parts are primitive geometric shapes selected by the user for joining with other parts in the set, the primitive geometric shapes including at least one of a block, a wedge, a cylinder and a sphere, and to form one or more models for the game from the set of parts that comprises parts automatically joined, without user interaction, using the one or more rigid joints;
- and
- a physics engine to physically simulate motion of joined parts having one or more rigid joints in the game and motion of the one or more models in the game using one or more properties, wherein the one or more properties specify one or more of an event to occur when joined parts having one or more rigid joints collide during simulation and whether joined parts having one or more rigid joints are intended to collide during simulation, to detect a first collision between the joined parts having one or more rigid joints in the 3D world during physical simulation of the motion of the joined parts and the one or more models, to simulate, based on the one or more properties, a behavior of the joined parts having one or more rigid joints that results from the first collision, to allow a user to modify one or more properties of joined parts having one or more rigid joints selected by the user in the 3D world, and to simulate, based on the modified properties, a modified behavior of the joined parts having one or more rigid joints that results from a second collision.
An apparatus comprising:
- a memory;
- and
- a processor, coupled to the memory, the memory storing the following for execution by the processor:
- means for providing a user interface for creating a game, the user interface facilitating user selection of parts for the game;
- means for placing a set of parts selected by a user in a three-dimensional (3D) world;
- means for automatically detecting, without user interaction, adjacent parts within the set based on proximity of surfaces of the parts in the 3D world while parts are being moved during editing operations of the user;
- upon detecting the adjacent parts, means for automatically determining, without user interaction, joint types for the adjacent parts based on surface types of the adjacent parts;
- means for automatically creating, without user interaction, one or more rigid joints of the determined joint types between the adjacent parts, wherein at least some of the adjacent parts are primitive geometric shapes selected by the user for joining with other parts in the set, the primitive geometric shapes including at least one of a block, a wedge, a cylinder and a sphere;
- means for forming one or more models for the game from the set of parts that comprises parts automatically joined, without user interaction, using the one or more rigid joints;
- means for physically simulating motion of joined parts having one or more rigid joints in the game and motion of the one or more models in the game using one or more properties, wherein the one or more properties specify one or more of an event to occur when joined parts having one or more rigid joints collide during simulation and whether joined parts having one or more rigid joints are intended to collide during simulation;
- means for detecting, by a physics engine, a first collision between the joined parts having one or more rigid joints in the 3D world during physical simulation of the motion of the joined parts having one or more rigid joints and the one or more models;
- means for simulating, based on the one or more properties, a behavior of the joined parts having one or more rigid joints that results from the first collision;
- means for allowing a user to modify one or more properties of joined parts having one or more rigid joints selected by the user in the 3D world;
- and
- means for simulating, based on the modified properties, a modified behavior of the joined parts having one or more rigid joints that results from a second collision.
A computer readable medium that provides instructions, which when executed on a processing system, cause said processing system to perform a method comprising:
- providing, by a computer system, a user interface for creating a game, the interface facilitating user selection of parts for the game;
- placing, by the computer system, a set of parts selected by a user in a three-dimensional (3D) world;
- automatically detecting, without user interaction, by the computer system, adjacent parts within the set based on proximity of surfaces of the parts in the 3D world while parts are being moved during editing operations of the user;
- upon detecting the adjacent parts, automatically determining, without user interaction, joint types for the adjacent parts based on surface types of the adjacent parts;
- automatically creating, without user interaction, by the computer system, one or more mechanical rigid joints of the determined joint types between the adjacent parts wherein at least some of the adjacent parts are primitive geometric shapes selected by the user for joining with other parts in the set, the primitive geometric shapes including at least one of a block, a wedge, a cylinder and a sphere;
- forming one or more models for the game from the set of parts that comprises parts automatically joined, without user interaction, using the one or more rigid joints;
- physically simulating, by a rigid body physics engine, motion of joined parts having one or more rigid joints in the game and motion of the one or more models in the game using one or more properties, wherein the one or more properties specify one or more of an event to occur when joined parts having one or more rigid joints collide during simulation and whether joined parts having one or more rigid joints are intended to collide during simulation;
- detecting, by the physics engine, a first collision between the joined parts having one or more rigid joints in the 3D world during physical simulation of the motion of the joined parts having one or more rigid joints and the one or more models;
- simulating, based on the one or more properties, a behavior of the joined parts having one or more rigid joints that results from the first collision;
- allowing a user to modify one or more properties of joined parts having one or more rigid joints selected by the user in the 3D world;
- and
- simulating, based on the modified properties, a modified behavior of the joined parts having one or more rigid joints that results from a second collision.
Dependencies are inferred from the claim text.