Depression Simulator

Depression Simulator is a 2D point and click game that teaches the player about life with clinical depression and anxiety. The purpose is to help those free from these mental illnesses to understand the daily struggle of someone with them, in order to help those without to empathise with their fellow man. The game takes place over a 5 day work week in which the main character struggles to do everything they need to do without letting their work or social life suffer in exchange. Players are limited by the character's physcial energy, mental energy, and anxiety, forcing them to make difficult choices about which need to priorise.

Table of Contents

Section 1 - Concept


Section 1.1 - Brainstorming Ideas

For this semester, I knew ahead of time that I wanted to work on a personal project instead of any of the group projects, in order to customise a project to fill any gaps in my learning, but I didn't know immediatly what I wanted my project to be. I considered the type of games I want to make in my future, and ended up going through my Steam Library to collect of group of games I deemed "similar". Initially, I listed games that I liked the art style of, some like 100% Orange Juice, Cat goes Fishing, Dorfromantik, Forager, How Buddy's Parents Met, Let the Cat In, Mushroom Cats, and especially Plantera. However, I also want to make horror games, so I thought of the ones that I really loved and one particular indie game stood. When the Darkness Comes is a psychological horror game that I played a single time when I was arguably too young to play a horror game, and it terrified me. However, when I returned to it last year, I discovered that to receive the full message of the game, you have to play through it 3-4 times. The premise is that it starts off with an extremely depressed and anxious narrator who gets progressively more angry at you as you play. But each time you replay the game, a second narrator starts to gain more traction, telling you that it's okay to not be okay, and it's okay to need help. After all is finished, I found the game to be extremely moving and I highly recommend it to people, as long as they keep in mind that it can be hard on your mental health in your first run of them game.

To make a long story short, I thought about not only why I liked that game and what of it I wanted to build on, and I found myself returning to my initial interpretation of it as a child. I thought the point of the game was to teach people what it's like to live with depression and anxiety, and while I love how the game actually turned out when I finished it last year, I also loved the idea of a game that is unapologetically hard on the player to teach them. In addition, over the previous year, I had started to really struggle with my own mental health and motivation, so I decided that my personal project would be an educational game designed to simulate life with severe depression and anxiety (and potentionally some other mental issues thrown in there accidentally, I based the main character's experiences off of my own and I don't always know which mental problem causes certain things.)

Section 1.2 - Game Design

When it came to deciding the visual style of the game, I considered a lot of things. I weighted the pros and cons of first-person versus 3rd person, the differences between 2D and 3D. When it came down to it, I thought 3rd person would keep the player from empathising with the main character, but I had issues with 1st person too. I never took the player movement into account and frankly, I couldn't see it fitting with the vibes for each place (the apartment being too dark and small, the workplace being unnecessarily loud and bright, the bus somehow a mix of the two). For each room, I had a "viewpoint" that I wanted the player to stay in, to make everything just that little bit claustrophobic, and I couldn't seeming do that with 1st person. And then I remembered point and click games, and everything made sense. While I originally intended on the game being 3D, I decided that not only would 2D make more sense with the point and click genre, but also it would be easier for me to create the assets. However, I did create a blueprint for each space so I could understand the layout easier, which you can see in Figure 1.2.1. I based the apartment after my brother's tiny apartment in Seattle that I helped him move into a few years ago, and the bus on the Winchester Stagecoach Buses. In addition, the workplace was based on a prior workplace of my own, an American retail store called Bath and Body Works.

Figure 1.2.1 -

Section 1.3 - Asset Design

As for assets, I knew full well that I would not be required nor expected to make my own, as that is not my course, but I wanted to. I struggle with not having assets or working with assets that don't reflect my vision when it comes to projects, so it was important to me that I had decently quality assets that reflected what I imagined each part of the game to look like. My school laptop is a touch screen that came with a stylus, so I initially anticipated using that to draw my own scenes but over the summer, I lost all of the nibs for my stylus and discovered that apparently, they don't make replacement; you just have to buy a new stylus altogether (which was £200!!). So while I looked for a new way to create my assets, I decided placeholders were needed. Originally, I planned to whitebox each scene but realised that it would take unnecessary time and complicate the project, so I ended up using a "drawing hack" I had seen online once. Said "hack" was to use The Sims 4 to build your scene, to help with perspective, and I instantly realised that I could easily do that with my scenes to give me a quick and easy placeholder. In about 30 minutes, I had every area built and screenshotted to be easily put into my game to give me a better sense of each scene.

Figure 1.3.1 -

