X
Пользователь приглашает вас присоединиться к открытой игре игре с друзьями .
Ctrl предыдущая следующая Ctrl Страницы
1 2 3

Форум «Общий» / На чём бы вы написали свои КлавоГонки-2018?

un4given Сообщение #1 22 января 2018 в 03:44
Кибергонщик
103
Всем большой хай!

Я знаю, что среди клавогонщиков есть уйма грамотных разработчиков (правда они как следует шифруются), так что в первую очередь в этот топик я приглашаю именно их.

Сразу хочу предупредить: этот топик никоим образом не отображает реальное положение дел и предназначен исключительно для того, чтобы как следует пофантазировать.

Итак, закройте глаза и представьте, что перед вами стоит невероятная задача: написать КлавоГонки™ с нуля (с тем же функционалом: более-менее реалтайм мультиплеер, поддержка 100+ одновременных игроков в заезде, плюшки, статистка и т.д. и т.п.)

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

При этом желательно:

1) разделить будущую архитектуру на составные части (к примеру: клиент − то-то и то-то, сервер − то-то и то-то, бд − такая-то и такая-то, чат − то-то и то-то и т.д.)
при этом сама архитектура жёстко не ограничена: кто как хочет, тот пусть так и конструирует;

2) по возможности аргументировать выбор той или иной технологии;

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

Честное слово, я не знаю, не впустую ли вы потратите своё время, расписывая своё ви́дение, но зато хотя бы у вас будет возможность высказаться, а это уже неплохо!

Что ж, я с нетерпением ожидаю ваших невероятных идей, так что думайте и высказывайтесь.
JustSo Сообщение #2 22 января 2018 в 10:56
Кибергонщик
35
Сразу скажу что я не разработчик. Но определенные мысли на этот счет есть.

Клиент: React / Vue.js / Polymer. Современные, очень мощные, быстрые и модульные фреемворки.
Бэкенд: Python 3 + asyncio. Последний Python 3 это бомба, язык никогда не стоял на месте, но то что он представляет из себя сейчас в последних версиях - однозначно заслуживает внимания. Для данной задачи, мне кажется, это идеальное решение. Он прост и невероятно быстр в разработке, как в команде, так и в одну будку, он прозрачен функционален. Хороших опытных программистов на нем достаточно много, проблем с поиском кадров не будет.
По БД стандартно: Postgres, redis.
По чату: если бы не интеграция с заездами, то вообще бы сказал - использовать телеграм. А так не знаю. Реализация на фреемворках.

Вообще считаю, что все будет зависеть от человека или команды, которая будет делать. Сделать хорошо можно разными способами и разными инструментами. Сделать плохо можно даже применив правильные технологии.
Korner Сообщение #3 22 января 2018 в 19:37
Экстракибер
65
Главное, если кто-нибудь вдруг надумает запилить свои Клавогонки, не забудьте, ни в коем случае не забудьте взять дизайнером Лёву!
скрытый текст…
un4given Сообщение #4 23 января 2018 в 19:09
Кибергонщик
103
Неужто я переоценил аудиторию? И здесь разрабов не осталось?
Очень надеюсь, что разрабы просто собираются с мыслями, чтобы вдумчиво ответить. Ждём-с
ASplayer9119 Сообщение #5 23 января 2018 в 19:36
Маньяк
35
Нода (коа/экспресс), реакт, какую-нибудь библиотеку для сокетов (soket.io/sock.js, чтобы не городить велосипеды), постгрес, редис

Аргументов нет - Я ТАК ВИЖУ

Andre_Macareno Сообщение #6 23 января 2018 в 19:57
Экстракибер
26
un4given писал(а):
Неужто я переоценил аудиторию? И здесь разрабов не осталось?

Я под андроид пишу, могу только предположить, что бэк был бы у меня на плюсах/голанге + NoSQL какой-нибудь.
AlexeiD Сообщение #7 24 января 2018 в 07:42
Супермен
51
Клиент - jQuery версии 1.12. Все эти "модные" React/Vue тормозные и не поддерживают IE8.
Сервак - PHP+Mysql, ничего лучше нет и не будет.
Никаких сторонних библиотек, не доверяю я им, своё всегда лучше.

Если сейчас начать писать, наверное к следующим президентским выборам заезды уже будут готовы.
agile Сообщение #8 24 января 2018 в 12:01
Супермен
37
AlexeiD писал(а):
Все эти "модные" React/Vue тормозные

А что понимается под скоростью конкретной библиотеки/фреймворка на JavaScript?

AlexeiD писал(а):
не поддерживают IE8

В свою очередь, Microsoft не поддерживает IE8 уже два года. А во всем мире этот браузер используют менее 0.3% пользователей.
un4given Сообщение #9 24 января 2018 в 13:45
Кибергонщик
103
Поздравляю, agile, Ты купился на трололо

А без трололо если?
Just Сообщение #10 24 января 2018 в 14:13
Супермен
57
Очередная попытка создать свои клавогонки с блэкджеком и шлюхами кораблями и своими заездами?

