Hacker News new | past | comments | ask | show | jobs | submit login
Show HN: Lovetris – Tetris which always gives you the best piece (unrealwill.github.io)
215 points by GistNoesis on May 8, 2021 | hide | past | favorite | 123 comments



After playing Hatetris https://news.ycombinator.com/item?id=27063894 yesterday on HN,

I decided I would rather have the AI on my side so I forked the site and flipped a sign.

If your life feels like Hatetris, Lovetris will bring you comfort.

Enjoy :)


Very nice!

My initial reaction is: it's not giving me the piece I want. It's trying to force you to clear individual lines as soon as it is possible to do so. But in real Tetris, you want to clear four lines at a time to get double score, which may mean withholding a line clear when you could have done one.

Consider this replay: హටເח௨ඞܗТۑටܢݹ௫੬ຽߢ௧ලບঅযلЈǶ

It ends by giving me nothing but S pieces, because it wants me to take the single line clear. It won't stop giving S pieces until I do so. In actuality, any other piece would be preferable; there are available spots for all of them, and I can build up to a Tetris. But with the S piece, my only options are to sacrifice the Tetris for the single line clear, or create a hole in my stack.


Tetris(Noun) The act of clearing four lines at once (the maximum possible) in Tetris.

Somehow went my entire life not knowing that meaning of the word!


It depends on the implementation of course, but clearing 4 lines at once usually brings a huge amount of points. For example, NES version at the first "level" (slowest speed):

1 line = 40, 2 lines = 100, 3 lines = 300, 4 lines = 1200.

It also increases the speed every 10 lines, so you want to plan accordingly for maximum score. You can get above that first level with either 400 points or 3600.

If you have some time to kill, highly recommend this and the follow up video: https://www.youtube.com/watch?v=9RaqVGzhQTM


In modern ("guideline") tetris T-spins multiline clears tend to actually be the most point-garnering moves. It's a bit weird that the game named tetris went that way but oh well.


"Tetris" as in "tetrahedron". mind.equals(blown).


More like tetris as in Tetromino: https://en.m.wikipedia.org/wiki/Tetromino


"Tetra" isn't completely unknown in English but perhaps the link is more obvious to Russian-speakers (the original author was Russian)? Is четыре/chetyre a cognate of Greek-derived tetra?

https://translate.google.com/?sl=en&tl=ru&text=four


Could someone please explain what the string after "consider this replay" is?

I see a combination of characters loosely looking like some East Asian alphabet, I guess that this is some kind of encoding ?


To watch a replay you need to click the replay button and paste this string


Is this base64 but with Arabic chars included?


Base2048. An encoding optimized for packing maximum data into a Tweet (which supports 280 characters, but with Unicode support).


That is fascinating! In particular, base2048 was designed after twitter adjusted the tweet limit to 280 characters, but started counting “heavy” codepoints as double, making the previously used base65536 less efficient in the context of a tweet.

See https://github.com/qntm/base2048#readme


I'd never heard of this either. It really is interesting!

I can't other articles on it other than that readme. Does anyone else know where I can learn more about it? Someone needs to make a Wikipedia page!


I think the reason is just that it isn't widely used. It's a very niche use-case, anyway. Even link-shorteners don't particularly benefit from something like this, and for all cases where the actual amount of data is concerned, simple base64 is more efficient.