Eventually, later in the semester, I bought a new stylus (although a different brand that wasn't nearly as expensive and actually sells replacement nibs), so I was able to convert the placeholder images from the sims into my actual final assets.

Figure 1.3.2 -


Figure 1.3.3 -



Section 2 - Creation


Section 2.1 - Scenes and Colliders

Using my previous knowledge from Cludeo Rapid, I made each scene a simple 2D sprite that took up the whole camera view. After that, I created box colliders around each "important" object in the scene, or anything that I thought the players would interact with.

Figure 2.1.1 -

After that, I made the "Cursor Manager" script to change the cursor whenever the player moused over an interactable item, to communicate to them that they could interact with said items.

                void Update()
                {
                    if(MouseOver == true){
                        Cursor.SetCursor(cursorTexture, hotSpot, cursorMode);
                        //Debug.Log("Moused Over");
                    }
                }

                public void MouseOut()
                {
                    Cursor.SetCursor(null, hotSpot, cursorMode);
                    //Debug.Log("Moused Out");
                }
            
In hindsight, I have no idea why I had mousing over within the update, and mousing out as its own function, but I would likely go back and change that in order to reduce lag from checking those types of things every frame. Regardless, I then added the interaction to the colliders themselves.

                void OnMouseEnter() {
                    CM.MouseOver = true;
                }

                void OnMouseExit() {
                    CM.MouseOver = false;
                    CM.MouseOut();
                }
            
In addition, I defined the subtitle within Cursor Manager, but the code to change the subtitles with each click was attached to the colliders themselves.

                void OnMouseDown() {
                    //Debug.Log("Clicked");
                    
                    if(SM.BedMade == false){
                        CM.subtitle.text = "I should probably make my bed";
                    }
                    else if(SM.BedMade == true){
                        CM.subtitle.text = "Man, I had a weird dream last night";
                    }
                }
            

Section 2.2 - Stats and Interactions

Once I had the colliders working and changing the subtitles, my next step was create the stats and have your actions dynamically change them as the game continued. First, I created another script called "Stats Manager" wherein I defined the 3 main stats as well as the "performance metres" you would be judged by. For ease, I decided the 3 stats would be called energy (representing physcial energy), anxiety, and spoons. For those who don't know, a common metaphore in mental health circles is "Spoon Theory". The metaphore goes that you start the day with a specific amount of spoons, representing your mental energy for that day, and everyday tasks cost your spoons. Once you're out, you can't do anything more that day, or you'll go into "spoon debt", meaning you will have little to no spoons the next day. In order to not confuse mental and physcial energy in my code, I decided to embrace the Spoon Theory and make that the name of my third stat. In addition, for ease, "gaining anxiety" is a good thing as it means you are overall reducing your anxiety levels, which is admittedly confusing but I decided it was easier for me to code if a higher number was always a good thing. In addition, the stats are never directly told to the player, only implied through visual changes in the game, so it wasn't important from a gameplay perspective. After all of that was said and done, I added the code to the colliders to update the stats based on what the player clicked on.

                void OnMouseDown() {
                    //Debug.Log("Clicked");
                    
                    if(SM.BedMade == false){
                        if(SM.Day == 1){
                            if(i == 1){
                                CM.subtitle.text = "I should probably make my bed";
                                i++;
                            }
                            else if(i == 2){
                                CM.subtitle.text = "*grunt*";
                                i++;
                                SM.BedMade = true;
                                Invoke("TutorialEnergy", 2);
                            }
                        }
                        else if(SM.energy == 0) {
                            CM.subtitle.text = "Ugh, I'm too tired to make my bed today";
                        }
                        else {
                            CM.subtitle.text = "*grunt* There we go";
                        }
                    else if(SM.BedMade == true){
                            CM.subtitle.text = "Man, I had a weird dream last night";
                        }
                    }
                }

                void TutorialEnergy() {
                    SM.energy = 0;
                    CM.subtitle.text = "Wow that took a lot out of me";
                }
            
As you can see above, I decided that on day 1, making the bed and other basic tasks would cost more of their respective stats, but others would also gain more of those stats back, in order to teach the player the basics of losing and gaining each stat. In this case, making the bed cost all of your energy but having a cup of coffee would regain it all back, whereas on other days, it wouldn't cost nearly as much nor gain as much back. In addition to the stats, when you complete a task at work or have your friends over that evening, you gain another "point" for the respective performance metric, and by the end of the 5 days, if each one is over a certain threshold, you'll get a different ending of the 4 possible (Bad Ending, Work Ending, Friend Ending, Good Ending).


Section 3 - Future


Ultimately, while I am extremely happy with my progress and feel I learned quite a bit with this project, I still need to finish up adding sound and the overlays that enable when each stat gets too low. However, these are both things I feel confident in learning to do and intend on doing in the future, as I loved working on this project and would love to see it to completion. With this project, I focused a lot on learning to not overcomplicate things as I have a tendancy to do with my work and that really helped me in the long run. I hope to update this page over time with my progress as I continue to work on this game.

Click here to download the most recent build of Depression Simulator