Start of the game

SkyscraperCityUptown

Little platformer game inspired by the old game Heart of Darkness

I tried to mimic the cinematic platform video game genre, but not sure I got it right. I spend way to much time (a bit more than 1 day) to draw all the stick figure animations.

Instructions are in the readme.md!

Here the requirements:

python 3.13
pygame-ce 2.5.5 (pygame does not work! Older versions of pygame-ce might not work either!)

Controls:
WASD: walk, climb, crawl
Shift: run
Space: jump
E: use

Can you find your way out?

Awards


Walk cycle pro award
Presented by speedlimit35

Cozy Award
Presented by Walkercito

Give this entry an award

Scores

Ratings (show detail)

Overall: 3.6
Fun: 3.5
Production: 3.9
Innovation: 3.5

Respondents: 8

Files

File Uploader Date
SkyscraperCityUptown1.1.zip
1.1 (bugfixes)
DR0ID 2025/10/26 15:54
Screenshot_2025-09-28_022534.png
Start of the game
DR0ID 2025/09/28 00:26
SkyscraperCityUptown.zipfinal
1.0
DR0ID 2025/09/28 00:13

Diary Entries

Floating box fix

Oh no, I must have overlooked this. If you find the floating box strange as I do and would like to see them on the ground, then change

line 108 in levelloader.py to

                    box = Box(spr.image.get_rect(topleft=pos.xy))


This will only change the visuals and does not change the logic (except, you can crawl beneath the floating box.... :(  )

Add a comment

Postmortem SkyscraperCityUptown for pyweek 40

As already mentioned, this game was inspired by the old game "Heart of Darkness". It seems to be similar to "Out of this world" (same game author) and "Prince of Persia" as some have mentioned in the judgement comments. So from the comments I think I got the game feeling right.

What didn't go so well is my testing. Besides the already mentioned floating box bug there is another one. The switches are not in the expected initial state. Unfortunately I found out a few days into judging and decided to remain silent about it. I uploaded a fixed version now for reference to give you a chance for the inteted experience.

The level design could have been better. On Monday half of the level was sketched out. But I failed to use the potential of platforms and jumping. Maybe other elements could have made it more interesting. But good level design is not so easy (at least for me) and requires practice which I don't have. In the comments someone mentioned that the floating box could be due to less gravity. Maybe this would have made the game more interesting at the start with and gradually increasing gravity, but could have spoiled the story of the space lift. Not sure.

About the animations: yes, it took me one day to draw them all. I had a pretty good idea of all the animations that were needed. Using pyxel and the onion layers helped a lot. Due to time constraints I decided to leave it as a stick figure. The logic to play the correct animation at the right time led to that many states (23 to be exact) that can be found in the player logic. I'm not sure if this is the way it is done. Using the state to decide which animation should be visible at the time and a reset mechanism did the trick to draw them. The reset mechanism is needed because some animations need to be played from begin to end every time (bump, lean, ladder leave, ...) in contrast to other animations that just can be looped (walk, run, crawl....). I'm unhappy with the interface to the rudimentary sprite system. Maybe I will come up with something else in the future.

The minimalistic art style of the game developed through the week. Since I was drawing the white/gray stick figure (its actually transparent) those gray shades stuck. And only a few selected things got color. I actually had something else in mind, but what could be so colorful in an elevator shaft anyway? Some light and shadow would have been nice but didn't make it into the game.


The ladder climbing speed and crawl speed. Yeah, this could be faster. Also the ladders turned out to be disproportional big. This is probably an artifact of the tile size used and a planning failure of the dimensions of each element. I drew the ladder parts in a hurry and placed them using Tiled (the map editor).

This is the second time I tried to use positional sounds. It mostly worked out because all sounds are stationary. But it has some bugs and in one of my later test runs I found out, that the background sound did not play because at that time no channel was available in the mixer (I know, I should have reserved a channel for that). It has also other bugs like it does not consider the other side of the map if you are at its edge. With positional sound it looks like that playing a sound becomes more and more similar to playing an animation. Maybe the interfaces should be similar (e.g. the position might need to be updated).


Thanks for playing and giving feedback.

See you next time.

Add a comment