Добрый вечер, друзья. Хочу вам рассказать, как я сделал своё "испытание".
p.s Все упоминания абстрактны, на скриншотах замазал всё что можно, чтобы не попасть под рекламу. Спасибо.
Пару лет назад, я уже видел и слышал аббревиатуру RGG. Но тогда я как-то не придал её значение. И вот, примерно, месяц назад я снова наткнулся на это название.
Retro Game Gauntlet. Итак, это челлендж, придуманный анонимусами с Форчана, запущенный примерно весной 2013. Суть челленджа в прохождении игр, которые выбирает для тебя генератор рандомных чисел. Для челленджа аноны сделали сайтик с генератором игр, списком игр для различных ретро-платформ и, собственно, список самих платформ для прохождения. - источник.
Идея то классная, но вот я привередлив. Мне нужен функционал! Просто я полистал, что предлагает интернет и не наткнулся на что-то стоящее. Везде обычные рулетки. Даже нельзя отслеживать свою историю игр. Поэтому, мной было принято решение, сделать свой игровой "челедж" с отслеживание результатов и адекватным рандомом. Я даже не представлял, куда меня приведёт эта идея.
Начинал я с простого. Раз это генератор игр, значит нужен генератор! Пришло время его делать. Откуда брать игры? А вот тут мне повезло. Относительно недавно я писал статью про сайт с достижениями. Так вот, у них есть очень полезный API. Поэтому я взял и просто спарсил все игры оттуда. В итоге вышло ~2500 игр. Я ещё часто буду возвращаться к этому сайту. Следите за этим)
Отлично! У меня есть список игр! Составить генератор, тоже просто. Не буду заострять на нём внимание. Что дальше? Нужно сделать регистрацию пользователей! Сказано - сделано. Простая регистрация - логин, пароль, мыло. Идём дальше? ПОГНАЛИ НА...хкм.
Дизайна ещё как такового не было, быстренько набросал и всё. Сейчас пока делаем функционал. Дальше, я начал копаться в API и понял, что там есть всё что мне нужно! Раз там есть достижения, почему бы и мне не сделать также? Пробуем!
Достижения работают на базе RetroAchievements. Значит, нужно добавить в регистрацию, чтобы пользователь также зарегистрировался в этой базе. Легко? Вполне.
Выглядит симпатично. Пытаемся сверстать визуальную страницу профиля. После многих попыток, у меня получилось следующее:
Я люблю кастомизацию. Поэтому, в настройках профиля, можно загружать свою аватарку, фон профиля и баннер. Что такое баннер? Изначально это была просто картинка между блоками профиля и распределением игр. По типу подписи картинкой на форуме.
Что за очки? Всё довольно просто, за каждое достижение, даётся определённое кол-во очков. И чем оно сложнее, тем больше дают. Пока что они просто выводятся, я ещё думаю что делать с нами дальше. Если у вас есть идеи, жду...
Вот вроде и выглядит симпатично, но мне не нравится. Выглядит как-то дёшево. Поэтому ОЧЕНЬ сильно заморочавшись, я переделал всё что только можно. Данный результат очень и очень хорош.
Не судите за аниме. Просто выглядит классно. Пользователь может сам задавать обложку.
Достижения на чёрном фоне очень симпатичны.
Аниме на аве - кхм... Так вот! Тут вы можете видеть, как всё красиво. Ава и фон сзади тоже настраиваются. Тут простая статистика, а также, если вы получите все достижения в игре, иконка игры будет отображаться в вашем профиле. Круто же? ДА!
Дальше по странице идут 5 последних пройденных игр. Лента запуска игр и все достижения которые вы получили за месяц. В общем тут я доволен результатом.
Что дальше? Нужно красиво оформить главную страницу. Чтоб все видели, тут всё серьёзно!
В описании того, что я создал, я очень плох. Извините.
При нажатии кнопки "Начать испытание" вылазит форма логина и регистрации. А при щелчке по "Информация" выглядывает правая панель. Она листается вниз и внизу есть рейтинг пользователь по очкам и достижениям, чатик основанный на виджете от вк и лента прохождения игр.
Дальше нужно создать FAQ, чтобы люди хоть знали, что да как.
Оп. Готово! Теперь оформим страницу загрузок.
Тут остановлюсь поподробнее. Начну с того, что вы можете получать достижения, практически на любой платформе. Есть приложения для Windows, Lunix, Android, iOS и Raspberry Pi.
Эмуляторы для Windows я переписал, немного вырезал лишнее, сделал вставку с упоминанием "челенджа" и вставил ссылки для открытия профиля и игр. Исходники тут.
Вот вроде и готово, но нужны тесты. И тут мне повезло. Вышла картинка с упоминанием Contra, а я так раз прошёл её в этот день. И выложил в комментарии картинку с достижениями. Пару людей заинтересовалось, ой, а чтойта такое с достижениями. Скинул ссылку. Вот и появились тестеры. Выявил просто море багов, но пока даже не уверен, что выявил всё что есть.
Ссылка на коммент.
Люди просили сделать так, чтобы можно было выбирать игру. И хоть это разнилось с правилами, я решил уступить. Но сделал ограничение. Как только пользователь проходит 10 игр, система забирает у него возможность выбора игр.
Что получилось по итогу?
Ох, вышло то довольно интересно. Получилось ответвление от RGG. Изначально там был принцип прохождение одной игры на каждой платформе. У меня же получилось так, что пользователь должен пройти ВСЕ игры. Сложно? Думаю да. Интересно? Для меня да. Для вас, посмотрим.
Платформы: NES, SEGA, SNES, GBA, GBC, Nintendo64
Спасибо @Redler, за помощь в тестировании. Бета-тестерам из этого комментария. И моей будущей жене за предоставленный ноутбук :3
Спасибо за внимание!