-----Expertise in Serious Games-----
This project had no funding to support it. I used my networking skills to obtain rights to use student works from the Robot Split in Time (Team Carl) and Stuffed (Failed 2 Compile Studios) game teams as well as my connection to the MSU Games for Entertainment and Learning Lab to fill out artwork needs. All code in the project, with the exception of some smaller scripts, was written by myself. Charles Owen provided extensive advising on how to handle circuitry simulation code in the game.
The preliminary results from early data collection were presented as a short-paper (poster) at FDG 21: Common
Narrative in Educational Video Games: Common Narrative in Educational Video Games: A Design of Games to Teach Circuits | Proceedings of the 16th International Conference on the Foundations of Digital Games (acm.org)
The final results from the data collection and thorough analysis have been published at the highly competitive ACM conference of the Special Interest Group in Computer Science Education Technical Symposium 2024 (SIGCSE 24): Analyzing Differences in Student Engagement Between a Single Narrative Game Intervention and Multiple Narrative Games Intervention in an Undergraduate Computer Organization and Architecture Class (SIGCSE TS 2024 - Papers) - SIGCSE TS 2024
CircuBot - Dissertation Research
CircuBot was a game developed over my first 2 years of graduate study while also taking the typical course load and teaching 2 courses. I was the primary developer of the game with my advisor Charles Owen providing advice and content expert perspective for the learning content and application context of the games, as he had developed the content for and taught the course they were used in in prior years.
One complete narrative version of the game utilizes a narrative based around the Robot protagonist and a Rat antagonist to tie together the entire game and its learning content. Three separate narrative versions of the game were created such that each version covers a smaller subset of the game and learning content. The first game was used in a study to compare the impact of utilizing an overarching narrative game over multiple sets of course content compared to using singular differing narrative games to cover the same set of content.
The design theory utilized behind the games and insights on that design theory was presented at Meaningful Play 2022:
An additional game design and development framework that combines existing concepts in frameworks, industry, design research, and game interventions to create a more comprehensive framework with recommendations for practical use and application is currently being edited and a version is published within my dissertation.
Game Dev Tutorial Projects
Within the first year of my graduate studies, I pushed for higher quality game tutorials with a wider range of assets to be available to our students in our program at MSU.
I worked with my teaching mentor and colleague Brian Winn to figure out what funding was available and what projects we could reasonably create for this task.
Then over the course of a summer I oversaw the production of 4 tutorial projects for our Games and Interactivity course at MSU as both the producer and programming lead.
I organized a team of undergraduate student employees at the MSU Games for Entertainment and Learning lab to create the assets for a 2D "twin stick" Shooter, a 2D Platformer, a 3D First Person Shooter, and a 3D Platformer.
I created the original written scripts, videos, and editing for those videos for the four tutorial projects. These have just recently as of Fall Semester 2023 been updated by a student of mine and Brian Winn, with my feedback/input.
This has contributed to incredible progress in accelerating the quality of the overall games program at MSU, as content that used to be in the higher level classes (400 level) that I took at MSU in undergrad are now part of the 100 level Games and Interactivity course I co-teach with Brian.
As part of this gradual improvement, I was also tasked with producing a tutorial project for MI 445 Game Design and Development 1 that would be a refresher to Unity for students starting our game dev minor at MSU after being gone for an entire summer. This time I would primarily be producing and mentoring a new programming lead in the GEL lab on the project.
MI 445 Project 1 General Overview
Overview Of The Unity Refresher Project
MI 445 Project 1 Programmer Overview
Project 1 Programmer Overview
2D Shooter Project
2DShooterHighlight
2D Platformer Project
2DPlatformerHighlight
3D Shooter (FPS) Project
3DShooterHighlight
3D Platformer Project
3DPlatformerHighlight
MI 445 Project 1 Art Overview
Project 1 Art Overview
MI 445 Project 1 Design Overview
Project 1 Design Overview
ComArtSci Play Arcade
The ComArtSci Play Arcade includes two arcade cabinet machines that run both classic arcade games using the MAME emulator and student games made in the MSU Game Design and Development program.
My work on these machines began after two professorial assistants created the rough outline of a system to display and launch MAME games from a Unity application.
My work on the project has so far involved a great deal and variety of technical work.
I updated the original menu code to be fully functional and able to categorize hierarchies of arcade games and student games as well as be able to launch either a MAME emulation application or a student game in the form a Windows executable file. The MAME game launches include needing to launch through a batch file.
I worked with windows scripting to ensure the machines themselves cannot have their applications exited to address security concerns on the machines. Basically, the machines use AutoHotKey scripts launched at start up to prevent specific windows hotkeys such as Alt-Tab or other possible combinations from the arcade table inputs from allowing the loop of menu application focus to emulated game or student game focus from being broken.
I also added functionality to the menu code to display video and images of the currently "hovered over" game selection in the menu. This allows an "attraction" mode to encourage a user to launch the game. This is similar to the preview video/images for the steam store front presenting a game before purchase.
Student Games on The Cabinet
Student Games On Arcade
Arcade Games on The Cabinet
Arcade Game Example
I set up a google drive auto set up script to allow the arcade menu code and game content to be updated remotely. This has sense been changed to physical updates through USB.
I developed arcade standard assets that can be included with any unity application that, with some following of documentation, allow the application to be integrated into the arcade menu system and work as expected for an arcade machine. Such as exiting back to the menu application after being idle in game for a minute. [No input implies no user, which then means the arcade menu should return to attraction mode]
I developed new JSON formatting that allows student games (or any executable file) to be easily added to the arcades. This has included creating and updating documentation to make it possible for students to create the needed files for approved faculty to put on the machines, rather than having faculty like myself edit their finished games to produce an arcade ready version.
I am currently in the process of updating the documentation and functionality of the arcade machines to make it easy for future students and faculty to get student games on the machines and to make the menu attraction more appealing and easy to use. The goal is to have this update and documentation done before I graduate in Spring 2024. I always aim to leave my works in as extendable of a state as possible before handing them off to others.
Documentation and JSON Examples
End of Portfolio - Examples of Students' Work Follow:
More student work [but not all as it is not up to date] is available at Student Games | GameDev @ MSU
Those shown here are a smaller set of stand outs of student projects from students I taught/mentored.