Здесь рассматривается гипотетическая возможность создания, дабы сравнить знание технологий? Или всё же реальный проект думаете мутить (ога, создание конкурента обсуждается на форуме КГ)?
AlexeiD Сообщение #12 24 января 2018 в 14:30
Супермен
51
Да не вижу особо смысла рассматривать технологии.
Клавогонки ничем не отличаются принципиально от 90% современных веб-приложений. Берем что актуально на текущий момент и пилим.
Мне больше по душе связка .net core + vue + ts. Аргументы могу написать, если надо. Но если это будет node + react + flow, вот не пофиг? Базу данных берем любую, нагрузка копеечная, особенно если использовать кэширование позиций и прочего как сейчас. Сокеты берем трендовые для выбранной технологии.
Объективно проще и дешевле набыдлокодить на том, что знает подписавшийся под это дело человек. Если уж совсем криво напишет, то добавить 1-2 тысячу в месяц на апгрейд хостинга.

Интереснее решить вопрос, ГДЕ ДЕНЬГИ ЗИН?
В случае разработки проекту требуется от 100к рублей в месяц. Беру 20к на хостинг, 80к разработчику. Это самый минимум, и с учетом того, что собственник проекта - добрый человек и не хочет получать с проекта прибыль.
Предположим, что что-то путное (играбельное + с монетизацией) он сможет в одиночку выплюнуть через полгода. Т.е. 600 тысяч рублей своих денег собственнику придется вложить.
Как всё это окупать? Тысяч 50 в месяц я пойму, если сейчас соберет дозаправка. Больше - вряд ли. В клавопик в районе 2010-2012 может можно было собирать существенно больше.
Сейчас надо привлекать новых пользователей, среди молодежи, но как? В 2008 из убивалок времени были combats.ru да всякие удафкомы/пикабу и прочие. Можно было вылезти на оригинальной идее. Сейчас конкурентов мать-тьмущая. Чтобы хоть куда-то вылезти, надо будет семизначную цифру тратить на рекламу и продвижение. И эту цифру тоже надо будет как-то отбивать.

Поэтому я не вижу никаких перспектив у клавогонок/каких-то аналогов. Варианты только такие:
- придумать очень много соревновательности и достижений, как сильно, так и слабосвязанных с набором на клавиатуре. Обязательно многоязычную, т.к. только в русском сегменте ловить нечего. В это надо вложить очень много денег, с крайне низким шансом всё это отбить. Я бы даже не начинал пробовать.
- уйти в очень узкую нишу деятельности, как сделал nitrotype.com, зарабатывая на продажах в американские школы. Но у нас это нереально.
- уйти в "анальный f2p", строго платный абонемент, придумать какие-то плюшки, попробовать набрать стабильную базу в условные 500 пользователей и сидеть в копеечном плюсе.
- ничего не делать, ещё через пару лет закрыть klavogonki.ru
AstonMartinDB10 Сообщение #13 24 января 2018 в 15:32
Экстракибер
41
AlexeiD писал(а):
Мне больше по душе связка .net core + vue + ts. Аргументы могу написать, если надо.

Пожалуйста.
agile Сообщение #14 24 января 2018 в 17:19
Супермен
37
un4given писал(а):
А без трололо если?

Если без трололо — тоже не вижу смысла расписывать здесь свой любимый набор технологий. Равно как и обсуждать вопрос об окупаемости подобного проекта (ее не будет никогда) — сейчас вообще мало кого интересует слепой метод набора на клавиатуре; современные люди тыкают одним пальцем сенсорные экраны своих телефонов и планшетов, и вроде счастливы

Поэтому если такой проект и будет когда-либо сделан, то

  1. Он будет рассчитан на узкую аудиторию.
  2. Акцент будет поставлен на тренажер, а соревнования по набору будут вторичны.
  3. Будет разрабатываться крайне медленно и может «загнуться» в любой момент (как и любой другой пет-проект).


Лично мое видение такого проекта (основные моменты):

  1. Открытый исходный код клиента и сервера.
  2. Полноценный клавиатурный тренажер, с возможностью расширения опытными пользователями (программируемые курсы с доступом ко всем параметрам набора обучаемого).
  3. Мультиязычность.
  4. Возможность добавления произвольной логической раскладки для «экранной клавиатуры» тренажера.
  5. Обработка всех событий клавиатуры на сервере для соревнований. Это не понравится параноикам, но в таком случае отпадает необходимость в аналоге квалификации Клавогонок + у каждого пользователя появится возможность проанализировать набор быстрых игроков, найти свои слабые места.
  6. Поддержка режима соревнований, аналогичного Intersteno: за отведенное время нужно набрать текст без подсветки текущего слова/символа и без блокировки набора, если была допущена ошибка.
  7. Автоматический подбор подходящего по уровню соперника для быстрой «дуэли».
