В статье я бы хотел объяснить принципиальную разницу между Фильтром Калмана (ФК) и классическими фильтрами, кратко рассмотреть преимущество выбранного ФК поделиться опытом использования данного ФК во встраиваемой системе квадрокоптера для навигации на основе инерциального и ГНСС датчиков и поделится исходным кодом с демкой для самостоятельного изучения.
Рубрика «unity» - 6
Фильтр Калмана: разбор навигационной системы БПЛА + исходный код
2021-07-10 в 11:32, admin, рубрики: c++, Sensor fusion, unity, Алгоритмы, беспилотники, беспилотные летательные аппараты, инерциальное счисление, квадрокоптер, математика, математическое моделирование, Навигация робота, робототехника, симулятор квадропоптера, фильтр калманаВолк, предпочитающий самоубийство съедению овцы
2021-07-09 в 12:53, admin, рубрики: unity, зато не в цирке, искусственный интеллект, китай, китайские сервисы, машинное обучение, нейронные сети, разработка игр, РоскомнадзорВ 2019 году два студента китайского университета выполняли проект с ИИ, представлявший собой простую игру «волки против овец». Старший участник команды, учащийся в Китае гражданин Таиланда, после выпуска из университета переехал работать в Австралию, поэтому проект оказался заброшенным.
Младший участник команды начал преподавать. В марте 2021 года он рассказал в переписке одному своему студенту о результатах эксперимента. Студента так развеселила эта история, что он сделал скриншот текста и разослал его своим друзьям.
Эти скриншоты стали виральными в китайских соцсетях и породили небольшую сенсацию.
Лучше смерть от камня, чем поимка овцы
Игра была простой. Компьютер случайным образом располагал на игровом поле двух волков и шесть овец. Волкам нужно было за 20 секунд поймать всех овец и уклоняться от камней.
Чтобы мотивировать ИИ-волка повышать свою производительность, разработчики также создали простую систему очков.
Если волк ловил овцу, то он получал 10 очков. Если он сталкивался с камнем, то вычиталось 1 очко. Чтобы волки имели стимул ловить овец как можно быстрее, за каждую прошедшую секунду у волков отнималось 0,1 очка.
У волков были и другие способности — они знали, в каком направлении смотрят, что находится перед ними, где расположена овца, собственная скорость, скорость овцы и т.д., а также множество других параметров, которые должны были помогать волкам в их охоте.
Цель проекта заключалась в том, чтобы проверить, смогут ли ИИ-волки путём обучения и переобучения найти способ максимизировать количество получаемых очков.
Спустя 200 000 итераций исследователи обнаружили, что чаще всего волки просто ударялись о камни, чтобы совершить самоубийство.
Читать полностью »
Как за день потерять 30% онлайна и за два месяца сделать батлрояль
2021-06-22 в 15:31, admin, рубрики: lod, pvp, unity, батлрояль, Блог компании Lightmap, геймдев, геймдизайн, графика, Дизайн игр, мешбейкер, Работа с 3D-графикой, разработка игр, создание картыОднажды в своем PvP-шутере мы за один день потеряли 30% от 60 тысяч одновременного онлайна. Это был 2018-й, в тот день на iOS вышел Fortnite. И хотя хайп был уже около года, а PUBG регулярно бил рекорды, без королевской битвы нам жилось вполне спокойно. Но тут стало очевидно, что батлрояль нельзя игнорировать, игрокам он нравится и нужно разрабатывать свой.
Первые пять шагов для перелома ситуации с читерами в PvP-шутере
2021-03-18 в 16:57, admin, рубрики: cheats, Gamedev, pvp, unity, Блог компании Lightmap, геймдев, Дизайн игр, обфускация, разработка игр, разработка мобильных приложений, читеры, шутерМы прошли долгий путь от появления в игре первых читеров до полного пересмотра подхода к разработке, чтобы создавать защищенные по умолчанию мобильные проекты. О том, как в игре появились читеры, я рассказал в прошлом материалеЧитать полностью »
Как мы «вырастили» и победили читеров в своем онлайн-шутере
2021-03-02 в 18:25, admin, рубрики: cheaters, cheats, Gamedev, pvp, unity, Блог компании Lightmap, геймдев, Дизайн игр, Игры и игровые приставки, мобильная разработка, разработка игр, разработка мобильных приложений, читеры, шутерЧасто сижу на форумах читеров, не потому что нравится, а просто разработчику PvP-шутера всегда нужно быть в тонусе. Некоторые из взломщиков в прямом смысле слова выросли на моих глазах вместе с проектом. Вспоминал эти истории после очередного апдейта в проекте и захотелось ими поделиться.
Как Google Play разрушил все ожидания. Опыт создания игры на Android. 2 месяца разработки. Отказ. Временный бан Admob
2021-01-18 в 11:43, admin, рубрики: admob, android, cyberpunk, google ads, Google Play, unity, Дизайн игр, Программирование, разработка игр, Разработка под androidПривет, сегодня я расскажу вам о разработке своей первой игры на Android, публикации ее в Google Play, закупке рекламы в Google Ads и доходе. Я советую эту статью к прочтению каждому кто впервые будет создавать игру, ведь тут вы найдете полезную информацию и некоторые нюансы, с которыми лично я не сталкивался в историях других людей.
Избавляемся от «мистических» строк в системе реактивного связывания на Unity
2020-12-17 в 7:14, admin, рубрики: Gamedev, reactive programming, unity, unity3d, Блог компании Pixonic, валидация, оптимизация, Программирование, разработка игр, реактивное программирование, реактивностьЛюбая система, которая часто используется в проекте, со временем обречена на эволюцию. Так случилось и с нашей системой реактивного связывания reactive bindings.
Что это за система? Она позволяет нам связывать данные на префабе с данными в коде. У нас есть ViewModel, лежащая на префабе. В ней есть некие ключи с разными типами. Соответственно, вся остальная логика, которая у нас привязана к UI, привязана к этим ключам и их изменениям. То есть, если у нас есть некая логическая переменная, меняя ее в коде, мы можем менять любые состояния UI автоматически.
Использование reactive bindings принесло нам как множество новых возможностей, так и ряд зависимостей. Для связи переменных кода и ViewModel, лежащей на префабе, нам необходимо было соответствие строковых имен. Это приводило к тому, что в результате неосторожной правки префаба или ошибки мерджа могли быть утеряны какие-то из этих связей, а ошибка замечалась уже на этапе поздних тестов в виде отвалившегося UI-функционала.
Росла частота использования системы — росло число подобных сложностей.
Два основных неудобства, с которыми мы столкнулись:
- Строковые ключи в коде;
- Нет проверки соответствия ключей в коде и ключей в модели.
Эта статья — о том, как мы дополнили систему и тем самым закрыли эти потребности.
Читать полностью »
Как мы переосмыслили работу со сценами в Unity
2020-10-17 в 10:52, admin, рубрики: C#, csharp, Gamedev, unity, unity3d, разработка игрUnity, как движок, имеет ряд недостатков, но которые благодаря возможностям для кастомизации и инструментам для кодогенерации, можно решить.
Сейчас я вам расскажу о том, как мы написали плагин для Unity на основе пост-процессинга проектов и кодогенератора CodeDom.
Проблема
В Unity загрузка сцен происходит через строковой идентификатор. Он не стабильный, а это означает, что он легко изменяем без явных последствий. Например, при переименовании сцены всё полетит, а выяснится это только в самом конце на этапе выполнения.
Jungle town: как мы хотели изменить мир к лучшему, создавая детскую игру
2020-10-11 в 20:09, admin, рубрики: animation, Gamedev, GameDev с нуля, kids games, playmaker, spine2d, unity, unity3d, Программирование, разработка игр, разработка под iOS, Разработка под MacOS
История нашей игры началась в 2016 году с покупки приставки Apple TV. Это был очень желанный девайс, на котором я обнаружил несколько игр, в том числе детских. Одна из них была от знаменитой студии, и она настолько мне понравилась, что я сказал своей супруге и музе: «Дорогая, я хочу сделать игру для нашей дочери!» Она меня поддержала.
Мысль о создании своей игры или приложения появлялась у меня и раньше, но мне казалось это нереальным, просто запредельным. А в тот момент загорелся огонь, и я решил идти только вперед. «Нужны ведь деньги и единомышленники, чтобы создать игру», — скажете вы. Да, все верно. На тот момент я был топовым видеографом и хорошо зарабатывал, поэтому наивно думал, что мы с супругой найдем команду и будем просто финансировать и руководить проектом.
Alt: City Online. Как я в одиночку создавал «Gta Online» для мобильных устройств. Часть 1
2020-09-22 в 22:50, admin, рубрики: android, appstore, Google Play, iOS, unity, Дизайн игр, инди, инди-разработка, мобайл, разработка игр, Разработка под android, разработка под iOSВозможно ли в здравом уме замахнуться на подобный проект в одного, и надо ли оно вообще? Спойлер: да (длинный пост с картинками и видео).