Matching Items (27)
Filtering by

Clear all filters

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
133565-Thumbnail Image.png
Description
This paper details the process for designing both a simulation of the board game Jaipur, and an artificial intelligence (AI) agent that can play the game against a human player. When designing an AI for a card game, there are two major problems that can arise. The first is the

This paper details the process for designing both a simulation of the board game Jaipur, and an artificial intelligence (AI) agent that can play the game against a human player. When designing an AI for a card game, there are two major problems that can arise. The first is the difficulty of using a search space to analyze every possible set of future moves. Due to the randomized nature of the deck of cards, the search space rapidly leads to an exponentially growing set of potential game states to analyze when one tries to look more than one turn ahead. The second aspect that poses difficulty is the element of uncertainty that exists from opponent feedback. Certain moves are weak to specific opponent reactions, and these are difficult to predict due to hidden information. To circumvent these problems, the AI uses a greedy approach to decision making, attempting to maximize the value of its plays immediately, and not play for future turns. The agent utilizes conditional statements to evaluate the game state and choose a game action that it deems optimal, a heuristic to place an expected value (EV) of the goods it can choose from, and selects the best one based on this evaluation. Initial implementation of the simulation was done using C++ through a terminal application, and then was translated to a graphical interface using Unity and C#.
ContributorsOrr, James Christopher (Author) / Kobayashi, Yoshihiro (Thesis director) / Selgrad, Justin (Committee member) / Computer Science and Engineering Program (Contributor) / Barrett, The Honors College (Contributor)
Created2018-05
135230-Thumbnail Image.png
Description
Agent Based modeling has been used in computer science to simulate complex phenomena. The introduction of Agent Based Models into the field of economics (Agent Based Computational Economics ACE) is not new, however work on making model environments simpler to design for individuals without a background in computer science or

Agent Based modeling has been used in computer science to simulate complex phenomena. The introduction of Agent Based Models into the field of economics (Agent Based Computational Economics ACE) is not new, however work on making model environments simpler to design for individuals without a background in computer science or computer engineering is a constantly evolving topic. The issue is a trade off of how much is handled by the framework and how much control the modeler has, as well as what tools exist to allow the user to develop insights from the behavior of the model. The solutions looked at in this thesis are the construction of a simplified grammar for model construction, the design of an economic based library to assist in ACE modeling, and examples of how to construct interactive models.
ContributorsAnderson, Brandon David (Author) / Bazzi, Rida (Thesis director) / Kuminoff, Nicolai (Committee member) / Roberts, Nancy (Committee member) / Computer Science and Engineering Program (Contributor) / Economics Program in CLAS (Contributor) / Barrett, The Honors College (Contributor)
Created2016-05
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
132921-Thumbnail Image.png
Description
Virtual reality gives users the opportunity to immerse themselves in an accurately
simulated computer-generated environment. These environments are accurately simulated in that they provide the appearance of- and allow users to interact with- the simulated environment. Using head-mounted displays, controllers, and auditory feedback, virtual reality provides a convincing simulation of

Virtual reality gives users the opportunity to immerse themselves in an accurately
simulated computer-generated environment. These environments are accurately simulated in that they provide the appearance of- and allow users to interact with- the simulated environment. Using head-mounted displays, controllers, and auditory feedback, virtual reality provides a convincing simulation of interactable virtual worlds (Wikipedia, “Virtual reality”). The many worlds of virtual reality are often expansive, colorful, and detailed. However, there is one great flaw among them- an emotion evoked in many users through the exploration of such worlds-loneliness.
The content in these worlds is impressive, immersive, and entertaining. Without other people to share in these experiences, however, one can find themselves lonely. Users discover a feeling that no matter how many objects and colors surround them in countless virtual worlds, every world feels empty. As humans are social beings by nature, they feel lost without a sense of human connection and human interaction. Multiplayer experiences offer this missing element into the immersion of virtual reality worlds. Multiplayer offers users the opportunity to interact with other live people in a virtual simulation, which creates lasting memories and deeper, more meaningful immersion.
ContributorsJorgensen, Nicholas Keith (Co-author) / Jorgensen, Caitlin Nicole (Co-author) / Selgrad, Justin (Thesis director) / Ehgner, Arnaud (Committee member) / Computer Science and Engineering Program (Contributor, Contributor) / Barrett, The Honors College (Contributor)
Created2019-05
133515-Thumbnail Image.png
Description
Natural Language Processing and Virtual Reality are hot topics in the present. How can we synthesize these together in order to make a cohesive experience? The game focuses on users using vocal commands, building structures, and memorizing spatial objects. In order to get proper vocal commands, the IBM Watson API

Natural Language Processing and Virtual Reality are hot topics in the present. How can we synthesize these together in order to make a cohesive experience? The game focuses on users using vocal commands, building structures, and memorizing spatial objects. In order to get proper vocal commands, the IBM Watson API for Natural Language Processing was incorporated into our game system. User experience elements like gestures, UI color change, and images were used to help guide users in memorizing and building structures. The process to create these elements were streamlined through the VRTK library in Unity. The game has two segments. The first segment is a tutorial level where the user learns to perform motions and in-game actions. The second segment is a game where the user must correctly create a structure by utilizing vocal commands and spatial recognition. A standardized usability test, System Usability Scale, was used to evaluate the effectiveness of the game. A survey was also created in order to evaluate a more descriptive user opinion. Overall, users gave a positive score on the System Usability Scale and slightly positive reviews in the custom survey.
ContributorsOrtega, Excel (Co-author) / Ryan, Alexander (Co-author) / Kobayashi, Yoshihiro (Thesis director) / Nelson, Brian (Committee member) / Computing and Informatics Program (Contributor) / School of Art (Contributor) / Computer Science and Engineering Program (Contributor) / Barrett, The Honors College (Contributor)
Created2018-05
Description
The topic of my creative project centers on the question of "How can the audience's choices influence dancers' improvisation?" This dance work seeks to redefine the relationship between audience and performers through integration of audience, technology, and movement in real-time. This topic was derived from the fields of Computer Science

The topic of my creative project centers on the question of "How can the audience's choices influence dancers' improvisation?" This dance work seeks to redefine the relationship between audience and performers through integration of audience, technology, and movement in real-time. This topic was derived from the fields of Computer Science and Dance. To answer my main question, I need to explore how I can interconnect the theory of Computer Science/fundamentals of a web application and the elements of dance improvisation. This topic interests me because it focuses on combining two studies that do not seem related. However, I find that when I am coding a web application, I can insert blocks of code. This relates to dance improvisation where I have a movement vocabulary, and I can insert different moves based on the context. The idea of gathering data from an audience in real time also interests me. I find that data is most useful when a story can be deduced from that data. To figure out how I can use dance to create and tell a story about the data that is collected, I find that to be intriguing as well. The main goals of my Creative Project are to learn the skills needed to develop a web application using the knowledge and theory that I am acquiring through Computer Science as well as learning about the skills needed to produce a performance piece. My object for the overall project is to create an audience-interactive experience that presents choices for dancers and creates a connection between two completely different studies: Computer Science and Dance. My project will consist of having the audience enter their answers to preset questions via an online voting application. The stage background screen will be utilized to show the question results in percentages in the form of a chart. The dancers will then serve as a live interpretation of these results. This Creative Project will serve as a gateway between the work that has been cultivated in my studies and the real world. The methods involve exploring movement qualities in improvisation, communicating with my cast about what worked best for the transitions between each section of the piece, and testing for the web applications. I learned the importance of having structure within improvisational movement for the purpose of choreography. The significance of structure is that it provides direction, clarity, and a sense of unification for the dancers. I also learned the basics of the programming language, Python, in order to develop the two real-time web applications. The significance of learning Python is that I will be able to add this to my skillset of programming languages as well as build upon my knowledge of Computer Science and develop more real-world applications in the future.
ContributorsNgai, Courtney Taylor (Author) / Britt, Melissa (Thesis director) / Standley, Eileen (Committee member) / Computer Science and Engineering Program (Contributor) / School of Film, Dance and Theatre (Contributor) / Barrett, The Honors College (Contributor)
Created2018-05
135081-Thumbnail Image.png
Description
Last Hymn was created by the team of Tyler Pinho, Jefferson Le, and Curtis Spence with the desire to create an eccentric Role Playing Game focused on the exploration of a strange, dying world. Battles in the game are based off of rhythm games like Dance Dance Revolution using a

