Hello guys, so I have this idea for a Go training/improvement app that has been on my mind for several years, and thinking about realizing it. But I’m still having several hard-to-decide decisions that hopefully you can help me solve.
The core concept is a “daily go quest” app where users play games each day to fulfill certain tasks that is given by the app.
– Very long wall of text alert –
So first let me describe my idea a little more clearly. It is based on Fitocracy, except that it’s for Go not gym. It’s a process of applying gamification to Go training, encouraging users to play more, breaking the “I’m too lazy” barrier.
Each day the app will give you some interesting tasks to fulfill. Just think of it as tasks your Go sensei give you in the dojo. The possibilities here are endless: it could be as simple as “Play 3 games today” in the beginning, but can easily evolve to something like “Win a game that started with Kobayashi opening”; so let’s just simplifies it to “interesting tasks”.
Completing such tasks will award you with Experience Points and Achievements. This gives a feeling of immediate progress and growth while playing Go - which normally is hard to notice IRL. The “daily” part also serve as motivation for playing: you wouldn’t want to miss today’s quest and lose out potential points, so you have to get up and play. In this aspect there could be achievements like “completing quests 7 days in a row” or the likes.
That’s about the concept of it. If you’re interested I would love it if you pause here and think a little bit about how you like such an app to be, or what kind of features it should have
Now for the execution. This part will get a bit technical.
I plan to build on what I already have (the g0tStats app) and use OGS as the games database for this app (let’s just call it Daily OGQuest shall we?). This would help tremendously since you don’t have to deal with sgf compilation or reporting, at the cost of losing out games on other servers (which I don’t care about anyway so deal with it KGS facough) and real life games.
You simply have to run the app each day to get your daily quest, complete the tasks on OGS and voila it’s all automated ding ding level up!
As for the platform, there are 2 main options here (also this is where I’m having a hard time deciding)
- Mobile App
- Achievements and Leaderboard services are already provided by Apple and Google. So I don’t have to do much on that part.
- Cloud storage means if you switch phone your progress is not lost.
- Not everyone use Android or iOS.
- Distribution of the app is handled by the stores, meaning I will have to test really really carefully every new version, because even the tiniest update would take 2 weeks to go live.
Web App (the same with g0tStats)
- Accessible to everyone. Phone, PC, laptop, $10000 watch, toasters, anything that can open a browser.
- Updates & bug fixes come into effect at a mouse click.
- I’m better at this.
- Web Apps have a significantly longer lifespan than mobile apps, which can get deprecated after an OS update.
It will be very hard on my end to implements leaderboard or such. My highest priority for any app hosted on my website is to make sure it run mostly on the client’s (your) machine. My host is a cheap one mainly used as the portfolio for my freelance work, and it would really suck if the site go down while I’m bidding on new projects. In the near future I don’t see a leaderboard and score ranking to be a problem but I can’t be sure. It would suck for you too if after 3 years leveling I just casually post a reply here saying “Hey I’m taking this thing down it’s crunching too much bandwidth sorry guys bye nice day!”
I wonder if there’s anyway I can make such service P2P, like, a tiny cloud of everyone who uses the app. If it’s possible then it would be a lot easier to choose. But in my knowledge I don’t see a way this is possible currently… browsers security is pretty strict and localstorage is too small…
I will continue researching for a better option, but in the mean time I’d love to hear your opinion either on the idea of the app or the implementation solution.
Personally I think the idea is “cool as f” but, who knows, maybe not everyone likes games. Not to mention the huge number of correspondence players on OGS who wouldn’t benefit from this app