Искусственная глупость: искусство намеренных ошибок

Автор: admin от 29-07-2017, 12:35, посмотрело: 42

Искусственная глупость: искусство намеренных ошибок



Всё должно быть изложено так просто, как только возможно, но не проще.

— Альберт Эйнштейн


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



Частая ошибка в разработке и реализации систем ИИ в компьютерных играх заключается в слишком сложном дизайне. Разработчику ИИ легко увлечься созданием умного игрового персонажа и потерять из виду конечную цель, а именно создание развлекающей игры. Если у игрока есть иллюзия того, что компьютерный противник делает что-то умное, то неважно, каким образом ИИ (если он есть) создаёт эту иллюзию. Признак хорошего программиста ИИ — способность противостоять искушению добавить интеллекта туда, где он не нужен, и распознавание ситуаций, в которых достаточно более «дешёвых» и простых решений. Программирование ИИ часто больше похоже на искусство, чем на науку. Способность различать моменты, в которых достаточно дешёвых трюков, и тех, где требуется более сложний ИИ, даётся непросто. Например, программист, обладая полным доступом ко всем структурам игровых данных, легко может читерить, сделав NPC всезнающими. NPC могут знать, где находятся враги, где лежит оружие или амуниция, не видя их. Однако, игроки часто распознают такие дешёвые трюки. Даже если они не могут определить саму природу читерства, у них может создаться ощущение, что поведение NPC не похоже на естественное.
->

Категория: Программирование » Веб-разработка

 

Конструктор

Автор: admin от 28-07-2017, 12:45, посмотрело: 42

Конструктор


Денис Паясь (Яндекс)



Меня зовут Денис, я работаю в Яндексе, а если точнее, то я занимаюсь разработкой фронтенда для страницы поисковой выдачи.



Дисклеймер: Денис рассказывал об этом в 2016 году, но мы посчитали, что как демонстрация архитектурного подхода сейчас этот доклад актуален даже больше, чем тогда.


Сегодня я расскажу про такую офигительную нашу внутреннюю штуку как Конструктор, про то как он получился, почему, и как мы вообще к этому всему пришли.Мне кажется, что те решения, которые мы приняли в процессе реализации этой замечательной фиготы, могут быть полезны не только нам в рамках нашей компании, нашей команды, но и целому множеству других команд, в ваших, например, компаниях. Я не знаю упомянул я или нет, но проект реально очень крутой. Почему – сейчас расскажу.
->

Категория: Программирование » Веб-разработка

 

«Пятничный формат»: Как погасить пламя или 8 верных способов загубить разработку

Автор: admin от 28-07-2017, 11:35, посмотрело: 39

Быть руководителем технической команды, безусловно, — огромная ответственность. Направляя профессионалов в нужное русло, можно создать по-настоящему гениальные вещи. С тем же успехом их можно уничтожить в зародыше. Об этом наш материал далее.



«Пятничный формат»: Как погасить пламя или 8 верных способов загубить разработку ->

Категория: Программирование » Веб-разработка

 

Немного о SSL-сертификатах: Какой выбрать и как получить

Автор: admin от 27-07-2017, 19:55, посмотрело: 236

20 июля компания Google объявила о том, что браузер Chrome перестает считать доверенными SSL-сертификаты, выданные центром сертификации (CA) WoSign и его дочерним предприятием StartCom. Как пояснили в компании, решение связано с рядом инцидентов, не соответствующим высоким стандартам CA, — в частности, выдаче сертификатов без авторизации со стороны ИТ-гиганта.



Чуть ранее в этом году также стало известно, что организации, ответственные за выдачу сертификатов, должны будут начать учитывать специальные DNS-записи. Эти записи позволят владельцам доменов определять «круг лиц», которым будет дозволено выдавать SSL/TLS-сертификаты для их домена.



Все эти решения в какой-то степени связаны с увеличением числа хакерских атак и фишинговых сайтов. Зашифрованные соединения с веб-сайтами по HTTPS приобретают всё большее распространение в интернете. Сертификаты не только позволяют зашифровать данные, пересылаемые между браузером и веб-сервером, но и удостоверить организацию, которой принадлежит сайт. В сегодняшнем материале мы посмотрим, какие виды сертификатов бывают и коснемся вопросов их получения.



