FoonLudum Dare ExplorerLD51 → Pipe Nightmare

Pipe Nightmare

By taxiservice and sterco-raro

View on ldjam.com

CategoryRankScoreCount
Overall11512.8032
Fun11572.5432
Innovation11262.5432
Theme11442.7032
Graphics8983.0832
Audio6293.0131
Humor6122.7830
Mood10242.8729

Comments

chrisdedev 2022-10-04 00:03

when trying to run on linux I get this error:

Traceback (most recent call last): File "PyInstaller/hooks/rthooks/pyi_rth_pkgres.py", line 16, in File "PyInstaller/loader/pyimod02_importers.py", line 499, in exec_module File "pkg_resources/__init__.py", line 32, in File "PyInstaller/loader/pyimod02_importers.py", line 499, in exec_module File "plistlib.py", line 61, in File "PyInstaller/loader/pyimod02_importers.py", line 499, in exec_module File "xml/parsers/expat.py", line 4, in ImportError: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.36' not found (required by /tmp/_MEIhA2B02/libexpat.so.1) [114528] Failed to execute script 'pyi_rth_pkgres' due to unhandled exception!

gryph0n 2022-10-04 00:10

Unfortunately it gives me a "BAD AT WORK" error on the exe and I cannot play it.

2022-10-04 00:22

"Birds aren't real, I promise"

2022-10-04 00:44

On windows 10 got it to run.

I made a folder sounds\ and added the following sounds button_down.wav button_downup.wav button_up.wav fart.wav flush.wav ld51fuckmeonmydeathbed.mp3 pipe_drop.wav pipe_pick.wav pipe_plop.wav pipe_rotate.wav rattle.wav rattleflush.wav snap.wav weird.wav

https://www.soundjay.com/ is where I got sounds from

thebutterapple24 2022-10-04 03:21

Got the “BAD AT WORK” error :(

2022-10-04 03:27

@sterco-raro the game needs to be zipped up with the sounds folder and possibly some other files too. The executable relies on external files to work.

sterco-raro 2022-10-04 09:40

Thank you all for your comments :heart: we're working on fixing these bugs! Unfortunately we exported the binaries with missing assets folder.

As for @chrisdedev I'll try it on another linux box and see what I can do, on my box it's working so I need to reproduce that error somehow.

P.S. The "BAD AT WORK" is actually a simple string left there by accident :sweat_smile:

rekko 2022-10-04 15:33

I'm mad that the right side of the game is just unplayable because we can't bring pieces in here, but over that that's a great game, nice audio and graphics ! Too bad there is no consequences when the liquid spread all over the pipes.

wouter52 2022-10-04 15:38

Congrtz on your first LudumDare entry! I like the music very much, the sound effects and graphics are awesome too! The controls though, they seem to be a bit broken. I can't reliably drag them on the playingfield / change their positions. So I was unable to connect all the pipes at the end. Still very impressive for a first LD-entry!

View questions out of curiosity :-) - Is there any screen when the player wins? - And what program did you use to make this? - What does the 'Boh?' button do? I could not figure that one out :-)

===== Edit, I figured it out. I see that the selecting of the pipes is toggled on-and-off while holding the mousebutton. I suspect that you used somekind of 'mousedown' event for that. If so, a bugfix could be to trigger the selecting of a pipe with the 'mouseup' event.

I think that in this case the mousedown is triggered every frame while holding down the mousebutton. Where the mouseup event is usually triggered once.

I finished the level now :-)

finished.png

sterco-raro 2022-10-05 11:07

@rekko thanks a lot! I'm mad too and working to fix that issue every time I have a moment to spare :disappointed: The last two columns of the grid **were** interactable a couple of versions ago but I still can't locate what introduced this issue :/

We were thinking about a health bar or something to lose when there's too much spilling but couldn't make it in time :smile:

@wouter52 thank you so much for your kindness during the jam! About the dragging issue you're right, there's actually no drag n drop. I noticed that on windows the mouse events timings are a bit different than linux so I'm trying to fix it and make it feel the same on both platforms. (see below for a hopefully clearer explanation :laughing:)

To answer your questions:

- No, unfortunately we didn't have time to put a winning/losing screen in the game - It's basically a wobbly custom engine built using [pygame](https://www.pygame.org) and [esper](https://github.com/benmoran56/esper)! The backbone of the code was made during a three days "personal/fake game jam" we made a couple of months ago to test our skills - The "Boh?" does nothing, it's a placeholder that didn't grow wings, boh in italian means "dunno" :grin:

To clarify, the mouse events are totally handmade :D there's no separation for up, down events. we basically check each time the mouse is being pressed what's the status of different variables (an active selection, last selection comes from the grid or from the inventory, etc).

To avoid millions of clicks per frame there's an "action cooldown" timer in place that needs more testing and balancing (I need to at least increase its duration).

Congratulations for completing the pipe system! And as already said, thanks all for your comments :violin:

heremeus 2022-10-05 11:42

Same issue here as @chrisdedev, I can't run the game on Ubuntu 2022.

zyger 2022-10-05 11:46

I really like the art and the idea of the game. but after playing it for a minute or two it crashes. other than that its pretty cool :)

