I just wanted to add a little additional information to the fantastic profile you built. All 7 of your core points were 100% accurate (for me). Wow! I feel like someone has been looking over my shoulder.
One flip, not three: The moment I realized that wasn't an option in the posted game, I closed the tab.
> People WANT the score.
This was a little vague. If you mean Win-Loss... Yes, I really need to see this. If you mean elapsed time, points... no. That type of detailed scoring increases the stress in the game. Otherwise, everything else in your profile was accurate (for me).
> people who play this game have bad eyesight on average.
Also true (for me). LOL
> Showing cards left in the pile
That would make a fantastic tweak.
btw, the only Android Solitaire game I can play because I can configure it to fulfill all the 7 points above (including no sound) is called 'Patience Revisited'. I only play "Klondike (win all)".
Yes! That’s why the headline says “overdesigned”:)
It’s designed as a universal native app. So browser here really is just a platform for deployment.
The design is for a an application that is a single download and few megabytes in size that runs the same on desktops natively (after compilation) and in the browser. Rust ecosystem is getting _really_ nice for that.
So it’s Egui with WebGPU backend.
So if the requirement is ”an universal app” it’s nicer alternative than using Electron but Tauri might have been a more reasonable choice if I didn’t want to leave the door open more for more options on rendering backend on desktop.
Sort of same lineage in thinking as Flash, Java apps (circa 2000 :) ) etc. Or something like Ghostty.
The downside is that it does not use native GUI for much which means it’s closer to a game than ”professional” desktop app.
I have made 20+ solitaire games in different contexts since 1999 with the latest version being https://dailyplay.com/play/solitaire
Here is cheat sheet to make a game people will actually play
1. The vast majority of players prefer flip one, not flip three.
2. You want the text on your cards so large as you can.
3. People expect that if they click a card, it moves to where it can go.
4. People do not like hard games, give people games that can all be won.
5. You want your pile to sit on the right - at-least for mobile players, reaching across the screen is annoying.
6. People WANT the score. I A/B tested this, people hate when there is no scores.
7. People do not care about sounds.
Things I like from your versions I am totally going to steal.
1. Teach is amazing
2. Showing cards left in the pile
Suggestions
1. The teach arrows are to small, people who play this game have bad eyesight on average.
2. Make teach only show moves that drives the game towards the win state.
3. Add animations, I have AB tested this and the game performs better if you have the basic set
4. Make it load faster, people have industrial attention deficit disorder, you loose 8% of users for each second your game takes to start.
Bugs
1. Reloading the page I can't seem to undo back to the start of the game.
Thanks, appreciate the market research insights and thoughtfull feedback!
The UX tips are really helpfull.
The market research is really interesting. It’s really fun to see how market preferences are so against the grain of my personal aesthetics :)
” 1. Teach is amazing”
Thank you so much! Maybe I managed to innovate something in this quite well trodden genre :)
I just wanted to add a little additional information to the fantastic profile you built. All 7 of your core points were 100% accurate (for me). Wow! I feel like someone has been looking over my shoulder.
One flip, not three: The moment I realized that wasn't an option in the posted game, I closed the tab.
> People WANT the score.
This was a little vague. If you mean Win-Loss... Yes, I really need to see this. If you mean elapsed time, points... no. That type of detailed scoring increases the stress in the game. Otherwise, everything else in your profile was accurate (for me).
> people who play this game have bad eyesight on average.
Also true (for me). LOL
> Showing cards left in the pile
That would make a fantastic tweak.
btw, the only Android Solitaire game I can play because I can configure it to fulfill all the 7 points above (including no sound) is called 'Patience Revisited'. I only play "Klondike (win all)".
Heading off to try: https://dailyplay.com/play/solitaire
I am getting an error.
Thanks for your feedback!
Can you please test again?
I added WebGL2 backend as separate binary selected during page loading if browser does not support WebGPU.
I left out WebGL rendering backend to shave off few megabytes but might have jumped the gun on WebGPU support.
The better choice clearly was offering both :)
Would you mind sharing which browser you use?
(WebGPU is getting really nice support finally - https://caniuse.com/webgpu - not _full_ coverage yet but getting quite prominent)
"The game could not start. Check your connection and that WebGPU is enabled and available on this device."
Same here. I don't know if WebGPU works on my computer, but it really isn't needed for a 2D card game.
“WebGPU … isn’t needed”
Yes! That’s why the headline says “overdesigned”:)
It’s designed as a universal native app. So browser here really is just a platform for deployment.
The design is for a an application that is a single download and few megabytes in size that runs the same on desktops natively (after compilation) and in the browser. Rust ecosystem is getting _really_ nice for that.
So it’s Egui with WebGPU backend.
So if the requirement is ”an universal app” it’s nicer alternative than using Electron but Tauri might have been a more reasonable choice if I didn’t want to leave the door open more for more options on rendering backend on desktop.
Sort of same lineage in thinking as Flash, Java apps (circa 2000 :) ) etc. Or something like Ghostty.
The downside is that it does not use native GUI for much which means it’s closer to a game than ”professional” desktop app.
”If WebGPU works …”
It’s ”almost” fully supported: https://caniuse.com/webgpu
Edit: There is now also WebGL2 backend
Thanks!
I would appreciate if you could try again.
I added a WebGL2 rendering backend.