Practicality of Multithreaded Rendering with Vulkan

Description
Vulkan is a modern, low-level, and low-overhead graphics library that allows for the distribution of work across CPU cores using multithreading. This multithreading is possible due to the near full control of the GPU that Vulkan allows. The additional control

Vulkan is a modern, low-level, and low-overhead graphics library that allows for the distribution of work across CPU cores using multithreading. This multithreading is possible due to the near full control of the GPU that Vulkan allows. The additional control makes it possible to send multiple instructions to the GPU at the same time. There are a variety of techniques that can be used with Vulkan to effectively improve performance while multithreading instructions to the GPU. One of the challenges of multithreading is the lack of modern-day GPU hardware to support it, which leads to the purpose of this paper, to explore the practicality of multithreading techniques with Vulkan in today’s current computing environment.
Date Created
2023-12
Agent

Skeeter Breeder: Exploring UI for Gamified K-12 EduMobile Applications

Description

This research study investigates the design principles and best practices for incorporating gamification in EduMobile apps for teaching about mosquito breeding grounds. With limited research investigating the effectiveness of EduMobile apps in engaging and educating students on complex topics, this

This research study investigates the design principles and best practices for incorporating gamification in EduMobile apps for teaching about mosquito breeding grounds. With limited research investigating the effectiveness of EduMobile apps in engaging and educating students on complex topics, this study aims to uncover best practices for designing EduMobile apps for early learners (elementary and middle schoolers). A convenience sample of adults who were not part of the target demographic were recruited to test the app. The System Usability Scale was used to measure user satisfaction, and question-wise t-tests were conducted to analyze the effectiveness of specific design changes. Results show a significant difference in user satisfaction between the original and revised designs, with question 5 of the System Usability Scale driving the overall difference in score. Inconsistent design was found to increase extraneous cognitive load and split attention, while consistency within different views was shown to increase user perception of system integration. These findings suggest that incorporating gamification and following best practices in designing EduMobile apps can increase student engagement and motivation in learning about mosquito breeding grounds.

Date Created
2023-05
Agent

The Application of Rollout-Style Search to Decision-Making in the Game of Chess

Description

This paper explores the inner workings of algorithms that computers may use to play Chess. First, we discuss the classical Alpha-Beta algorithm and several improvements, including Quiescence Search, Transposition Tables, and more. Next, we examine the state-of-the-art Monte Carlo Tree

This paper explores the inner workings of algorithms that computers may use to play Chess. First, we discuss the classical Alpha-Beta algorithm and several improvements, including Quiescence Search, Transposition Tables, and more. Next, we examine the state-of-the-art Monte Carlo Tree Search algorithm and relevant optimizations. After that, we consider a recent algorithm that transforms Alpha-Beta into a “Rollout” search, blending it with Monte Carlo Tree Search under the rollout paradigm. We then discuss our C++ Chess Engine, Homura, and explain its implementation of a hybrid algorithm combining Alpha-Beta with MCTS. Finally, we show that Homura can play master-level Chess at a strength currently exceeding that of our backtracking Alpha-Beta.

Date Created
2023-05
Agent

Sally the Seahorse Educational 2D Game

Description

Nowadays, kids are exposed to technology at an incredibly early age. According to a study by YouGov in the United Kingdom, 88% of 12-year-olds are entrusted with their own devices and 85% of children at age 6 have access to

Nowadays, kids are exposed to technology at an incredibly early age. According to a study by YouGov in the United Kingdom, 88% of 12-year-olds are entrusted with their own devices and 85% of children at age 6 have access to a tablet at home (YouGov). In the US, according to MarketingProfs 75% of children 8 and under have access to some type of smart device. In an ever-growing technological world, it is important to make sure that kids are enjoying entertainment that enhances their growth and protects them from inappropriate content (Nanji). I wanted to create a browser game that explains the importance of Security in a colorful, fun environment with a friendly playable character. The game I created is a 2D platformer in which the player learns about the importance of passwords and keeping them secure.

Date Created
2023-05
Agent

Gesture.js: A Cloud-Deployable Framework for Building Embodied Experiences

171730-Thumbnail Image.png
Description
Emerging body movement detection and gesture recognition software have opened a gateway of possibilities to make technology more intuitive, engaging, and accessible for people. A vast areaof natural user interfaces is leveraging body motion tracking and gesture recognition technologies and

