Academia.edu no longer supports Internet Explorer.
To browse Academia.edu and the wider internet faster and more securely, please take a few seconds to upgrade your browser.
2019, Proceedings of the IEEE SoutheastCon 2019, Huntsville, Alabama, USA,
Developing new ways to improve game engines and enabling the creation of more accurate experiences is an important issue, especially for real-time applications such as Virtual Reality. As this technology has evolved, the gap between rendered frames has become smaller and environments have become more complex. As a result, mistakes can arise with regard to order-dependent events. Often these mistakes result in a temporarily unstable state in the environment, and may not be visible because of the time lapse between rendered frames. These errors are compounded by events which are not directly driven by the game engine, such as user movement and input. There is a continuous interaction between the user and the environment and the precise actions that user may take often cannot be predicted a priori.Reactive programming is a still evolving paradigm that has been employed in many different applications such as robotics and user interfaces. Our research presents a reactive, dependency-base...
Proceedings of the sixth international conference on 3D Web technology - Web3D '01, 2001
This paper presents a Java-based reactive programming framework well adapted to the construction of complex behaviors for CG objects within virtual environments. This reactive approach is based on an instantaneously broadcast event model and a semanticallysound synchronous/reactive formalism. The reactive framework degree of expressiveness is illustrated through several examples of behaviors which range from low-level animation of virtual creatures to high-level control of autonomous creatures' actions.
2020 IEEE Conference on Virtual Reality and 3D User Interfaces Abstracts and Workshops (VRW), 2020
In Virtual Environments (VEs), the system must quickly respond to user actions and accurately display the result. Current solutions on the Unity3D game engine often respond too slowly and display temporarily inaccurate or misleading states, resulting in low user satisfaction. To alleviate this problem, we develop a reactive programming approach that encodes the complex relationships among Unity3D game components in a dependency graph and then uses the graph to order the updates of the components without violating the dependency constraints. This enables more timely updates and more accurate visualizations, potentially providing users with a more satisfying experience. We evaluate our approach by comparing its performance with native Unity3D and with UniRx, the Reactive Extensions library for the Unity3D platform.
2011
This paper presents an approach to the Mario AI Benchmark problem, using the A* algorithm for navigation, and an evolutionary process combining routines for the reactiveness of the resulting bot. The Grammatical Evolution system was used to evolve Behaviour Trees, combining both types of routines, while the highly dynamic nature of the environment required specific approaches to deal with over-fitting issues. The results obtained highlight the need for specific algorithms for the different aspects of controlling a bot in a game environment, while Behaviour Trees provided the perfect representation to combine all those algorithms.
IPT-EGVE Symposium Proceedings, 2007
Functional Reactive Programing (FRP) is a new paradigm that has been evolving over the past decade and it has been applied in many different fields, such as robotics and user interface. FRP was originally developed as a programming paradigm to handle animation and it has since been used as a replacement for the Observer pattern in systems that require order and accuracy when handling large numbers of callbacks. Inaccuracy and ordering issues related to call-backs can negatively affect a user's experience when using a virtual environment (VE). This paper is a study over 4 comprehensive papers on virtual environments and FRP that leads to the problems commonly faced on VE are also found on other systems where FRP improved the accuracy and limited the complexity. Therefore VE should also be improved through the use of functional reactive capabilities.
Proceedings of the 2007 ACM symposium …, 2007
… of the Virtuelle …, 2007
Functional Reactive Programing (FRP) is a new paradigm whose use has evolved in many different fields, such as robotics and user interface. FRP was originally developed as a programming paradigm to handle animation. It has since been used as a replacement for the Observer pattern in systems that require order and accuracy when handling large numbers of callbacks. Inaccuracy and ordering issues related to callbacks can negatively affect a user's experience when using a virtual environment (VE). This paper describes several implementations of FRP in order to determine the most suitable library for use with Unity for handling the dynamic interactions between the engine and the sensors and actuators that allow users to interact with the Virtual Environment. An assessment model determined from Bainomugisha et al [1] is used to compare language and then reach a conclusion. The implementation chosen is used on a test environment to confirm the theoretical benefits in practice.
2008
Abstract This paper presents a game-model of a gym training system, where the behavior of the system is specified using languages developed originally for reactive system design, which drive a game engine. The approach makes it possible to describe behaviors of different parts of the system using different reactive system design languages and tools. It thus provides a framework for integrating the model behavior to obtain an executable game-model of the entire system.
Sigplan Notices, 1997
Fran (Functional Reactive Animation) is a collection of data types and functions for composing richly interactive, multimedia animations. The key ideas in Fran are its notions of behaviors and events. Behaviors are time-varying, reactive values, while events are sets of arbitrarily complex conditions, carrying possibly rich information. Most traditional values can be treated as behaviors, and when images are thus treated, they become animations. Although these notions are captured as data types rather than a programming language, we provide them with a denotational semantics, including a proper treatment of real time, to guide reasoning and implementation. A method to e ectively and efciently perform event detection using interval analysis is also described, which relies on the partial information structure on the domain of event times. Fran has been implemented in Hugs, yielding surprisingly good performance for an interpreter-based system. Several examples are given, including the ability to describe physical phenomena involving gravity, springs, velocity, acceleration, etc. using ordinary di erential equations.
2004
We describe a new approach to the behaviour of 3D environments that supports the definition of physical processes and interactive phenomena. The work takes as a starting point the traditional event-based architecture that underlies most game engines. These systems discretise the environments' Physics by separating the objects' kinematics from the physical processes corresponding to objects interactions. This property has been used to insert a new behavioural layer, which implements AI-based simulation techniques.
2004
System and method for generating reactive animation, providing a generic link between tools for graphic animation, by operatively linking the representation of an event driven system in conjunction with an event driven engine to an animation engine to generate reactive animation.
Eurographics, 1995
Behavioural models o er the ability to simulate autonomous entities like organisms and living beings. Such entities are able to perceive their environment, to communicate with other creatures and to execute some decided actions either on themselves or on their environment. Building such systems requires the design of a reactive system treating ows of data to and from its environment, in a complex way needing modularity, concurrency and hierarchy, and involving task control and preemption. Accordingly, in this paper we address the adequateness to the decisional part of the behavioural model of the following programming paradigms: reactivity, concurrency, data-ow and hierarchical preemption. The reactive languages provide users with complete design environments (including graphical tools for designing, simulating, implementing and formally verifying) for such systems. The speci cation of concurrent behaviours is naturally supported in the synchronous languages, and some of them are more suited for control-intensive applications (sequencing and preempting tasks), while others address computation-intensive applications (data-ow). SignalGT _ is an extension of the language Signal where data-ow processes can be composed into nested preemptive tasks. An application in the simulation of a transportation system shows how these programming paradigms can be of use, and how SignalGT _ can support their implementation.
2007
This technical report describes in detail a specific mechanism for linking any number of tools, including an animation tool and reactive system engines of different kinds. We illustrate the technique and the underlying principles by linking up the Rhapsody tool, which supports statecharts and object diagrams, and the Play-Engine, which supports live sequence charts (LSCs), to 3D Game Studio (3DGS) for animation and MATLAB for mathematical analysis.
ACM Computing Surveys, 2013
Reactive programming has recently gained popularity as a paradigm that is well-suited for developing event-driven and interactive applications. It facilitates the development of such applications by providing abstractions to express time-varying values and automatically managing dependencies between such values. A number of approaches have been recently proposed embedded in various languages such as Haskell, Scheme, JavaScript, Java, .NET, etc. This survey describes and provides a taxonomy of existing reactive programming approaches along six axes: representation of time-varying values, evaluation model, lifting operations, multidirectionality, glitch avoidance, and support for distribution. From this taxonomy, we observe that there are still open challenges in the field of reactive programming. For instance, multidirectionality is supported only by a small number of languages, which do not automatically track dependencies between time-varying values. Similarly, glitch avoidance, wh...
LiveWorld is a graphical environment designed to support research into programming with active objects. It offers novice users a world of manipulable objects, with graphical objects and elements of the programs that m,ake them move integrated into a single framework. LiveWorld is designed to support a style of programming based on rule-like agents that allow objects to be responsive to their environment. In order to make this style of programming accessible to novices, computatiomd objects such as behavior:il rules need to be just as concrete and accessible as the graphic objects. LiveWorld fills this need by using a novel object system, Framer, in which the usual structures of an objectoriented system (classes, objects, and slots) are replaced with a single one, the fratne, that has a simple and intuitive graphic representation. This unification enables the construction of an interface that achieves elegance, simplicity and power. Allowing graphic objects and internal computational objects to be manipulated through an integrated interface can provide a conceptual scaffolding for novices to enter into progmmming.
Mta, 1999
This paper explores the idea of reactivity in multimedia, and proposes systems which can react to continuously-evolving behaviours as well as to more traditional discrete events. The idea is presented in a scenario as well as in a number of small programming examples.
2003
Abstract. This paper explores the idea of reactivity in multimedia, and proposes systems which can react to continuously-evolving behaviors as well as to more traditional discrete events. The idea is presented in a scenario as well as in a number of small programming examples. The illustrative examples are written in the Fran system. Fran provides a high-level programming model for animations, built in the Haskell functional programming language.
Proceedings of the 16th International Symposium on Principles and Practice of Declarative Programming - PPDP '14, 2014
Video games are usually not programmed very declaratively. There are a number of reasons for this, from low-level efficiency concerns, via the nature of commonly employed programming languages, libraries, and frameworks, to the conceptual nature of such games, with state and effects being omnipresent. However, by structuring games in terms of time-varying values and transformations on such values, it is possible to design and implement video games in a more declarative way. This tutorial shows how this can be achieved through Functional Reactive Programming (FRP) by implementing the high-level parts of a 2D game akin to the classical game Breakout. The tutorial uses the Haskell-embedded FRP implementation Yampa and bindings to SDL (Simple DirectMedia Layer) to obtain game play and visual standards typical of the 2D genre; for example, as seen in many currently popular games for smartphones and tablets.
Loading Preview
Sorry, preview is currently unavailable. You can download the paper by clicking the button above.