sterco-raro 2022-10-05 11:59

@heremeus and @chrisdedev sorry to hear that :/ I thought we fixed the launch issues but I didn't think about compiling on different distros for compatibility

If you'd still like to try it out you can get the source code on [github](https://github.com/sterco-raro/ld51) and run the development version like this: ``` git clone https://github.com/sterco-raro/ld51.git cd ld51 pip install -r requirements.txt python launcher.py ``` To clean up the dependencies installed by pip run: ``` pip uninstall esper pip uninstall pygame pip uninstall pyinstaller ```

Note: you need python 3.10

sterco-raro 2022-10-05 12:02

@zyger Thanks! :D we're still figuring out why it crashes after a couple of minutes though :sweat_smile:

scifi6546 2022-10-05 14:43

cant really get the controls to work but the art looks nice. The game feels somehow really laggy, I am on windows 10.

frigusterio 2022-10-05 14:56

When I connect any pipe to the ones above and they start spitting liquid, the game crashes Otherwise pretty cool

heremeus 2022-10-05 14:58

@sterco-raro thanks, running it directly worked (well, it started at least :smile: ). After a while it crashes with "maximum recursion depth exceeded in comparison" when the 10s timer hits. Seems to happen anytime I build a pipe with the open end into a pipe segment that does not fit. But also sometimes on a perfectly fine build.

Console log: ``` File "/home/user/ldjam/ld51/launcher.py", line 24, in manager.run() File "/home/user/ldjam/ld51/code/game_manager.py", line 165, in run self.world.update() File "/home/user/ldjam/ld51/code/world_manager.py", line 96, in update self.worlds[self.current].process() File "/home/user/.local/lib/python3.10/site-packages/esper/__init__.py", line 424, in process self._process(*args, **kwargs) File "/home/user/.local/lib/python3.10/site-packages/esper/__init__.py", line 405, in _process processor.process(*args, **kwargs) File "/home/user/ldjam/ld51/code/systems/timer.py", line 115, in process self.grid_healthcheck() File "/home/user/ldjam/ld51/code/systems/timer.py", line 78, in grid_healthcheck self._healthcheck( ( self.grid.active_inputs[i][0] + 1, self.grid.active_inputs[i][1] ), "up" ) File "/home/user/ldjam/ld51/code/systems/timer.py", line 69, in _healthcheck self._healthcheck( ( grid_pos[0] + 1, grid_pos[1] ), "down" ) // (...) File "/home/user/ldjam/ld51/code/systems/timer.py", line 51, in _healthcheck self._healthcheck( ( grid_pos[0], grid_pos[1] - 1 ), "left" ) File "/home/user/ldjam/ld51/code/systems/timer.py", line 63, in _healthcheck self._healthcheck( ( grid_pos[0], grid_pos[1] + 1 ), "right" ) File "/home/user/ldjam/ld51/code/systems/timer.py", line 51, in _healthcheck self._healthcheck( ( grid_pos[0], grid_pos[1] - 1 ), "left" ) File "/home/user/ldjam/ld51/code/systems/timer.py", line 63, in _healthcheck self._healthcheck( ( grid_pos[0], grid_pos[1] + 1 ), "right" ) File "/home/user/ldjam/ld51/code/systems/timer.py", line 37, in _healthcheck value = self.grid._get_at(grid_pos[1], grid_pos[0]) File "/home/user/ldjam/ld51/code/components/map.py", line 120, in _get_at if col < 0 or col > self.map_width: return RecursionError: maximum recursion depth exceeded in comparison ```

fabula-rasa 2022-10-05 15:58

It's an enjoyable puzzle concept. I think it can be very fun when finished :smile_cat:

At the moment, it does indeed feel unfinished. You probably know all this already :wink:, but: - the game crashes quite a lot; - "buh?" button does nothing; - for some reason, you can't place pipes on the right side of the screen (even though pipes spawn there); - there is no end (even when you connect all the pipes, nothing happens); - there is no real setup to the game - what are the pipes for?, where are they going?, what is the slime they are transporting?, and what is the meaning of life and existence as we know it ;)?

On the definite plus side: I like the graphics and the sounds are good as well!

Here is a screen of the crash error I got the most often:

Screenshot_4.jpg

frozenfire92 2022-10-05 18:08

Hey, great game name :joy: Even though it was very broken, you did it and that is the main thing in a game jam :smile: Keep on making games!

sterco-raro 2022-10-05 23:18

Thanks for your support even if the grame crashes like crazy :grin:

@scifi6546 @frigusterio @heremeus @frozenfire92 @fabula-rasa

We finally fixed the main bugs!!! It's 1 AM where I live so I think we'll upload the working versions tomorrow morning.

@heremeus thank you for your determination! Hopefully this fix will solve your problems (not the glibc ones though :eyes:)

