Соберите Wordle — как создать свою игру Wordle (бесплатно, в браузере)
Создайте собственный Wordle
Узнайте, как собрать Wordle за минуты. Скопируйте наш промпт, получите играбельную словесную игру, которая принадлежит вам, и поделитесь ссылкой — бесплатно, без программирования, прямо в браузере.
Чтобы собрать Wordle, нужно четыре вещи и больше ничего: список слов, разделённый на допустимые догадки и ответы, проверка догадки, функция обратной связи в два прохода и строка для отправки. Всё остальное — переворот плитки, экранная клавиатура, которая сама раскрашивается, дрожание при отклонённой догадке — это оформление. Конструктор 3D-игр в Neta Studio превращает письменное описание в играбельный мир в браузере, поэтому список слов и правило обратной связи — единственные части, о которых действительно нужно думать.
На этой странице есть промпт для вставки, две настройки, которые нужно изменить перед вставкой, и ошибки, которые чаще всего встречаются в первых попытках: повторяющиеся буквы, засчитанные дважды, ответы, которые перестают быть скрытыми из-за объединения списка догадок и списка ответов, и строки для отправки, которые больше не совпадают, потому что список слов изменился под ними. Без установки, без шага сборки, без выбора фреймворка.
4 системы, которые нужны любому клону Wordle
Разберите игру на части — и останутся четыре системы. Всё, что вы помните об игре, — это оформление поверх них.
Пропустите проверку — и получите сломанные состояния вместо ошибок, которые можно увидеть: ввод из четырёх букв, оценённый по ответу из пяти букв, одна и та же строка, оценённая дважды, догадка, принятая после того, как игра уже закончилась. Пропустите строку для отправки — и люди делают скриншот поля, который показывает ответ всем, кто ещё не играл. Ничего из этого не является необязательным, и ничего из этого не относится к интересной части сборки.
Сначала добейтесь, чтобы эти четыре системы работали с плоскими цветными плитками. Если позже вы захотите что-то помимо плоских плиток, Agent Sprite Forge займётся графикой, когда правила станут устойчивыми, — добавление графики до того, как подсчёт очков станет правильным, лишь затрудняет обнаружение неверной обратной связи.
- Список слов, разделённый на две частиОдин набор слов, которые можно вводить, один набор слов, которые могут быть скрытым ответом. Два массива, а не один. Это разделение — разница между игрой, которая кажется честной, и игрой, которая кажется произвольной.
- Проверка догадкиРаботает перед подсчётом очков. Сверяет введённую строку с WORD_LENGTH, проверяет, что она есть в наборе допустимых догадок, что текущая строка ещё не была отправлена, что игра ещё не закончилась. Отклонённая догадка не расходует строку.
- Функция обратной связи в два проходаПринимает ответ и догадку, возвращает пять состояний плиток: точное, присутствует, отсутствует. Сначала засчитывает точные совпадения, затем близкие совпадения по оставшимся буквам. Именно здесь ломается большинство клонов.
- Строка для отправкиКороткий текстовый блок, который кодирует результат: идентификатор головоломки, число догадок и узор плиток для каждой строки. Он передаёт результат, не передавая ответ и ни одну из введённых букв.
Скопируйте этот промпт, чтобы собрать свой Wordle
Вот вся сборка. Вставьте её в конструктор как одно описание. В ней названы константы, оба массива и правило подсчёта очков в виде двух проходов — именно эта часть обычно вызывает ошибки, когда люди пишут свой промпт.
> Собери словесную игру для браузера: одно скрытое слово из пяти букв, шесть догадок. > СПИСОК СЛОВ: массив ANSWERS, содержащий слова из пяти букв, которые могут быть решениями, и массив VALID_GUESSES, содержащий все ответы плюс дополнительные принимаемые слова. Храни их как два отдельных массива. > ОБРАТНАЯ СВЯЗЬ: после каждой догадки помечай каждую плитку как точную, присутствующую или отсутствующую. Засчитывай точные совпадения в первом проходе, затем засчитывай близкие совпадения во втором проходе, используя только те буквы ответа, которые ещё не израсходованы точным совпадением, чтобы повторяющаяся буква никогда не помечалась как присутствующая дважды. > ВВОД: принимай догадку только если в ней ровно пять букв и она есть в VALID_GUESSES. Отклонённая догадка не расходует строку. > СТРОКИ: шесть строк. Игра заканчивается на правильном ответе или после шестой строки, затем раскрывается ответ. > КЛАВИАТУРА: экранная клавиатура, показывающая лучшее известное состояние для каждой буквы, где точное превосходит присутствующее, а присутствующее превосходит отсутствующее. Поддерживай и физическую клавиатуру. > ПОДЕЛИТЬСЯ: сформируй строку для отправки, содержащую идентификатор головоломки, число использованных догадок и одну строку на каждую догадку, отрисованную тремя фиксированными символами для точного, присутствующего и отсутствующего. Не включай ни одной буквы из догадки. > КОНСТАНТЫ: WORD_LENGTH = 5 и MAX_GUESSES = 6 в начале файла.
Два места для правки перед вставкой. Списки слов, где вы подставляете свои массивы, и MAX_GUESSES, где 4 даёт более сложную ежедневную головоломку, а 7 — более снисходительную. Оставьте остальное в покое, пока поле не начнёт играться правильно от начала до конца.
Настройте список слов (допустимые догадки против ответов)
Допустимая догадка — это любое слово, которое вы согласны принимать как ввод. Ответ — это любое слово, которое может быть скрытым словом. Набор догадок всегда больше из двух, часто в несколько раз, и эти два набора никогда не являются одним и тем же массивом.
Почему эти два набора вообще существуют
Набор ответов должен содержать слова, которые люди действительно знают. Если решением может быть малоизвестный термин, большинство игроков проигрывают слову, которого никогда не видели, и такой проигрыш читается как несправедливый, а не как сложный. Набор догадок должен быть снисходительным, потому что игрок, который вводит настоящее слово из пяти букв и слышит, что его нет в списке слов, перестаёт доверять полю ввода и перестаёт играть.
Поэтому их формы намеренно разные: строгий список ответов и свободный список догадок, который содержит список ответов плюс всё остальное, что вы готовы принимать.
Ошибка, когда вы их объединяете
Объедините два массива — и одна проблема проявится сразу, а другая позже. Сразу пул ответов унаследует каждое сокращение, терпимое множественное число и заимствованное слово, которые вы допускали для догадок, поэтому головоломки получают ответы, которые не ощущаются как ответы.
Позже, и это хуже: если игрок может перебрать ваш список ответов, он победит любую головоломку за одно и то же число догадок, просто проходя список по порядку. Набор ответов перестаёт быть скрытой информацией. Объединённый список — это список, который у решателя уже есть.
01
Начните со списка ответов: несколько тысяч распространённых слов из пяти букв, всё в нижнем регистре, без имён собственных, без сокращений.
02
Постройте список догадок как ответы плюс более широкий набор принимаемых слов, затем удалите дубликаты.
03
Храните их отдельно — два массива или два текстовых файла, загружаемых в два массива. Никогда не стройте список догадок во время выполнения так, чтобы это также переписывало список ответов.
04
Версионируйте пару вместе. Если вы замените список ответов, старые строки для отправки всё ещё несут идентификаторы головоломок, которые раньше указывали на конкретное слово.
Функция обратной связи, в два прохода
Один проход, который спрашивает «содержит ли ответ эту букву?», дважды считает повторы. Вот правило вместо кода.
Порядок — не вопрос стиля. Если вы засчитываете близкие совпадения раньше точных, более ранняя присутствующая плитка может израсходовать букву, которая нужна более поздней плитке для точного совпадения, и зелёная плитка станет жёлтой. Это видимая, воспроизводимая ошибка, и игроки сообщат о ней именно так.
Тест на повторы, который её ловит
Догадка EERIE против ответа SPEED. В догадке три плитки E. В ответе две буквы E. Проверка на наличие в один проход помечает все три плитки E как присутствующие. Два прохода помечают первые две как присутствующие, а третью как отсутствующую — и это правда, и эта третья серая плитка несёт информацию, которая нужна игроку.
Прогоняйте эту пару через свою функцию после каждого изменения логики подсчёта. Это самый дешёвый регрессионный тест, какой бывает у словесной игры.
01
Проход первый, точный. Пройдите позиции с 0 по 4. Там, где буква догадки совпадает с буквой ответа на той же позиции, пометьте плитку как точную и удалите одну копию этой буквы из оставшегося пула ответа.
02
Проход второй, близкий. Пройдите позиции снова, пропуская плитки, уже помеченные как точные. Если в оставшемся пуле ещё есть эта буква, пометьте плитку как присутствующую и удалите одну её копию из пула.
03
Всё, что осталось без пометки, — отсутствует. Отсутствие — это состояние по умолчанию, а не третий проход по ответу.
04
Отсутствие считается по плитке, а не по букве. Одна и та же буква может быть точной на одной позиции и отсутствующей на другой в пределах одной догадки.
Ежедневная головоломка или неограниченные раунды?
Ежедневный режим выводит один ответ из даты или зерна, поэтому каждый игрок получает одно и то же слово, а поле блокируется после одной отправки. Неограниченный режим запускает новое поле по запросу.
Это не два варианта одной и той же функции. Они оптимизированы под разные вещи, и таблица ниже — честное сравнение.
Выпускайте оба, где ежедневный — по умолчанию, а неограниченный — за кнопкой тренировки. Если вы выпустите только ежедневный, вы не сможете протестировать свой список ответов, не изменив константу даты, и найдёте несправедливые ответы одновременно со своими игроками.
| Аспект | Одно поле в день | Неограниченные раунды |
|---|---|---|
| Выбор головоломки | Дата или зерно выбирает ответ; каждый игрок получает одно и то же слово | Случайный выбор из списка ответов, или игрок выбирает категорию, которую вы задаёте |
| Строка для отправки | Сравнима между игроками, потому что ответ был одинаковым | Не сравнима между игроками; полезна только как личный результат |
| Привычка | Один предсказуемый момент возвращает игроков в одно и то же время каждый день | Длительность сеанса принадлежит игроку; нет фиксированного времени возвращения |
| Ценность повторного прохождения | Низкая для одной головоломки, поскольку поле отправляется один раз | Высокая; именно в этом режиме люди продолжают играть после ежедневной |
| Тестирование списка слов | Медленно: нужно сдвинуть дату или зерно, чтобы увидеть другой ответ | Быстро: новое поле по запросу, поэтому можно просмотреть много ответов подряд |
| Риск версионирования | Высокий: изменение списка ответов в середине выпуска делает существующие строки для отправки недействительными | Низкий: новое поле ничего не переписывает из уже отправленного |
Поделитесь своим Wordle по ссылке
Строка для отправки лучше скриншота, потому что она передаёт результат, не выдавая ответ. Скриншот показывает буквы или показывает ответ после проигрыша, поэтому любой, кто не играл в это поле, узнаёт ответ, просто взглянув на него. Строка несёт только сетку: пять плиток в ряд, по три состояния в каждой. Она также переживает сжатие и блокировку изображений в групповых чатах, где скриншоты часто этого не выдерживают.
Ссылка на мир позволяет кому-то сыграть в игру. Строка для отправки показывает, как прошло поле. Это два разных фрагмента информации, и их не следует объединять в один артефакт.
Что должна сохранять отправленная игра, чтобы оставаться сравнимой
Два результата сравнимы, только если строка несёт контекст, который их создал. Всё, что здесь упущено, превращает сравнение в догадку.
01
Идентификатор головоломки или зерно, чтобы оба игрока знали, что у двух полей был один и тот же ответ.
02
Число догадок и одна строка на каждую догадку, по порядку — результат 4 из 6, собранный как три зелёных, а затем зелёный, — это другое поле, чем результат 4 из 6 из четырёх присутствующих плиток, и читатели разбирают сетку.
03
Фиксированное кодирование плиток из трёх символов, чтобы каждая строка отрисовывалась одинаковой ширины и сетка выравнивалась в моноширинном чате.
04
Флаг сложного режима, если вы поддерживаете сложный режим. Результат 4 из 6 в сложном режиме — не то же самое, что 4 из 6 в стандартном, и их смешение лишает строку смысла.
05
Версия словаря. Если вы отредактируете список ответов, идентификатор головоломки, который раньше означал одно слово, может означать другое.
Прогуляйтесь по миру, которому он принадлежит
Спрайт — это персонаж, которому негде стоять. Последний шаг — тот, который больше никто не предлагает: возьмите лист, который вы только что собрали, и поместите его в мир, по которому кто-то может ходить, — небольшой остров, планету, дождливый угол улицы. Каждый мир на этом сайте был создан из одного письменного описания и опубликован как страница, в которую можно играть.
FAQ
Можно ли собрать Wordle бесплатно? +
Да. Конструктор работает в браузере, поэтому ничего не нужно устанавливать и не нужно настраивать шаг сборки. Четыре системы выше — это вся сборка, а промпт на этой странице создаёт играбельное поле ещё до того, как вы сами напишете какой-либо текст правил.
Нужно ли программировать, чтобы собрать Wordle? +
Нет. Вы пишете описание, и конструктор создаёт игру; затем вы правите два массива и MAX_GUESSES как обычные настройки. К логике вы прикоснётесь только если захотите сложный режим, подсказки или правило подсчёта, отличное от точного и присутствующего.
Сколько слов мне нужно? +
Два списка, а не один. Несколько тысяч ответов плюс список догадок в несколько раз больше — рабочая форма; ниже примерно тысячи ответов постоянные игроки начинают видеть повторы. Каждая запись должна быть в нижнем регистре, ровно из пяти букв и без имён собственных.
Могу ли я играть в свой собственный Wordle? +
Да. Мир играбелен сразу, как только существует, и неограниченный режим — то, что вы используете для его тестирования. Прежде чем чем-то делиться, сыграйте серию полей и отметьте каждый ответ, который показался несправедливым, — именно эти записи нужно вырезать из списка ответов.
Могу ли я им поделиться? +
Двумя частями, и это сделано намеренно. Ссылка на мир позволяет кому-то сыграть в игру, а строка для отправки сообщает один результат, не раскрывая ответ. Храните версию словаря внутри строки, чтобы архивные результаты оставались осмысленными после того, как вы отредактируете список слов.
Чем это отличается от списка игр? +
Список игр — это готовые миры, которые вы открываете и в которые играете, — Mini World и The Cyclops' Island — два из них, на которые можно взглянуть, чтобы увидеть форму, которую создаёт конструктор. Здесь же — исходник: вам принадлежат списки слов, число догадок и правила, поэтому вы можете менять ощущение от игры, а не играть в чужую её версию.
Вернуться к конструктору 3D-игр
Все 31 готовых 3D-мира, игры и сцены — на одной странице, и в каждый можно играть.