Все, кто начинал заниматься реализацией игрового искусственного интеллекта, наверняка сталкивались с проблемой реализации движений своих персонажей. Дело в том, что поведение и в реальном мире в большей степени определяет интеллектуальность того или иного существа. Даже люди друг друга зачастую оценивают по поведению (что немного неверно). Эта статья рассчитана на тех, кто только приступает к реализации своего первого игрового ИИ. Я расскажу о видах перемещений, их преимуществах и недостатках, а также покажу на примере как можно реализовать тот или иной способ на языке C++. Замечания и критика, а так же свои точки зрения приветствуются.
Vladimir Kosteley @Parano1d
Developer, DevOps engineer
Своя игра с JavaScript и Canvas
9 min
106K
способа, чем написать простейший 2D платформер. Помимо удовольствия от разработки игрушки и улучшения навыков в использовании JavaScript, в ходе
+116
[Перевод] Современный веб-разработчик, или 6 вещей, которые вы должны знать, чтобы выжить
4 min
97K
+95
Бесплатная книга «HTML5. Руководство разработчика»
12 min
133K
Выпал снежок и как-то незаметно пришло праздничное, предновогоднее настроение. Чтобы как-то поддержать праздничный дух, мы решили сделать небольшой сюрприз от издательства и порадовать наших читателей бесплатной электронной книгой Марка Пилгрима «HTML5. Руководство разработчика» (DIVE INTO HTML5). Оригинал книги также есть в бесплатном варианте в Интернете.
Прежде чем скачать книгу целиком, предлагаем вам познакомиться с первой главой:
Глава 1. Как мы сюда попали?
Приступим
Недавно я прочел высказывание одного разработчика для платформы Mozilla, где говорится о той напряженности, которая всегда сопутствует разработке стандартов:
Спецификация и программная реализация должны пройти путь осторожного совместного развития. Ведь, с одной стороны, не хочется, чтобы реализация появилась раньше, чем выйдет окончательная версия стандарта, иначе разработчики станут принимать во внимание особенности конкретной программы, то есть в дело пойдет лишь фрагмент спецификации. С другой стороны, не хочется утверждать полный стандарт до выхода хотя бы одной реализации, иначе придется обойтись без обратной связи, в частности, не будут приняты в расчет мнения создателей программ. Противоречие неизбежно. Нам остается решать проблему методом проб и ошибок .
Пока я буду рассказывать, как появился HTML5, помните эти слова.
+83
Марсианский код: лекция о том, как программировали Curiosity
1 min
33KНа конференции HotDep 2012 Джерард Хольцман из Лаборатории реактивного движения НАСА прочёл лекцию о том, как обеспечивалась надёжность и корректность кода для марсохода Curiosity. Часовая лекция рассказывает, какие методики, стандарты кодирования и инструменты разработки применялись программистами НАСА, чтобы написать три с половиной миллиона строк сверхнадёжного кода, который в автономном режиме посадил Curiosity на поверхность Марса и обеспечивает работу всех его систем и приборов.
Лекцию можно посмотреть онлайн на сайте usenix.org, или скачать в формате .mp4 (228 Мб).
Лекцию можно посмотреть онлайн на сайте usenix.org, или скачать в формате .mp4 (228 Мб).
+24
Как начать писать игры
9 min
349KTutorial
Оригинал: Starting out on Game Programming
Путь в индустрию игровых разработок не близок. Эта статья призвана помочь понять с чего лучше начать это путешествие.
Вы только что закончили ваш первый курс по С++ и хотите начать делать игры. Кто-то указал вам на этот сайт и вы, возможно, поэкспериментировали немного с руководством. Вы изучили несколько лаконичных примеров, но не нашли руководства о том, как сделать целую игру. И на то есть причина.
Руководства хороши для обучения чему-то шаг за шагом, например тому, как перемещать изображение точки по экрану. Для того чтобы собрать игру воедино, вам нужны навыки решения возникающих проблем, приобретаемые лишь с опытом. Это не то, чему можно научиться из руководств. Лучший способ научиться делать игры — это начать их делать.
Путь в индустрию игровых разработок не близок. Эта статья призвана помочь понять с чего лучше начать это путешествие.
Вы только что закончили ваш первый курс по С++ и хотите начать делать игры. Кто-то указал вам на этот сайт и вы, возможно, поэкспериментировали немного с руководством. Вы изучили несколько лаконичных примеров, но не нашли руководства о том, как сделать целую игру. И на то есть причина.
Руководства хороши для обучения чему-то шаг за шагом, например тому, как перемещать изображение точки по экрану. Для того чтобы собрать игру воедино, вам нужны навыки решения возникающих проблем, приобретаемые лишь с опытом. Это не то, чему можно научиться из руководств. Лучший способ научиться делать игры — это начать их делать.
+104
Оптимальные опции для x86 GCC
4 min
57K Распространено мнение, что GCC отстает по производительности от других компиляторов. В этой статье мы постараемся разобраться, какие базовые оптимизации GCC компилятора стоит применить для достижения приемлемой производительности.
+81
Makefile для самых маленьких
4 min
814KTutorial
Не очень строгий перевод материала mrbook.org/tutorials/make Мне в свое время очень не хватило подобной методички для понимания базовых вещей о make. Думаю, будет хоть кому-нибудь интересно. Хотя эта технология и отмирает, но все равно используется в очень многих проектах. Кармы на хаб «Переводы» не хватило, как только появится возможность — добавлю и туда. Добавил в Переводы. Если есть ошибки в оформлении, то прошу указать на них. Буду исправлять.
Статья будет интересная прежде всего изучающим программирование на C/C++ в UNIX-подобных системах от самых корней, без использования IDE.
Компилировать проект ручками — занятие весьма утомительное, особенно когда исходных файлов становится больше одного, и для каждого из них надо каждый раз набивать команды компиляции и линковки. Но не все так плохо. Сейчас мы будем учиться создавать и использовать Мейкфайлы. Makefile — это набор инструкций для программы make, которая помогает собирать программный проект буквально в одно касание.
Статья будет интересная прежде всего изучающим программирование на C/C++ в UNIX-подобных системах от самых корней, без использования IDE.
Компилировать проект ручками — занятие весьма утомительное, особенно когда исходных файлов становится больше одного, и для каждого из них надо каждый раз набивать команды компиляции и линковки. Но не все так плохо. Сейчас мы будем учиться создавать и использовать Мейкфайлы. Makefile — это набор инструкций для программы make, которая помогает собирать программный проект буквально в одно касание.
+65
UICloud: Самая большая база пользовательских интерфейсов
1 min
35K
UICloud — это база бесплатных пользовательских интерфейсов с поисковой системой, рейтингом и каталогизатором в которой собрано все от исходников в формате PSD, до готовых решений на HTML, CSS или jQuery: формы, слайдеры, кнопки, календари, элементы и полноценные интерфейсы для мобильных и веб приложений. В проекте уже сейчас можно найти практически все что нужно для облегчения процесса разработки дизайнерам и разработчикам.
На данный момент в базе 23586 элементов и почти тысяча UI-сэтов включающие в себя готовые решения в едином стиле. Проект создан Британской студией Double-J Design целью проекта является создание самой обширной UI базы.
+159
Тайловый оконный менеджер i3
3 min
253KЯ хотел бы продолжить начатую вчера JagaJaga тему тайловых оконных менеджеров рассказом об еще одном их представителе — i3wm. В отличие от awesome его настройки записываются в обычном текстовом файле.
Особенности i3wm для пользователя: корректная поддержка нескольких мониторов (смотрите скрин в конце), простой текстовый конфиг-файл, нет необходимости пересобирать wm после изменения настроек, три режима расположения окон, меню запуска приложений dmenu, создает рабочие столы по мере необходимости и удаляет пустые, из коробки имеет отличную информационную панель, показывающую уровень Wi-Fi сети, заряд батареи и много еще чего.
Особенности i3wm для пользователя: корректная поддержка нескольких мониторов (смотрите скрин в конце), простой текстовый конфиг-файл, нет необходимости пересобирать wm после изменения настроек, три режима расположения окон, меню запуска приложений dmenu, создает рабочие столы по мере необходимости и удаляет пустые, из коробки имеет отличную информационную панель, показывающую уровень Wi-Fi сети, заряд батареи и много еще чего.
+33
Qt Coding Style
5 min
44K
Привет, хабражители!
Сейчас какой-то спец с многолетним опытом работы с Qt подумал: «Что за фигня? Хабр — для вещей покруче!». Но ведь даже спецам с многолетним опытом иногда надо читать вот такие статьи про простые вещи, ведь это — важно. Код — это одна из самых важных составляющих программирования. А наша задача — держать его в чистоте. Эта статья посвящена всем Qt программистам которые стремятся к идеалу.
Конечно есть статья на Qt Project — Qt Coding Style. Только вот там материала ценного меньше…
+35
64-битная Haiku и порт OpenJDK уже не за горами
3 min
2.4KRecovery Mode
Алекс Смит, студент Haiku GSoC 2012, сообщает, что добился существенного прогресса в работе над портированием ядра Haiku на платформу x86_64. Вся функциональность ядра, за исключением дебаггера, уже доступна, также он портировал некоторые драйверы, включая PCI, драйверы дисков, BFS и PS/2 ввод. Для большинства драйверов портирование заключалось в исправлении ошибок компилятора. С другими были проблемы, связанные с 64-битной разрядностью, что сделало их портирование более проблематичным.
+30
Ни за что не угадаете
1 min
82K
Дорогие Хабразнатоки!
Некоторое время назад нам удалось найти в закромах Родины необычное программно-аппаратное средство производства нашей компании. И предлагаем Вам угадать, что это. Под катом видео и немного подробностей
+45
Noty — необычайно гибкий плагин jQuery для вывода уведомлений
1 min
31K
Почти месяц назад вышла вторая версия прекрасного и замечательного jQuery Notification plugin для вывода самых разнообразных уведомлений на сайте, странно что Хабр вообще обошёл его стороной, исправлю ситуацию.
+107
Онлайновый учебный курс «Algorithms: Design and Analysis, Part I»
2 min
19KЗакончил я онлайновый курс Algorithms: Design and Analysis, Part I на coursera.org
Если сказать, что я полном отпаде — это ни чего не сказать. Причем, в отпаде я не сколько от материала. Он на высоте, но этим удивить сложно. А в восторге я от формата самого обучения, качества подготовки материалов и онлайновой технологии проведения.
Вкратце.
Если сказать, что я полном отпаде — это ни чего не сказать. Причем, в отпаде я не сколько от материала. Он на высоте, но этим удивить сложно. А в восторге я от формата самого обучения, качества подготовки материалов и онлайновой технологии проведения.
Вкратце.
+31
Обучаем компьютер чувствам (sentiment analysis по-русски)
12 min
85K
Sentiment analysis (по-русски, анализ тональности) — это область компьютерной лингвистики, которая занимается изучением мнений и эмоций в текстовых документах. Недавно на хабре появилась статья про использование машинного обучения для анализа тональности, однако, она была настолько плохо составлена, что я решил написать свою версию. Итак, в этой статье я постараюсь доступно объяснить, что такое анализ тональности, и как реализовать подобную систему для русского языка.
+80
Несколько интересных приемов и особенностей работы с MySQL
3 min
88KЯ думаю, что в процессе изучения той или иной СУБД каждый из вас не раз изобретал велосипеды для решения своих задач, не зная о существовании той или иной функции или приема, которые бы могли в разы ускорить выполнение запросов и уменьшить объем кода. В данной статье я хочу поделиться с вами своим опытом работы с очень «добрым» и «отзывчивым» MySQL, часто позволяющему программисту делать вещи, которые другие СУБД переварить бы не смогли. Материал будет полезен скорее тем, кто только решил углубиться в чудесный мир запросов, но возможно и опытные программисты найдут тут что-то интересное.
+100
Вычисление производных с помощью шаблонов на С++
3 min
52KНавеяно постом. Попутно получилось что-то похожее на собственную реализацию лямбда-выражений :) С возможностью вычисления производной еще на этапе компиляции. Для задания функции можно использовать операторы +, -, *, /, а также ряд стандартных математических функций.
+33
Велосипеды на Javascript и jQuery
4 min
77KTutorial
В очередной раз открыв код коллег и ужаснувшись, я решил написать эту статью. Надеюсь для кого-нибудь это будет полезным, заодно и мне будет проще новичкам объяснять что у них в коде не так, просто кинув ссылку на эту статью.
Безусловно количество таких вещей очень и очень велико, поэтому в статье ограничусь лишь некоторыми.
Безусловно количество таких вещей очень и очень велико, поэтому в статье ограничусь лишь некоторыми.
+234
Как, зная только имя и email человека, злоумышленники получили доступ ко всем его аккаунтам и удаленно уничтожили информацию на всех его устройствах
2 min
177KОчень интересная статья появилась сегодня на wired.com. Буквально за один час у автора статьи Мэта Хонана были взломаны Amazon, GMail, Apple и Twitter аккаунты и была удаленно уничтожена информация на его iPad, iPhone и MacBook. Среди прочего он потерял все фотографии своей дочки с ее рождения, многие документы и большую часть переписки. Очень интересно в этой истории то, как злоумышленник получил доступ к Amazon аккаунту и AppleID — для этого не понадобилась ничего, кроме доступной в сети информации и телефона.
+335
Information
- Rating
- Does not participate
- Date of birth
- Registered
- Activity
Specialization
Frontend Developer, DevOps
Lead