But yeah, making a wikipedia entry and adding it to this list (https://en.wikipedia.org/wiki/Binary-to-text_encoding) could spread it a little further.


I remember downloading binaries from Usenet using uudecode. Looks like Twitter is the new Usenet.


I tried to see if I could stack a tetris. Made a 3 wide well, the game would give me L pieces to fill in the single line. Which made it pretty easy to stack up. At some point it gave me a single I piece, which I put in the middle of the 3 deep well. I would either get more I pieces or an L piece which I put in the well, the game would proceed to give me I pieces.

ҫටไଈۑටހঅ௧ΧІݶݼق໑অௐRʈঅ௨ఢȵݶԳقฒߢ௨ఢƔݹடٴໃٳɺقຯঐ౬ΟໃƁԈقໄɕலۇȣJலปາஞݫටࠋऐഹටоࡨ௩ѻІԔԥಘϾঀƥقഥಕ௨vІðƐටƚࡨ௨uಸݹறঔໃΥeٯໃҾkقബເवॴຯɛ௨කТ൫ஸڐໃپϢඡಋڝ௨ΣІݞ౻ටࠄঅடڠາɚ௨ౚ༣ݹބقଡɕષقࠄঅटقԀɕ௧uଈݡКʈເŧݸටඨࡖ௨ࡆІܥ౮قଞݸƕقܢઝடٴໃܤƓقฮࡈ௨ඉʑݢ౻ඥСݸ౫ඡಋঅஐٴໃܡవටଥɕஜؿϽߡƗࡕ


Ya, it should be called Onetris.


Ha! I just played exactly the same game!


Yeah, what about t-spins, too?

If it could always set me up for amazing t-spin plays, that would be really enjoyable, I think.


Ended up exactly in the same situation. Unfortunately didn't thought about replay which is by the way a really nice feature.

Two bigs tower and a sad perfect spot to fit a L shape at the base of them :D


This occurs because the goal of hatris is to stop you scoring any lines so lovetris wants you to get every line, but doesn't allow for tetris.


I think to make this a fun-ish experience would be to have the screen start filled with mostly garbage and holes and then have the the 'AI' lovingly send you the appropriate pieces to clean up the mess... I tried this by purposely messing the board and then going ahead with the game and I found it quite pleasant. Another idea would be to have it 'normal' until you got in trouble and then it would lovetris you back to health.


In a way, I got just as frustrated (well maybe not _as_ frustrated) as playing hatetris, because I couldn't easily make 4 line combos. That is, until I managed to set up endless straight pieces and stack the rest of the board save that one slot.


I don't think you need AI to decide the best piece. Or any logic at all. It's just always the long piece. Pretty boring.

Might be more interesting if there were other constraints like it couldn't give you the same piece too often or something.


If all you’ve done is flip a sign, it’s a little disingenuous to say “by GistNoesis“.


This version didn't exist until GistNoesis flipped the sign, so no, it's not.

This gets to a larger philosophy of open source: we should encourage people to fork when they want to iterate on someone else's work, however minor that iteration may be. This is open source working as intended.


If you take something that took hours to build and (as is claimed) spend 1 minute modifying it, you absolutely have no right to claim it’s “by” you. I think everyone except you agrees on that.


Well they also changed the name, so this new concept of Lovetris is by the new author, even if the code to make it possible is not. Lots of references to the old work as well, similar distribution (e.g. not paid), etc. If I was the author of Hatetris I'd be happy for this version!


> they also changed the name

Is that a serious argument? If you write a techno song, and I take it, turn up the BPM and publish it as “by me”, would it help my case that I also changed the name of the song?


I'd like to welcome you to the world of Nightcore:

https://www.youtube.com/results?search_query=nightcore

But in more seriousness, a song is normally quite distinguishable from another song than a tetris implementation from another tetris implementation. Conceptually, having a normal tetris vs having a tetris give you the worst solution (hatris) is the same jump as having a normal tetris vs having a tetris give you the best solution (lovetris). IMHO it's not the code itself what makes a "new thing new", it's the concept behind it.


I completely disagree. I made a hatetris myself (called Lövetris) once, spent a good 20 hours on it. If someone took it, flipped a sign (or even re-skinned it) and published it as “by” them I’d be furious.

Yes, the product would be different, but 99.9% (literally) of the work would still be mine. The hard part is building the app, not changing a parameter. I wouldn’t even call that a “remix”.


That seems the opposite of open source thinking, which might be why you didn't published it and why you think that way. As an open source author myself I see this as a fair move. Just different opinions :)

"The hard part is building the app, not changing a parameter" that really depends, why didn't you take an open source implementation yourself and built on top of it? Then it wouldn't be "as hard", would it? If you want to go the hard road that's totally fine, but it's not fair to say that because you go that road you deserve something that someone else got easier using pre-existing technology. Also there's literally dozens of famous examples in science and medicine when the hard part is changing a parameter and saving millions of lives.


Also, I’m not saying it’s a problem to tweak someone’s open source project, I only take issue with presenting it as your own, with such a minimal change.


If you want attribution, require it in the licence.


Maybe I’m not being clear. I’m talking about _etiquette_. Not licenses or laws.


I don’t know if there are open source hatetris available, but in my case it was an assignment so that wasn’t an option.

If i build something from scratch it doesn’t really matter that it “could have been” built on open source. And in any case, it might be perfectly legal and in accordance with the license to do what OP did, I’m just saying it’s bad form. Making a minor tweak doesn’t make it “by you”. It just doesn’t.

And this is not medicine and lovetris doesn’t save any lives, so I’m bot sure it’s relevant.


Did you give an open source license to your project? I think some licenses have better attribution requirements than others.


I didn’t publish it at all, I’m just thinking hypothetically here!


Good idea! If more thought hypothetically about the consequences of various licenses I think it would be a good thing.

In retrospect some of my projects might have more liberal WTFPL on them where I really don't care if someone else said they did it, but others I would want more recognition and more copy left for their changes. (I think some of my bigger projects side with the copy left and the smaller with the liberal.)


> I think everyone except you agrees on that

As a member of “everyone”, would you please not put words in my mouth.


Everyone is so touchy.


”I think”


Well, you've been given an example that contradicts your "thinking", so either your "thinking" was unknowingly incorrect, or you now choose to believe something that is patently false.


The TeX license requires you to change the name of you change a single byte.

> All of the methods described in these books are in the public domain; thus anybody can freely use any of the ideas. The only thing I'm retaining control of is the names, TeX and METAFONT: products that go by this name are obliged to conform to the standard. If any changes are made, I won't complain, as long as the changed systems are not called TeX or METAFONT.


What is your argument here?


That open source licenses exist that REQUIRE you take credit the moment you fiddle with the source, so it’s not universally despised to do so.


Thanks for the remark.

There already was a link on the github readme to give credit to the original hatetris (MIT licensed).

In addition I have added some link to qtnm hatetris on the play page, too.


The MIT license states the rights, I thought?


I’m not saying it’s illegal, I’m saying it’s bad form.


This is hanging on the edge of being "I don't like it or disagree with it, therefore it is bad"


You could say that. Most discussions outside science lans and courts of laws are about opinions, not objective facts.


The Hatetris code doesn’t appear to have an open source license, or any license, so it isn’t open source.

This use of the code is a clear legal breach of copyright, in the absence of specific agreement with the copyright holder.

(On the Hatetris page, the author declines someone’s request to use the code elsewhere)



I'm not sure I deserve to be so downvoted for this, considering this clarification came after my comment ;(


I didn't downvote you, but I want to clarify what's going on because I know it sucks to get down voted with explanation.

The reason you're getting so many down votes is because you made strong claims in a harsh tone that turned out to be false in a trivially verifiable manner. The intent there is that you should've verified your claim through and through before attributing a misdeed to someone who simply sought to share something they thought was cool to make with others.


I find it important to identify that yes, a license is required to use someone else’s code - I mean this legally, not morally: you can be sued.

The sibling points about trademark law (which is different) and remix culture (which has some legal protection but not that I’m aware for lines of code) seem to miss this point.

This is a licensed use, it turns out, which is great. If the author here had not identified that before publishing, then they were putting themselves at legal risk.

[on a technicality, the MIT license hasn’t been properly invoked, since the MIT license requires the text of the license to be included in full, but the original author’s consent for use seems now to be clear]


I mean, Hatetris probably wasn't using the Tetris trademarks properly, right? Aren't both just remix culture?


Morally? I suppose if you squint hard enough.

Legally though, just because one person's proprietary work relies upon another person's proprietary work, doesn't mean it suddenly becomes open source or public domain.


I'm just surprised the community made the critique on this version but not the other one.


Honestly I’m not surprised. The prior work could be argued as being fair use of the Tetris copyright. It certainly isn’t stealing any market from any official licensed Tetris products or services. Morally, I can find it very easily defensible.

This “Lovetris” work is a blatant copying and republishing of someone else’s proprietary work effort with no permission. Morally, I don’t see this as an egregious abuse, but I can see why this community would object to someone not acting in the spirit of open source licensing.


I got two long pieces, laid them down side by side, and was hoping for another one so I could start getting set up for a tetris, but all I got was garbage Z pieces forevermore, which were the absolute worst piece for me to get.

Started a new game. Put the long piece vertically against a side wall. Got an S piece. Whhhhyyyyyyyyyyy?


Yeah, it's weirdly frustrating. It seems to give you the best piece to clear lines right now, even if you want something different to set yourself up for a tetris later. So you have to arrange things up so that the best piece for clearing lines is also the best piece for setting up for a tetris.


What .... That is exactly what happened to my wife when I sent her the link just now. "Here honey, this ought to be relaxing" and boom, two long pieces and then a Z piece army.

I appreciate a free game but is this one of those abusive research projects?

Edit: Undo and redo don't work here either


I'm sorry for your bad experience.

"Undo and redo" shortcut don't seem to work, but the clickable undo and redo button at the top left work.

It's a quick project which arose from curiosity : "what would happen if the hateful AI tried to do the opposite".

This AI does its best to always provide you some outs to the limit of its abilities. You have plenty of freedom to guide the game into interesting landscape while having an AI that always offer you safe ways to recover. But you still have to play your part, the AI can only handle half the job.

Lovetris has some interesting complexities, and touch the subject of collaborative AI whereas Hatetris is an adversarial AI.

Collaborative AI and AI alignment are interestingly hard research subjects which have philosophical and technological components.

With subject as deep as love and working jointly, it's hard to satisfy everybody.

Lovetris with its "exhaustive short horizon exploring strategy with simple terminal heuristics" isn't capable of perceiving long-term intent farther than its tree searching depth. And reciprocally, if you set the horizon too far, the human player is bad at reading the intent of the AI, and doesn't do what the AI suggest.

There are probably better strategies, like monte-carlo tree search with some neural networks which could better solve the intent communication problem between the human and the AI, and provide a better experience, but they take a little more work than just flipping a sign.

Add a little feedback via data collection and such an AI can probably send its player into an hedonistic loop.


All due respect - I wouldn't really consider this to be an example of anything close to approaching the subject of AI alignment - at least not in terms that people talk about in the past few years.

"Exhaustive short horizon exploring strategy with simple terminal heuristics" - is this in reference to the for loop which calculates the future possible states of the game up to a certain depth?

It seems to be a state exploration algorithm. The number of possible game states is well-defined here. Perhaps you're conflating the subject of video game AI with concepts related to machine learning AI?


The AI is optimizing for a different goal than the player :

Like a loving helicopter mom, this AI is trying its best to help you reduce tower height now (to reduce risk) whereas the human player has different objective often related to increasing its score over a certain horizon.

The thing is from the programming point of view there are not a unique way to define what should be a "best move".


Are you responding to someone else? My issue is not with understanding the algorithm's flaws and the difficulty surrounding providing players with an optimal choice considering players have different goals than the heuristics used in the algorithm.

My issue is with you using incorrect terms and conflating machine learning with a relatively simple graph based algorithm with a relatively simple heuristic.

There is no machine learning going on in this codebase whatsoever as far as I can tell, but you seem to be claiming there is. Do you care to respond to that?


>There is no machine learning going on in this codebase whatsoever as far as I can tell, but you seem to be claiming there is. Do you care to respond to that?

Afaik I haven't coined the term "machine learning" in this thread and made no such claim.

To clarify : There is no machine learning going on in this codebase (though the problem is interesting enough that you can replace the simple AI by a more advanced one).

I was just merely pointing that AI alignment problem already affect even simple decision making agents.


I think all that's needed here is a note on the website clarifying that you're getting the best piece to complete a line right now, and that this will frustrate anyone looking to set up for a tetris.


Thanks, I added some notes to not disappoint new players.


The best would always be long pieces, so this is pretty boring.


For those wanting to clear tetris's. Trick is leaving that square empty if you try to keep clearing the lines. And if you clear the screen, you can see I saved myself twice using the same starting move with that Z others were complaining about.

Ζටໃܢ௨ඖȤཧ௪Ϻതझ௨චʑݹɷටÐݹಏටෆࢭ௧ڈໃŧ௨൞ໃӃ௨ƣໃڍਚඨƙђ௨ఢƙɕஓقາђ௨ചໃυۑටҏಠ௨శժݹࠒуໃZ௨बໃܘݤঋТວ௧ϽІܥ౫ටլݹષsເђரටใחਚඨʃݶԪටПݷ౫චƸݹߤඖܘͻݫళɑŧԤƣවݺԥಅවݟవටฮࡉ௨ഖVݶɷඖʛݸԫقիஈԪقНݸ౦قࡍݥݬϺȤஅԪضȣקਚඝܘͷਚ൲UɝϢටࠄݹ௧uಸݹଢටಊݹಏටෆࡥԥඪܘݚԥචȠɕ୦уෆऄࢶقȤஅԪقȤॾiʝȣݚԥvІקਛටฎJ௧ƣຯђఅටӿݎߜ൶ຜݞߜథลɛతටවࡁ௨ಘƙɕ௩ʝÐݷԫقໃѢ௭ටฅຍஜҔСݷԪකНݺد෮ໃѠ௨ڄฮࡨ௨ڠຈݟ௨ചໃͷ௧ƣຜݸđقÐܢஸඥܒࡉ௨ඝЛݹଛɦଈݶɝقVݹளڄໃѢ௨ฃໃɢԥගІپ௨౾ܘܡభ൝ඨҲϢඡНऄஐڄຯ൫ࡋඐ๒ݕகණවߢ௨wະࠇஐڠWɔҋගƬݶమwฅݸసටຯɝѻටWڝ௨౾నݹਓeІݹ௧Σଈܦ౫ටȤঅ௨ඡܘܢ௨ช൧ܥಈಀଈɠஐڌະࢭࢴقଭݪԥڠࡍݟ௧इවݶɷƣКݹ௨uഉݸƔঌໃܢߛΟໃi௨ೲໃԔҫටనऔௐ෮ໃŧԥඖܘݟ௨ಛໃZௐڌຯঔஓڈະऄࢴටПܭԥ൝Єঅઽചໂђߛsවݶɶƣܧɕ௨ටฎࡑ௨ఢƚݹஐټໃҲтටࠄڢ௨ඨІݹಳೲໃঅઽගЄॾಥ3


It would be great if there was an in-between version with a timer (or countdown) that alternates between Lovetris and Hateris.

Still a bit far from the randomness of the real Tetris but would enable quite some strategies..


Relatris, it starts with infatuation and ends in divorce.


Tsundris


There's nothing even slightly interesting about "Tetris which always gives you the best piece". The algorithm is as simple as can be: always give the long piece.

This is doing something different, which can't be described by the given blurb.


The board is ten cells wide so if you always get the long piece then it takes four pieces to make a line. Lovetris gives you two long pieces and then an S[1] which means you can make a line in three pieces. That's the sense in which Lovetris is "better" than your proposed algorithm.

[1] if you lie the two long pieces horizontally next to each other against the left wall


Making a single line is a very bad thing to do in Tetris. You always want to make four lines simultaneously, and there's no easier way to do that than by stacking long pieces.


I'm not trying to argue what is a good or bad thing in Tetris. I'm trying to explain the algorithm. Hatetris tries to maximise the minimum time to removing a line; Lovetris, as explained by its author[1], flips a sign, thus it tries to minimise the minimum time to removing a line.

If that contradicts your notion of "best piece" then either the author is being too imprecise or you are being too literal. Either way I don't think it's an interesting discussion.

[1] https://news.ycombinator.com/item?id=27083716


> Either way I don't think it's an interesting discussion.

There is a worthwhile observation to make here, which is that even though Hatetris assigns scores to all the pieces and correctly determines, based on those scores, which one is the worst, Lovetris cannot correctly determine which piece is the best by picking "the opposite of what Hatetris does". Good is the opposite of bad, but the metrics for badness are not simultaneously metrics for goodness.


Hmm, it wasn't my understanding that Hatetris did that. I thought it tried to maximise time to completing a single line, but I may be misremembering or may have misunderstood. Moreover, if it did do what you claim it does then I believe that reversing a sign would end up always giving you the long piece.


Fair enough.


I love this, this is awesome. If only life was like this. I guess it is sometimes, when you're in the golden flow of everything going good...How to keep that? Maybe just keep grabbing fortune by the forelock 'cause she's bald behind.


I was thinking about trying to make a version that optimized for giving you four lines at once to be a real lovetris but then decided that would probably just almost always give the straight pieces so it wouldn’t be too interesting.


My exact first thought: gives you the best piece every time? Easy, always give the I block.


as someone who has an ocd need to get the 4 line tetris clear this triggers me


СටຯƷߜටງđԪقෆࢠɷටիঐࠑටߧஙߜටळஈறقຯח௩ՊVʦƏٱלॿƐලໃЂ౧قෆࢭௐڄໂɝѻ൳ƊݺϢඩʛݸతඞДݷ౫කПJઆ੯Ѕɝ௩ʈసђభඩϾݷϡȹVυஓچНࡘౘ୲ƚઞઆʛӘԨҰOƷஈ௧Ͻܘݶԫ੬ໃϷԥටȤঐਸටࠃݹ௨ටໃݹ௨ඨ

It triggers me that I couldn't get a full screen clear


Here you go: ѻටธݹௐsແ૨௨ഢໃݠ௨ദໃݢ௨ഠІݚޛටଭݹಳඨІѧமԻฦ1

And you can repeat the pattern forever and ever! :D


Wow, you're good at this game!


that was incredibly stasifying for me to watch though


Please do not trivialize having OCD like that- In reality, it's a debilitating disorder characterized by severe compulsions.


How do you know that they were trivializing anything? Perhaps they have been diagnosed with OCD and this is one of the ways it manifests?


It’s possible but very unlikely. In my experience, people who suffer from OCD almost never say things like “sorry I have an ocd need to do X”, since people who have OCD know the true depth of OCD is not in the compulsions but rather the obsessions and intrusive/distorted thoughts that lead to them. The mainstream view that OCD is primarily characterized by things like “I need to arrange things according to a certain way” is not accurate. (Hence the comment in the first place)


Or use the word “trigger” to mean mere annoyance. It is tragic that people with a hatred of people living with conditions like PTSD and epilepsy have turned that word into a joke. (I guess most people who use that word now are unaware of this history.) I know people who experience actual triggers and it's a very painful thing.


> Or use the word “trigger” to mean mere annoyance

To be clear, the people that took away meaning from this word were the people that added "trigger warnings" to the most trivial of things. "trigger warning: meat eating." "trigger warning: bad words."

> It is tragic that people with a hatred of people living with conditions like PTSD and epilepsy have turned that word into a joke

That's really not what's happening.


> To be clear, the people that took away meaning from this word were the people that added "trigger warnings" to the most trivial of things

I would object to this on two grounds.

Firstly, seemingly insignificant things can be triggers. It doesn't have to be something people without PTSD consider a big deal, because by definition it isn't them who are affected. I have seen this first-hand. The source of the trauma and the thing that is the trigger can even be totally disparate. (Nice use of “bad words” to describe racial and other slurs by the way. That isn't trivial for the people affected.)

Secondly, in communities that centred around mocking people who (among other things) used trigger warnings, there was a self-perpetuating cycle of creating fake posts to reinforce collectively held biases. They began by ridiculing real content and ended up ridiculing fake content because they did not understand what was real.

In any case, it is a choice to decide “people I don't like use trigger warnings excessively” means that you can use the entire concept as a joke and ruin it for the vulnerable group it is useful for.

> That's really not what's happening.

I've seen it play out. There are definitely malicious actors, even if not everyone is.


> Nice use of “bad words” to describe racial and other slurs by the way. That isn't trivial for the people affected

Are you a yoga teacher? Because WOW!! What a stretch!!


If you were thinking of some other “bad words” then I'm happy to be corrected. My experience led me to think those must be the “bad words” you were speaking of.


I am falling behind. Can someone send me the most current, approved vobaulary lists, please?


I am confused why someone would downvote this comment, but you are completely correct, and thank you for pointing it out.


I play a lot of NES tetris, so this actually threw my instincts for a loop. What I think is most satisfying is when I pull off a "tetris", i.e. get 4 lines at a time with a long-bar. This implementation seems greedier, as it seems to want to give you the pieces necessary to complete any line at all.

I worked around it until I got a well on the right hand side, at which point all I got was long-bars. This is the cleanest path I could find to an infinite run of tetrises: ذටරऍƐඥժݹߝɿඍݷ౫ටฅڝ௨పໃܡ௨ඖІݮ௨ഗƊݹɷඝܘܢ௨پܘݓ௨ಮІܦ௨ชІݶΗʈາђடටවݹदඦܘݣ௨ಬໃƎௐڌໃݷಒටԠђௐڊಸݹࠂƣຜࡁரڀฮࡁਓȺಥɜਆ


As other comments have noted, it's easy to get this implementation into a state where it throws "S" pieces at you over and over.

It would be better if it used a variant of the Random Generator algorithm, which guarantees an equal distribution of pieces.

https://tetris.fandom.com/wiki/Random_Generator

Lovetris should choose, from the remaining pieces in the current bag, the one that it thinks is "best".


I think you should add a link to and acknowledge the original on the actual game site. It's not really enough to link to your own github then have the link there.


Eh? Seems the same as hatetris, an endless stream of s shapes!


I've played HateTris for once and now this. Considering that this is basically game-review, I can cut this short to: Both are really boring.


In case anyone was wondering you can get it to infinitely spawn I pieces by just getting any kind of 3-deep 1-wide well anywhere, and then just keeping that well active, and it'll always give you I pieces:

ϢටलݹઊƗȤڥ௨೯ಽݹॴਉПݹ௨ඥΒधԥටеݹఒௐໃޅݫටДݹ४Οໃࡑ௧پഋݹরΟະࠀ௨ೲໃԔԥඦܯ൫ஜуໄஈமΟະࡊѻ೯लܭЕڠฅɕসඤʈཧࢶكɑݚԥఫІݹஶɈໂɝЩටܬݹ௨ඩໃܭݹقฅ൫௨ටໃݹ௨൜ೡɕরටɓݷಏ୮ฅ൫వට౻ݷԥಀඤݪɷ੬ഫןЬكƬמ௨ඍȣݹ௨ටลஈಏඤɱџбඩແࡁ௨ඨʑעமҼใɕࢳচܘݹ௨ටd


I think it could have a place in an anxiety program or something. A video game as a safe place with the dopamine hits of Tetris.

edit: a very safe place indeed, I played for 5 minutes and the excitement is kinda low once you figure out how to trick the AI to give you what you want :D.


I'm excited for someone to make randomtris - tetris which always gives you a random piece.


I'm holding out for annoytris. You get random pieces until the AI detects you're being greedy. If it thinks you're trying to setup a 4-line Tetris, then that's when it starts with the bad pieces.

Best strategy is to clear 1, 2, or even maybe 3 lines at a time. (But don't get in the 3-line habit, you might anger the AI still)


I like it. You can get it to loop around a sequence, probably for ever:

ଵටໂ໒௨ටಭݹ௧ଆඤݹ௨ඖಸݹளஶໃݑɷටॡݹறටໂວ௨ටໂٽ௨യժݹ௨ඥషݹઋقາח௨ඦІͻϢටƘঅணএဒݱРڠසމଯڠԮɥЬږ1

Edit: I wonder if you can do that with Hatetris also, if the difference is just flipping a sign as the author says.


got the fun one - ϢටາחஒටາɕଶϺເஈணಛזஈஐҲʩಱ௨ಇΚঀݣක൨ཧஓڐາஜௐงไऔࢶƣແࡑ௨ٯໃѠஓكƔݹமɨຯɓƐ೯ਗɒƏپІҁமҬҽћகڈງ൩ಳඤΚŦ௧ڄແࡥj൞ແࡑ௧ٯໃקஜsຽߟjඖИݸభටܤݷౚ൜ܔॠਯࡄȹࡨ௭Ӏไঅಳ༦Ͽࠇ৯ɜଖʣۑಲϼɪ३ࡃғݶլඝ૭טञΤһऑƏΣૹࢭ४WЅ൫সబςबਚตٮקߤڞЉݺԥ੯ܘऎஹؿકIظටෂܭݣೱૹॠઽೱϾא౫ටऐԃयప༮ȾಥժVѣԤงลஈஶϥЫɢݣങܗћமȾЈƸ௨ਵІƣدΣܐא౫ටलހਚڀฦӘಥ൞ࡋॿ౫ೱૹऔলට໓෧௧บܘԴ௨ॴໃԓଚපഉݺݳට༬ஈமටເђ௨Вȣݒ௧ϥಸࢠ௨ࠓƔݹ୦قӶɖɷජڛ൫ௐຂໃЋ௧αಭݺɷචՊݹஜsແࢭௐༀІܣ௨ঌໃv௧ʓଈѣלԊฐݒƃඦܪݹಎටƭƷஸ൶ถङஹس૪ॿಎظݕɥࢴقະߢਢഞบࢭশؿനєஓปȥݹகvૹऄরࡄଚࢢடඝૡƼಲʇДܥಳටȶɔѻRϼוϡɇݕƏېงลঅ௧ලล๐শطເוοтଖܡञƢЫݹࢳࡄරʤɶ৩ƫஜலڈฅஅಲڄໃܭҳ൞ෂݠணسວࢼథح๔ݢ൭శາזԫච৴ѰணػৠJथࡄժΜહঋඩसدƥ૮ࠁஐٯฅݶಈ౾Ͻࡁࢴقະॹοաݒկਙนͳܭޜӷ૮ࢭࢴقະࡨ௨ಅไݹಗقໃџɷටບZ௨ටໃݹ௨ටໃݹ௨ටໃݹ௧ƥІݷТsຯܖɾࡕ


Apparently the game can out you in a corner where you can not win:

ࠁටໃݶԣலໃݹࠅॴໃݛԥ੯ටஈ௨ඥ೦ݹ௨ඥಸݹ௨ටമ๐௨ൽഉݹݹقາڭ௨ටഫݑСටໃԓ௦૫ໃݹ௨ටໃݹ௨ටໃxħقໃƬݴΟໃKЭइໃC౻ටຯٲಏقแڽ௨ఢƔݹரٯໃԔޛඥДݹߚฃໂɛԥడM൵௨బໞݹҬɦషݸßࡇHܤЪsເלԚؿИݷƶ


You can win: ࠁටໃݶԣலໃݹࠅॴໃݛԥ੯ටஈ௨ඥ೦ݹ௨ඥಸݹ௨ටമ๐௨ൽഉݹݹقາڭ௨ටഫݑСටໃԓ௦૫ໃݹ௨ටໃݹ௨ටໃxħقໃƬݴΟໃKЭइໃC౻ටຯٲಏقแڽ௨ఢƔݹரٯໃԔޛඥДݹߚฃໂɛԥడM൵௨బໞݹҬɦషݸßࡇHܤЪsເלԚؿИݟಳउܔऎ௧ڏܐওடปիୱଛआҟڭߞشຯݶޚปÐϳਫಗ๐ݡல၁ଈݶతಧາঐ௨ಬȣܤ௨s൧ݞసටफऄஜΟරߟԥನȣݐ௨ಀഫݮ௨ॴວݹসඨʅݹࠉටիঅடٯෆݶѻඦݡŦ௧੯ଈݠߜටஃݹذටƾݹதsໂঔ௨ඖໃݸذsະङ௨ೲໃݹ௨ටແ


I like how this is so low-effort that it still says "@ Things Of Interest" despite not being hosted there?


The problem is that if it wants you to complete a line in a certain way it will keep serving the same piece no matter what else you do.


Reminds me of https://xkcd.com/888/


Better than hatetris, but I'd much rather the TGM randomizer.


This is not working, I'm only getting S shape pieces.


L minos should be rotated automatically. Very hateful.


i feel like it would only need to give long pieces...


Affectionatetris?


So just squares?




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: