Game designer tool for scripting complex gameplay actions
The present technology provides a scripting tool, built on top of an object component architecture of a game engine for creating games, that binds an event class for a tagged event handler in code at compile time. The event handler in code is tied to movement of one or more objects and associated effects within a game environment. Through the scripting tool, game engineers generate and define an event handler in code for the designers to discover and add various other effects to in forming gameplay sequences. The game designers tag the event along with the other effects, and at compile time, forming an event class including the tagged effects.
1 . A computer-implemented method comprising:
providing a scripting tool for creating one or more games;
receiving, at the scripting tool, a script including an event handler, wherein the event handler corresponds to a customized movement of one or more objects within a game environment;
inserting a static annotation into code corresponding to the event handler before compile time; and
based on the static annotation in the code, binding an event class for the event handler at the compile time in executable code, wherein the event handler is statically linked at the compile time.
2 . The computer-implemented method of claim 1 , further comprising:
causing to present a graphical user interface (GUI) associated with the scripting tool;
causing the GUI associated with the scripting tool to present first options for setting conditions and second options for setting respective reactions on an object; and
receiving a first condition selection for a first respective reaction selection associated with the event handler-in cede, wherein the event class includes code associated with the first condition selection for the first respective reaction selection.
3 . The computer-implemented method of claim 2 , further comprising:
saving the first condition selection for the first respective reaction selection in association with the event handler; and
reusing the saved event handler for a different gameplay sequence.
4 . The computer-implemented method of claim 2 , further comprising:
receiving a selection of a scripting representation of one object of the one or more objects at the GUI; and
causing the GUI associated with the scripting tool to present a customizable property view of a plurality of associated conditions and the respective reactions for the one object.
5 . The computer-implemented method of claim 2 , further comprising:
causing the GUI associated with the scripting tool to present an effects manager of the scripting tool, wherein the effects manager displays a plurality of association conditions and the respective reactions that call a physics manager that defines limitations of physical properties mimicking real-world scenarios.
6 . The computer-implemented method of claim 1 , wherein the static annotation comprises a decorator for a function of a class that is provided to the code before compiling into byte code.
7 . The computer-implemented method of claim 1 , wherein the executable code is run at a web browser on a mobile device.
8 . The computer-implemented method of claim 1 , wherein the scripting tool is built on top of an object component architecture of a game engine.
9 . The computer-implemented method of claim 1 , further comprising:
binding, at the compile time, a plurality of event classes for respective event handlers that were statically annotated before the compile time.
10 . A non-transitory computer-readable medium comprising instructions, the instructions, when executed by a computing system, causes the computing system to:
provide a scripting tool for creating one or more games;
receive, at the scripting tool, script including an event handler, wherein the event handler corresponds to customized movement of one or more objects within a game environment;
insert a static annotation into code corresponding to the event handler before compile time; and
based on the static annotation in the code, bind an event class for the event handler at the compile time in executable code, wherein the event handler is statically linked at the compile time.
11 . The non-transitory computer-readable medium of claim 10 , wherein the instructions, when executed by the computing system, causes the computing system to:
cause to present a graphical user interface (GUI) associated with the scripting tool;
cause the GUI associated with the scripting tool to present first options for setting conditions and second options for setting respective reactions on an object; and
receive a first condition selection for a first respective reaction selection associated with the event handler, wherein the event class includes code associated with the first condition selection for the first respective reaction selection.
12 . The non-transitory computer-readable medium of claim 11 , wherein the instructions, when executed by the computing system, causes the computing system to:
save the first condition selection for the first respective reaction selection in association with the event handler; and
reuse the saved event handler for a different gameplay sequence.
13 . The non-transitory computer-readable medium of claim 11 , wherein the instructions, when executed by the computing system, causes the computing system to:
receive a selection of a scripting representation of one object of the one or more objects at the GUI; and
cause the GUI associated with the scripting tool to present a customizable property view of a plurality of associated conditions and the respective reactions for the one object.
14 . The non-transitory computer-readable medium of claim 11 , wherein the instructions, when executed by the computing system, causes the computing system to:
cause the GUI associated with the scripting tool to present an effects manager of the scripting tool, wherein the effects manager displays a plurality of association conditions and the respective reactions that call a physics manager that defines limitations of physical properties mimicking real-world scenarios.
15 . The non-transitory computer-readable medium of claim 10 , wherein the static annotation comprises a decorator for a function or a class that is provided to the code before compiling into byte code.
16 . The non-transitory computer-readable medium of claim 10 , wherein the executable code is run at a web browser on a mobile device.
17 . The non-transitory computer-readable medium of claim 10 , wherein the scripting tool is built on top of an object component architecture of a game engine.
18 . The non-transitory computer-readable medium of claim 10 , wherein the instructions, when executed by the computing system, causes the computing system to:
bind, at the compile time, a plurality of event classes for respective event handlers that were statically annotated before the compile time.
19 . A system comprising:
one or more processors; and
a non-transitory computer-readable medium comprising instructions, the instructions, when executed by the one or more processors, causes the one or more processors to:
provide a scripting tool for creating one or more games;
receive, at the scripting tool, script including an event handler, wherein the event handler corresponds to customized movement of one or more objects within a game environment;
insert a static annotation into code correspond to the event handler before compile time; and
based on the static annotation, bind an event class for the event handler after the compile time in executable code, wherein the event handler is statically linked at the compile time.
20 . The system of claim 19 , wherein the instructions, when executed by the one or more processors, causes the one or more processors to:
cause to present a graphical user interface (GUI) associated with the scripting tool;
cause the GUI associated with the scripting tool to present first options for setting conditions and second options for setting respective reactions on an object; and
receive a first condition selection for a first respective reaction selection associated with the event handler, wherein the event class includes code associated with the first condition selection for the first respective reaction selection.