Matthew Selva

Profile Image

mhselva@wpi.edu | Download Resume

About Me

I'm Matthew Selva, an former student at Worcester Polytechnic Institute (WPI). I graduated in May of 2022 with a duel major in Interactive Media & Game Development and Computer Science. Throughout my time at WPI, I have created a variety of projects both individually and in small groups. Many of these projects are highlighted below.

Daybreak

C++ | Unreal Engine 4 | Created with Daybreak Studios

A third person hack and slash survival game created in Unreal Engine 4. The goal is to survive endless waves of monsters to reach a high score. This game features a day/night cycle that's heavily tied into the gameplay. During the day, players must mine resources around the landscape to upgrade their equipment. At night, players must defeat every enemy to progress to the next day.

For more information on the game, including a video demo and downloadable executables, check out our website!

Go to Website

1 / 9
Daybreak Cover
2 / 9
Daybreak Screenshot
3 / 9
Daybreak Screenshot
4 / 9
Daybreak Screenshot
5 / 9
Daybreak Screenshot
6 / 9
Daybreak Screenshot
7 / 9
Daybreak Screenshot
8 / 9
Daybreak Screenshot
9 / 9
Daybreak Screenshot

The Secret in Grandpa's Diary

Python | Ren'Py

A puzzling visual novel created using Ren'Py. This was my senior project at WPI, so I spent a large amount of time refining the gameplay based on player feedback from three playtesting sessions held throughout the year. The goal of the game is to read through a diary left behind by the protagonist's grandfather, hoping to uncover a mystery in the family's past that may have lasting implications on the family's future. This game is published on itch.io, and can be viewed at the link below.

itch.io Page

1 / 5
The Secret in Grandpa's Diary Cover
2 / 5
The Secret in Grandpa's Diary Screenshot
3 / 5
The Secret in Grandpa's Diary Screenshot
4 / 5
The Secret in Grandpa's Diary Screenshot
5 / 5
The Secret in Grandpa's Diary Screenshot

Slip N' Slide

JavaScript | Perlenspiel Engine

A block sliding puzzle created using Perlenspiel, a web-based JavaScript engine made by our professor, Brian Moriarty. The goal is to slide the white block to the black hole to progress to the next level. Additional mechanics are introduced as the player progresses through the levels, and some levels can be accessed in a non-linear fashion using a level selection screen.

Click here to play!

1 / 5
Slip N' Slide Cover
2 / 5
Slip N' Slide Screenshot
3 / 5
Slip N' Slide Screenshot
4 / 5
Slip N' Slide Screenshot
5 / 5
Slip N' Slide Screenshot

The Descent

C++ | Self-Made Engine | Created with Noah Darveau

A top-down shooter where the player must survive several pre-set waves of enemies. Before creating this game, I created the engine based on an engine called Dragonfly created by our professor, Mark Claypool. This game was made using my version of the Dragonfly engine. Both the engine and the game itself were coded in C++. Gameplay footage is included in the slides to the right.

1 / 6
The Descent Cover
2 / 6
3 / 6
The Descent Screenshot
4 / 6
The Descent Screenshot
5 / 6
The Descent Screenshot
6 / 6
The Descent Screenshot

Toto

Unreal Engine 4 | Created with McKenna Gameros

A small setting created with the goal of telling a story using details in the environment. We decided to create a neighborhood that was ravaged by a tornado that passed by the player's house. There are clues spread throughout the scenery that teach the player about the residents of the houses that were destroyed. We developed this in stages, starting with a Greybox Demo, a Beta Build, and a Final Build.

Our recorded presentations for each stage of the process can be viewed by clicking the above links.

1 / 6
Toto Screenshot
2 / 6
Toto Screenshot
3 / 6
Toto Screenshot
4 / 6
Toto Screenshot
5 / 6
Toto Screenshot
6 / 6
Toto Screenshot

Super Mario Level Generator

Java | Mario AI Framework | Created with Noah Darveau

In a course focusing on Artificial Intelligence in games, we created a level generation system that creates Mario Levels using a Markov Chain sequence. The Markov Chain is far from the ideal method of level generation, but we included a letiety of enhancements to minimize the amount of impossible levels that could be generated. For example, additional blocks are placed to prevent a jump from being too high to preform successfully.

Screenshots from levels generated with this program and a video showcasing a sample play through of a level are included to the right.

1 / 4
Mario Generator Impossible Jump Fix
2 / 4
3 / 4
Mario Generator Impossible Jump Fix
4 / 4
Mario Generator Impossible Jump Fix

Super Mario Maker 2 Levels

I have spent a lot of time designing levels using Super Mario Maker 2 on the Nintendo Switch. In doing so, I learned a lot about using tools for both function and aesthetics. I included full playthroughs of three of the levels I created to the right.

1 / 3
2 / 3
3 / 3

SVG Viewing/Drawing Tool

WebGL & JavaScript

This is a tool that can be used to import specifically formatted SVG files and draw additional lines on them. Panning and scaling are implemented using matrix transformations. A set of sample SVG files can be downloaded below and imported into the program. A video showcasing the basic functionality of the tool is included to the right.

Download Sample SVG Files

Click here to use!

1 / 5
SVG Drawer Picture
2 / 5
3 / 5
SVG Drawer Picture
4 / 5
SVG Drawer Picture
5 / 5
SVG Drawer Picture

Cartoon List

Kotlin | Android Studio

A simple application created with Android Studio. Users can search through a list of hundreds of animated shows and add them to a customizable list where they can rank them on a 10 point scale. The application implements a basic SQL Database and the UI is designed using XML. The application has a lot of future potential, but this project was limited to a weeks worth of work, so I was only able to finalize essential features in that timeframe.

1 / 4
Cartoon List Cover Cover
2 / 4
3 / 4
Cartoon List Screenshot
4 / 4
Cartoon List Screenshot