Junk by jjjjason

The more you have, the worse it is for other people.
Junk is a variation of the familiar falling-blocks puzzle game. When you start a game of Junk, you don't play on an empty board. Instead, you play on the finishing board of someone else's game. And when you're done, any mistakes you make, all junk you collect, will become someone else's problem in due time.
The game requires internet connectivity to function. If you have trouble starting the game, please inform me, as there's a good chance it's just due to my shoddy server programming :)
Update log: * v0.3 - POST LUDUM DARE UPDATE * Decrease visibility of ghost block * Show score during Outro scene * Change "Junk" color to green when you've cleared more Junk than you've created * Added improvements for repeat players * Shows intro-skip indicators if you've played at least once * Increases board animation speed * Changes game title to include username of previous board owner * Saves specified username * v0.2 - Bug fix: game would fire off unnecessary network calls, reducing performance for some people * v0.1.1 - Updated MacOS version, should work fine now. Windows also now works for those missing key DLLs.
| Other (platform) | https://y2bd.itch.io/junk |
| Source code | https://github.com/y2bd/junk |
| Source code | https://github.com/y2bd/junk-back |
| macOS | |
| Original URL | https://ldjam.com/events/ludum-dare/40/junk |
Ratings
| Overall | 66th | 3.897⭐ | 75🧑⚖️ |
| Fun | 101th | 3.788⭐ | 75🧑⚖️ |
| Innovation | 52th | 3.892⭐ | 76🧑⚖️ |
| Theme | 71th | 4.104⭐ | 74🧑⚖️ |
| Graphics | 230th | 3.574⭐ | 76🧑⚖️ |
| Humor | 77th | 3.634⭐ | 69🧑⚖️ |
| Mood | 196th | 3.369⭐ | 67🧑⚖️ |
| Given | 111🗳️ | 125🗨️ |
I like it, it's a cool twist on the traditional tetris game, and of course, the theme itself.
I *love* that you're experimenting with "leave some info for someone else to play with", but this game doesn't really use that effectively! Which is really unfortunate!
Additionally, mac version - after every drop of a tetromino, there's effectively a small lag which is really REALLY annoying given the timed nature of the game. I'm guessing that you're communicating with the server at every drop? If so that seems to be overdoing it. And it really shouldn't hang the game, however briefly.
Moreover, can't we pass the intro ? It's very annoying to have to see it every time.
But whoever get to continue my game, good luck with that mess!
@tuism
Funny enough digging through the code there literally is a random network call happening every drop that is totally unnecessary, probably a remnant of bad copy-paste :(. Working on a bugfix for that now (want to make sure that it was actually unnecessary...)
@nyri0
You can actually skip the intro and outro exposition by hitting "escape". Sorry that I forgot to document that somewhere...
My first game was an absolute trainwreck that despite my skill with Tetris I couldn't get anywhere close to fixing. There was a tower so high I spent most of my time down-scrolling. In levels where people seemed like they were actually trying, though, it was an absolute blast.
I love this concept a lot, and as long as the server is up and running I think I'm going to come back to this to see what stuff comes out.
Keep up the amazing work!
Thanks for helping to clean up the junk!
me: alexv
me again: that game was pretty cool let me try again
"so there was this idiot yesterday, what was his name again, alexv"
Some good points have been raised by other people, so I may have a few suggestions for improvement:
- Provide a quick intro. It's not necessary to read the intro text for each round. Once upon loading the game is enough. Give a short one-liner summary for the player's effort after finishing a round and let them return to the action right away. The longer text was funny, but it doesn't add a lot if you have to read it each round.
- Ask for the player's name in the beginning and remember it
- Display the name of the player whose field you take over to allow recognizing someone's name without having to reading the intro.
- If someone starts with a clean field, let them choose a name for that field and display that name while playing. Give the player the choice to continue working on the same field or pick another one after play.
- Allow the player to select from a number of fields where you show a list of contributors and what they added/took away from the field. That way, some social construct could form where a bunch of people get together to try and clean up the messy play field of other people. Offer some reward/accomplishment if they do. Some chat lobby would work well together with that idea.
- It's much easier to wreck playing fields than to heal them. Erase the "contribution" of people who are merely spamming blocks, e.g. by comparing "removed_lines / added_blocks" against a threshold. That way a team of workers can actually finish cleaning a playing field.
I loved it. All the story and concept... you have done great :)
The on criticism I really have is that it would be nice to be able to skip the opening instructions once you've played it for the first time.
Good job!
I seem to agree with everything @cerno-b said, except for his last point about the spammers. I think they keep the game fresh and comical, so to speak.
@cerno-b @niterich I think there's an interesting balance here in making the game more fun, versus making the game more true to the theme/original idea. As you've both said, there are definitely people who will just create more junk to deal with (whether intentionally or accidentally) and it's definitely frustrating to have to deal with these people if you're someone who's good at Tetris, or just really want to help clean up. Frustrating to the point of potentially driving away people.
*However*, I think this frustration, the feeling of being in a bad situation due to no fault of your own, was the core idea I was trying to express with this game (I also stayed awake for about 36 hours while making this game so I wonder what I was really thinking while making it lol). But as people have said much further upstream, I'm not sure how effective that is in a game like Tetris, where it is *really* hard to recover as the junk piles up, to the point of not being fun (unless you *really* love Tetris, like me and some other people here :wink:).
I'm not sure how much I'll end up following up this game in particular, but I do want to see how that idea can be better explored, perhaps in a less frustrating way (without just throwing away problems altogether). Cerno has some fantastic ideas for making this into a great collaborative experience though, I'll definitely keep 'em in mind however I continue!
Also @niterich, it's curious that you (and another person upstream) both prefer rotate on "up". I've based this engine off of more modern versions of Tetris, where two separate rotation buttons are required so you can do wallkicks/tspins properly (see here: https://i.imgur.com/epjkHMl.gif). Regardless, sorry that I tied hard-drop to it instead. That's probably the worst thing you can hit by mistake :(
I also agree with @niterich about the up button. It takes me a long time to get used to not flipping with up and several times I ruined a tetris by pressing up when i meant to press z or x :(. Despite that, I really enjoyed this game and your implementation of this concept! I'd love to see if there is a high score kept somewhere!
i imagine is for technical reasons, but i was sad to see there are different "rooms", you kinda lose track of your "progress", but i think that also is the point so its ok
super cool 10/5
1. As you mentioned, to spread out player effects. This has worked pretty well, since two or three of the rooms are relatively clean, while the others are stacked high.
2. It better handles the situation of multiple people playing at the same time (the technical, unfortunately more constraining reason).
have you thought a way to handle multiple players in a single room?
just curios
If you’re talking about people playing together, like in a live multiplayer scenario, I’ve played two-player Tetris in an arcade once. It actually had an extended width board to better support two people, but also forced each person to a side, with a six column overlap in the middle to allow for, but minimize potential collisions. People would essentially build a well in the middle, then when agreed upon would fill it up together.
I have zero idea as to how this would generalize to N people—the potential for collisions would be ridiculous, hahaha. Being online would be even worse since you can’t talk with your friend standing next to you. It would definitely be chaos.
However, if you’re talking about everyone playing by themselves but with only a single board, then I guess it’s just an issue of coming up with a merging algorithm for when two people ultimately check out the board at the same time. I think you’d ultimately have to merge based on intent over actual changes, since what do you do when one person clears a line but the the other just adds more junk to it? It would be more add or subtract the relative number of lines changed, and if we have to add, add the general shape of the new lines, but be willing to fudge it if there’s a conflict.
You could also just make people wait, have them spectate the current player. That wouldn’t be too bad unless there were a ton of people (this starts to get into the ideas @cerno-b had).
i think the solution of @cerno-b to name rooms is quite good, just so it gives more identity to a room and you know where you are every time you start. the thing that frustrated me at first was to restart in another room and not realizing it
also i just read about the up arrow rotation, and yes i have that thing too, i kept dropping by accident when distracted
* I thought the game had started when the tetris tower was zooming by and was immediately confused and thought I was performing very badly.
* The transparency on the ghost block needs to be increased, or the ghost block needs to be removed entirely. I thought it served to clutter things up and make the game harder.
* I couldn't slide a block left or right at the last second to fit it under other pieces! I like tetris games that permit that.
* Add SFX!
Love the game. Good work.
P.S. I love LÖVE!
I do have criticisms, but I would be repeating shinyogre above me word for word.
The ghost transparency was definitely confusing, and also pressing up to instantly drop a block was terrible. I kept dropping them by accident to the point that I totally took my finger away from the up button and never used it. If these things were intentional to make a messed up stack, I guess that's cool, but it was annoying.
At this point I might just make it configurable, whether pressing “up” does a hard drop or a clockwise rotation. Most of the people I’ve asked IRL expect up to hard drop, but enough people have posted about it here to show that it’s not unanimous.
Liked the dialogue bits as well.
In terms of improvements...well, first would be the lack of sound, and perhaps the opacity of the tetrominos' previews was a bit too high. As you would be getting close to the board it could be difficult to distinguish which block belonged to the shape and which to the preview.
In any case, I really enjoyed playing. Awesome job!
Great game, just missing sfx and maybe some visual polish. There's a lot of great tools for making sfx (e.g. sfxr) so hopefully next time you can make time to put some in!
Though I would love to point out the little minutiae that you could have improved in terms of DAS charging during piece spawn, blahblahblahblah, honestly it is an LD entry so I can't expect you to do all that. I'm not 100% familiar with SRS rotation but it seems like you more or less stayed true to that so, props for that at least! It seems like you also implement a 7-bag randomizer, yay!
But yeah, the inability to charge DAS (autorepeat) during the delay between pieces would be my number one complaint, as it makes DAS not nearly as helpful as it should be. The other thing I'd change would probably be to add lock delay to make it easier to do spins, but eh...
I for one am pleased that you mapped the controls the way you did (though being a joystick player I use my left stick for movement so I just crossed my hands) but alas, enough people use up to rotate that you probably have to consider them using some alternate scheme.
I found it a bit aggravating that the view frequently seemed to pan upwards too far (I'm sure you have some rules for how this is done) which didn't allow me to see where I needed to drop pieces.
Anyhow, I'll stop nerding out about Tetris now. Many thanks for an actually-decent implementation and props for the interesting idea! Also, please let me know if you fix the camera panning and the DAS charging -- if you do those two I might just try to drill down all the way to the bottom, hahaha
Your points are pretty much 100% in line with my Tetris-playing roommate, who (alongside random Wikis) were pretty much my only guides here since I'm definitely no expert. He even played it with his hands crossed!
I'll have to look further in how DAS should look/feel--he also noted that it wasn't quite right (although I will say that it was much worse until like -4h to compo end!). The camera was also a pain point; I wanted to avoid moving it whenever possible since it does interrupt the flow, but there are enough situations where you have to place below the screen, but not far down enough for it to trigger the scroll.
All-in-all thanks a ton for playing, as well as the great feedback. Same goes to everyone else who's posted since my last comment!
Also, big thanks to the repeat players who check in every once in a while! Noticed that the play count keeps going up independently of the D/L and review count :smile:
ps. sorry for my bad english