Stranger Strings

From UBC Wiki

Authors: William, Do Hoon

The Stranger Things theme interactive adventure game

What is the problem?

The problem is to create layers of levels where in each layer our main character plays a mini-game to move onto the next round.

What is the something extra?

Something extra will be:

  1. implementing multiple scenarios where the player will encounter different situations depending on the outcome of the previous round.
  2. designing multiple endings again, depending on the outcome of rounds.
  3. forcing the player to go back to the game to find other versions of the ending.

What did we learn from doing this?

First thing we learned is how difficult yet powerful it is to work on a project with a partner. Sometimes cooperating on a single file of code was stressful because we were not able to communicate easily, but at the end the outcome was something that was never achievable had it been alone.

Another lesson we got is the true meaning of "strong typing" nature of Haskell programming. There were often times where we wanted to write a code to produce multiple out comes but were not able to do so due to the restrictions from the typing. However, after a while we learned that those restrictions have kept us in line and as a result keep the code concise. Strong types helped eliminate many bugs before compiling our code so we can easily find the line and fix it.It turned out to be a great language to develop a text-based adventure game and made the program much more expandable with it being lazy.

Haskell also had support for interactive development as we were able to experiment and test our codes interactively while we code and was able to see the results immediately. It caught any bugs or errors there were in the code before running it so you can quickly and easily fix it.

Code

https://github.com/william-0-lim/StrangerString-Games

Reference on rock-paper-scissors game design: https://gist.github.com/joom/7d220e603d58ff889902

Reference on rooms and text-based adventure game design: https://wiki.ubc.ca/Course:CPSC312-2018-Text-Based-Dungeon-Adventure