Было две цели:
1. быстро сделать рабочую мини-игру
2. сделать обучающую игру
Цели кажутся выполненными. На разработку ушло 17 концентрированных часов (34 классических "помодоро"), не считая мыслей и обдумываний с карандашом и листом бумаги. Приступил к разработке в четверг, в понедельник в обед игра была уже готова.
Сначала я хотел просто повторить своего "Пифагора" с таблицей умножения, но потом подумал - да кому нафиг нужна сейчас таблица умножения? Мы все взрослые люди, нужно что-то более интересное. К примеру, мне таблица умножения сейчас не нужна, хотя я её и так помню - прицепилась, не отвяжется. А вот с английским у меня не так хорошо - значит, беру английский словарь.
Буду обновлять отчет потихоньку здесь:
Рабочие инструменты: редактор Intellij
Игры со словами:
Игры на память известны давно - я считаю, это любые игры, в которых надо убирать или просто искать пары фишек (маджонг-пасьянс, к примеру). Есть игры класса Memory, в которых тебе показывают карточки с картинками, а затем переворачивают их рубашками вверх и ты по памяти должен искать пары одинаковых.
Я хотел сделать что-то в духе маджонга, и если бы я делал игру по японскому словарю - думаю, игра бы наполовину и выглядела маджонгом, просто за счет иероглифов )) Иероглифы очень удобная штука - они компактны и хорошо вписываются в небольшие фишки. С классическими алфавитными языками тяжелее - слова длинные и разные.
Естественно, что наиболее подходящие фишки тут - горизонтальные. Я постарался как можно более похожими на маджонг, но со словами, хоть английскими, хоть русскими, они все равно выглядели уныло, как обычные карточки.
Сверхдлинные слова: Вторая проблема - длинные слова. Я решил, что без самых длинных слов можно пока обойтись. Тем более, что я взял частотный словарь - и в языке самыми употребляемыми являются чаще всего самые короткие. Это видно на первых уровнях игры - настолько, что я даже подумываю, не отфильтровать ли самые короткие слова тоже, оставив только (русские) слова от трех и больше букв.
На самом деле правило "короткое - самое употребительное" не является точным, но оно близко к реальности. В общем, я решил ограничить длину слова в 9 знаков и отфильтровал словарь по этой длине. Все русские и английские слова, выходящие за эту длину - поехали в отдельный набор. С ними на крайний случай можно будет сделать отдельную игру для языкофилов, обожающих слова вроде "государство", "интернационал" или "serendipity".
Поверьте, до serendipity надо еще дорасти.
И с девятью знаками я получил очень хороший словарь. Из 5000 слов больше трех тысяч вписалось в этот лимит. При этом в первой тысяче самых употребительных слов оказалось подавляющее большинство с длиной <= 9. А самое главное - в игре наконец появилась возможность использовать фишки с форматом, хоть как-то напоминающий маджонг. Если вам не напоминает - ничего страшного. Возможно, у меня просто богатая фантазия.
Значки: Впрочем, даже с форматом маджонга фишки выглядели довольно серо - а я хотел, чтобы игра выглядела настолько похожей на обычные игрушки для убийства времени, насколько это возможно. Сначала я просто набрасывал звездочки на фишки, как точки на костяшках маджонга, а затем понял, что нужны разные значки - как в играх Match3 с драгоценностями.
Ну я залез на Craftpix.net и взял первый красивый free-набор с самоцветами. Сразу же пришла мысль - вопрос и ответ должны иметь одинаковый самоцвет. Да, это выглядит читерством. На самом деле нет - пока я играл в альфа-версии, я пришел к выводу, что такую игру очень тяжело сделать казуальной и приятной - слова гораздо хуже распознаются чем картинки. Даже зная правило "самоцвет вопроса тот же, что и самоцвет ответа", играть не так-то легко, увы.
И все же игра сама по себе заиграла. Самоцветы - рулят!
Одинаково выглядящие слова: Внезапная засада ждала меня на первых уровня, со сверхкороткими словами. Смотрите, на скриншоте сверху все выглядит прилично, слова все разные.
Но в первой десятке слов есть русское "Не" и английский "He" (он). А еще есть русский Он и английское On. Эти братья-близнецы превращали игрушку в странный ребус, в котором было мало интересного.
Решение было очевидным - надо как-то помечать русские и английские слова. Идеальнее всего - флажками. Но я плохой дизайнер и не смог вписать флажки так, чтобы сохранить ощущение "маджонговости". Поэтому я просто пометил русские слова серыми ленточками справа. Приглядитесь - может вы их не видите, но они есть!
Шутки частотности: Последнее, о чем бы я хотел вас сегодня предупредить - это шутки частотности. Видите ли, к примеру, слово "что" чаще всего в текстах употребляется не как вопрос, а как слово, которое переводится как that. Я устал и сейчас не могу сформулировать на русском мысль точнее.
Пока я не знаю, надо ли с этим бороться. Но об этом совершенно точно надо знать.
Грязный словарь: когда делаешь игру со словами, к словарю надо быть внимательным. Я использовал грязный словарь пар, в котором, к примеру, its переводится как её . Это действительно может переводиться так в ряде случаев, может, в книжной статистике так действительно переводится чаще, но для обучения это никуда не годится. Спасибо за замечание.
Я вижу, что местоимения надо выносить из словаря полностью, как и служебные части, оставляя только самые очевидные и базовые формы (она - she).
To be continued...
PS: Если видите баги и что-то не работает - не стесняйтесь лепить сообщения на этом столбе