Matching Items (13)
Filtering by

Clear all filters

131525-Thumbnail Image.png
Description
The original version of Helix, the one I pitched when first deciding to make a video game
for my thesis, is an action-platformer, with the intent of metroidvania-style progression
and an interconnected world map.

The current version of Helix is a turn based role-playing game, with the intent of roguelike
gameplay and a dark

The original version of Helix, the one I pitched when first deciding to make a video game
for my thesis, is an action-platformer, with the intent of metroidvania-style progression
and an interconnected world map.

The current version of Helix is a turn based role-playing game, with the intent of roguelike
gameplay and a dark fantasy theme. We will first be exploring the challenges that came
with programming my own game - not quite from scratch, but also without a prebuilt
engine - then transition into game design and how Helix has evolved from its original form
to what we see today.
ContributorsDiscipulo, Isaiah K (Author) / Meuth, Ryan (Thesis director) / Kobayashi, Yoshihiro (Committee member) / School of Mathematical and Statistical Sciences (Contributor) / Computer Science and Engineering Program (Contributor) / Barrett, The Honors College (Contributor)
Created2020-05
136728-Thumbnail Image.png
Description
This project was centered around designing a processor model (using the C programming language) based on the Coldfire computer architecture that will run on third party software known as Open Virtual Platforms. The end goal is to have a fully functional processor that can run Coldfire instructions and utilize peripheral

This project was centered around designing a processor model (using the C programming language) based on the Coldfire computer architecture that will run on third party software known as Open Virtual Platforms. The end goal is to have a fully functional processor that can run Coldfire instructions and utilize peripheral devices in the same way as the hardware used in the embedded systems lab at ASU. This project would cut down the substantial amount of time students spend commuting to the lab. Having the processor directly at their disposal would also encourage them to spend more time outside of class learning the hardware and familiarizing themselves with development on an embedded micro-controller. The model will be accurate, fast and reliable. These aspects will be achieved through rigorous unit testing and use of the OVP platform which provides instruction accurate simulations at hundreds of MIPS (million instructions per second) for the specified model. The end product was able to accurately simulate a subset of the Coldfire instructions at very high rates.
ContributorsDunning, David Connor (Author) / Burger, Kevin (Thesis director) / Meuth, Ryan (Committee member) / Barrett, The Honors College (Contributor) / Computer Science and Engineering Program (Contributor)
Created2014-12
136364-Thumbnail Image.png
Description
The purpose of this project was to program a Raspberry Pi to be able to play music from both local storage on the Pi and from internet radio stations such as Pandora. The Pi also needs to be able to play various types of file formats, such as mp3 and

The purpose of this project was to program a Raspberry Pi to be able to play music from both local storage on the Pi and from internet radio stations such as Pandora. The Pi also needs to be able to play various types of file formats, such as mp3 and FLAC. Finally, the project is also to be driven by a mobile app running on a smartphone or tablet. To achieve this, a client server design was employed where the Raspberry Pi acts as the server and the mobile app is the client. The server functionality was achieved using a Python script that listens on a socket and calls various executables that handle the different formats of music being played. The client functionality was achieved by programming an Android app in Java that sends encoded commands to the server, which the server decodes and begins playing the music that command dictates. The designs for both the client and server are easily extensible and allow for any future modifications to the project to be easily made.
ContributorsStorto, Michael Olson (Author) / Burger, Kevin (Thesis director) / Meuth, Ryan (Committee member) / Barrett, The Honors College (Contributor) / Computer Science and Engineering Program (Contributor)
Created2015-05
Description
The Coffee Hutch project is derived from the field of Computer Science and consists of a website, a database, and a mobile application for Android devices. This three-tiered scheme is designed to support a point-of-sale payment system to be integrated with a standalone product dispensing machine. The website contains landing

The Coffee Hutch project is derived from the field of Computer Science and consists of a website, a database, and a mobile application for Android devices. This three-tiered scheme is designed to support a point-of-sale payment system to be integrated with a standalone product dispensing machine. The website contains landing pages which provide navigation and functional capabilities for users. The site also features a variety of PHP web services which communicate with the database using SQL commands. The application, programmed in the Java language, makes use of these services in a simple, utilitarian design aimed at modification of user data stored in the database. This database, developed with MySQL and managed with the phpMyAdmin application, contains limited information in order to maximize speed of read and write accesses from the website and Android app. Together, these three components comprise an effective payment management system model with mobile capabilities. All of the components of this project were built at no cost. The website hosting service is free and the third-party services required (such as Paypal payment services) are simulated. These simulations allowed me to demonstrate the functionality of the three-tiered product without the necessity for monetary supplication. This thesis features every aspect of the development and testing of The Coffee Hutch software components. Requirements for each function of the software are specified in one section, and they are aligned with various pieces of the code in the source documentation. Test cases which address each requirement are outlined in another section of the thesis.
ContributorsHutchison, Caleb Ryan (Author) / Burger, Kevin (Thesis director) / Zhao, Ming (Committee member) / Computer Science and Engineering Program (Contributor) / Barrett, The Honors College (Contributor)
Created2016-12
134486-Thumbnail Image.png
Description
The objective of this creative project was to gain experience in digital modeling, animation, coding, shader development and implementation, model integration techniques, and application of gaming principles and design through developing a professional educational game. The team collaborated with Glendale Community College (GCC) to produce an interactive product intended to

