20th Anniversary Edition challenge: “Skyscraper City”
SkyscraperCityUptown - Postmortem SkyscraperCityUptown for pyweek 40
Posted by DR0ID on 2025/10/26 16:15
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.
Steel Stacks - Steel Stacks: Postmortem
Posted by Tee on 2025/10/12 16:11
Given the 20th Anniversary edition, I wanted to do something a little more ambitious than what I usually do, and I took a couple of days off work just to work on this. While I didn't actually finish polishing the game that way I wanted -- you might have noticed some missing animations, e.g. glass breaking when falling -- I think it paid off and this is probably my longest Pyweek game so far. I'm happy that you enjoyed it, and I hope the difficulty didn't turn you off too much. :)
I'll talk about SPOILERS BELOW, so please be warned!
.
I had been thinking about knowledge-gated games lately (e.g. Outer Wilds), and I wanted to try to make something that had some of that feel. There's something about the idea of a game as an object that can be unlocked by discovering its secrets that really appeals to me. In addition, I was motivated by mit-mit's Pyweek 39 game (Scuffy) to create something larger with a touch of a Metroidvania-like world. I'm usually minimalist in scope given how time-constrained Pyweeks are -- and I'll continue following that rule for most Pyweeks -- but sometimes seeing the crazy things that other Pyweekers can do within the span of a week can be inspiring (mainly looking at Cosmologicon and mit-mit recently, but also others throughout the years).
The problem is that one week is not enough time to come up with a proper knowledge-gated game. As I mentioned, my number one rule of Pyweek is to always keep it simple, so I decided to set two simpler (but still more-ambitious-than-usual) goals: 1, have a clean set of puzzle mechanics whose dynamics are not obvious and part of the game is discovering them, and 2, instead of relying on keys or triggers to progress to the next area, you discover a secret that you can use to find the next area. If you actually look at the save file, it only consists of the name of the room. You only progress the game to learn more about how the game works, there's never a variable that keeps track of your state other than your location. In fact, I didn't even want the game to track if the player had found the hub yet, you can skip the whole tutorial levels if you want by just pressing ESC in the beginning of the game and going to the hub straight away.
With puzzles, a minimal set of core mechanics is always ideal for a Pyweek game, and the Skyscraper City theme made me think about moving blocks around to build skyscrapers. In particular, I thought it would be cool if building skyscrapers was what helped you move around, and that gave me the idea of putting the player on top of the skyscraper after built, which is somewhere they both could not have reached by themselves, and cannot go back if they drop off (if the skyscraper has more than one floor). My first idea around this was actually to have blocks of different shapes (which didn't get into the game) and an inventory, but then I thought, what if figuring out how to carry the blocks around was actually a big part of the puzzle? That felt a lot cleaner as not only I didn't have to deal with an inventory, but also moving blocks around is half of the puzzle. With that, came the idea of putting the blocks on your head and having them actually interfere (or even help) with what you're supposed to do, and from then on I built everything on top of those mechanics.
The first underground city level might have been a little challenging as you'd have to discover a piece of non-trivial dynamic, i.e. pushing a block off the stack, but I didn't want to straight up tell the player because I think it's a nice aha moment to discover it. I hoped for two things: 1, the player would realize that they need a 4-stack block but cannot actually build one, and 2, they might try to move to the nook with two blocks and drop a block accidentally, and realize that that's a way forward. Hopefully that worked out for most players.
The rest of the puzzles were mostly playing with different ideas on top of these mechanics. I particularly like how the glass block turned out, I think that added some further depth to the puzzles. Some glass block puzzles involved some non-trivial timing.
Also, as with some knowledge-gated games, I really wanted something where if you knew what to do from the start, then you could beat the game really quickly. I decided to show the final levels in the beginning of the game as sort of a preview of what's to come, and make the player curious about it. Then, as you progress through the game, you realize that you're supposed to go back to the beginning of the game to apply what you've learned, and the only way to do that is by deleting your "save". Based on comments many of you might not have actually gotten through the whole game due to the difficulty (understandably), but for those who did, I hope that was a fun little realization!.
Overall, I'm very happy with this one, this was a lot of fun to create. Designing the puzzles was really fun as well.
--
On a different note: It's crazy to look back and think that I've been doing Pyweeks for most of the last 20 years (I only missed Pyweeks #1 and #3 so far). As with pretty much any human being, so much in my life has changed in these 20 years, and yet those two weeks a year of Pyweek have continued to remain a constant and that's something I appreciate. Special thank you to all who helped keep Pyweek up and running throughout these two decades (Daniel, Richard, and anyone else I might be missing)!
As always, I've enjoyed playing your games. Congratulations to Large Sandwich Models for winning the team category, and to everyone who submitted a game! Making a game in a week is never easy. :)
Constrictor Constructor - Current world record: 5,086 points
Posted by cyhawk on 2025/10/01 06:10
Let us know if you can beat Alex!
Orbital Metropolis Defense - (Barely)Finished project with sound and music this time.
Posted by Phantasma on 2025/09/30 04:40
Of course, there's still room for improvement so I'm not stopping there. Looking forward to playing everyone's games throughout this week.
SkyscraperCityUptown - Floating box fix
Posted by DR0ID on 2025/09/29 18:40
Skyscraper Destruction Race - Skyscraper Destruction Challenge
Posted by stuartc on 2025/09/28 15:41
As it stands, it is a 2 player game. Player 1 plays on the left hand side and uses WASD and left-shift keys; player 2 is on the right hand side and uses cursor keys and comma. Both players have to try to run up a skyscraper that keeps growing out of the ground. You can also shoot bricks out of your opponent's skyscrapers to hinder their progress. First to the cup in the middle is the winner.
The game is about 500 lines long, has hardly any graphics, and doesn't use any library except pygame. More info and code over here. Please enjoy!

Skyscraper Surfers - Finished
Posted by David3001 on 2025/09/28 14:12
I want to thank all people hosting this, as this is an amazing event.
Until next time,
David
1 Bazooka VS 100 Gorilla - Thanks!!
Posted by Rocket_Games on 2025/09/28 08:18
Hello everyone!
A big thank you to everyone who made PyWeek possible and to the community for the support and inspiration!
This week has been a fun challenge and a great learning experience.
Our entry is called "1 Bazooka VS 100 Gorilla", and the team name we chose over time is Rocket Games Studio.
We really enjoyed building this game together and hope you’ll have fun playing it too.
Special thanks to the PyWeek organizers for keeping this event alive,
and to all the participants who shared their ideas, progress, and motivation.
See you in the next PyWeek!
Skyscraper Merge - Skyscraper Merge
Posted by gizmo_thunder on 2025/09/28 04:19
https://github.com/vkbsb/SkyscraperMerge.git
Assets from:
Tiles:https://kenney.nl/
Audio: freesound.org
Libraries Used:
pixijs, howler.js
You might be thinking, how the hell do you use js libraries in Python? well that's the magic / promise of Transcrypt:https://www.transcrypt.org/
Please follow the instructions in the Readme.md for installation and compilation.
It was fun getting this game done, is not at the level i wanted it to be but happy that i finished it.
You can play it live on itch.io
https://vkrishna.itch.io/skyscrappermerge
Green Savior - Comments
Posted by speedlimit35 on 2025/09/28 03:57