1000.pkotula.com – онлайн-версія української карткової гри «Тисяча» на 24 карти. Мій особистий pet-проєкт, зроблений за тиждень і на 100% навайбкоджений.
Задача
Не завжди зручно грати в справжні карти: треба зібратися за одним столом, а вдома цього не завжди вдається. Тому простіше було за тиждень навайбкодити онлайн-гру на власному сервері. Це proof of concept вайбкодингу: чи можна за тиждень отримати повноцінну багатокористувацьку гру, якщо весь код пише ШІ, і тобі навіть не цікаво дивитись, що там, бо ти хочеш грати!
Що зробив
Гру можна встановити як PWA на телефон. Є три режими: партія з ботами без інтернету, онлайн-кімнати, до яких приєднуються за посиланням, і щоденна партія з однаковою для всіх роздачею та спільною таблицею результатів. Правила в нас домашні: наприклад, прикуп відкривається лише після торгів, а на трьох і чотирьох гравцях виграє кожен, хто дійшов до цілі.
Також є push-сповіщення (Web Push) для встановленого PWA, вхід без пароля через passkey і закрита адмінка за Cloudflare Access.
Під капотом: ігровий рушій написаний чистими функціями над серіалізованим станом, і той самий код працює на клієнті та на сервері. Роздача детермінована від seed, тому щоденна партія в усіх однакова. Онлайн працює через long-poll, бо WebSocket за Cloudflare й nginx на цьому сервері не проходить. Стек обраний з огляду на сервер, який був доступний.
Результат
Як і кожен вайбкод-проєкт, він має обмежену аудиторію: грає три людини, я, дружина і шваґро. Але нехай спробують і інші: може сподобається, а може, ви знаєте кращі правила. Спробувати гру.
Стек: Node.js, MySQL, vanilla JS, PWA, Web Push, passkeys (WebAuthn), Cloudflare.
Потрібен веб-застосунок чи нетиповий проєкт? Напишіть мені.








