Найти тему
potapello

Как я начал делать аниме-рулетку...

Оглавление

Немного сути.

Наверное, первый вопрос, который может возникнуть с самого начала – «А зачем это вообще нужно?». Думаю, я смогу ответить, приведя собственный опыт знакомства с уже имеющимися решениями (о самих решениях чуть позже). Искал я генератор случайного аниме в целях для себя с 2 друзьями устроить марафон по аниме, но не по какому-то списку или одному длинному тайтлу, а по случайно сгенерированным и не сильно длинным (менее 50 серий, вроде) тайтлам. В подробности вдаваться не буду, но было что-то весёлое в том, чтобы смотреть полный крах, когда друзьям выпало что-то крутое, и наоборот. Помимо этого, мы знакомились с тайтлами, на которые без генератора аниме никогда бы не наткнулись и не узнали бы чего-то очень крутого, интересного.

Подводя итог можно сказать, что такая программа нужна как для развлечения, так и для изучения потаённых мест аниме-культуры.

Что мы имеем?

Самое близкое к тому, что я представлял, было на сайте `randomanime`. Этот сайт выделялся среди остальных очень удобной настройкой фильтрации – можно было настроить самые разные параметры (года выхода, рейтинг, кол-во серий и самое главное - тэги) как душе угодно, и после сайт с базы данных (насколько помню, сайт работал с 2 базами данных) выдаст хотя бы что-то. Выдаёт он либо отдельный тайтл, либо сразу список всего, что смог найти по запросу. После выпадения аниме можно было ознакомиться с его характеристиками: синопсис, рейтинг, кол-во серий, где можно смотреть (только платные сайты), возрастное ограничение и другие. Недавно на сайте появился режим «рулетки», но он выглядит так себе.

Настройка фильтра на сайте `randomanime`
Настройка фильтра на сайте `randomanime`

Но это всё нам быстро надоело, сайт просто по нажатию кнопки выдавал результат, никаких визуальных эффектов, никакой интриги – просто ответ на запрос. Хотелось что-то поинтереснее, но этот сайт – максимум, что нам могли предоставить. И тут я подумал…

Идея и концепт.

  • А что, если я сам создам приложение, на котором смогу генерировать случайное аниме из списка, отобранного из общей базы данных с помощью настроенного фильтра, и чтобы это всё ещё красиво выглядело, крутилось, вертелось и плавно работало?

Идея была в том, чтобы сделать примерно то же самое, однако, чтобы сам процесс выпадения аниме выглядел более динамичнее. Поскольку я хоть как-то знаю только JavaScript, то и пытаться написать простенькое браузерное приложение решил на нём.

Подключаться к API онлайновых баз данных и работать с ними для меня оказалось слишком сложно, поэтому я решил поискать более простые пути – и такие были! Самым простым мне показалось решение с оффлайн базой данных. Это JSON-файл, в котором имеется достаточно подробная информация о всех аниме, что есть на 8 баз данных. Внимание – сразу 8 баз данных! На данный момент в ней около 31 тыс. разных наименований, они не повторяются, каждое из них имеет параметры, по которым их можно отфильтровывать.

Это нам подходит, это мы берём!

Разработка.

Всё, что мне оставалось делать далее – так это программировать и по ходу дела придумывать дизайн приложения. Скажу сразу – делать эту программу я начал ещё зимой, работал редко и как только у меня начало что-то получаться я решил, что должен довести это дело до ума (насколько это возможно) и показать людям. И нет, приложение пока не готово, я всё ещё его делаю, но некоторыми скриншотами того, что у меня уже есть, я могу поделиться.

Рулетка в режиме ожидания
Рулетка в режиме ожидания

Далее хотелось бы рассказать про проблемы, с которыми я сталкивался, пока делал это. А их было достаточно - родителем всех их являлась моя неопытность, ведь программист я тот ещё!

На этом у меня всё. Надеюсь, вам было интересно!

Полезные ссылки