Emerging body movement detection and gesture recognition software have opened a gateway of possibilities to make technology more intuitive, engaging, and accessible for people. A vast areaof natural user interfaces is leveraging body motion tracking and gesture recognition technologies and a human’s readily expressive body to extend interactions with software beyond mouse clicks and scrolls. However, these interfaces have been limited by hardware and software expenses, high development time and costs, and learning curves. This paper explores different approaches to providing both software developers and designers with easier ways to incorporate computer vision-based body and gesture detection solutions into the development of embodied experiences without suppressing creativity. Gesture.js is a JavaScript framework as a service (FaaS) that is both a thin library on top of the Document Object Model (DOM) consisting of a collection of tools for developing embodied-enabled applications on the web and a landmark computation and processing application programming interface. It wraps MediaPipe, an open-source collection of machine-learning solutions that perform inference over arbitrary sensory data, and additional landmark processing frameworks such as KalidoKit, a 3D model rigging solution, and ports the necessary information through either an object-oriented or an API-oriented implementation. It also comes with its web-based graphical interface for easy connection between Gesture.js and other application clients with little to no JavaScript code. This thesis also details a collection of example applications that demonstrate the usability, capacity, and potential of this framework.
Date Created
2022
Agent

Performance Comparison of the Marching Cubes Algorithm: CPU vs. GPU

Description
This paper compares two approaches to implementing the Marching Cubes algorithm, a method of extracting a polygonal mesh from a 3D scalar field. One possible application of this algorithm is as a procedural terrain generation technique for use in video

This paper compares two approaches to implementing the Marching Cubes algorithm, a method of extracting a polygonal mesh from a 3D scalar field. One possible application of this algorithm is as a procedural terrain generation technique for use in video game development. The Marching Cubes algorithm is an easily parallelizable task, and as such benefits greatly from being executed on the GPU. The reason that the algorithm is so well suited for parallelization is that it breaks the problem of mesh generation into a large group of similar sub-problems that can be solved completely independently.
Date Created
2022-12
Agent

Math Educational Video Game

164974-Thumbnail Image.png
Description
The goal of this project was to determine if the chosen research and testing method would result in a game where students would practice math in the best way. This was done by creating a video game using Unity that

The goal of this project was to determine if the chosen research and testing method would result in a game where students would practice math in the best way. This was done by creating a video game using Unity that followed key principles for designing a math game and for how students should practice math in general. Testing was done on participants to determine the strategies they used in order to play the game and these strategies were then defined and categorized based on their effectiveness and how well they met the learning principles. Also, the participants were asked a before and after question to determine if the game improved their overall attitude towards math to make sure the game was helping them learn and was not a hindrance. There was an overall increase in the participants’ feelings towards math after playing the game as well as beneficial strategies, so the research and testing method was overall a success.
Date Created
2022-05
Agent

Cannon Quest: An Educational Video Game Intended to Teach the Principles of Orbital Mechanics to an Everyday Audience

164947-Thumbnail Image.png
Description
For my thesis, I developed an educational video game titled Cannon Quest. Based around a thought experiment proposed in 1687 by Sir Isaac Newton, Cannon Quest allows players to explore a miniature, 2-dimensional solar system using real physics and gravity.

For my thesis, I developed an educational video game titled Cannon Quest. Based around a thought experiment proposed in 1687 by Sir Isaac Newton, Cannon Quest allows players to explore a miniature, 2-dimensional solar system using real physics and gravity. My principle goal was to create an interactive model of orbital motion, with some game/simulation elements. This allows players who are totally unfamiliar with orbital mechanics to gain at least a rudimentary understanding simply by playing the game. While the educational model was my primary goal, care was taken to ensure that Cannon Quest functions as a playable simulator. I developed my own user interface (UI), control setup, and art, as well as integrating music and animation for a more complete user experience. I also spent a significant amount of time balancing the gameplay aspects with the real physics, occasionally sacrificing reality where needed to ensure a better experience. The resulting product is simple and straightforward, while retaining much of the nuances of actual orbital motion. I also developed a website to host Cannon Quest, and better direct my playtesters from a single hub. You can visit this website at www.cannonquest.carrd.co. Alternatively, you can visit https://possiblymatthew.itch.io/cannon-quest or https://github.com/matthewbenjamin22/Cannon-Quest to play the game.
Date Created
2022-05
Agent