In Artificial Intelligence (AI) field, Machine Learning (ML) techniques present an interesting approach for games, where it allows some sort of adaptation along the game session. This adaptation can make games more attractive, avoiding that Non-Player-Characters (NPC) present too easy or hard patterns during the game. In both cases, the player may be frustrated due to undesired experience. Although ML techniques are appealing to be used in games, some games characteristics are hard to model. Besides, there are techniques that require a wide variety of observations, which implies two hard barriers for game application: the first is the power processing to compute a huge amount of data in games, considering the real-time characteristic of this kind of application. The second threat is related to the vast majority of games' attributes that must be described in the model. This work proposes a novel approach using ML technique based on Hidden Markov Model (HMM) for game balancing process. HMM is a powerful technique which can be used to learn patterns based on a strong co-relational between an observation and an unknown variable (the hidden part). Our proposed approach learns the player's pattern based on temporal frame observation by co-relating his/her actions (movements) with game events (NPC destruction). The temporal frame observation approach allows the game to learn about player's pattern even if a different person plays it. After the learning process, the following step is to use the knowledge pattern to adapt the game according to the current player, which normally involves making the game harder for a certain period of time. During this time, another pattern may arise, subjected to be learned. In order to validate the presented approach, a Space Invaders clone has been built, allowing to observe that 54 % of participants had more fun while playing it with ML activated in relation to a base version that did not take into account dynamic difficult balancing.
Games are interactive applications that require input devices in order to send messages for the interaction. Normally this input devices are mouse, keyboards and joysticks. Lately, this input has been done in different ways, such as voice, touch and movement with new input devices. One type of input that has not been very explored is the use of the brain waves as a input for the game. While in past these devices where expensive, nowadays Brain Computer Interface (BCI) have become accessible, cheap and can be acquired with nonintrusive top off-the-shelf products, which can create a new paradigm of interaction for games. This work presents a novel architecture and framework that can help the development of games with both BCI and traditional interfaces. As a proof of concept, this paper shows the experience in designing and developing a game prototype using the framework and EEG brainwaves as one of the players input. The game is an action slice game, similar to Fruit Ninja, called MindNinja. This game differ form most BCI game, since it is based on an action game, using touch input where the BCI is used as an auxiliary input to change the game behavior. This game was tested and evaluated with a group of person, showing promising results in the fun level, as well as increasing the attention level of subjects.
Computer games are real-time applications that create interactive virtual environments, usually as discrete time-stepped simulations. These simulations may have predefined time step sizes or may use variable time step sizes. These approaches are common in games, but not flexible. In the first approach, when the game runs on a machine with abundant resources, the game does not use the extra capacity to improve simulation quality (task results or presentation). The second approach usually runs the simulation as fast as possible, using the time elapsed between consecutive time steps to scale all computations, so as the simulation runs in real-time. However, this approach wastes processor time and energy and in multi-core hardware scenarios (e.g., GPUs and clusters), the problem of wasting computing resources becomes more severe. In this paper, we propose a parallel and adaptive architecture that employs workload balance, precedence of game tasks and tardiness policy in multi-core hardware to handle the aforementioned issues. The architecture uses tardiness policy to monitor and change task behavior according to the current conditions of he host hardware. On more powerful computers, the architecture is able to improve task quality if there is spare time available. On less powerful computers, the architecture restricts task functionality so that tasks are able to complete on time. We provide two examples to demonstrate how the architecture works.
This paper introduces a novel and efficient data structure capable of supporting a large number of particle-based elements in a GPU architecture such as fluid's animation. The presented fluid animation approach is based on SPH (Smoothed Particle Hydrodynamics) and uses a unique algorithm for the neighborhood gathering, required during a particle processing. Usually, this kind of information about neighborhood is provided by algorithm which use spatial data structures, subdividing the environment and classifying each particle among their position in space. Unfortunately, it does not provide efficiency for a large number of particles grouped closes to each other as most of them will fall in the same cell. Instead of using such approaches, this work presents a novel and efficient data structure that maintains the particles into another kind of proximity data structure, called NGrid . In this structure, each cell contains only one particle and does not directly represent a discrete spatial subdivision. The NGrid does process an approximate spatial neighborhood of the particles, yielding promising results for real time fluid animation, with results that goes up to 8× speedup, when compared to traditional GPU approaches, and up to 100× when compared against CPU implementations.
Computer games are real-time applications that create interactive virtual environments, usually as discrete time-stepped simulations. These simulations may have predefined time step sizes or may use variable time step sizes. These approaches are common in games, but not flexible. In the first approach, when the game runs on a machine with abundant resources, the game does not use the extra capacity to improve simulation quality (task results or presentation). The second approach usually runs the simulation as fast as possible, using the time elapsed between consecutive time steps to scale all computations, so as the simulation runs in real-time. However, this approach wastes processor time and energy and in multi-core hardware scenarios (e.g., GPUs and clusters), the problem of wasting computing resources becomes more severe. In this paper, we propose a parallel and adaptive architecture that employs tardiness policy in multi-core hardware to handle the aforementioned issues. The architecture uses tardiness policy to monitor and change task behavior according to the current conditions of he host hardware. On more powerful computers, the architecture is able to improve task quality if there is spare time available. On less powerful computers, the architecture restricts task functionality so that tasks are able to complete on time. We provide two examples to demonstrate how the architecture works.
Nowadays, Brain Computer Interface (BCI) are becoming accessible and cheap solutions and can be acquired with nonintrusive top off-the-shelf products. This creates a new paradigm of interaction for games. This work presents a novel architecture and framework that can help the development of games with both BCI and traditional interfaces. As a proof of concept, this paper shows the experience in designing and developing a game prototype using the framework and EEG brainwaves as one of the players input. The game is an action slice game, similar to Fruit Ninja, called MindNinja. This game differ form most BCI game, since it is based on a action game, where the BCI is used as an auxiliary input. This game was tested and evaluated with a group of person, showing promising results in the fun level, as well as increasing the attention level of subjects.
CPUs and GPUs have been evolving rapidly over time regarding their capabilities and processing power. This has opened many new possibilities for interactive and real time systems, such as more sophisticated scene realism, more precise and complex artificial intelligence, and better physical simulations. However, these improvements come at a cost: increase of energy consumption. Energy management in interactive and real time architectures have not been receiving much attention over the years, but this issue is likely to become important in the near future due to the increasing energy demand and consumption required by top-notch game applications(especially regarding the mobile and portable consoles). In this paper we introduce the concept of intelligent energy management for games and interactive systems and address the aforementioned issue through these contributions: 1) an investigation of works related to energy management (in general); 2) implementations of feasibility tests for energy management on GPUs; and 3) a novel game architecture with energy management, using multiple GPUs.
This paper introduces a novel and efficient data structure, called neighborhood grid, capable of supporting large number of particle based elements on GPUs (graphics processing units), and is used for optimizing fluid animation with the use of GPU computing. The presented fluid simulation approach is based on SPH (smoothed particle hydrodynamics) and uses a unique algorithm for the neighborhood gathering. The brute force approach to neighborhood gathering of n particles has complexity O(n2), since it involves proximity queries of all pairs of fluid particles in order to compute the relevant mutual interactions. Usually, the algorithm is optimized by using spatial data structures which subdivide the environment in cells and then classify the particles among the cells based on their position, which is not efficient when a large number of particles are grouped in the same cell. Instead of using such approach, this work presents a novel and efficient data structure that maintains the particles into another form of proximity data structure, called neighborhood grid. In this structure, each cell contains only one particle and does not directly represent a discrete spatial subdivision. The neighborhood grid does process an approximate spatial neighborhood of the particles, yielding promising results for real time fluid animation, with results that goes up to 9 times speedup, when compared to traditional GPU approaches, and up to 100 times when compared against CPU implementations.
Multi-thread architectures are the current trends for both PCs (multi-core CPUs and GPUs) and game consoles such as the Microsoft Xbox 360 and Sony Playstation 3. GPUs (Graphics Processing Units) have evolved into extremely powerful and flexible processors, allowing its use for processing different data. This advantage can be used in game development to optimize the game loop. As reported in the literature, GPGPUs have been used in processing some steps of the game loop, while most of the game logic is still processed by the CPU. This proposal differs by presenting an architecture designed to process practically the entire game loop using the GPU. Two test cases, a crowd simulation and a 2D game shooter prototype called GpuWars, are presented to illustrate the proposed architecture.
Computing and presenting crowd simulation in real-time requires an intensive processing effort, since it is necessary processing the behavior and render of each entity. The advent of GPU computing has enabled the development of many strategies for accelerating these simulations. In this paper we propose an architecture for multiples GPUs for crowd simulation, that allows a massive number of entities to be processed and rendered in real time. Also, we implement a representative case-study based on the behavior of a crowd during the street carnival from Rio de Janeiro from which we run benchmarks and compare the benefits achieved using more the presented architecture.
In this paper, a content adapter architecture for learning system is presented. Normally, most e-learning systems are designed for web browsers. In order to be adapted for others consumers, like mobile devices, some constraints are introduced due to the different characteristics and constraints of these devices, like different screen dimensions, that would require some form of adaptation. This adaptation task can consume time and resources, since most solutions resolve it by creating different resources for different devices. In this work, a different approach is used, the content is adapted in a middle layer (in a non intrusive way), between the content provider and the device. The adaptation is done with the use of templates, which describes how the content must be adapted. This architecture consist in a backend server and a front end client. Also, the server is responsible for maintaining a version control of the content, message services, statics collections, among other features. While the client provides a thin layer, build as a native web application, which can provides interaction with the devices features and also a cache system for avoiding data transfers and also providing an offline content.
Simulation systems are becoming common in different knowledge fields, such as aeronautics, defense, and industrial applications, among many others. While in the past these systems where mostly based on typical Virtual Reality Environments, with the advance of the game industry simulators are being developed using typical game engines and gaming software architectures. Distributed computing is being used in several fields to solve many computation intensive problems. Due the complexity of Simulation systems, this architecture can also be used, devoting host processing to renderization, which is usually the task that simulators spend most of its processing time. By using distributed computing, simulators could need softer system requirements, since the main loop would be distributed. This work presents concepts of simulator software, which is based on the main loop technique. After describing state-of-the-art concepts, we present an efficient automatic load balancing and distributing logic computation among several computers for simulators.
Nowadays mobile phones, especially smartphones, are equipped with advanced computing capabilities. Most of these devices have multicore processors such as dual-core CPUs and many-core GPUs. These processors are designed for both low power consumption and high performance computation. Moreover, most devices still lack libraries for generic multicore computing usage, such as CUDA or OpenCL. However, computing certain kind of tasks in these mobile GPUs, and other available multicores processors, may be faster and much more efficient than their single threaded CPU counterparts. This advantage can be used in game development to optimize some aspects of a game loop and also include new features. This work presents an architecture designed to process most of the game loop inside a mobile GPU using the Android Renderscript API. As an illustrated test case for the proposed architecture, this work presents a game prototype called “MobileWars”, completely developed using the proposed architecture.
The availability of multicore CPUs and programmable GPUs have risen the provision of processing power for applications. In case of games, this means increased scene realism and more sophisticated artificial intelligence and physics simulations, for example. However, using more power raises energy consumption and system temperature. Therefore, energy consumption and thermal management are research fields that have been receiving increased attention over the last years. This work proposes a multi-thread game architecture based on the GPGPU paradigm to make use of available hardware while providing energy consumption and thermal control management for multiple GPU processors.
This paper presents a Content Adapter Architecture (CAA) for Content Management Systems (CMSs). A CMS is a software application that maintains and keeps track of every piece of content of a website. In the past, CMS has been mainly used in developing websites and portals for desktop PCs. For mobile devices such as smart phones and tablets, the web content developed for PCs needs to be adapted in order to provide the best possible user experience due to different characteristics and constraints such as screen dimensions. This adaptation task can be time consuming and resource intensive. Most solutions resolve it by creating different resources or CMS plugins for different devices. This paper proposes a novel approach to adapt CMS content in a non-intrusive way, through the use of templates which specify how the content should be adapted. The CAA consists of a backend server and a front end client. The server is responsible for the adaptation and provides version control of content, amongst other features. The client, built as a web application, is a thin layer which provides interaction with the device features, and acts as a cache system to reduce data transfer.
Computational fluid dynamics in simulation has become an important field not only for physics and engineering areas but also for simulation, computer graphics, virtual reality and even video game development. Many efficient models have been developed over the years, but when many contact interactions must be processed, most models present difficulties or cannot achieve real-time results when executed. The advent of parallel computing has enabled the development of many strategies for accelerating the simulations. Our work proposes a new system which uses some successful algorithms already proposed, as well as a data structure organisation based on a heterogeneous architecture using CPUs and GPUs, in order to process the simulation of the interaction of fluids and rigid bodies. This successfully results in a two-way interaction between them and their surrounding objects. As far as we know, this is the first work that presents a computational collaborative environment which makes use of two different paradigms of hardware architecture for this specific kind of problem. Since our method achieves real-time results, it is suitable for virtual reality, simulation and video game fluid simulation problems.
The advent of GPU computing has enabled development of many strategies for accelerating different kinds of simulations. Even further, instead of processing an application by just using one GPU, it is a common to use a collection of GPUs as a solution. These GPUs can be located in the same machine, network, or even across a wide area network. Unfortunately, distribution and management of GPUs requires additional efforts by the user such as deal with data transfer, connection and processing among GPUs. Request distributor for GPU clusters (RDGPUC) is a software architecture which allows companies, institutes and other users to share their GPU resources. By using this architecture, each cluster can have its own software to manage internal resources and they only need to develop small code to interact with RDGPUC. This novel design brings flexibility to the system and allows everyone to share their resources without need to change their GPU cluster tool. Another interesting part of system is to allow users to submit requests from all kind of devices and platforms. Admin of this system is able to specify resource groups and special schedules for using resources. On the other hand, end-users can just use a simple interface to submit their requests on RDGPUC without knowing about internal design and current status of GPU clusters.
Most of the game content is designed specificaly for the device, which it is being developed for. Nowadays, with the development of mobile phones, smartphones, tablets and Digital TV, this content must be adapted to these different devices, where each have diverse characteristics and constraints, like different screen dimensions and multimedia capabilities. The adaptation task can consume time and resources, since most solutions resolve it by creating different resources for different devices. Also these resources and different versions of the resources must be managed in a higher level. In this work, a novel content adaptation architecture is presented, which was developed to gather the content from a content management system (CMS) or a version control systems (VCS) and adapt it for different devices, through the use of templates, which describes how the content must be adapted. Furthermore, as most games have different versions and content versions, like levels and characters, the architecture have a content version control, where the client (the device the game is installed and played) only receives the difference between the content version that is installed and the downloaded one. This way, the architecture avoids higher data transfers thought the network, which in some cases can be slow and expensive, since some devices connect though slow and expensive mobile networks.
Seyed Masoud Sadjadi合作论文数College of Engineering and Computing;School of Computing and Information Sciences2