125

Клавиатурная стрелялка

Доброго времени суток!


Я являюсь программистом и само собой сижу в различных тематических чатах и не только. Постепенно у нас образовался собственный чат гиков - собрали самых интересных людей из разных чатов в один и общаемся себе на здоровье. Время от времени делимся интересными ссылками, статьями, иногда что-то придумываем и делаем сами. Вот, собственно, и хотелось бы поделиться одной такой нашей “придумкой” :)


Вспомнилась однажды игрушка, наподобие space invaders, где необходимо печатать слова, чтобы сбивать вражеские корабли. Немного погуглив, я нашел zty.pe и скинул ребятам в чат посоревноваться, кто больше всех очков наберет, но с английскими словами возникли некоторые сложности и малая мотивация :) Слово за слово, зашла речь о том, что с русскими словами было бы куда интереснее. Сначала стали думать, что вообще нужно, чтобы сделать ее самим, а потом один из наших гиков нашел похожий проект на гитхабе, но для японского.


Далее прошло несколько веселых вечеров и мы дружно (разного рода участие приняло порядка 7 человек) переработали азиатскую версию под русскую. Вероятно, автор оригинального кода забыл сделать пулл финальной версии или в какой-то момент перестал развивать проект, поскольку код имел некоторые баги :) Не обошлось, конечно, и без наших багов - первая версия была, мягко говоря, не очень... При этом кому бы мы ее не скинули, всем нравилось, что и смотивировало нас доработать игру до стабильного рабочего состояния.

Клавиатурная стрелялка Игры, Тренажер, Разработка, Гик, Длиннопост, Программирование, IT

В итоге получился веселый клавиатурный тренажер, у нас нет идеи монетизировать игрушку, мы просто сделали ее для себя в свободное время и просто делимся тем, что у нас получилось. Один из наших гиков нашел немного иной способ играть на тяжелом уровне и написал к игре бота! К сожалению, кодом он не поделился, но желающим будет не сложно повторить :) Гифка бота будет в комментариях.


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


Приложение написано на js, как мы поняли - с использованием фреймворка impactjs и, судя по всему, в репозитории японской версии слиты уже собранные сорцы, они вполне себе читабельны и редактибельны, так что можно сказать мы имеем дело с нативным js без зависимостей. Весь код, связанный с игровым процессом, мы вынесли в engine.js. Для подсчета скорости, сохранения результатов и настроек написаны дополнительно storage.js, rtype.js также на нативном js. Для запуска локально достаточно разместить на любом веб-сервере (apache, nginx и т.п.).


Сейчас игровой процесс выглядит так - жмете enter, переключаетесь на русскую раскладку и печатаете, для смартфонов - нужно нажать на игровое поле, после чего нажать enter и также переключить раскладку на русский язык (поддерживает разные типы ввода). Из противников есть одиночные мины, у которых длина слова увеличивается с прохождением уровней; несколько видов кораблей, которые стреляют словами и которые стреляют буквами (у них по умолчанию длина слова больше, чем у мин).

Клавиатурная стрелялка Игры, Тренажер, Разработка, Гик, Длиннопост, Программирование, IT
Клавиатурная стрелялка Игры, Тренажер, Разработка, Гик, Длиннопост, Программирование, IT

В таблицу результатов мы вынесли такие показатели: средняя скорость за все игры и количество пройденных волн, аккуратность, скорость, очки за одну игру. Более весомыми показателями считаем - среднюю скорость и количество пройденных волн, особенно на более сложном уровне.

Клавиатурная стрелялка Игры, Тренажер, Разработка, Гик, Длиннопост, Программирование, IT

На данный момент у нас в планах изменить дизайн под тему “космос”. Но большее внимание мы хотим уделить словарям и логике самой игры. Например, добавить словари на разную тематику, добавить больше слов, добавить более интересные уровни с разными игровыми приемами (новые виды кораблей, пасхалки и пр.), мультиплеер, возможность открывать игровое поле на весь экран.


Комментарий для минусов прилагается, всем спасибо!


Заценить игру

Исходный код

Оригинальный проект

Найдены дубликаты

+4

гифка бота

+3

о существовании такой игрушки я не знал, название для нашей мы придумали сами, не плагиатили =)

показать ответы
+5

Скопировать код ниже, нажать (в браузере) ctrl + shift + i, вставить код в консоль, нажать enter и потом посмотреть снова на ветку комментариев.

var comments = document.querySelectorAll('.comment__content');

for (var i = 0; i < comments.length; i++) {

    var t = comments[i].textContent;

    if (t.indexOf("Ты настоящий") != -1 || t.indexOf("Пруфы") != -1) {

       comments[i].innerHTML = "<p>ты очень крутой!</p>";

    }

}

+5

настоящий программист-говнокодер

показать ответы
+4

Про добивающую ракету хорошая идея, спасибо =)

+4
Иллюстрация к комментарию
+2

одними из серьезных граблей я бы назвал цену, ее наличие =)

из таких ассоциаций вспомнилась затея о кооперативном мультиплеере для нас, когда 2 корабля на поле и нужно отбиваться вдвоем

показать ответы
+2

спасибо :)

+2

Для человека, работающего за компьютером, скорости 300 зн/мин более чем достаточно для обычных задач. Не многие могут похвастаться даже такой.

показать ответы
+6

Комментарий для минусов

показать ответы
+3

рейтинга для гифки пока не хватает :)

показать ответы
+2