Немного о SSL-сертификатах: Какой выбрать и как получить ->

Категория: Программирование » Веб-разработка

 

Planning Poker: как сделать процесс постановки задач максимально прозрачным и четким

Автор: admin от 27-07-2017, 18:00, посмотрело: 23

В прошлом посте мы рассказали о том, как работаем с бэклогом, а сегодня поделимся подробностями о процессе планирования, который в нашем случае не только полезный, но и увлекательный, поскольку оценку задач мы проводим с помощью «Planning Poker».



Planning Poker: как сделать процесс постановки задач максимально прозрачным и четким
->

Категория: Программирование » Веб-разработка

 

JavaScript без this

Автор: admin от 27-07-2017, 16:05, посмотрело: 34

Ключевое слово this в javascript можно назвать одной из наиболее обсуждаемых и неоднозначных особенностей языка. Всё дело в том, что то, на что оно указывает, выглядит по-разному в зависимости от того, где обращаются к this. Дело усугубляется тем, что на this влияет и то, включён или нет строгий режим.



JavaScript без this



Некоторые программисты, не желая мириться со странностями this, стараются вовсе не пользоваться этой конструкцией языка. Не вижу тут ничего плохого. На почве неприятия this было создано много полезного. Например — стрелочные функции и привязка this. Как результат, при разработке можно практически полностью обойтись без this.
->

Категория: Программирование » Веб-разработка

 

#!ProgMsk Meetup: Виртуализация и DevOps в офисе Tutu.ru

Автор: admin от 27-07-2017, 14:10, посмотрело: 33

#!ProgMsk Meetup: Виртуализация и DevOps в офисе Tutu.ru

Всем привет!



3 августа проводится очередная встреча Московского Клуба Программистов в офисе Туту.ру. Всё, чем мы занимаемся в Туту.ру, — на 100% пропитано информацией и технологиями для её сбора, хранения, интеграции и анализа.



На этом митапе наш CTO ( Molodoi ) поделится инсайдами о том, как в реальности происходит разработка и сопровождение кода в Туту.ру на жизненных примерах. Затем…
->

Категория: Программирование » Веб-разработка

 
 

Покойся с миром, REST. Долгих лет жизни GraphQL

Автор: admin от 26-07-2017, 23:45, посмотрело: 38

Перевод. Автор оригинала Samer Buna. Оригинал статьи.

Когда я впервые узнал о GraphQL после долгого использования различных REST API, то не мог удержаться от твитов такого содержания:

Rest API превратился в REST-in-Peace API. Долгих лет жизни GraphQL



Примечание переводчика – Rest In Peace, RIP – распространенная эпитафия "Покойся с миром". Первое слово в ней пишется так же, как акроним REST.

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



Поймите правильно. Я не собираюсь обвинять GraphQL в убийстве REST или чём-то таком. REST не умрет никогда, также как XML будет жить вечно. Но кто в здравом уме станет использовать XML поверх JSON? На мой взгляд, GraphQL сделает для REST то же самое, что JSON сделал для XML.

->

Категория: Программирование » Веб-разработка

 

Пиратство и четыре валюты

Автор: admin от 26-07-2017, 19:20, посмотрело: 35

Проблема большинства споров о проблеме пиратства состоит в том, что в них «стоимость» оценивается только в «денежных» долларах. Поэтому проблему формулируют примерно так: «Покупая игру у нас, пользователь тратит денежные доллары. Пиратская копия стоит ноль денежных долларов. Значит, большинство людей будет пиратить игру, если у них будет выбор, поэтому нужно любой ценой остановить их».



Пиратство и четыре валюты
Известный всем денежный доллар.



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



Я предлагаю такие обозначения:




  • ($Д) Денежные доллары

  • ($В) Временные доллары

  • ($Г) Доллары головной боли [в оригинале «Pain-in-the-butt-dollars»]

  • ($Ч) Доллары честности



  • Игрок делает выбор купить или спиратить игру на основании того, сколько «стоит» каждая услуга (а не продукт!) в этих четырёх валютах, а также в зависимости от ценности для игрока каждой из них.
    ->

    Категория: Программирование » Веб-разработка