Dreadlight

Award-winning action game made in under two weeks for the SGDA Arcade Game Jam

March 2022 ⬥ Unity

Dreadlight

Overview

Dreadlight is an action game created for the SGDA Arcade Game Jam in March 2022. It won the Best Overall and Best Visuals awards. The game is a top-down wave survival game where the player must use a shield to block projectiles. The game was developed in 11 days using Unity and C#.

Game start

Hackathons at UT Dallas never really appealed to me. On top of most not having a theme to use as a starting point, there are so many that they all start to blend together. HackUTD, HackReason, HackAI, WEHack... it all felt overwhelming. I could make engaging software, but I needed somewhere to start. Previous hackathons I had tried ended up horribly because of that.

The Student Game Developer Association, or SGDA, was an organization I had wanted to get involved in for the past couple of years. Their Arcade Game Jam appealed to me in many ways. First, it was different from other hackathons. SGDA is the only organization at UT Dallas to offer hackathons specifically for game development, combining topics from both STEM and art. I was also somewhat involved in creating the game jam, as I built the arcade cabinet for UTDesign Makerspace that SGDA members planned to upload game jam submissions onto. I didn't know anything about the topic, so I had UTDesign Makerspace abstain from judging the game jam so our officers could join as participants.

I wanted to meet new people and try to work with a new group of people, so I posted an ad looking for teammates. I put together a very talented team of UT Dallas students. Rachel Woon joined first, offering her digital art skills for the bezel and promotional art. Bryce Sheehan wanted to try doing some pixel art for the game, so he became our sprite artist. Cameron Kelly told me she made chiptune music, so she designed the sound effects and music for the game. I programmed the game and determined the overall style based on the interests of everyone on the team; a spooky arcade game that takes place in an arcade cabinet.

Combo

A simple word quickly became a complex problem for our team. The term "combo" could be used in many ways, but we had a little under two weeks to create a project. We went to a conference room as soon as possible and began brainstorming on a whiteboard. Two syllables quickly turned into nine basic ideas as we bounced ideas off one another. I was happy to see such a diverse list of concepts being made.

Whiteboard with brainstorming ideas
Whiteboard with brainstorming ideas

After an hour of discussion, everyone went home, so we took our conversation to Discord. More ideas were fleshed out. One member suggested a burger stacking game like BurgerTime. I brought up an asymmetrical multiplayer idea where one player makes food, and the other delivers it, but we quickly realized making two games in a week would be too difficult. We went to bed and dreamt about new ideas. At least I did.

The next day, Bryce came up with what would eventually become Dreadlight. A top-down game where bullets would spawn from four points on the screen. The player had two shields, each a different color which would block specific projectiles. I joked about how the idea was very similar to Undyne's fight from Undertale and mentioned how having two shields would be overly complex for players, but I was intrigued. Me being interested in analog horror at the time, Bryce also suggested we could include a retro horror theme. We decided to go with Bryce's pitch.

Wave 1

The first step was creating a simple proof of concept. While we discussed game ideas, I worked on the CRT arcade cabinet screen effect we had previously discussed. After that, it took a couple of hours to put everything together and make a prototype. It had a single enemy based on Rachel's prototype art, a shield, and a generic player sprite which would be replaced later in development. Everyone was happy, so we moved forward.

The next goal was to create a consistent style. While Rachel worked on bezel art using the prototype I made as a guide, Bryce and I worked on adding text before every wave and adding new sprites to the game. We implemented an animated player, a shield with multiple animations, a background for the player to stand on, and four animated skulls to replace the current ghost enemy. Things were looking clean, and we had a good starting point for future development.

I decided to add some more cohesion while Bryce worked on more enemies. I implemented a bloom effect and some slight scratch effects to sell the idea that the player was staring at an old TV, which tied our design together and helped with the realism. Bryce created a second enemy sprite, a fireball that would switch positions while moving and force the player to stay on their toes. Rachel had also finished the bezel art - at least for then. We were at where some people would consider the finish line. But we wanted to add enough content to keep the game interesting.

Beta version
Old prototype
The prototype and beta versions

Level up

The most crucial goal was going back and fixing a couple things. I realized that making the game work with the arcade cabinet had completely slipped my mind, so I quickly added support for generic USB controllers so controllers from any manufacturer (such as Xbox, PlayStation, and Nintendo) would work. I also fixed a bug when trying to move the shield in multiple directions at once and improper art scaling when not using a 16:9 monitor. After a quick test on the arcade hardware, everything was good to go.

Moxy and I worked on three more enemies we had designed concepts for earlier in development. First, we named the skull and fireball enemies Floater and Swirler. The next enemy was the Watcher, which would stay in place and shoot projectiles at the player if not being looked at. After that was the Oni, a demon head that would stand still for some time and suddenly rush the player. Finally was the Specter, an enemy which would approach the player slowly with the appearance of a Floater but suddenly transform and rush the player.

After creating the Oni, I realized that having an enemy suddenly rush the player with no warning would be difficult for novices to fight. We didn't want our game to have too high of a difficulty. Otherwise, the judges wouldn't see all Dreadlight had to offer. We decided to balance the Oni and Specter by creating a combo system, hallucination system, and glitchy appearance to show their abnormality. When an Oni or Specter attacks the player, they lose their combo streak and begin hallucinating, seeing static and random words flashing on the screen. We believed this was fairer as it punished the player without immediately ending the game like the other easier enemies.

The Oni enemy running in a beta build
The Oni enemy running in a beta build

Game over

It was finally time to polish things. To follow through on the retro horror idea, I made the background disappear after a certain number of waves and have a small jumpscare introduction to the Oni. After all of our hard work, we managed to push through and get Dreadlight finished. We sent copies of the game to our friends for review, and they all loved the spooky atmosphere. They also hated the scary parts, but that's beside the point.

With the remaining time before the deadline, I squeezed in a few more things to give the game a little extra shine. A high score counter was added to the top of the screen. The final wave was changed to be infinite with increasing enemy speed so high scores can theoretically always be broken. I wrote a small amount of lore for our itch.io page about the history of the fictitious arcade cabinet, parodying famous urban legends like Polybius. I even created album art for an original soundtrack release in case Cameron wanted it on her portfolio.

When all was said and done, we were delighted with the state of our game. Everything worked well, the bugs we encountered were squashed, and our team worked together to create a cohesive design and gameplay that should hold up for many years. However, the other games submitted to the game jam were also impressive. We thought there was a chance we could win an award, but none of us expected the response we got.

High score

The deadline came and went, so it was time for the wrap-up. We were astounded to learn we had won not one but two awards. Dreadlight received the Best Visuals and Best Overall awards from SGDA. I could not have been happier at that moment. To have the first hackathon project I was passionate about given two awards was fantastic.

We later learned that the judges gave our game detailed, glowing reviews. All four industry veteran judges gave our design a five-star review. Overall, they gave it just above a four-star review. The feedback included, "this is something I'd likely pay for," "absolutely fantastic atmosphere, love the visual effects and use of sounds (sic) effects and music," and "super consistent and really well done." Seeing all of the positive feedback for our game made me overjoyed.

Working with the other members of Team Dreadlight was one of the most fun, memorable, and rewarding experiences I had at UT Dallas.

The promotional art used on itch.io by Rachel Woon
The promotional art used on itch.io by Rachel Woon

Position

Programmer and Designer

Stack

C#, Unity

Organization

Team Dreadlight

Links

itch.io