Neon runner


Neon runner is a 2D platformer game with pixel art. And it’s the first project I have done in my second year of college. This is an individual project so all the code is written by myself. I also need to thank my friend: hyouai. He helped me with the art in several projects that I have done, and this is one of those. One thing that should be noticed is that, in this project, we are allowed to use free assets or assets that we have an authorization, thus I was allowed to use these assets which are made by hyouai.

One of the requirements is that it should be an endless runner game. So how to achieve the “endless” part is one point of this game. Besides, the game should be fun as well.

Unfortunately, I failed this course because my reflection on the project that I handed in wasn’t written in a certain format that is required. But I think the game itself has a good quality.


As usual, at the beginning of the game, I made some tutorial to get the player ready for the real challenge after. The tutorial will always be there at the beginning of a new run of the game.

To increase the difficulty, I have written a method that simply increases the scrolling speed of the screen over time. Only the player that is familiar with the map patterns and control will have the chance to go further.

There are different obstacles as well. Laser launchers are the most dangerous obstacles to players because once they run into the laser, they failed. But if what they run into is the launcher not the laser then they are safe. Roadblock is a type of obstacle that is non-deadly even if the player crash into it. The way to remove the obstacles is shooting and hitting the obstacle with the player character. But notice, crash into obstacles is always plan B because the character loses speed while doing it, this is as well deadly when the screen is scrolling fast.

As you will see in the gallery below, shooting or crashing into obstacles won’t just magically let them disappear. It makes them fall out of the map. So… you know what happens when you run into a laser even it’s falling!


At the very beginning of this chapter, I would like to mention that the source code (Unity project) of this project is lost due to the lack of version control. The original project was on my laptop, and because of my misoperation, I formated my hard drive. The result is that this project is lost forever. So, if I need to give some suggestion to the new game developers, the first thing I am going to mention is version control.

But let’s go back to the topic, Neon runner was developed with the Unity engine. I was glad that I can finally learn something that is really for the professionals when I was doing this project.

Here I would like to talk about how I solve the task of “endless“. Although this is a piece of cake for me now, it took me a while to implement this at that time. I used prefab to achieve this feature, I made different map patterns into prefabs, then generate those prefabs next to each other. And also, in order to not use too many resources, the map pattern which is out of the screen will be destroyed. The patterns will be generated randomly, so it gives the player some challenge.

And you might notice the background music. Yes, I made it! Even it’s just a loop of a few seconds of melody. I think it’s still cool, how do you think?

There are some small bugs as well, for example, the collider of the bullet and laser launcher is not always working correctly, so you might need to shoot a few more times.


You can download the build from my Mega Drive. Run Neon runner.exe to start the game.

How to play

[A], [D] to move left and right. [Space] to jump, [Mouse] to aim and [Mouse Left Button] to shoot.

When the character falls outs of the screen/get hit by the laser/can’t keep up with the scrolling screen, the game will be over.