←back to thread

1901 points l2silver | 2 comments | | HN request time: 0.001s | source

Maybe you've created your own AR program for wearables that shows the definition of a word when you highlight it IRL, or you've built a personal calendar app for your family to display on a monitor in the kitchen. Whatever it is, I'd love to hear it.
Show context
bussyfumes ◴[] No.35739461[source]
When I was a student there was this power-of-two game on my friend's iPhone that I was literally addicted to. I didn't have an iPhone and eventually the game even disappeared from the AppStore. I missed it very much and my friends jokingly mentioned building a copy just for me. They never got around to it but at some point I thought "maybe I should give it a try?". So I gave it a try with no game dev knowledge and the second iteration turned out just fine for my needs: https://kiryhas.github.io/memechain/

I've considered rewriting it to make the code better many times but every time I sit down to do that I think to myself "it works just fine, why touch it" and leave this idea for a while :)

BTW the idea of the game is to combine cubes with the same number and color until there are only 4 left.

replies(9): >>35742058 #>>35742459 #>>35748987 #>>35754934 #>>35757761 #>>35758930 #>>35760121 #>>35761191 #>>35774195 #
4ggr0 ◴[] No.35742058[source]
That's really addicting! :D

If this is mobile responsive I will probably use it a lot.

EDIT: Works flawlessly on my phone. Wonder if I can host it locally on my Android, so that I don't even need an internet connection...

replies(1): >>35742351 #
bussyfumes ◴[] No.35742351[source]
I've never had big hopes for the project but I feel incredibly happy that you like it!

The original I played on my friend's phone was just that -- a phone game, so making sure it works on my phone was a priority :)

I don't have an Android but last time I tested it was playable even though the cubes were bigger than I'd like them to be on some screens.

I've made an offline version for myself in the past to play while traveling by train. Copying the contents of the .js and .css file into the HTML file into <script> and <style> tags was enough. I wonder if I can make it easier for other people like you by storing it somewhere on git...

P.S. Here's the source if you want to create an offline-first version yourself: https://github.com/Kiryhas/memechain

replies(1): >>35742464 #
4ggr0 ◴[] No.35742464[source]
Yeah your game just scratches an itch I had for a long time. Mobile games are filled with ads and in-app purchases and I never found a simple game I could play and enjoy while waiting for public transport. Want to fully clear a seed now, haven't gotten that far yet ;)

Ahh, a single .html would probably work, too, sounds way easier!

I downloaded Termux, installed git and python3 and now your game is running locally on my phone with "python3 -m http.server --bind 127.0.0.1 9000" :)

replies(2): >>35742822 #>>35752375 #
bussyfumes ◴[] No.35742822[source]
Seeds are absolutely random and some of them can't be solved. I've had people complain about it but I consider it to be another aspect of the challenge of this game because there are cues you can notice that tell you if it's not possible to solve it.

Yeah, you went the extra mile spinning up a local server :)

If the trip you're taking is not a long one, you can just make sure to load the page while you still have reception. The game doesn't make any AJAX requests or load any resources after that and prevents the default 'pull-to-refresh' gesture so if you don't refresh the page accidentally, it'll stay available.

replies(1): >>35743163 #
4ggr0 ◴[] No.35743163[source]
It's a difficult challenge I must say. Played about a dozen games now, furthest I've gotten is 4280 points. Have you ever cleared a full seed?

Yeah I looked at the files to see if you make any external requests. I guess I just found it entertaining that there's a web-game running locally on my phone :)

replies(2): >>35743488 #>>35750052 #
bussyfumes ◴[] No.35743488[source]
Yeah, I've cleared it many times. Sometimes no matter how skilled you are luck is not on your side :)

Maybe the game could benefit from a mode that verifies if a seed is solvable but I haven't gotten past it being just an idea.

replies(3): >>35745804 #>>35748998 #>>35756567 #
hutzlibu ◴[] No.35745804[source]
It definitely would benefit from that, people like to have success. (And know who they can blame in case of failure)

The easiest solution is probably brute force, have it try all the potential moves and see if it solves the game and if it does, make it a valid seed. Can be pregenerated, but should be doable in real time, also from a smartphone.

Also, I think I was just blocked from my first clearing, because I could not access all blocks.

Rotating the view and angle would be quite nice, but depending on your implementation, not trivial.

Maybe I implement it with babylonjs or threejs these days, it is a fun game.

replies(1): >>35758004 #
1. bussyfumes ◴[] No.35758004[source]
Thank you for your feedback!

Personally I am not sure if I like winning more than just combining the cubes together and moving onto the next seed if it can't solve the current one :)

Pre-generating seeds is a valid solution but since I don't want the game to make any network requests I don't think it would work for me. Brute forcing it makes me worried if it'd drain the battery.

I think I would rather add an opt-in (like a checkbox) option to make the game check fields for certain patterns that tell if a seed can't be solved and keep generating until there's a seed that passes that check. I think that way the game would still give you the occasional seed that can't be solved but statistically your chances would go up.

Regarding rotating the view, that would make it a different game and I'd like to keep it as it is. However, that sounds like it could be fun so please send me a link if you end up creating such a version! :)

replies(1): >>35760418 #
2. hutzlibu ◴[] No.35760418[source]
Now I am interested to give it a try, because I really don't think brute forcing the solution would drain the battery. Likely it would be neglectible, compared to the power needed by the rendering.

Because there is a finite and small amount of legal steps, so it should not need too many iterations.

That is of course, if you only brute force the raw game logic. Simulating the steps with the UI would definitely drain the battery ;)

And yeah, if I get around to redo it in true 3D, I send you a link. I think if done right, it provides the same experience, just a bit more overview.