2024
Stronger Practical Game-Playing AI for Duelyst II
- M.S. Thesis.
- Thesis advisors were Professor Wheeler Ruml and Professor Alexander Dockhorn.
- Created new and improved agents for playing Duelyst II using planning, abstractions, and behavior cloning from game logs.
- Link to thesis coming soon.
- Citation: Bryan McKenney, Stronger Practical Game-Playing AI for Duelyst II, MS thesis, University of New Hampshire, 2024.
W.I.P. Survivors
- Completed for the class CS 880: Game Development.
- Worked on a team on a bullet heaven dungeon-diver game.
- Focused on enemy pathfinding and dungeon level generation.
- Used Godot with C#.
2023
An Exploration of Novel Beam Search Variants
- Completed for the class CS 931: Planning for Robots.
- Implemented and tested three novel beam search variants against the current state of the art for anytime search.
- Wrote a paper and presented results.
planning_report.pdf |
Better AI and Bosses for Duelyst II
- Replaced the original rule-based AI in Duelyst II with a stronger and more flexible AI.
- Designed two boss fights that utilize the AI.
- Wrote an article about improving the AI for the game website, available here.
General-Purpose Planning Algorithms in the Card Game Duelyst II
- Wrote short paper about Duelyst II AI research, available here.
- Presented paper at the IEEE Conference on Games in Boston, MA.
- Citation: Bryan McKenney and Wheeler Ruml, General-Purpose Planning Algorithms in the Card Game Duelyst II, Proceedings of the IEEE Conference on Games (CoG-23), 2023.
Teaching LLMs to Think and Act: ReAct Prompt Engineering
- Completed for the class CS 880: Natural Language Processing.
- Wrote a Medium article explaining the 2023 prompt-engineering paper "ReAct: Synergizing Reasoning and Acting in Language Models" in simpler terms.
- Article available here.
Multi-Ply Planning for Duelyst
- Completed for the class CS 730: Introduction to Artificial Intelligence.
- Extended thesis work below by implementing algorithms for Duelyst II that search more than one turn (ply) into the future while planning.
- Used JavaScript.
- Wrote a paper and presented results.
duelyst_report.pdf |
General-Purpose Planning Algorithms in Partially-Observable Stochastic Games
- Senior Honors Thesis.
- Thesis advisor was Professor Wheeler Ruml.
- Along with the Goal-driven Autonomy Without GDA project below, worked on AI for the online card game Duelyst II.
- Used JavaScript while working in the Duelyst II codebase.
- Presented thesis in two different forums: poster presentation and slideshow presentation.
- Thesis available here.
- Citation: Bryan McKenney, General-Purpose Planning Algorithms in Partially-Observable Stochastic Games, BS thesis, University of New Hampshire, 2023.
Goal-driven Autonomy Without GDA
- Extended work from the Online Open-World Adversarial Planning project below and submitted a paper to the Association for the Advancement of Artificial Intelligence (AAAI) 2023 Bridge program.
- Mentored by Professor Wheeler Ruml.
- Presented paper at the AAAI conference in Washington, DC.
- Citation: Bryan McKenney and Wheeler Ruml, Goal-driven Autonomy Without GDA, Proceedings of the AAAI-23 Bridge Session on Artificial Intelligence and Robotics, 2023.
no_gda_aaai2023.pdf |
2022
Online Open-World Adversarial Planning
- Summer research funded by the UNH Summer Undergraduate Research Fellowship (SURF).
- Mentored by Professor Wheeler Ruml.
- Implemented hindsight optimization for a Navy-themed domain with an unknown number of invisible adversaries.
- Used Scala and Python.
- Read and implemented research papers.
- Wrote a paper and presented results.
hindsight_report.pdf |
Music Genre Classification with Machine Learning
- Completed for the class CS 850: Machine Learning.
- Using Spotify song data, classified songs into five genres using three machine learning algorithms (SVM, logistic regression, and LASSO).
- Used R and the Spotify API.
- Wrote a paper and presented results.
ml_spotify_report.pdf |
2021
Atari Breakout with Reinforcement Learning
- Completed for the class CS 780: Reinforcement Learning.
- Read and implemented the DeepMind paper “Playing Atari with Deep Reinforcement Learning” to create an AI that could play the Atari 2600 game Breakout.
- Learned about convolutional neural networks and deep Q-learning.
- Used Python and Keras.
- Wrote a paper and presented results.
rl_breakout_report.pdf |
Bullet Zone
- Completed for the class CS 619: Introduction to Object-Oriented Design and Development.
- Worked in a team on a multiplayer tank game Android app called Bullet Zone.
- Created UML and use-case diagrams.
- Programmed on the server and client side.
- Used Android Studio (Java).
- Used Spring REST framework for networking.
2020
Off-line Physical Traveling Salesman Problem Solver
- Summer research funded by the UNH Research Experience and Apprenticeship Program (REAP).
- Mentored by Professor Wheeler Ruml.
- Collaborated remotely with Honors student Lucas Guerrette to develop an algorithm to solve the Physical Traveling Salesman Problem.
- Used Java, Python, VS Code, Git, and Bash.
- Read and implemented research papers.
- Wrote a paper and presented results.
|
Feedback with Robotic Appendages
- Completed as part of the InterOperability Lab Cohort in the classes TECH 411-412: Innovation Scholars.
- Worked in a team to devise a remote-controlled robotic claw that could give haptic feedback to the user.
- Programmed an Arduino and learned how to use capacitive and infrared sensors.
- Pitched project at the beginning, then designed a poster and presented results at the end.