top of page

Here is the Demo Video:

This game is programmed with Python CMU graphic library by myself. It is to demonstrate my coding skill with Python. Here is the GitHub code access.

Project description

This project is to create a vertical platformer game that requires players to control the avatar to safely drop down by jumping over to procedurally generated platforms. The environment will gradually move upwards, so players need to stay inside the screen while jumping down.

Competitive Analysis
NS-Shaft is a fast-paced vertical platformer Japanese arcade game and is the opposite of NS-Tower, another vertical platformer arcade game of the same genre, except this time, in NS-Shaft, you drop down as fast as you can and never go up. NS-Shaft features platforms that turn on you, forcing you to drop down, conveyor belts in both directions, projecting you forward or backward, spring platforms making you bounce and of course, last but not least, many many spikes injuring you! Each time you drop to a platform, you recover 1 life point.
My project will be the same in terms of basic gameplay mechanisms such as vertically dropping down from one platform to another, never going back up, spikes to injure you, bouncing platforms, and a scoring system. However, I will add a noise background UI feature, a weapon feature for players to control the avatar, and some platform types that are not included in NS-Shaft.



Structural Plan:

  • Basic gameplay (move, jump, drop)

  •  Accurate physics (collision game feel)

  •  Multiple forms of the platform (normal, conveyer belt, stab, bounce, break)

  •  Algorithmically generated platform placement

  •  Performance analysis (The game gets harder as you go on)

  •  Collect props

  •  Add some complexity to designing the background

  •  Multiple types of platforms (exact number TBD) (some post MVP)

Algorithmic Plan:

  • Basic character movement: left and right movement add acceleration and friction when starting to move and stop.

  • Platform placement: using randomly selected x coordinate and fixed y coordinate to make sure that each platform is loosely separated from the others.

  • Game difficulty: the game pace will gradually increase when playing forward at some point. Using accelerations to gradually increase the pace by hierarchy division.

  • Background generation: using noise or color paint effect to generate background art.

bottom of page