каждому свое?

+2

Я давно играл в какую-то игрушку на флеше на английском, но вот удалось найти только zty.pe как и упоминал в статье и несколько реализаций на флеше, но все были не те. Говорят, еще на msdos на ascii графике такое делали :) беби тайп первый раз слышу. Ну и само собой не стоит забывать про klavogonki.ru, оттуда мы взяли кстати словарик.

показать ответы
+1

ну можно еще чуть-чуть увеличить =) да, на мобилах не очень пока что, это как раз в ближайших задачах поправить

показать ответы
+1

а нельзя это решить небольшим приближением? как вообще скорость на планшете? при моей 540 на компе на мобиле еле 300+ делаю

показать ответы
+1

ссылка ведет на что-то не то =)

показать ответы
+1

сделать вручную приближение, чтобы было видно всё поле?

показать ответы
+1

Думаю, в будущем добавим или новых словарей, или возможность свои заправлять. Ну и можно будет там закинуть каких-нибудь терминов из медицины или еще чего подобного рода и потом говорить не "что-то там печатала", а "умные слова печатала".

+1

бывает =) если ракета в тебя не летит, на нее можно забить и не стрелять по ней

+1

спасибо :)

показать ответы
+1

Я выше 12 волны не поднимался на сложном =) в самом низу поста как раз мой скриншот статистики сложного уровня.

показать ответы
0

У нас с клавогонок частотный словарь взят.

0

буква "й" есть и есть такое слово иод (через и)

0

Story-mode? Это как? Для общего рейтинга необходимо реализовывать проверки валидности результатов. Как только у людей появится стимул, например, засветить своё имя первым в топе, они станут придумывать способы подделки результата, а сейчас это очень просто. Поэтому мы намеренно не создаем почву для развития читеров. Когда-нибудь в будущем, когда реализуем все игровые фишки, уделим время и общему рейтингу с защитой от читеров.

показать ответы
0

какого рода проблемы имеются в виду?

показать ответы
Лучшие посты за сегодня
10692

Суд в Твери оправдал убившего троих при самообороне

Суд в Твери оправдал убившего троих при самообороне Тверь, Самооборона, Оправдательный приговор, Позитив, Справедливость, Суд, Приговор
Показать полностью
7131

Герой из ДПС

Герой из ДПС Герои, Герой России, Пермь, Стрельба, Повтор, Новости, Негатив
Показать полностью 1
6726

Как я был членом комиссии с ПСГ в УИК № 83 г. Ставрополя. Всковырнул пчелиный улей

Как я был членом комиссии с ПСГ в УИК № 83 г. Ставрополя. Всковырнул пчелиный улей Выборы, Ставрополь, Фальсификация, Наблюдатели, Видео, Длиннопост, Политика
Как я был членом комиссии с ПСГ в УИК № 83 г. Ставрополя. Всковырнул пчелиный улей Выборы, Ставрополь, Фальсификация, Наблюдатели, Видео, Длиннопост, Политика
Как я был членом комиссии с ПСГ в УИК № 83 г. Ставрополя. Всковырнул пчелиный улей Выборы, Ставрополь, Фальсификация, Наблюдатели, Видео, Длиннопост, Политика
Как я был членом комиссии с ПСГ в УИК № 83 г. Ставрополя. Всковырнул пчелиный улей Выборы, Ставрополь, Фальсификация, Наблюдатели, Видео, Длиннопост, Политика

Как я был членом комиссии с ПСГ в УИК № 83 г. Ставрополя. Всковырнул пчелиный улей Выборы, Ставрополь, Фальсификация, Наблюдатели, Видео, Длиннопост, Политика
Показать полностью 5 6
4970

Моя дочь жива!

4773

История

История Знакомства, Девушки, Истории из жизни, Мемы, Совпадение
4402

З@€бало

3587

Отправил личные вещи через ПЭК - получил мусор

Отправил личные вещи через ПЭК - получил мусор Переезд, Транспортная компания, Пэк, Без рейтинга, Длиннопост, Повреждение груза, Негатив
Отправил личные вещи через ПЭК - получил мусор Переезд, Транспортная компания, Пэк, Без рейтинга, Длиннопост, Повреждение груза, Негатив
Отправил личные вещи через ПЭК - получил мусор Переезд, Транспортная компания, Пэк, Без рейтинга, Длиннопост, Повреждение груза, Негатив
Отправил личные вещи через ПЭК - получил мусор Переезд, Транспортная компания, Пэк, Без рейтинга, Длиннопост, Повреждение груза, Негатив
Отправил личные вещи через ПЭК - получил мусор Переезд, Транспортная компания, Пэк, Без рейтинга, Длиннопост, Повреждение груза, Негатив
Отправил личные вещи через ПЭК - получил мусор Переезд, Транспортная компания, Пэк, Без рейтинга, Длиннопост, Повреждение груза, Негатив
Отправил личные вещи через ПЭК - получил мусор Переезд, Транспортная компания, Пэк, Без рейтинга, Длиннопост, Повреждение груза, Негатив
Отправил личные вещи через ПЭК - получил мусор Переезд, Транспортная компания, Пэк, Без рейтинга, Длиннопост, Повреждение груза, Негатив
Отправил личные вещи через ПЭК - получил мусор Переезд, Транспортная компания, Пэк, Без рейтинга, Длиннопост, Повреждение груза, Негатив
Показать полностью 9
2933

Язык твой - враг твой

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