96 lines
		
	
	
		
			4.9 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			96 lines
		
	
	
		
			4.9 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| ### feats
 | |
| - implement transactional pattern in db write methods; +
 | |
| - implement the db methods for sessions in repos/session.go; +
 | |
| - auto close room if nothing is going on there (hmm) for ~1h; +
 | |
| - words database (file) load and form random 25 words; +
 | |
| - invite link; +
 | |
| - login with invite link; +
 | |
| - there three places for bot to check if its its move: start-game; end-turn, after mime gave clue; +
 | |
| - remove bot button (if game is not running, or bot already added); +
 | |
| - hide clue input for mime when it's not their turn; +
 | |
| - needs resend to llm btn; +
 | |
| - check if clue word is the same as one of the cards and return err if it is; +
 | |
| - autoscroll down backlog on update; +
 | |
| - instead of guessing all words at ones, ask only for 1 word to be open. +
 | |
| - ways to remove bots from teams; +
 | |
| - mark cards (instead of opening them (right click?); +
 | |
| - on end of turn clear all the marks; +
 | |
| - different files for each supported lang; +
 | |
| - sse div to bot thinking; +
 | |
| - simplify mime prompt; +
 | |
| - redo card .revealed use: it should mean that card is revealed for everybody, while mime should be able to see cards as is; +
 | |
| - better styles and fluff;
 | |
| - common auth system between sites;
 | |
| - signup vs login;
 | |
| - passwords (to room and to login);
 | |
| ===
 | |
| - show in backlog (and with that in prompt to llm) how many cards are left to open, also additional comment: if guess was right;
 | |
| - gameover to backlog;
 | |
| - cleanup backlog after new game is started;
 | |
| - ended turn action to backlog;
 | |
| ===
 | |
| - clear indication that model (llm) is thinking / answered;
 | |
| - possibly turn markings into parts of names of users (first three letters?); +
 | |
| - at game creation list languages and support them at backend; +
 | |
| - sql ping goroutine with reconnect on fail; +
 | |
| - player stats: played games, lost, won, rating elo, opened opposite words, opened white words, opened black words.
 | |
| - at the end of the game, all colors should be revealed;
 | |
| - tracing;
 | |
| 
 | |
| #### sse points
 | |
| - clue sse update;
 | |
| - join team;
 | |
| - start game;
 | |
| - end turn;
 | |
| - open card;
 | |
| - game over;
 | |
| - timer per turn (when added);
 | |
| 
 | |
| 
 | |
| ### issues
 | |
| - after the game started (isrunning) players should be able join guessers, but not switch team, or join as a mime; +
 | |
| - guessers should not be able to open more cards, than mime gave them +1 (auto end turn); +
 | |
| - mime rejoined the room: does not see colors; state save in store.json has empty role and team +
 | |
| - restart bot routines after server restart; +
 | |
| - remove verbs from word file; +
 | |
| - if mime joins another role, he stays as mime (before game start); +
 | |
| - guesser llm makes up words, likely the prompt should be more clear; +
 | |
| - remove bot does not remove for player roles in the room; +
 | |
| - guesser did not have same number of guesses (move ended after 1 guess); show how much guesses left on the page (red after blue); +
 | |
| - 0 should mean without limit; +
 | |
| - remove join as mime button if there is a mime already on that team (rewrite teampew templ); +
 | |
| - bot clues to lowercase; +
 | |
| - guesser bot no request after game restart; (not a bug)
 | |
| - openrouter 429 errors (retry); +
 | |
| - retry call to llm (if 400|429|4xx); +
 | |
| - there is a clue window for a mime before game started; +
 | |
| - sse hangs / fails connection which causes to wait for cards to open a few seconds (on local machine) (did not reoccur so far);
 | |
| - invite link gets cutoff;
 | |
| - when llm guesses the word it is not removed from a pool of words making it keep guessing it; +
 | |
| - bot team does not loses their turn after white card (or limit); +
 | |
| - name check does not work;
 | |
| - game did not end when all blue cards were open; +
 | |
| - bot ends a turn after guessing one word only; +
 | |
| - sync writing to json cache; what happens now: timer (or other side routine) overwrites old room, while mime making clue; +
 | |
| -----------------
 | |
| - card marks; +
 | |
| - on server recover relaunch guess timer if needed;
 | |
| - start new game: clear last clue; mimedone to false; unload old cards; +
 | |
| - backlog shows white word with opposite color;
 | |
| - bot actions are not recorded; +
 | |
| - bot recieves opp-color clue because of it ^; +
 | |
| - old cards are still around; +
 | |
| 
 | |
| - bot mime makes a clue -> no update in the room for players; +
 | |
| - red moves after bot gave (metal - 3) ended after two guesses (showed in logs, that opened 3. double click on the same card? or somewhere counter is not dropped?); the first guess moved counter to 2, in logs only two requests as expected; +
 | |
| - bot mime gve a blue -> timer did not start; timer should be in third package, maybe in crons; +
 | |
| - marks did not clear after end of the turn (feature?) +
 | |
| 
 | |
| - start new game satrted timer for a mime; (feature? in other cases mime has no timer);
 | |
| - timer ended and went to 300;
 | |
| - mime sees the clue input out of turn; (eh)
 | |
| - there is a problem of two timers, they both could switch turn, but it is not easy to stop them from llmapi or handlers. +
 | |
| - journal still does not work; +
 | |
| - lose/win game; then exit room (while being the creator), then press to stats -> cannot find session in db, although cookie in place and session in db;
 | |
| - exit endpoints delets player from db;
 | 
