Я перенёс шахматы в сообщения Telegram и упёрся в лимит 4 КБ
The author already had a chess interface for a website, where a user could choose a game against a friend or the computer, set the time, and open the board. When Telegram Widgets appeared, the author decided to move the whole game there so that mode selection and the match itself would fit inside a message. Most of the time went into the board, the pieces, and attempts to keep a usable interface within a very small amount of code. The project ran into a 4 KB limit.
У меня уже был шахматный интерфейс для сайта. Можно было выбрать игру с другом или компьютером, настроить время и открыть доску. Потом в Telegram появились Widgets, и я решил перенести туда игру целиком — чтобы выбор режима и сама партия помещались прямо в сообщении. Больше всего времени в итоге ушло на доску, фигуры и попытки сохранить нормальный интерфейс в очень небольшом объёме кода. Несколько раз приходилось возвращаться к уже работающему экрану и переделывать его ещё раз. Сейчас лобби занимает 3 395 байт после сжатия, а доска — 3 957. До предела у доски осталось 139 байт. Расскажу, как к этому пришёл и что пришлось урезать. Читать далее