Last Hymn was created by the team of Tyler Pinho, Jefferson Le, and Curtis Spence with the desire to create an eccentric Role Playing Game focused on the exploration of a strange, dying world. Battles in the game are based off of rhythm games like Dance Dance Revolution using a procedural generation algorithm that makes every encounter unique. This is then complemented with the path system where each enemy has unique rhythm patterns to give them different types of combat opportunities. In Last Hymn, the player arrives on a train at the World's End Train Station where they are greeted by a mysterious figure and guided to the Forest where they witness the end of the world and find themselves back at the train station before they left for the Forest. With only a limited amount of time per cycle of the world, the player must constantly weigh the opportunity cost of each decision, and only with careful thought, conviction, and tenacity will the player find a conclusion from the never ending cycle of rebirth. Blending both Shinto architecture and modern elements, Last Hymn used a "fantasy-chic" aesthetic in order to provide memorable locations and dissonant imagery. As the player explores they will struggle against puzzles and dynamic, rhythm based combat while trying to unravel the mystery of the world's looping time. Last Hymn was designed to develop innovative and dynamic new solutions for combat, exploration, and mapping. From this project all three team members were able to grow their software development and game design skills, achieving goals like improved level design, improved asset pipelines while simultaneously aiming to craft an experience that will be unforgettable for players everywhere.
ContributorsPinho, Tyler (Co-author) / Le, Jefferson (Co-author) / Spence, Curtis (Co-author) / Nelson, Brian (Thesis director) / Walker, Erin (Committee member) / Kobayashi, Yoshihiro (Committee member) / Computer Science and Engineering Program (Contributor) / Computing and Informatics Program (Contributor) / Barrett, The Honors College (Contributor)
Created2016-12
148142-Thumbnail Image.png
Description

HackerHero is an educational game designed to teach children, especially those from marginalized backgrounds, computation thinking skills needed for STEAM fields. It also teaches children about social injustice. This project was focused on creating an audio visualization for an AI character within the HackerHero game. The audio visualization consisted of

HackerHero is an educational game designed to teach children, especially those from marginalized backgrounds, computation thinking skills needed for STEAM fields. It also teaches children about social injustice. This project was focused on creating an audio visualization for an AI character within the HackerHero game. The audio visualization consisted of a static silhouette of a face and a wave-like form to represent the mouth. Audio content analysis was performed on audio sampled from the character’s voice lines. Pitch and amplitude derived from the analysis was used to animate the character’s visual features such as it’s brightness, color, and mouth movement. The mouth’s movement and color was manipulated with the audio’s pitch. The lights of Wave were controlled by the amplitude of the audio. Design considerations were made to accommodate those with visual disabilities such as color blindness and epilepsy. Overall the final audio visualization satisfied the project sponsor and built upon existing audio visualization work. User feedback will be a necessity for improving the audio visualization in the future.

ContributorsNguyen, Joshep D (Author) / Chavez-Echaegaray, Helen (Thesis director) / Waggoner, Trae (Committee member) / Department of Psychology (Contributor) / Computer Science and Engineering Program (Contributor) / Barrett, The Honors College (Contributor)
Created2021-05
148262-Thumbnail Image.png
Description

This thesis is based on bringing together three different components: non-Euclidean geometric worlds, virtual reality, and environmental puzzles in video games. While all three exist in their own right in the world of video games, as well as combined in pairs, there are virtually no examples of all three together.

This thesis is based on bringing together three different components: non-Euclidean geometric worlds, virtual reality, and environmental puzzles in video games. While all three exist in their own right in the world of video games, as well as combined in pairs, there are virtually no examples of all three together. Non-Euclidean environmental puzzle games have existed for around 10 years in various forms, short environmental puzzle games in virtual reality have come into existence in around the past five years, and non-Euclidean virtual reality exists mainly as non-video game short demos from the past few years. This project seeks to be able to bring these components together to create a proof of concept for how a game like this should function, particularly the integration of non-Euclidean virtual reality in the context of a video game. To do this, a Unity package which uses a custom system for creating worlds in a non-Euclidean way rather than Unity’s built-in components such as for transforms, collisions, and rendering was used. This was used in conjunction with the SteamVR implementation with Unity to create a cohesive and immersive player experience.

ContributorsVerhagen, Daniel William (Author) / Kobayashi, Yoshihiro (Thesis director) / Nelson, Brian (Committee member) / Computer Science and Engineering Program (Contributor, Contributor) / Barrett, The Honors College (Contributor)
Created2021-05