Private Lessons for Coders!

Which features do you think are front end or back end? I honestly don’t know so I just wrote most of them down.

1 Like

FYI, I merged the two “private lessons for coders” topics to keep things tidy, since it’s the same basic idea in both.

2 Likes

Lol, thanks. I got really confused for a second hehe

1 Like

Unfortunately, I think most of the features that you are wishing for would require some back-end modifications.

Front-end code refers to the code (HTML, CSS, JavaScript, etc.) that is downloaded and run inside the user’s web browser. The code that runs on OGS’s servers is called the back-end code. The interaction between these two parts of the overall code is crucial for the proper functioning of the site.

It’s hard to generally say exactly when a proposed feature requires back-end changes, since it requires careful consideration of how the system is currently designed and if there is any sort of clever way to implement the feature with only front-end changes.

However, generally speaking, if the proposed change requires server-side storage (even just for persistence of new settings across multiple devices), new ways of interacting with the server, or major game rules changes, then back-end code changes seem unavoidable.

1 Like

I thought there was open API and even a github with stuff though. Is there nothing on there that can be used for some of the features?

1 Like

My guesses are:

  1. Achievement System: mainly backend.
  2. Fixing the countdown timer: front-end only.
  3. One Color Go: you can do it mainly in frontend. Games need a tag that they are one color go though, that’s backend
  4. Blind Go: same as one color go
  5. Rengo: mainly backend.
  6. Simul: is already possible as far as I know. Autorotation worked last year?
  7. Bomb Go: mainly backend
  8. Hidden Move Go: mainly backend
  9. Banner Request: front and backend
  10. Set Players on Demo Board: backend?
  11. Follow Players: mainly frontend. backend has to keep the list. backend does the sorting as well?
  12. Add Automatch: backend
  13. Audible Notification When Challenge is Accepted: frontend only
  14. Avatars: many backend stuff in there
  15. Teacher Role: backend
  16. Streamer Role: frontend, if new field needed that’s backend
  17. Capture Go: mainly backend
  18. More Sounds for Countdown Timer: frontend
  19. Better Undo Request: frontend, undo while own turn backend
3 Likes

The API is open accessible, the backend-stuff is when the API don’t provide the needed information at the moment. Unfortunately this is the case for everything that requires to store information on the server.

The stuff on github is the front-end (the user interface). You can change there colors and sounds and can even save settings in the browser, but only in the browser.

I want to add that anoek has the final say on the front-end as well.

3 Likes

@Clossius1 While I think the ideas here are pretty good, I don’t think they are possible.

Here is the code on github: https://github.com/online-go
Notice that there is only the front end UI code + score estimator here as well as an api for bots + repos for fonts etc.

There is no back end code. This is not open source as far as I know. Without this, we can’t do much (or any?) of what your suggested.

Also, even if we could implement a feature that your suggest, we would create a “Pull Request” for that feature. However it is up to @anoek if he wants to accept thos changes. There is 101 reasons why he might not accept changes but he is ultimately the gate keeper of all code that gets into the codebase. The code mightn’t fit well with existing code or it might conflict with another feature that anoek is working on behind the scenes or etc.

For example, I can imagine that the one-color go idea could be implementable on the front end only, however that doesn’t mean that it should be implemented on the front end only. There is design considerations to take into account and what ever decision anoek makes in this regard is the correct decision as he is the one that will be managing/maintaining/fixing/updating that code going forward

I would like to hear @anoek thoughts on all of this

2 Likes

Now my thoughts on some of your proposals:

Achievement System

If there is a achievement system I start trying to get them instead of for fun or to get better.
Most achievements are medals for being here for long / spending all my time playing anyways (I would just try to get them faster).

  • The win 500 games for example is either equal to play 1000 games (winrate should be 50%) or it is a medal for smack 500 much weaker players (the later is the fast track to that achievement).
  • Level Up: We have this already. It is displayed on the right side of your user name :wink:
  • Player, Ko, Atari, Capture: just play, you will get them by accident anyways.
  • Killer: I get this by smacking weak players as well
  • Blitz King: This will increase the number of 1s per move games by a huge amount.

Fixing the countdown timer.

good idea :+1:

Game variants

Why not. Capture Go is fun and would probably help beginners.
I would like to see multicolor go as well.

Add Automatch

It’s called Quick match finder :wink:
If you add more options there it will be impossible to find any game within a reasonable waiting time.

Avatars

I don’t get it. You mean something other than the profile pictures, right?
To be honest, I’m here to play go. If I want to collect animals I play some other browser games.

Teacher Role

especially a list of players who are willing to give a teaching game right now could be handy.

Better Undo Request

This should be optional. I’m not a big fan of big red letters appearing in the middle of the screen.

2 Likes

Could we maybe get some work on the front end stuff at least?

Also, I added the last move circle color to make one color Go more playable.

1 Like

I doubt any of the in-game things are going to happen (anytime soon). To “know” someone just started a ko, for instance, you’d have to let some kind of algorithm check at every step if such a thing has occurred. That doesn’t look feasible to me. Even if the algorithm actually worked reliably (you’d have to access the game everytime a move is played, check for everything it’s supposed to detect…), it would be quite the burden on the server.

1 Like

I thought the little circle graphic that shows the last move was front end?

I mean things like ko, atari, seki, everything that requires anything outside readily accessible data (for example # wins, #losses, # 9x9 games, whatever, would be easy to access and use).

That’s what I meant by ‘ingame’ stuff.

On my list of stuff to do: fix the profile graphs. It bugs me that they’re buggy, and interactive graphics is more or less what I do for work. I’ve been meaning to get around to fixing them for a while…

Bugs with the profile graphs
-The colored bars don’t align properly. Some are the wrong size. Often don’t match pie chart showing the same data.
-Rating history line chart shows duplicate ratings for some days, often skips the current day.
-The line chart often renders in the wrong place/wrong size.

Enhancements I’d like to make
-Remove day 0 from the history line chart
-Highlight the selected point on the line graph (on hover), add a vertical cross hair
-Highlight the selected blocks for month stats on hover, as well.

5 Likes

Always important to fix those 0-days. :smirk:

4 Likes

I don’t know about new young players. I’m an old grumpy player and really dislike achievements and currencies and all sort of blinking glittering cake icing.

I think I could live with it, if I was really convinced that it’s useful to bring and keep new players… but actually I don’t think so: you can’t take care of a karesansui while listening Spice Girls. :scream:

I’m pretty sure though that many established players would love to customize the UI with themes (colors, background, font, stones, goban and so on).

I also had a laugh with WBaduk ducks (seen on Dwyrin youtube channel) and their way to cry or rejoice according to what score estimator says. Not so serious though. :smile:
But it could be a funny option, if available. It would marry well with customized avatars: one could choose to upload a set of three images (happy, sad, normal) instead of one.

4 Likes

@ckersch88 I’d love to see some of those changes! Would it also be possible to set filters? Though probably not since that may be backend. But it depends on if you can access the data or not I guess.

I would love to see how I do against +/- 1 level or against my own level specifically. But this is me daydreaming again hehe

This can be done via API.
I checked my own records and made some chart:

2 Likes

Please please please go for it. The code in there is absolutely fierce (at least for someone who hasn’t used D3 before), I tried to improve the bar charts while I was doing the pie chart, but only got “so far”.

2 Likes

This topic was automatically closed 91 days after the last reply. New replies are no longer allowed.