Синтаксический сахар. То что они сделали с null проверками — приятно, не надо будет лишних конструкций городить.
Насчет интерполяции… очень спорно: Regex, SQL да и всякие такие строковые команды всегда было сложно дебажить, особенно когда они большие. А тут, большие строки, станут еще больше и будут встречаться не подсвеченные «винегреты», которые, не дай бог, написаны в одну строку. Останется подсолить их многоуровневыми if, засунуть их в какой-нибудь SQL запрос и это читать будут только под дулом пистолета.
Чтобы не передавать весь код каждый раз, просто создайте в вашем приложении хранимую процедуру и вызывайте ее обычным рестом.
П.С: Тоже пользуюсь этой фишкой. Только еще и через несколько акков )
Я думаю, те кто так или иначе качал инфу юзеров/групп контакта знают про эту штуку. Правда скачивание лайков все еще является убийственным, по количеству запросов.
Великолепная статья. Еще было бы неплохо написать про «темную» сторону regexp (backtracking) и про полезные инструменты для создания:
1) RegexBuddy — отлично подходит для отладки и оптимизации выражений.
2) Графический онлайн визуализатор выражений
Извините, конечно, но на мой взгляд статья больше похожа на лабораторную студента 2 курса.
Как бы то ни было, можно заключить, что разработка игры не является непосильной задачей.
Как раз в таком варианте она является более непосильной. Любой школьник на Unity то же самое сделает лучше, быстрее, и кроссплатформенность будет присутствовать.
Вообще, из статьи мало понятно, для чего вообще этот kit, ведь игры чаще делаются на движках. А здесь больше попахивает соло-вело-программистом…
PS:
Код выглядит очень непрезентабельно: используйте поменьше «магических чисел» и побольше паттернов, а все законы и теоремы лучшее вообще выводить в отдельные функции. А то при первом взгляде на ваш код, перед глазами всплывает вот это нечто.
У нас в МАИ по сей день на втором курсе информатики все тестирование всех алгоритмов по Дискретному анализу происходит через чекер и почту к нему привязанную, вообще без преподов. Только он намного жестче… если у тебя ошибка, то печаль — не выдает никакой информации о ней и ниоткуда ее не достанешь. После какого-то количества отправлений ~20 можно считать, что лабу ты не сдал.
Хотя ёркий студент найдет выход из самой темной дыры, но сам факт будоражит сознание. Как говорили преподы: «Это очень правдопобоная иммитация суровой реальности, с которой вы столкнетесь на настоящей работе.»
Как правило таких, которые разговаривают, как со взрослым: по пальцам пересчитать. Тех что сюсюкается больше, а остальные же говорят в терминах, которые несут за собой огромное вложенное дерево других терминов и пытаясь объяснить что значит каждый из них влечет за собой правило 7 объектов (нельзя держать больше семи объектов в памяти одновременно) и весь процесс объяснения вопроса сводится к:
— Понятно?
— Угу.
— А что я сказал?
— Угу.
Ну как сказать, на самом деле. Переписали бы они его и все бы наладилось. Чаще всего все тормоза связаны с ущербность движка и с тем, что поддержки подобного функционала с самого начала не задумывалось, но вот захотелось людям и сделали.
Взять хотя бы бесконечные моря багов дупликации предметов, свзанных с ковертацией блоков в предметы и обратно — это же откровенный ахтунг.
Многое там не продумано, например, мобы: им без зазрения совести можно отключать все AI если игрок их не видит и на игроке не висит тригер моба, а этого не делается, через стены видны все их процессы за километры, а это лишнее вычислительное время. С карьерами вообще отдельная тема, они сделаны так, чтобы чанк на котором он стоит постоянно пахал, следственно если туда нафигачить свиней каких — все естественно просядет, ибо мобы не могут покинуть чанк.
Редстоун связи — еще одно узкое место, вместо того, чтобы хранить их ввиде графа и пересчитывать связи при изменении цепи, они используют surrounding update, что конкретно зажирает производительность в разы, если цепь замкнута, например, в круг: она будет фигачить 15 тактов во все стороны от источника.
Вам показывали как работали эти сервера? Такие крупные компании давно вышли на уровень гос-важности, если не выше и то, что реально там на железе происходит Вам не увидеть. Следственно, никаких гарантий по факту, только формальное соглашение.
Это не яндекс отреагировал. Это их бот который следит за действиями пользователя (места, время, поведение и тд и тп) залочил подозрительную активность.
Хотите пруфов? Я подтверждаю, что такая база есть и одна из ссылок здесь выложенных ведет на форум где можно скачать этот архив, в котором файл на 38.1 мб. Один из обитателей сего форума выложил открытую ссылку.
Ну это я сморозил, конечно, но смысл я думаю понятен — это яркий роспил, не та цена за подобное задание. Нелегалы в этой сети — основной контингент, они, не побоюсь сказать, ворочают миллионы мимо кассы, а МВД хочет их всех поймать за гроши — жалкое зрелище ))
Роспил, не более. Если взлом будет найден, его себестоимость будет ого-го какая. Представьте: моря педофилов, реки наркоманов, нелегалов, торгаши движимостью и недвижимостью — данные всех этих кадров окажутся у взломщиков…
За эту информацию те же МВД готовы заплатить много больше, чем за метод взлома.
А нет, не берите в голову, это я написал не для того, чтобы укорить вашу идею в чем-то, нет ) Просто я увидел комментарий про ностальгию и очень захотелось рекламнуть про движок )
По вашей теме, советую почитать и вникнуться в — www-cs-students.stanford.edu/~amitp/game-programming/polygon-map-generation/
Там и реки и все на свете вокруг одной «полигональной» идеи можно строить )
Слышали про Fallout? Так вот есть очень хороший online-хардкорный ремейк, в котором помимо turn-based режима есть еще и real-time боевка. Вся графика поддерживается в строгом стиле Fallout 1/2, дофигища всего помимо оригинальных возможностей (контроль городов, крафт, профессии и тд и тп) и даже встроена поддержка 3d не говоря уже об освещении.
Коммунити большое и проект называется FOnline. Вот там действительно ремейк так ремейк. Правда, играть одному там нереально сложно.
Серверный движок в открытом доступе, при желании можно даже нагромоздить обычный Fallout поверх этого движка.
Кстати, ваша идея про очистку от ненужных слов в задаче кластеризации имеет свое решение — TF-IDF
Сам занимаюсь компьютерным анализом русскоязычных текстов. Данная мера позволяет легко от подобного мусора избавиться. Вкратце, можно отсеивать слова, которые встречаются реже всего (вероятнее всего являются ошибкой или очень специфичным словом, например, ссылка, адрес почты, число и тд) и слова, которые есть практически везде (the, is, a, be ....).
В моих задачах это нужно, чтобы у кластера в образующих элементах не попадалось этого мусора и не образовывался слишком огромный, обобщенный кластер. У вас я думаю можно проделать то же самое.
Насчет интерполяции… очень спорно: Regex, SQL да и всякие такие строковые команды всегда было сложно дебажить, особенно когда они большие. А тут, большие строки, станут еще больше и будут встречаться не подсвеченные «винегреты», которые, не дай бог, написаны в одну строку. Останется подсолить их многоуровневыми if, засунуть их в какой-нибудь SQL запрос и это читать будут только под дулом пистолета.
П.С: Тоже пользуюсь этой фишкой. Только еще и через несколько акков )
Я думаю, те кто так или иначе качал инфу юзеров/групп контакта знают про эту штуку. Правда скачивание лайков все еще является убийственным, по количеству запросов.
1) RegexBuddy — отлично подходит для отладки и оптимизации выражений.
2) Графический онлайн визуализатор выражений
Как раз в таком варианте она является более непосильной. Любой школьник на Unity то же самое сделает лучше, быстрее, и кроссплатформенность будет присутствовать.
Вообще, из статьи мало понятно, для чего вообще этот kit, ведь игры чаще делаются на движках. А здесь больше попахивает соло-вело-программистом…
PS:
Код выглядит очень непрезентабельно: используйте поменьше «магических чисел» и побольше паттернов, а все законы и теоремы лучшее вообще выводить в отдельные функции. А то при первом взгляде на ваш код, перед глазами всплывает вот это нечто.
Хотя ёркий студент найдет выход из самой темной дыры, но сам факт будоражит сознание. Как говорили преподы: «Это очень правдопобоная иммитация суровой реальности, с которой вы столкнетесь на настоящей работе.»
Страшныйкурносыйпарень слева практически полностью зарэмил еще одно действующее лицо.— Понятно?
— Угу.
— А что я сказал?
— Угу.
Взять хотя бы бесконечные моря багов дупликации предметов, свзанных с ковертацией блоков в предметы и обратно — это же откровенный ахтунг.
Многое там не продумано, например, мобы: им без зазрения совести можно отключать все AI если игрок их не видит и на игроке не висит тригер моба, а этого не делается, через стены видны все их процессы за километры, а это лишнее вычислительное время. С карьерами вообще отдельная тема, они сделаны так, чтобы чанк на котором он стоит постоянно пахал, следственно если туда нафигачить свиней каких — все естественно просядет, ибо мобы не могут покинуть чанк.
Редстоун связи — еще одно узкое место, вместо того, чтобы хранить их ввиде графа и пересчитывать связи при изменении цепи, они используют surrounding update, что конкретно зажирает производительность в разы, если цепь замкнута, например, в круг: она будет фигачить 15 тактов во все стороны от источника.
За эту информацию те же МВД готовы заплатить много больше, чем за метод взлома.
По вашей теме, советую почитать и вникнуться в — www-cs-students.stanford.edu/~amitp/game-programming/polygon-map-generation/
Там и реки и все на свете вокруг одной «полигональной» идеи можно строить )
Коммунити большое и проект называется FOnline. Вот там действительно ремейк так ремейк. Правда, играть одному там нереально сложно.
Серверный движок в открытом доступе, при желании можно даже нагромоздить обычный Fallout поверх этого движка.
Сам занимаюсь компьютерным анализом русскоязычных текстов. Данная мера позволяет легко от подобного мусора избавиться. Вкратце, можно отсеивать слова, которые встречаются реже всего (вероятнее всего являются ошибкой или очень специфичным словом, например, ссылка, адрес почты, число и тд) и слова, которые есть практически везде (the, is, a, be ....).
В моих задачах это нужно, чтобы у кластера в образующих элементах не попадалось этого мусора и не образовывался слишком огромный, обобщенный кластер. У вас я думаю можно проделать то же самое.