@fabula-rasa the remaining questions are pretty simple: - the "boh?" button is a feature ;) it keeps us safe from life's dangers - unfortunately we didn't put an ending screen in the game aside from a small sfx when the pipes are connected correctly :cry: - what if the slime is actually transporting those pipes? (42, the main answer is 42 of course)

Oh and thank you **so** much, now I need to rewatch the whole series to satisfy my hunger! All glory to the Hypnotoad!!

fabula-rasa 2022-10-06 00:20

@sterco-raro Then I shall ponder the validity of the Boh? button no longer, and I will just be grateful for its protection.

42 is indeed the one and proper answer! As is obeying the Hypnotoad. And your welcome - rewatching Futurama is never a bad thing. I can basically play the first 5 seasons in my head in my sleep by now :laughing:

chrisdedev 2022-10-06 12:07

@sterco-raro yea got it working. I think the issue is your binary was not installing the required packages. When looking at the source code instructions it did install packages that I did not already have installed.

wouter52 2022-10-06 20:48

The fixes worked, it is much more fun to play now! Good work!

cannibalgirl 2022-10-06 20:56

10/10 for sounds, very immersive i'm imagining in my mind the scene when you were acquiring the sounds using professional devices at 4 am during the jam somewhere :heart:

maybe i'm not very smart but it took me 5 minutes to figure out that you can rotate pieces with right mouse button (should've read the instructions with more attention...)

all written in python? sweet! good job at pushing trough sometimes I would get double pipes in the drawer, not sure why no crashes here!

sterco-raro 2022-10-07 00:10

@chrisdedev the binary should be self-contained so I don't know how to handle cases like yours :confused: apart from suggesting to run from source

@wouter52 Thanks!! Next time I want to try something simpler and hopefully submit a working build at the end of the jam XD A smaller scope can surely help us

(btw I think I sounded a bit rude while commenting your game, just wanted to say that it wasn't my goal :grin:)

@cannibalgirl sounds, graphics and the late night professional recordings all come from @taxiservice's own hands (and mouth) :copyright: The extra python topping is my doing, so are the random bugs still lingering around :grin: Thank you for your feedback :D (oh and I'm so happy to know the game didn't crash)

wouter52 2022-10-07 05:45

@sterco-raro don't worry ;-) I like honest comments like that! And it did ot come across as rude at all :smile:

The scope of your game looked fine to me, there were just some technical difficlties you needed to overcome. It is common for jam-games to have so-called 'spagetticode' or 'very dirty solutions' to save time. For instance, I could not bother coming up with code that could rotate a tile 90, 180 and 270 degrees (ours works with tiles too), so I asked the artist to make 4 versions of each possible tile and then I used those ^^' That solution is not 'very nice', but it gets the job done so to speak :-)

I don't know how your game is programmed, but what I wanted to say is: don't be scared to write very veeery dirty ccode to get the job done :-)

morepixels 2022-10-07 09:40

Fun game! Didn't realise the draw button actually gave you more pipes, I thought it would Draw the game. But other than that, very fun game!

sterco-raro 2022-10-07 09:50

@wouter52 I'm happy to hear that ;)

Our code is very dirty :laughing: aside from that, I think you're right indeed. Maybe the scope was fine, probably the major problems were complicated maps management and the pipes system integrity check function.

The "inventory" area and the grid area share a LOT of common code but I lost myself in offsets and array referencing because I rushed that part :')

The pipes integrity check is basically a recursive function written a couple of hours before the deadline :D fun fact: I ended up rewriting that function from scratch three times, each one with a similar structure, each time without noticing that the main issue was the grid access :sweat_smile:

sterco-raro 2022-10-07 09:55

@morepixels Thanks! We were going for a more "draft your deck" like mechanic during the first hours where the draw button should have been more straightforward :grin:

sk-katea 2022-10-08 20:12

I like the Game and the graphics... the idea of it hit my weak Spot, cause i really liked this kind of games when i was young

hora-timer 2022-10-09 10:44

Wow Show!

reinhpash 2022-10-10 08:55

i enjoyed a lot

khaotom 2022-10-11 07:37

I think it's fun as a sandbox with no losing state. It was fun to just click around the parts and connect them. Maybe there is an idea for something there. I actually think the stress of trying to solve it with a time pressure would be a nightmare... in fact the original Pipe dream game should be called Pipe Nightmare and this one should be called Pipe Dream :clown:

I also dug the chill vibe of the music, and the low fi grit of the sound effects. I felt it captured the spirit of windows 95 days.

I took a look at esper, it looks interesting, might have to try it out.

baylock 2022-10-12 05:11

Amazing game. Really catchy graphics. Some work can be done from the gameplay side and can be a made a bit more complex. I think the 10 second rule did redistricted a lot of possibilities. Please do check out my submission as well.

sarah 2022-10-20 02:34

We basically DID make the same game, that's great haha. Overall it's a bit buggy but still a completed entry, so well done on that front! It looks nice as well :3