My Solution to the Challenge

Before going through the entire lecture, I tried my best to have a run at loading all of the scenes. I also just wanted to try something really weird (just to see if I can do it based on what we learned so far). After watching the lecture, I went to tidy up my code, but this is the raw idea that I had before watching the rest of the lecture. Hopefully this helps someone try new things, because I learned a lot.

Start Screen


So this is just simple, but I wanted to
a. keep the aesthetic of the game itself
b. try to remember how to do fonts

The fonts chosen are terrible, but it was fun to re-learn.

Tutorial Screen

The start button was designed to lead you to a tutorial page. Here, I just used the prefab of the Player and threw it in. Because I did that, I also added the shredder at the top. The reason for just adding the prefab was because the goal was for the Player to be able to test out the movement and when they felt ready, shoot the stationary enemy to start the game.

I didn’t want it to be timer based, I wanted the player to be ready to enter the fray. Typically, shoot-em ups just launch you into the game but because this course teaches everyone how to adjust speeds and what not, I figured a player would have different ideas of what a default speed would be. This way, the player has a bit of time to test out the movement and shot speed. Also, if I were to eventually add powerups that saved a history of acquisition on repeated play-throughs, this would be the screen where I would want players to test those things.

Here, I made 2 new scripts: tutorial level script and a tutorial enemy script. I am sure there is a more efficient method but… I was clueless and tried anything.

The tutorial level script just had something like this

    public void CountTutEnemy()
    {
        TutEnemy++;
    }

    public void DestroyedTutEnemy()
    {
        TutEnemy--;
        if (TutEnemy <= 0)
        {
            sceneLoader.LoadNextScene();
        }
    }
}

This is super simply, especially after remembering how to tag gameobjects on unity (from the block breaker lessons). The next scene (in my mind) will always be gameplay, so there was no real need to label anything. Even if I were to add other things, I would just mess with the scene order (until I learn a better management strategy).

The tutorial enemy script was made because I didn’t want it to shoot back and I didn’t really understand how to use the same script more efficiently, so I just redid it.

Game Over

Same thing here, I linked the start again button back to the tutorial scene. Later, I’ll convert it to 3 options so that you can pick up from the tutorial or go to the start screen. Why someone would need to go there… not sure, but it’s nice to have options.

I’d like there to be other things that I can do here… maybe a continue counter like there is in arcade fighting games? Or a shop where you can spend collectibles or something.

It’s a bit of a read, so I just threw it into summaries.

1 Like

Thank your for posting this. Writing your thought process really helps me and everyone else think how you did so we can understand how you problem solved. You really went above and beyond and I applaud you :clap: Keep up the incredible work!

Privacy & Terms