Press start to learn
UND computer science students build a procedurally generated video game from scratch

For a group of senior computer science students, the final boss wasn’t just a giant in-game monster; it was their senior design project. The objective? To build an entire video game from the ground up that was not only fun and playable but procedurally generated — meaning that the game is different every time you press start.
Spoiler alert: They beat the boss.
The team’s senior design project — a third-person 3D action-adventure rogue-lite game — is a playable, procedurally generated adventure featuring enemies, upgrades, a custom HUD, and even a dramatic final showdown. It’s built on adaptive algorithms, modular code, and a whole lot of late-night Git commits.
“Our project is a 3D, fantasy-themed, action-adventure roguelike created in Unreal Engine 5; developed from scratch over the course of a single year,” said Kyle Holter Vogel, one of the team’s developers. “Many students on this project wanted to briefly explore [and] better understand how the games they play are made, to see if it is a correct fit for their careers.”
For the love of games
The project started with a proposal from Jonah Stroup, a lifelong gamer and aspiring game developer.
“I originally proposed this project because video game development has long been a personal passion of mine,” Stroup said. “Video games have helped me build community and form meaningful connections online… so when the opportunity arose to bring this passion into an academic context through senior design, I was excited to pursue it.”
From there, the team assembled around a shared love of games and a collective curiosity about how the magic happens behind the scenes.
“When I saw that Jonah had proposed a video game as a potential project, I knew I wanted to work on it,” said Isaac Barta. “We all had an interest for game development going into this project.”
There was only one problem: none of them had made a game before. And Unreal Engine 5, while powerful, doesn’t exactly come with training wheels.
“We began with no prior experience,” said Gordon Isler. “We had to teach ourselves both game design and how to work with Unreal Engine.”

But instead of hitting pause, the team hit the books — and the documentation — and dove in headfirst.
“I gained a lot of knowledge and experience around working with Unreal Engine 5,” Isler added. “Which is a game engine I have wanted to be able to learn at a level like this for a long time.”
From character customization to the final boss
The final product is a fully functional game that kicks off with character customization and sends players through a lush, procedurally generated forest. In each area, players take on waves of enemies — some standard, some elite — using either a sword or magical staff. After clearing a room, players choose a randomized reward from a treasure chest to grow stronger before taking on the big bad.
There’s a health bar, a shopkeeper, a boss fight, and plenty of replay value thanks to the adaptive, modular design — meaning new weapons, levels, or gameplay mechanics can be added without breaking anything that’s already built.
“Teamwork and collaboration were essential to this project’s success,” Barta said. “Every aspect, from design to implementation, needed input from every team member… Even when we separated into our individual areas for development, extensive collaboration was required.”
One of their biggest wins? A working game.
“The aspect of the project I am most proud of is quite simply that it is a complete game,” Stroup said. “One of the common issues for new game developers is that they make a lot of incomplete video games — and that is understandable, because making a complete game is quite difficult!”
Divide, conquer, respawn
Each team member had their own area of focus — whether that was procedural generation, AI enemy behavior, level design, or system architecture. But their real power-up was working as a unit.
“We were really able to divide and conquer on this project to quickly get the major systems in place,” Isler said. “During our weekly meetings, we kept everyone up to date on the progress and interworkings of each system.”
As they debugged, balanced mechanics, and blended art and code, the students also learned what it takes to work like an actual game studio — including how to manage a GitHub repo, create reusable systems, and make sure the magic doesn’t break during a demo.
“I think we are all very proud of being able to present a fully functioning game that can be played from start to finish,” Barta said. “Without the commitment from everybody to learn Unreal Engine 5, we would not have been able to pull it off.”
Game over? Not quite.
With graduation caps either equipped or on the horizon, some team members may pursue careers in gaming; others will carry their newly acquired skills into software engineering, system architecture, or AI research. But they all leave with something they didn’t have before: a full-fledged game they built together.
This was a chance to try game development and see what it really takes. “There is plenty of overlap between computer science students and gamers, so wanting to try game development is natural,” said Holter Vogel.
For a team that started with zero experience and finished with a playable title, it’s safe to say they earned that end-game cutscene.
Written by Paige Prekker // UND College of Engineering & Mines