The objective of this creative project was to gain experience in digital modeling, animation, coding, shader development and implementation, model integration techniques, and application of gaming principles and design through developing a professional educational game. The team collaborated with Glendale Community College (GCC) to produce an interactive product intended to supplement educational instructions regarding nutrition. The educational game developed, "Nutribots" features the player acting as a nutrition based nanobot sent to the small intestine to help the body. Throughout the game the player will be asked nutrition based questions to test their knowledge of proteins, carbohydrates, and lipids. If the player is unable to answer the question, they must use game mechanics to progress and receive the information as a reward. The level is completed as soon as the question is answered correctly. If the player answers the questions incorrectly twenty times within the entirety of the game, the team loses faith in the player, and the player must reset from title screen. This is to limit guessing and to make sure the player retains the information through repetition once it is demonstrated that they do not know the answers. The team was split into two different groups for the development of this game. The first part of the team developed models, animations, and textures using Autodesk Maya 2016 and Marvelous Designer. The second part of the team developed code and shaders, and implemented products from the first team using Unity and Visual Studio. Once a prototype of the game was developed, it was show-cased amongst peers to gain feedback. Upon receiving feedback, the team implemented the desired changes accordingly. Development for this project began on November 2015 and ended on April 2017. Special thanks to Laura Avila Department Chair and Jennifer Nolz from Glendale Community College Technology and Consumer Sciences, Food and Nutrition Department.
ContributorsNolz, Daisy (Co-author) / Martin, Austin (Co-author) / Quinio, Santiago (Co-author) / Armstrong, Jessica (Co-author) / Kobayashi, Yoshihiro (Thesis director) / Valderrama, Jamie (Committee member) / School of Arts, Media and Engineering (Contributor) / School of Film, Dance and Theatre (Contributor) / Department of English (Contributor) / Computer Science and Engineering Program (Contributor) / Computing and Informatics Program (Contributor) / Herberger Institute for Design and the Arts (Contributor) / School of Sustainability (Contributor) / Barrett, The Honors College (Contributor)
Created2017-05
Description
One of the core components of many video games is their artificial intelligence. Through AI, a game can tell stories, generate challenges, and create encounters for the player to overcome. Even though AI has continued to advance through the implementation of neural networks and machine learning, game AI tends to

One of the core components of many video games is their artificial intelligence. Through AI, a game can tell stories, generate challenges, and create encounters for the player to overcome. Even though AI has continued to advance through the implementation of neural networks and machine learning, game AI tends to implement a series of states or decisions instead to give the illusion of intelligence. Despite this limitation, games can still generate a wide range of experiences for the player. The Hybrid Game AI Framework is an AI system that combines the benefits of two commonly used approaches to developing game AI: Behavior Trees and Finite State Machines. Developed in the Unity Game Engine and the C# programming language, this AI Framework represents the research that went into studying modern approaches to game AI and my own attempt at implementing the techniques learned. Object-oriented programming concepts such as inheritance, abstraction, and low coupling are utilized with the intent to create game AI that's easy to implement and expand upon. The final goal was to create a flexible yet structured AI data structure while also minimizing drawbacks by combining Behavior Trees and Finite State Machines.
ContributorsRamirez Cordero, Erick Alberto (Author) / Kobayashi, Yoshihiro (Thesis director) / Nelson, Brian (Committee member) / Computer Science and Engineering Program (Contributor) / Computing and Informatics Program (Contributor) / Barrett, The Honors College (Contributor)
Created2018-05
134100-Thumbnail Image.png
Description
Can a skill taught in a virtual environment be utilized in the physical world? This idea is explored by creating a Virtual Reality game for the HTC Vive to teach users how to play the drums. The game focuses on developing the user's muscle memory, improving the user's ability to

Can a skill taught in a virtual environment be utilized in the physical world? This idea is explored by creating a Virtual Reality game for the HTC Vive to teach users how to play the drums. The game focuses on developing the user's muscle memory, improving the user's ability to play music as they hear it in their head, and refining the user's sense of rhythm. Several different features were included to achieve this such as a score, different levels, a demo feature, and a metronome. The game was tested for its ability to teach and for its overall enjoyability by using a small sample group. Most participants of the sample group noted that they felt as if their sense of rhythm and drumming skill level would improve by playing the game. Through the findings of this project, it can be concluded that while it should not be considered as a complete replacement for traditional instruction, a virtual environment can be successfully used as a learning aid and practicing tool.
ContributorsDinapoli, Allison (Co-author) / Tuznik, Richard (Co-author) / Kobayashi, Yoshihiro (Thesis director) / Nelson, Brian (Committee member) / Computer Science and Engineering Program (Contributor) / School of International Letters and Cultures (Contributor) / Computing and Informatics Program (Contributor) / Barrett, The Honors College (Contributor)
Created2017-12
133010-Thumbnail Image.png
Description
SmartAid aims to target a small, yet relevant issue in a cost effective, easily replicable, and innovative manner. This paper outlines how to replicate the design and building process to create an intelligent first aid kit. SmartAid utilizes Alexa Voice Service technologies to provide a new and improved way to

