Прицілюйтеся, враховуйте вітер і заряджайте постріл від нуля у повністю тривимірній острівній артилерійській битві. Обирайте шість типів снарядів, виривайте глибокі вирви та переживіть наростаючий хаос.
Початкове завдання на основі публічного проєкту автора, а не дослівний оригінальний промпт. Ваш результат може відрізнятися.
Специфікація реконструкції на основі оригінального вихідного коду Crazy Tanks від jared, коміту bf23b8878a1c24dbfb105a227a06b4faa29d42e9 та перевіреного ігрового процесу v92. Моделі створено за допомогою Tripo P2, а музику й звукові ефекти — за допомогою ElevenLabs. Опублікованого допису в соціальних мережах не надано.
3D-гра про танкиартилеріяруйнівний рельєфThree.jsTripo
Промпт
1. Мета проєкту
Створіть Crazy Tanks — Wild Tides: повністю тривимірну покрокову артилерійську гру на тропічному острові, у яку можна грати. Гравець керує невеликим танком, прицілюється, враховує вітер, точно заряджає постріл від нуля та змінює рельєф поля бою снарядами. Додайте одиночну гру проти ШІ та локальну гру в режимі «передай контролер», за замовчуванням — бій усі проти всіх із трьома танками, а також додатковий дуельний режим для двох танків. Перемагає останній танк, що залишився. Використовуйте поточні референси ігрового процесу та скриншоти як візуальний орієнтир.
2. Візуальний стиль
Використовуйте перспективну камеру та геометрію 3D, яку можна вільно обертати, а не пласкі спрайти чи фіксований вид збоку. Створіть сонячну мініатюрну діораму із заокругленими нефритовими, коралово-помаранчевими та синьо-фіолетовими танками, кремовим піском, світло-зеленою травою, бірюзовою відбивною водою, м’якими тінями та легкою атмосферною серпанковою далечінню. Збережіть відмінні силуети трьох танків і відповідні їм стволи. Над полем бою розмістіть компактну круглу кремову панель броні, а під ним — темно-бірюзову заокруглену панель керування. Золотий колір позначає еталонну потужність і дію пострілу; м’ятний — фактичний заряд і дружній статус. Перемикач вигляду Tripo / Three.js має бути помітним угорі; за замовчуванням використовуйте ресурси Tripo. Перемикання вигляду не повинно змінювати стан матчу та фізики. Використовуйте тонкі рівномірно розташовані бірюзові штрихи в екранних координатах і стримане коло місця падіння; не відбивайте графіку прицілювання у воді.
3. Світ і сцена
Використовуйте острів із руйнівним height field розміром приблизно 260 на 184 метри, оточений океаном із фіксованим рівнем моря. Розмістіть стартові танки далеко один від одного на стійкому ґрунті; розподіліть каміння, пальми, кактуси та колекційні ящики з припасами. Менші декоративні острови створюють глибину фону й не замінюють основний руйнівний рельєф. Вибухи деформують поверхню та можуть викопувати ґрунт нижче рівня моря. Зведіть колір берегової лінії та піну до єдиної водної поверхні, щоб уникнути накладання площин і мерехтіння. Проєктуйте номери танків із позицій у світових координатах на кожному відрендереному кадрі. Додайте повний вид траєкторії, вид на танк, орбітальний і тактичний вид згори. Вид траєкторії має вміщати танк, що стріляє, дугу та приблизне місце падіння у просторі між HUD і панеллю керування. Перед кожним пострілом показуйте танк, що стріляє, приблизно 0,8 секунди, затримуйтеся біля дульного зрізу, а потім стежте за снарядом. Ручна взаємодія з камерою скасовує кінематографічне стеження.
4. Перелік ресурсів
Використовуйте стабільні слоти моделей і забезпечте індивідуальну адресність моделей для заміни:
- jade-body: заокруглений гусеничний корпус зеленого кольору, схожий на щит; стандартний корпус гравця. jade-cannon: відповідний нефритовий ствол із темним каналом і золотими акцентами, який окремо обертається.
- ember-body: коралово-помаранчевий загострений броньований корпус із низьким механічним профілем. ember-cannon: довший відповідний помаранчевий ствол із темним дульним зрізом.
- bolt-body: промисловий синьо-фіолетовий гусеничний корпус із кутовою плитною бронею. bolt-cannon: відповідний товстий синій ствол.
- shell: латунний артилерійський снаряд із темним конічним наконечником і бірюзовим акцентом. Повторно використовуйте його, змінюючи відтінок і масштаб відповідно до зброї.
- crate: жовтий броньований ящик із припасами, бірюзовим маркуванням і посиленими кутами; підбирання відновлює 20 одиниць броні, максимум — 100.
- rock: тепла заокруглена група об’єктів із пісковику; повторюйте з різним масштабом і використовуйте окремий проксі-об’єкт колізії.
- palm: вигнутий стовбур і багатошарове зелене листя; повторюйте як острівну рослинність.
- cactus: компактний зелений кактус із дрібними квітковими деталями; повторюйте на сухій місцевості.
- islet: заокруглений острівець із травою на тлі, зі світлими краями зі скель і піску; повторюйте за межами арени.
Спочатку створіть три відповідні пари корпусів і стволів, потім — снаряд, ящик і деталі довкілля. Рельєф, океан, піну, вогонь, дим, ударні хвилі, уламки, графіку прицілювання, освітлення, UI та проксі-об’єкти колізій робіть процедурними. Відповідні частини корпусу й ствола мають спільний дизайн-референс і масштаб. Розмістіть pivot ствола в його механічному з’єднанні, вирівняйте його поздовжню вісь уздовж +X і використовуйте видимий дульний зріз як фізичну точку запуску. Корпуси танків мають повторювати нахил схилів за допомогою кватерніонів; прицілювання башти залишається напрямком у світових координатах. Збережіть вихідні PBR-текстури та UV-шви. Повнороздільні моделі для завантаження зберігайте окремо від оптимізованих копій для ігрового рушія; у референсах і відомостях про походження файлів має бути вказане фактичне джерело генерації.
5. Ігровий процес і зворотний зв’язок
На початку свого ходу кожен живий танк отримує 18 метрів переміщення. WASD і панель переміщення рухають танк відносно екрана; клавіші зі стрілками та панель прицілювання змінюють азимут і кут піднесення. Повзунки задають азимут, кут піднесення 10–80 градусів і еталонну потужність 0–100. Вибір суперника лише повертає танк у його бік і не має розраховувати постріл.
Бірюзова дуга показує приблизну траєкторію для вибраної еталонної потужності БЕЗ урахування вітру. Під час заряджання зберігайте цю еталонну траєкторію та її золотий маркер нерухомими. Утримання кнопки Fire, Space або Enter на сфокусованій кнопці Fire щоразу запускає фактичну потужність із 0; збільшуйте її на 18 відсоткових пунктів за секунду, утримуйте на рівні 100 і виконуйте постріл рівно один раз після відпускання, використовуючи фактичну потужність у цей момент. Швидкий дотик виконує слабкий постріл. Золота смуга в межах 3 відсоткових пунктів є лише візуальним зворотним зв’язком, без автоматичного наближення чи прихованої корекції. Скасовуйте заряджання у разі скасування вказівника, втрати фокуса вікна або видимості. Під час заряджання блокуйте зміни руху, цілі та прицілу. Клавіатурне керування range input не повинно одночасно повертати башту. Нульова потужність означає найнижчу швидкість запуску, а не нерухомий снаряд.
Стрілка та видимі смуги вітру, що дрейфують, показують, куди вітер штовхає снаряд. Підписуйте силу вітру та швидкість у метрах за секунду; натискання на картку вітру має пояснювати цей ефект. Якщо вітер дме ліворуч, гравцеві слід дещо прицілитися праворуч. Сильніший вітер і довший час польоту спричиняють більший знос. Під час пострілу вітер залишається сталим і змінюється кожного ходу. Ніколи не компенсуйте вітер автоматично в попередньому перегляді гравця. Приблизно прогнозуйте місце падіння на рельєф; не обіцяйте в попередньому перегляді зіткнення з танками чи камінням, розділення касетного снаряда або рикошети.
Додайте шість типів боєприпасів: необмежені фугасні снаряди; касетний снаряд, що розділяється на п’ять суббоєприпасів, які падають; Seismic із вирвою до 28 метрів завширшки та 13 метрів завглибшки; рикошетний снаряд, що двічі відскакує; один Cataclysm на танк із вирвою до 46 метрів завширшки та 22 метрів завглибшки; і Incendiary, що залишає вогняну зону радіусом 12 метрів. Вогонь завдає 8 одиниць шкоди наприкінці кожної з шести дій; вихід за межі зони запобігає шкоді, а зони, що перекриваються, не додають шкоду повторно. Морська вода гасить полум’я. Танк, повністю занурений під воду разом із піднятим стволом, негайно знищується. Показуйте фактичну шкоду, втрату броні, обвал рельєфу, сплеск води та результат знищення.
Використовуйте багатошарові вогняні кулі, ударні кільця, емісивні іскри, балістичні уламки, пил і дим зі стриманою тряскою камери. Додайте надані оригінальні музику та звуки ElevenLabs: пострілу з гармати, удару, рикошету, потужного вибуху, вогню й сплеску. Додайте перемикач звуку, паузу/продовження, інструкції, повтор і повернення до меню. Під час польоту снаряда або ходів ШІ пропонуйте Back to my turn: швидко запустіть ту саму симуляцію з фіксованим кроком і збережіть усі результати шкоди, зміни рельєфу та небезпечних зон. Ніколи не пропускайте хід локального гравця.
6. Технічна реалізація
Використовуйте Three.js з ES-модулями та Vite, локально вбудовані шрифти, Web Audio для ефектів і HTML audio element для циклічного відтворення музики. Зберігайте ресурси на тому самому origin і підтримуйте статичну збірку. Використовуйте перспективний рендерер з антиаліасингом, практичними бюджетами тіней і постобробки, а також належно звільняйте тимчасову геометрію та матеріали. Відокремлюйте декоративні моделі від ігрових колізій.
Фізика має бути детермінованою та незалежною від рендерингу, з одиницями метр/секунда, гравітацією 9.81 m/s² і фіксованим кроком 1/120 секунди. Використовуйте безперервні swept-колізії для швидкісних снарядів із землею, водою, танками та камінням; застосовуйте до зміщених танків імпульси вибуху й гравітацію. Визначайте позиції запуску з фактичного трансформу ствола конкретного танка. Звичайне відтворення та перемотування вперед мають викликати ті самі оновлення симуляції. Шкода й реакція на вітер є стилізованими ігровими правилами, а не інженерним симулятором вибуху.
Підтримуйте інтерфейс китайською, англійською, японською та корейською мовами. Спочатку обирайте мову пристрою; пристрої з мовами Гонконгу, Макао, Тайваню та традиційною китайською за замовчуванням мають використовувати англійську. Запам’ятовуйте явний вибір і дозвольте користувачеві бачити перемикач мови. Підтримуйте адаптивні макети для настільних комп’ютерів, телефонів у портретній орієнтації та коротких екранів у альбомній орієнтації, меню з прокручуванням на невисоких екранах, зручні сенсорні цілі, згортні панелі та відсутність накладання елементів керування. На сенсорних пристроях не вимагайте введення з клавіатури. Не допускайте до production-коду мутацію стану та допоміжні засоби прицілювання, призначені лише для розробки.
7. Критерії готовності
Надайте окремий редагований вихідний проєкт, lockfile, інструкції npm для dev/build і робочий статичний попередній перегляд. Відтворіть поточні скриншоти та відео ігрового процесу, зокрема кремову панель стану, золотий фіксований еталонний маркер, живе заряджання з нульового значення та повністю тривимірне представлення танків і острова. Перевірте перший запуск, завантаження моделей, повний цикл ходу, поведінку кожного типу боєприпасів, паузу, повтор і реальний результат перемоги або поразки. Переконайтеся, що перемикання вигляду зберігає стан, а скасування клавіатурою чи дотиком не виконує постріл. Під час чіткого тестового пострілу без вітру відпускання на еталонній потужності має привести снаряд близько до еталонного кола; зустрічний боковий вітер має помітно змістити фактичний снаряд, не змінюючи цього кола. Перевірте роботу на частотах 30/60/144 Hz, швидкісні колізії, глибокі вирви, завершення горіння, знищення при повному зануренні та відповідність результатів звичайного ходу й перемотування вперед. Перегляньте широкі й вузькі макети на всіх чотирьох мовах; окремо вкажіть емуляцію браузера та тестування на фізичних пристроях. Перевірте розміщену сторінку та пов’язані медіа, а не лише локальну збірку.
Як використовувати цей промпт
01
Почніть із відповідного інструмента
Відкрийте улюбленого помічника з програмування або 3D-інструмент. Спробуйте модель, зазначену в прикладі, і перевірте інструкції з налаштування в пов’язаних проєктах.
02
Виберіть одну зміну
Замініть об’єкт, художній стиль чи оточення. Чітко опишіть камеру та взаємодію. Спершу створіть невелику версію, а потім удосконалюйте по одній деталі.
03
Додайте власні об’єкти до сцени
Для власного персонажа чи реквізиту створіть 3D-модель за коротким описом предмета або зображенням-зразком, а потім імпортуйте її до проєкту.
Права на попередні перегляди належать відповідним авторам. Перш ніж повторно використовувати код або матеріали, перевірте першоджерело й ліцензію проєкту.