Клуб №9

Прицельтесь с наклоном к столу, зарядите удар, добавьте вращение и пересматривайте каждый удар в этом 3D-бильярдном зале от первого лица. Скопируйте запрос, чтобы создать его.

Loading preview...
Начните с этого запроса

Создайте браузерную игру в пул от первого лица с физикой, мини-играми в баре и повторами ударов.

Снукерный зал

Переключить правила и стол на снукер

Попробовать Kimi Build
Создайте полностью статичную браузерную игру в пул от первого лица без этапа сборки под названием «CLUB No.9» на Three.js + Rapier (@dimforge/rapier3d-compat), с китайским интерфейсом (переключатель китайский-английский), управлением клавиатурой и мышью на компьютере и автоматическим режимом наблюдателя на сенсорных экранах.

Требования:

Сцена: загрузите модель бара Bar Diorama из Sketchfab в качестве бильярдного зала (скройте встроенные в неё столы), используйте текстуры орехового дерева из Poly Haven для бортов и отделки кия, а также HDRI камина для отражений окружения; все остальные текстуры — сукно, номера шаров, напольное покрытие — сгенерируйте процедурно в Canvas (детерминированный PRNG, одинаковый результат при каждой загрузке).

Геймплей пула: физика твёрдых тел Rapier, стандартные шары диаметром 57,2 мм, игровая поверхность стола подогнана под борта модели; режим ходьбы от первого лица (WASD) и E для наклона к столу и прицеливания; удерживайте левую кнопку для зарядки удара, настраивайте силу колесом прокрутки, Space — удар; A/D — боковое вращение, W/S — накат и оттяжка, R — вернуть кий в исходное положение; F — игра с руки, T — заново расставить шары, G — переключение между матчем и тренировкой; линию прицеливания можно включать и выключать. Отделите ядро физики (sim.js) от рендеринга (world.js): физика — единственный источник истины, рендеринг только считывает данные и никогда их не изменяет, а ядро физики не должно зависеть от DOM и должно проходить тесты в Node.

Правила: локальная игра для двух игроков по упрощённым правилам китайской восьмёрки (первый забитый после разбоя шар определяет группы, чёрная восьмёрка решает исход игры, фолы дают право игры с руки), а также свободный режим тренировки; табло, огоньки серий, значки достижений и камеры крупного плана луз (можно отключить). Переведите игру с китайской восьмёрки на снукер: используйте 12-футовый стол с 15 красными шарами, чередуйте красные и цветные шары для набора очков и возвращайте цветные шары на их отметки после забития. Добавьте значок за сенчури-брейк и табло, не меняя мини-игры в баре — дартс и кости. Система повторов: каждый удар можно воспроизвести повторно (V); доступны перетаскиваемая временная шкала и регулируемая скорость от 0,1x до 1x.

Мини-игры в баре (реквизит постоянно находится на сцене и запускается, когда игрок подходит): дартс (стандартная мишень из 20 секторов, расчёт траектории, три дротика за раунд, значок 180), больше-меньше с игральным стаканом (настоящая модель стакана и отдельный мини-мир Rapier для встряхивания), разлив виски и русская рулетка (модель револьвера).

Аудио: настоящие CC0-сэмплы пула от сообщества Freesound (столкновения шаров, борта, лузы, разбой, расстановка, аплодисменты, со случайным воспроизведением нескольких вариантов фрагментов) плюс процедурная реверберация помещения через Web Audio (импульсная характеристика генерируется затухающим шумом) и лимитер; пользователь предоставляет лаунж-джазовый луп в качестве фоновой музыки, M — выключить звук.

Разработка: используйте import map для подключения three/rapier; весь текст должен управляться словарём i18n; добавьте панель настроек (язык / крупный план лузы / линия прицеливания) и панель с благодарностями «About · open-source assets and licenses»; добавьте три набора тестов Node в test/ для физики, дартса и логики бара.
Уровни испытаний

Добавить уровни испытаний с трюковыми ударами

Попробовать Kimi Build
Создайте полностью статичную браузерную игру в пул от первого лица без этапа сборки под названием «CLUB No.9» на Three.js + Rapier (@dimforge/rapier3d-compat), с китайским интерфейсом (переключатель китайский-английский), управлением клавиатурой и мышью на компьютере и автоматическим режимом наблюдателя на сенсорных экранах.

Требования:

Сцена: загрузите модель бара Bar Diorama из Sketchfab в качестве бильярдного зала (скройте встроенные в неё столы), используйте текстуры орехового дерева из Poly Haven для бортов и отделки кия, а также HDRI камина для отражений окружения; все остальные текстуры — сукно, номера шаров, напольное покрытие — сгенерируйте процедурно в Canvas (детерминированный PRNG, одинаковый результат при каждой загрузке).

Геймплей пула: физика твёрдых тел Rapier, стандартные шары диаметром 57,2 мм, игровая поверхность стола подогнана под борта модели; режим ходьбы от первого лица (WASD) и E для наклона к столу и прицеливания; удерживайте левую кнопку для зарядки удара, настраивайте силу колесом прокрутки, Space — удар; A/D — боковое вращение, W/S — накат и оттяжка, R — вернуть кий в исходное положение; F — игра с руки, T — заново расставить шары, G — переключение между матчем и тренировкой; линию прицеливания можно включать и выключать. Отделите ядро физики (sim.js) от рендеринга (world.js): физика — единственный источник истины, рендеринг только считывает данные и никогда их не изменяет, а ядро физики не должно зависеть от DOM и должно проходить тесты в Node.

