1 - 3 / 3
ÖgeGeneralized game-testing using reinforcement learning(Graduate School, 2023-10-17)The gaming industry has experienced significant growth and evolution, becoming a prominent sector in entertainment and technology. This growth has led to increased consumer expectations regarding the quality and complexity of games, prompting developers to explore innovative solutions to meet these demands. To meet these demands, one of the pivotal approaches adopted by game developers is the game testing process. Game testing is an incredibly resource-intensive procedure, demanding comprehensive evaluation of all aspects of a game through actual gameplay. To address this challenge and alleviate the associated workload, this thesis proposes an innovative approach to game testing. This method integrates a generic environment framework with reinforcement learning (RL) models, facilitating seamless communication between any game and an RL model under specific conditions. The framework optimizes the game testing process by capitalizing on the efforts of game developers. It relies on developers to compile and transmit essential information, such as state and reward data, to the generic environment. Subsequently, this data is processed and harnessed within the RL model, allowing it to learn and play the game in accordance with developers' intentions, while simultaneously generating valuable data for game testing purposes. This method also capitalizes on the beneficial aspect of game-playing AI agents trying out various actions in different states as they learn to play games. Game testing entails the creation of diverse scenarios by implementing different actions in various in-game situations. These scenarios are observed, and, when necessary, actions are taken in the game development process based on these observations. Therefore, as the situation where game-playing agents experience various scenarios closely resembles game testing, we can utilize not only the actions performed by agents during testing but also their behaviors during training as part of the game-testing content. The experimental phase of the study involved the deployment of six distinct builds of the same game, each serving as a means to test the functionalities of the generic environment and observe their impact on the behavioral patterns of RL models. These builds were thoughtfully crafted to uncover various aspects of RL model behavior and the diverse methods of representing game states. These builds can be summarized as follows: - Basic side-scroller: This build's purpose is to test the seamless communication between the generic environment framework, the game build, and the RL model. It features a simple reward system designed to guide the player to a target point, an action space consisting of three actions, and employs a state image as the state information. Exploration-oriented side-scroller:} Designed to encourage the player to explore the entire game area, this build incorporates a comprehensive reward system. It boasts an action space comprising four actions and utilizes a state image as the state information. - Exploration-oriented side-scroller with colored textures: This build serves as a variant of the exploration-oriented side-scroller build, with the only alteration being the modification of game textures. Its purpose is to investigate the impact of texture changes on the training of RL models. - Goal-oriented side-scroller: Sharing the same action space and state information as the exploration-oriented side-scroller build, this build primarily aims to observe the effects of reward system modifications. It employs a detailed reward system to guide the player toward specific objectives and a goal. - Exploration-oriented side-scroller using no image: With an identical action space and reward system structure as the exploration-oriented side-scroller build, this build seeks to examine how using a state array as state information influences the RL model's behavior. - Exploration-oriented side-scroller using image and array: Being similar to the exploration-oriented side-scroller build in action space and reward system structure, this build aims to maximize its impact on the RL model's behavior. It achieves this by employing both a detailed state array and a state image as state information. - Arcade: This build aims to demonstrate how the generic environment framework will perform in a completely different game. It has both exploratory and goal-oriented structures. It features a moderately complex reward system and an action space consisting of five actions. It uses both arrays and images as state information. The investigation into the communication system between the RL agent and the game build yielded valuable insights. It became evident that the generic environment framework played a crucial role in achieving positive and efficient outcomes. Nevertheless, the research also pinpointed areas ripe for enhancement, particularly concerning the reduction of the workload on game developers and the resolution of issues stemming from external factors. The logging system integrated into the generic environment has proven to be a valuable asset in the realm of game testing. It leverages the total reward accrued in each episode, efficiently guiding the selection of episodes meriting closer scrutiny. Furthermore, the supplementary information provided by this system offers exceptionally insightful data, greatly enhancing our comprehension of the actions taken in various gaming scenarios. Our proposed approach holds significant potential in the realm of game testing. It enables AI agents to adjust their behaviors by utilizing dynamic rewards and extensive state information from arrays and images to meet specific criteria. Moreover, successful game-testing outcomes have been consistently observed throughout both the training and testing phases, where agents adeptly exploit game vulnerabilities and uncover unforeseen features and bugs. In spite of the apparent successful outcomes, the implementation involving both a state image and a state array exhibited a notable reduction in training speed and encountered a substantial level of system load attributed to hardware constraints during the training process. When evaluated in accordance with the objectives of the thesis, it can be concluded that, overall, the proposed method has achieved successful outcomes in the game testing process and holds promise for future development potential. Further endeavors aimed at enhancing system performance may yield positive results concerning the broader applicability of game testing.
ÖgeExploring the role of game mechanics in generating spatial compositions: Snaris case(Graduate School, 2023-08-02)As the world becomes increasingly digitized, the study of virtual environments and user agency in it has emerged as an important field of research. Video games, in particular, serve as an influential subset of these digital spaces, presenting an array of dynamic, complex, and interactive worlds. These game spaces are experienced by users regularly and also raise interesting questions about human interaction, cognition, and experience within virtual realities. In a game, the player acts as both the subject, engaging with the gaming system, and the object, receiving responses based on their input. Their actions and decisions are interwoven into a complex system of cause and effect, where each decision leads to a change in the state of the virtual environment, thereby influencing their subsequent actions. This cyclical process organizes all decisions made during the gaming session, and the game space emerges as a result. This research is about user interaction with virtual spaces, exploring the impact of game mechanics -specifically risk and reward mechanics- on the player's agency in shaping the virtual environment, thus establishing a discussion on exploration at the intersection of game studies, architecture, and human-computer interaction. More specifically, the goal of this research is to answer the following questions: How does the involvement of risk and reward mechanics impact the spatial outcomes generated by participants using a 3D puzzle game? In which ways do the risk and reward mechanics affect the player's role in shaping virtual spaces? What is the impact of more challenging situations on the spatial composition in a virtual environment? How do software limitations influence the generation of spatial elements? To investigate the impact of risk and reward mechanics on generating spatial outcomes, we designed and developed a two-state digital application called Snaris, a 3d puzzle game, in which we can isolate various mechanics in two distinct modes. We compared the spatial compositions created under these distinct conditions by comparing scenes created in Play Mode which harbors risk and reward mechanics with scenes created in Build Mode, which lacks said mechanics. We proposed a method for qualitatively assessing spatial features of scenes created in Snaris. This method employs 12 criteria for evaluating unique 3D spatial compositions generated by the application. We collected data by conducting playtests with 20 participants with each submitting a scene from both modes of application. We observed that where the risk and reward mechanics exist, participants were usually more preoccupied with being able to shape the spatial outcome deliberately. Thus, creating more random and incoherent structures. On the other hand, the absence of risk and reward mechanics and a clear, unobstructed game environment allowed players to engage in unconventional actions, and create familiar topologies, in a setting that encourages exploration and experimentation throughout the session.
ÖgeArgent: A web based augmented reality framework for dynamic content generation(Institute of Science and Technology, 2020-07)In the modern world, people are more and more interested in interactive technologies. Education, research and business habits are effected by this change and humans can be more efficient using interactive technologies. Augmented reality (AR), which is a novel addition to those interactive technologies, is especially effective in this matter. Through augmented reality, people can immerse more deeply with the subject experience and they can have enhanced interaction. Despite the usefulness of augmented reality, it may not always be efficient develop an AR application in terms of development cost. AR development still requires knowledge and experience with certain tools and frameworks. Such tools are usually programming and game development tools and they require programming and technical skills that is gained by long-term education and training. People experienced in design and content creation can be deprived of the ability to create and maintain AR applications. Nowadays, tools like Unity, Vuforia, ARKit and ARCore provide ways to develop AR applications without the need to have knowledge of low-level calculation and programming that is required for AR technology. Normally, developing an AR application would have taken years of research and development by large teams, but thanks to SDK and APIs provided by these tools, AR applications can be developed by small development teams easily and quickly. However, AR is still not easily accessible by all the tech-savvy people that may be interested in developing such applications. Majority of AR applications are developed using Unity. There are visual programming solutions in Unity, but they are not suitable to be used in AR applications. A Unity-based tool that allows people without programming skills to create AR applications, will be utmost useful. Such a tool would require features such as, creating an application without programming, optional support to do programming and scripting, real time updates and ability to ship without any build and packaging step, support for 3D object, image and video, the ability to modify objects and preview them in real time, and the ability to create user interfaces. The tool should also have a user friendly interface and experience. It should introduce the innovative features without changing the conventional workflows. Existing tools do not provide these features which are crucial for an ordinary person to create AR applications.