For the past few weeks i have been working on turning this into what you see now. I could've posted a video earlier, but i wanted to add as much features as possible so i can show more stuff in the video. As you can see at this point it's a 2D platformer with a rope gimmick.
So far the features are:
- screen scrolls on both X and Y axis (no "one room = one screen" restriction);
- double jumping, if player slips/falls off of platform without jumping, he can make one jump in the air;
- jumps "arc": instead of going up/down at constant speed, player slows down as he gets closer to maximum height and builds up speed as he starts falling (also, i made falling a bit faster than jumping, so it doesn't look like player is floating in the air after reaching jump's peak);
- player can attache rope to certain tiles and swing on it;
- player can jump off the rope while swinging and one more time in the air;
- player can regulate rope's length and go up/down while swinging, if player is close to exceeding rope's maximum length it starts flashing red and then player falls;
- player can shoot bullets with various trajectories;
- level editor with saving/loading functions;
- tiles can be placed with precision (zero pixels between each, think grid based placement) or freely (as long as they don't interlace with each other);
- tiles can be rotated 90, 180 or 270 degrees;
1) solid, that player can stand on, attache a rope to and can't shoot through;
2) solid, that player can stand on, but can't attache a rope to and can't shoot through;
3) transparent (background), that player will fall/shoot through and can't attache a rope to;
All done with C and Allegro in Code::Blocks IDE.