Правила: локальная игра для двух игроков по упрощённым правилам китайской восьмёрки (первый забитый после разбоя шар определяет группы, чёрная восьмёрка решает исход игры, фолы дают право игры с руки), а также свободный режим тренировки; табло, огоньки серий, значки достижений и камеры крупного плана луз (можно отключить). Добавьте режим испытаний: двадцать готовых раскладов, которые нужно пройти за один или два удара. Оценивайте каждый уровень максимум в три звезды в зависимости от времени и числа ударов. Добавьте в главное меню экран выбора уровней и открывайте новые скины кия за прохождение испытаний. Система повторов: каждый удар можно воспроизвести повторно (V); доступны перетаскиваемая временная шкала и регулируемая скорость от 0,1x до 1x.

Мини-игры в баре (реквизит постоянно находится на сцене и запускается, когда игрок подходит): дартс (стандартная мишень из 20 секторов, расчёт траектории, три дротика за раунд, значок 180), больше-меньше с игральным стаканом (настоящая модель стакана и отдельный мини-мир Rapier для встряхивания), разлив виски и русская рулетка (модель револьвера).

Аудио: настоящие CC0-сэмплы пула от сообщества Freesound (столкновения шаров, борта, лузы, разбой, расстановка, аплодисменты, со случайным воспроизведением нескольких вариантов фрагментов) плюс процедурная реверберация помещения через Web Audio (импульсная характеристика генерируется затухающим шумом) и лимитер; пользователь предоставляет лаунж-джазовый луп в качестве фоновой музыки, M — выключить звук.

Разработка: используйте import map для подключения three/rapier; весь текст должен управляться словарём i18n; добавьте панель настроек (язык / крупный план лузы / линия прицеливания) и панель с благодарностями «About · open-source assets and licenses»; добавьте три набора тестов Node в test/ для физики, дартса и логики бара.
Уроки для новичков

Добавить уроки прицеливания и вращения для новичков

Попробовать Kimi Build
Создайте полностью статичную браузерную игру в пул от первого лица без этапа сборки под названием «CLUB No.9» на Three.js + Rapier (@dimforge/rapier3d-compat), с китайским интерфейсом (переключатель китайский-английский), управлением клавиатурой и мышью на компьютере и автоматическим режимом наблюдателя на сенсорных экранах.

Требования:

Сцена: загрузите модель бара Bar Diorama из Sketchfab в качестве бильярдного зала (скройте встроенные в неё столы), используйте текстуры орехового дерева из Poly Haven для бортов и отделки кия, а также HDRI камина для отражений окружения; все остальные текстуры — сукно, номера шаров, напольное покрытие — сгенерируйте процедурно в Canvas (детерминированный PRNG, одинаковый результат при каждой загрузке).

Геймплей пула: физика твёрдых тел Rapier, стандартные шары диаметром 57,2 мм, игровая поверхность стола подогнана под борта модели; режим ходьбы от первого лица (WASD) и E для наклона к столу и прицеливания; удерживайте левую кнопку для зарядки удара, настраивайте силу колесом прокрутки, Space — удар; A/D — боковое вращение, W/S — накат и оттяжка, R — вернуть кий в исходное положение; F — игра с руки, T — заново расставить шары, G — переключение между матчем и тренировкой; линию прицеливания можно включать и выключать. Отделите ядро физики (sim.js) от рендеринга (world.js): физика — единственный источник истины, рендеринг только считывает данные и никогда их не изменяет, а ядро физики не должно зависеть от DOM и должно проходить тесты в Node.

Правила: локальная игра для двух игроков по упрощённым правилам китайской восьмёрки (первый забитый после разбоя шар определяет группы, чёрная восьмёрка решает исход игры, фолы дают право игры с руки), а также свободный режим тренировки; табло, огоньки серий, значки достижений и камеры крупного плана луз (можно отключить). Добавьте обучающий режим для новичков: четыре урока о наклоне к столу для прицеливания, зарядке и контроле силы удара, боковом вращении и накате/оттяжке, а также позиционировании битка. В каждом уроке демонстрационная анимация сочетается с тремя практическими упражнениями; во время упражнений линия прицеливания принудительно включена, а точка прицеливания на битке отмечена. Система повторов: каждый удар можно воспроизвести повторно (V); доступны перетаскиваемая временная шкала и регулируемая скорость от 0,1x до 1x.

Мини-игры в баре (реквизит постоянно находится на сцене и запускается, когда игрок подходит): дартс (стандартная мишень из 20 секторов, расчёт траектории, три дротика за раунд, значок 180), больше-меньше с игральным стаканом (настоящая модель стакана и отдельный мини-мир Rapier для встряхивания), разлив виски и русская рулетка (модель револьвера).

Аудио: настоящие CC0-сэмплы пула от сообщества Freesound (столкновения шаров, борта, лузы, разбой, расстановка, аплодисменты, со случайным воспроизведением нескольких вариантов фрагментов) плюс процедурная реверберация помещения через Web Audio (импульсная характеристика генерируется затухающим шумом) и лимитер; пользователь предоставляет лаунж-джазовый луп в качестве фоновой музыки, M — выключить звук.

Разработка: используйте import map для подключения three/rapier; весь текст должен управляться словарём i18n; добавьте панель настроек (язык / крупный план лузы / линия прицеливания) и панель с благодарностями «About · open-source assets and licenses»; добавьте три набора тестов Node в test/ для физики, дартса и логики бара.