SmartAid aims to target a small, yet relevant issue in a cost effective, easily replicable, and innovative manner. This paper outlines how to replicate the design and building process to create an intelligent first aid kit. SmartAid utilizes Alexa Voice Service technologies to provide a new and improved way to teach users about the different types of first aid kit items and how to treat minor injuries, step by step. Using Alexa and RaspberryPi, SmartAid was designed as an added attachment to first aid kits. Alexa Services were installed into a RaspberryPi to create a custom Amazon device, and from there, using the Alexa Interaction Model and the Lambda function services, SmartAid was developed. After the designing and coding of the application, a user guide was created to provide users with information on what items are included in the first aid kit, what types of injuries can be treated through first aid, and how to use SmartAid. The
application was tested for its usability and practicality by a small sample of students. Users provided suggestions on how to make the application more versatile and functional, and confirmed that the application made first aid easier and was something that they could see themselves using. While this application is not aimed to replace the current physical guide solution completely, the findings of this project show that SmartAid has potential to stand in as an improved, easy to use, and convenient alternative for first aid guidance.
ContributorsHasan, Bushra Anwara (Author) / Kobayashi, Yoshihiro (Thesis director) / Nakamura, Mutsumi (Committee member) / Computer Science and Engineering Program (Contributor) / Department of Psychology (Contributor) / Dean, W.P. Carey School of Business (Contributor) / Barrett, The Honors College (Contributor)
Created2019-05
Description

Among classes in the Computer Science curriculum at Arizona State University, Automata Theory is widely considered to be one of the most difficult. Many Computer Science concepts have strong visual components that make them easier to understand. Binary trees, Dijkstra's algorithm, pointers, and even more basic concepts such as arrays

Among classes in the Computer Science curriculum at Arizona State University, Automata Theory is widely considered to be one of the most difficult. Many Computer Science concepts have strong visual components that make them easier to understand. Binary trees, Dijkstra's algorithm, pointers, and even more basic concepts such as arrays all have very strong visual components. Not only that, but resources for them are abundantly available online. Automata Theory, on the other hand, is the first Computer Science course students encounter that has a significant focus on deep theory. Many of the concepts can be difficult to visualize, or at least take a lot of effort to do so. Furthermore, visualizers for finite state machines are hard to come by. Because I thoroughly enjoyed learning about Automata Theory and parsers, I wanted to create a program that involved the two. Additionally, I thought creating a program for visualizing automata would help students who struggle with Automata Theory develop a stronger understanding of it.

ContributorsSmith, Andrew (Author) / Burger, Kevin (Thesis director) / Meuth, Ryan (Committee member) / Barrett, The Honors College (Contributor) / School of Mathematical and Statistical Sciences (Contributor) / Computer Science and Engineering Program (Contributor)
Created2021-12
187174-Thumbnail Image.png
Description
Alongside the many challenges of Covid-19, the pandemic also disrupted the normal structure of education for students. As classes were being transferred to online formats, computer science students started learning more through constructivism principles rather than the traditionally taught, in-person lectures. This quantitative assessment hopes to determine whether constructivist principles

Alongside the many challenges of Covid-19, the pandemic also disrupted the normal structure of education for students. As classes were being transferred to online formats, computer science students started learning more through constructivism principles rather than the traditionally taught, in-person lectures. This quantitative assessment hopes to determine whether constructivist principles or traditional/visual cognition principles are better for teaching computer science topics. Determinations will be made through a social behavioral experiment teaching pointers to participants. Participants were split into three groups: a control group, a constructivist group, and a visual cognition group. Each group took part in an assessment testing their knowledge retention about pointers after having a lecture based around each teaching method. The assessment evaluated retries per assessment, time per correct answer, time per question, and the average time taken in total. The results of the experiment led to a conclusion that, according to the resulting data, constructivism teaching principles benefited participant scores, and visual cognition teaching principles worsened participant scores. However, a definitive answer of which teaching method is better for computer science could not be made due to insufficient sample size. When reflecting on the first iteration of this experiment, it is clear that future iterations of this experiment would benefit from a higher sample size, an easier assignment for the constructivist group, a feedback survey, and a longer period to experiment.
ContributorsTiruchinapalli, Sai Santosh (Author) / Burger, Kevin (Thesis director) / Hartwell, Leland (Committee member) / Barrett, The Honors College (Contributor)
Created2023-05