Владимир2о18 Сообщение #15 24 января 2018 в 21:49
Маньяк
36
Личесс в своё время переписали с нуля на новом стеке. Шах и мат, скептики!
Последний раз отредактировано 24 января 2018 в 22:20 пользователем Владимир2о18
un4given Сообщение #16 24 января 2018 в 22:47
Кибергонщик
103
Владимир2о18 писал(а):
Личесс в своё время переписали с нуля на новом стеке. Шах и мат, скептики!


кому интересно, про Личесс можно почитать тут, непосредственно от автора.

но Владимир забыл указать, с чего на что переписали, пожелаем же ему исправиться.
Владимир2о18 Сообщение #17 24 января 2018 в 23:35
Маньяк
36
un4given, было, стало
Стек старого личеса очень похож на клавогонки, между прочим.
AlexeiD Сообщение #18 25 января 2018 в 07:38
Супермен
51
Владимир2о18 писал(а):
Личесс в своё время переписали с нуля на новом стеке. Шах и мат, скептики!


Вроде никто не против, что переписывание продукта - это часто благо, а иногда необходимость.

Но надо понимать, что это разные категории.
Шахматы в США (страны, откуда идет подавляющее большинство денег на членские взносы и донаты) и раньше были достаточно популярным развлечением. А последние 10 лет, благодаря стараниям Накамуры и Карлсена (он к США мало имеет отношения, но очень много делает для популяризации в мире) стали очень популярным развлечением. На них большой спрос. Есть полно бесплатных серверов, есть крупные платные.
Например, широко известный Internet Chess Club живет уже более 20 лет, при годовой подписке в районе 60$. Пару лет назад у них было около 40000 подписчиков, обычный онлайн в вечернее время США более 4000.
Последний раз отредактировано 25 января 2018 в 07:40 модератором AlexeiD
Сударушка Сообщение #19 25 января 2018 в 14:02
Маньяк
57
Считается, что история шахмат насчитывает не менее полутора тысяч лет. (из вики)

Будем надеяться, что через пятьсот-тысячу лет (учитывая ускорение времени) и набор на клавиатуре может приобрести отдаленно сопоставимую популярность.
"Жаль только — жить в эту пору прекрасную. Уж не придется — ни мне, ни тебе".
gevis Сообщение #20 25 января 2018 в 16:30
Таксист
6
Владимир2о18 писал(а):
Личесс в своё время переписали с нуля на новом стеке. Шах и мат, скептики!


Да, пример Личесса — вселяет надежду. (Написал бы “вдохновляет”, если был бы готов сам этим заняться.)
Причём, там даже нет рекламы! (Текстовую рекламу можно было бы и оставить, если это давало бы не сильно “смешное” дополнительное финансирование.)

un4given писал(а):
Кому интересно, про Личесс можно почитать тут, непосредственно от автора.


Судя по тому, что я понял из откровений автора Личесса, клиент многократно переписывался на разных версиях JavaScript, пока не была достигнута лёгкость его исполнения в любом браузере. И в этом отношении к выбору автора Личесса стоит присмотреться повнимательней.

Что касается языка Scala в качестве основы серверной части, о первоначальном выборе которого автор Личесса не жалеет, то он скорее всего базировался на том, что язык должен быть масштабируемым, с возможностью параллельного исполнения и должен позволять писать легко поддерживаемый код. У Scala всё это есть.
Кроме того, список созданных на его основе сайтов впечатляет.

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

На Python3 найдется много энтузиастов, вот только я не уверен, что он соответствует требованиям масштабируемости и возможности параллельной обработки запросов.

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

В качестве базы данных согласен с предложениями о PostgreSQL.

И, да, желательно чтобы разработка сайта велась в открытом доступе всеми желающими, где-нибудь на GitHub'е.
Последний раз отредактировано 25 января 2018 в 17:30 пользователем gevis
un4given Сообщение #21 25 января 2018 в 18:30
Кибергонщик
103
gevis писал(а):
И, да, желательно чтобы разработка сайта велась в открытом доступе всеми желающими, где-нибудь на GitHub'е.


Я сам предупреждал не холиворить, но не могу удержаться.

С одной стороны открытый доступ − это хорошо. Много энтузиастов будут принимать участие и это безусловно прекрасно.

Но ведь есть и минусы. Например, любой может взять и создать клоника вообще не напрягаясь. Вы можете парировать, мол «а чо, конкуренция − это всегда хорошо!»...
Но, позвольте, какая же это конкуренция, когда я свой кровный код просто взял и отдал на растерзание всем желающим, а они поменяли в нём одну буковку и теперь тоже являются «типа равноценными» разработчиками
А как же уязвимости? Уверен, в текущей реализации КГ есть полно слабых мест, которые когда-то со временем может быть и залатают, но пока они будут торчать наружу задницей, найдётся уйма мамкиных хакеров, которые с удовольствием эту дырку попользуют. (Они и так пользуют, но вслепую, методом тыка)

Чтобы писать в форуме, нужно зарегистрироваться.

Ctrl предыдущая следующая Ctrl Страницы
1 2 3

Связаться
Выделить
Выделите фрагменты страницы, относящиеся к вашему сообщению
Скрыть сведения
Скрыть всю личную информацию
Отмена