WHY SUPER ANIME CHICK RUN?
I wanted to prove to myself that I had enough drive to start and finish a whole game on my own. Which is why I decided to take on an endless runner. I knew I'd have to work with several aspects that would challenge me. And while there were several tutorials online, I still had to solve key issues on my own. That alone was a big part of why I chose to make this game. It was a huge learning process. |
CREATING THE TILES
I created 6 different tiles to use in the game.
Those consist of:
The Starting Tile doesn't spawn any anything. It's main purpose is an empty space before the other tiles come in.
The Tunnel Tile is what players run though first before reaching the City Tiles & Special Tiles. It also spawns obstacles, environment pieces (signs on the left and right walls), lanterns (collectibles), and magnets.
The City Tiles work the same way as the Tunnel Tile, but won't appear until the player reaches max speed. The environment pieces are part of the tile as well.
The Special Tiles only spawn lanterns (obstacles will appear if they were spawned by upcoming City Tiles). These tiles are the players opportunity to collect more lanterns than usual.
Those consist of:
- Starting Tile
- Tunnel Tile
- 2 City Tiles
- 2 Special Tiles
The Starting Tile doesn't spawn any anything. It's main purpose is an empty space before the other tiles come in.
The Tunnel Tile is what players run though first before reaching the City Tiles & Special Tiles. It also spawns obstacles, environment pieces (signs on the left and right walls), lanterns (collectibles), and magnets.
The City Tiles work the same way as the Tunnel Tile, but won't appear until the player reaches max speed. The environment pieces are part of the tile as well.
The Special Tiles only spawn lanterns (obstacles will appear if they were spawned by upcoming City Tiles). These tiles are the players opportunity to collect more lanterns than usual.
Each tile in the game has a trigger box. When the player hits it, it will trigger the next tile at the end of the previous tile. Previously, I was running into issues between the game mode and tiles themselves spawning a ridiculous amount. Because of that, when testing on my phone-- performance started to slow down.
To solve this issue:
There was another issue I ran into as well (more of a learning lesson). Being that the project is an endless runner and I'm trying to vary the tiles to create different experiences each time--
I would choose between either:
Random Float is more chance-based while Switch on Int is this/that. And I made the mistake of using Random Float to spawn in the tiles. And when I made the changes above with the Do Once & For Loop, sometimes tiles didn't spawn. So, once I understood that-- the tiles started to work as I intended.
To solve this issue:
- I added a do once for each tile
- I took out the for loop that was in the game mode
There was another issue I ran into as well (more of a learning lesson). Being that the project is an endless runner and I'm trying to vary the tiles to create different experiences each time--
I would choose between either:
- Random Integer in Range & Switch on Int
- Random Float in Range & In Range (Float)
Random Float is more chance-based while Switch on Int is this/that. And I made the mistake of using Random Float to spawn in the tiles. And when I made the changes above with the Do Once & For Loop, sometimes tiles didn't spawn. So, once I understood that-- the tiles started to work as I intended.
In order for the tiles to enter the world, I have a simple call of two functions in the game mode.
Previously, I spoke about how the City Tiles don't spawn until the player reaches max speed.
This is done by a few steps:
This is done by a few steps:
- Getting the player's character movement to get the max speed
- Using a Branch with the condition seeing if the speed is greater than 1599
- If True, start spawning and varying the City Tiles & Special Tiles
- If False, keep spawning the Tunnel Tile
BRINGING THE OBSTACLES & CHARACTER TO LIFE
Originally, the plan was only to have static obstacles spawn. I had no real intention of having moving obstacles because I didn't think it would work. Mainly because of the way I built my tiles and other blueprints.
And when I first tried, it really didn't work. Having the moving obstacles spawn where the lanterns, magnets, and static obstacles did-- looked and felt bad.
So, I made the decision to get rid of static obstacles altogether and have the spawn for the moving obstacles far back.
This would help to create a clear grammar/rule for the game:
And when I first tried, it really didn't work. Having the moving obstacles spawn where the lanterns, magnets, and static obstacles did-- looked and felt bad.
- It looked back because cars were driving through things that didn't make sense.
- It felt bad because there would be instance where it would spawn immediately in front of the player and kill them. And that ultimately felt cheap.
So, I made the decision to get rid of static obstacles altogether and have the spawn for the moving obstacles far back.
This would help to create a clear grammar/rule for the game:
- Things that don't move (but spin) are pickups and won't hurt the player
- Things that move from the top of the screen to the bottom of the screen kill the player
The game has 5 obstacles:
Each obstacle comes with two triggers:
The only different between the Cars and Devil Chick, is that the Devil Chick have a Skeletal Mesh that allow them to play a run animation on loop.
- Cars (Police, Green, Yellow)
- Devil Chick (Orange & Purple)
Each obstacle comes with two triggers:
- One that activates their InterpToMovement
- The second plays a sound
The only different between the Cars and Devil Chick, is that the Devil Chick have a Skeletal Mesh that allow them to play a run animation on loop.
When the player hits an obstacle, they trigger an event that calls the Death Function. That function is found in the Main Character blueprint.
A major issue happened toward the end of development in that my main character broke. Wasn't much I could do but just create a brand new character.
The main character's kit only has the ability to:
I thought about adding move actions but decided against it. Mainly because I wanted to have simple controls and keep things casual.
- Jump
- Move Left & Right
- Drop
I thought about adding move actions but decided against it. Mainly because I wanted to have simple controls and keep things casual.
Since the game is called Super Anime Chick Run, I wanted something to occur to the main character. I doesn't change anything to the gameplay. It's simply a change in appearance once the character reaches max speed. A sound plays as the material of the character glows yellow.
Audio is a huge part of bringing the character to life-- in addition, that includes music. Each time the player plays a run, it'll randomly select between 6 tracks.
PLAYTHROUGH
Proudly powered by Weebly