Pull to refresh
43
0
Imposeren @Imposeren

User

Send message

9 библиотек Python для разработки игр

Reading time4 min
Views66K
image


Разработка игр на Python — это не только PyGame, Tower Defense и платформеры, а это и DOOM, и MMORPG, и симуляторы свиданий/отношений, и визуальные новеллы, и конкурсы DARPA, и моделирование вселенной, и автотрекинг низкоорбитальных спутников.

Под катом список 9 библиотек для разработки игр и полезные гайды к каждой библиотеке.

image
Читать дальше →
Total votes 21: ↑15 and ↓6+9
Comments7

Клубничная чудо-коробка 2.0. Первая часть

Reading time12 min
Views24K

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

Читать далее
Total votes 107: ↑104 and ↓3+101
Comments63

Доказательная медицина в оториноларингологии за последние 10 лет (мифы и что вы не знали про это)

Reading time13 min
Views44K

Этот актёр часто используется как наглядное пособие. В настоящий момент у его персонажа подозрение на искривление перегородки носа.

Клинические рекомендации для врача — своего рода инструкция по делопроизводству. В лор-протоколах строго прописано, что назначать, если болит горло, в придаточных пазухах носа скопился гной или замучил тонзиллит. Эти протоколы не пересматривались последние лет 15, а научные исследования с высокой степенью достоверности за это время выходили. И они как бы намекают, что нужно перестать делать многие вещи, которыми сейчас мучают пациентов.

Для примера, если при гайморите предлагают схему «рентген — пункция — антибиотики», то поздравляю, вы в надёжных руках врача образца мышления 2010 года. В 2020-х уже гораздо чаще назначается домашнее промывание (не «кукушка»), безрецептурные анальгетики и интраназальные глюкокортикоиды.

Всего за 10 лет поменялись и технологии, и подход. Вот примеры изменений:

  1. Больше нет операций вслепую. Аденоиды удаляют с помощью эндоскопа: так нет риска повредить трубные валики, создать грубые рубцы или оставить часть лимфоидной ткани. Под контролем камеры проводят также септопластику.
  2. Септопластика избавилась от большей части ада после операции: например, марлевые тампоны, которыми фаршировали пациента через нос, заменены на адекватные силиконовые трубки, которые дают возможность дышать и спокойно их доставать из носа.
  3. Сильно изменились показания к антибиотикам.
  4. Ларингит не лечат ингаляциями минералки и «пшикалками». Потому что доказано, они ни разу не помогают. Но зато могут спровоцировать удушье. Современный рецепт — голосовой покой и много воды.
  5. Отит — это не кабинет физиотерапии и синяя лампа над ухом, а капли и таблетки по рецепту. Уже доказано, УФ-лучи не проникают вглубь барабанной перепонки и не локализуют воспаление.
  6. Классический рентген по любому поводу тоже ушёл в прошлое, на практике используется КТ, в частности позволяющее видеть воспаления в клиновидных пазухах.

Читать дальше →
Total votes 83: ↑81 and ↓2+79
Comments87

Простое объяснение симуляции жидкости в реальном времени

Reading time28 min
Views14K
image

Эта статья представляет собой простой и интуитивно понятный разбор симуляции жидкостей для программистов и технических художников. Вместо сложных математических выражений я постараюсь дать вам простое геометрическое понимание физики жидкостей. Реализация выполнена на вычислительных шейдерах Unity 3D, однако общие идеи не привязаны к конкретным технологиям.

Код проекта можно найти на моём Github.


Ресурсы, посвящённые симуляции жидкостей, могут быть очень пугающими. Помню, что когда я впервые прочитал статью о ней и увидел уравнения Навье-Стокса, то был в ужасе. Со временем я понял, что сама тема совершенно не сложна. На самом деле, если бы вам дали задачу написать собственный симулятор жидкостей, то вы, вероятно, написали бы что-то подобное на основании интуитивного понимания работы жидкостей. Если, посмотрев на уравнения Навье-Стокса, вы подумали «ага, понятно», то вы, возможно, быстрее бы реализовали симуляцию жидкости, прочитав работы, перечисленные в конце этой статьи. Я же попытаюсь не использовать сжатое выражение и объяснять всё как можно медленнее.
Читать дальше →
Total votes 45: ↑45 and ↓0+45
Comments8

ZFS таинственным образом поедает мой CPU

Reading time5 min
Views18K


Отдел микросервисов Netflix обратился ко мне за помощью с загадочной проблемой. Они заявили, что у них на сервере файловая система ZFS потребляет 30% CPU. Я рассказывал об этом на конференции Kernel Recipes 2017 — да, это старая история… но её стоит рассказать ещё раз.

Постановка задачи


Этот микросервис предназначен для сбора метрик. Недавно ребята обновились на новый образ ОС (BaseAMI) — и после этого заявили, что ZFS начала потреблять более 30% ресурса CPU. Первым делом я подумал, что они ошиблись: я лично разрабатывал системные компоненты ZFS в компании Sun Microsystems — и файловая система ну никак не могла настолько загружать процессор.
Читать дальше →
Total votes 41: ↑39 and ↓2+37
Comments28

ТОП 10 ошибок при постройке СЭС, по результатам осмотра 100 дСЭС

Reading time8 min
Views19K

При постройке домашней солнечной электростанции, очень многие владельцы наступают на одни и те же грабли, совершают однотипные ошибки. Цена этих ошибок может быть порой очень высокой - как минимум потеря генерации за довольно длительный период, как максимум - потеря станции и самого дома, на котором стоит СЭС. Вы точно готовы заглянуть по ту сторону солнечной энергетики? Тогда прошу под кат!

Читать далее
Total votes 18: ↑18 and ↓0+18
Comments31

Эффективное геометрическое хеширование пространства признаков для быстрого точного поиска наиболее близких дескрипторов

Reading time11 min
Views2.7K

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

Читать далее
Total votes 6: ↑6 and ↓0+6
Comments4

Партицирование таблиц в PostgreSQL: чек-лист для старта

Reading time13 min
Views42K

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

Представим, что у нас есть батон хлеба. Порежем его на части. Каждый отрезанный кусочек — часть целого батона, но не сам батон. То есть мы поделили целое на части — это и есть партицирование. Батон как целое соответствует таблице, а кусочки батона как части — партициям этой таблицы.

Читать далее
Total votes 23: ↑23 and ↓0+23
Comments31

13 заметок о 3D-печати, после 3 лет владения 3D-принтером

Reading time13 min
Views53K

Эта статья будет, прежде всего, интересна как тем, кто сталкивался непосредственно с 3D печатью, то есть является владельцем 3D-принтера, но также и тем, кто только собирается влиться в ряды 3D-печатников и раздумывает о покупке своего принтера.

В рамках этой статьи я хочу изложить свои наблюдения, как непосредственного владельца 3D-принтера, в течение более чем 3 лет.
Читать дальше →
Total votes 129: ↑127 and ↓2+125
Comments172

Компиляция Python

Reading time7 min
Views82K

Предположим, вы разработали приложение или библиотеку на Python и уже готовитесь передать его / её  заказчику. И в этот момент появляются разные вопросы.

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

Во-вторых, возникает вопрос окружения - хочется быть уверенным, что заказчик справится с установкой правильной версии Python и всех вспомогательных библиотек, но это не всегда простая задача. Было бы удобно упаковать приложение в автономный исполняемый файл.

И, наконец, хочется,  чтобы конечное приложение работало быстрее, чем в среде разработки.

И вот тут настало время скомпилировать Python-код.

Меня зовут Руслан, я старший разработчик компании «Цифровое проектирование». Сегодня я расскажу, как выбрать тот самый компилятор из множества доступных.

Читать далее
Total votes 10: ↑10 and ↓0+10
Comments21

Моя клубничная чудо-коробка

Reading time17 min
Views57K

Я собрал умную коробку для круглогодичного выращивания клубники у себя на балконе. Расскажу как сделал управление освещением, поливом, отоплением, какие датчики использовал, с какими проблемами столкнулся и покажу результат.

Читать далее
Total votes 172: ↑172 and ↓0+172
Comments106

Попытка спасти спорт, изменив то, как мы его смотрим

Reading time6 min
Views7K

Будучи фанатом NBA (Национальная баскетбольная ассоциация), я тщательно слежу за новостями из-за океана: игры, обмены игроками, слухи и прочее. Но, как инженера, меня также привлекают различные прогнозы на основе математического анализа, статистические показатели, которые влияют на игру. Еще интересней, как информационные технологии меняют спорт. Дальше я расскажу, как один владелец команды из мира IT попытался поменять восприятие зрителями НБА на обычную ТВ-трансляцию.

Читать далее
Total votes 51: ↑51 and ↓0+51
Comments17

UUID версии 7, или как не потеряться во времени при создании идентификатора

Reading time7 min
Views30K

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

Хотя, подобные решения, не всегда хороши. В отличие от обыкновенных цифровых значений, которые легко кешировать и сортировать, UUID не так гибки в использовании. UUID версии 7 предназначен как раз для того, чтобы разобраться с подобными проблемами.

Добро пожаловать в мир сортированых UUID
Total votes 38: ↑37 and ↓1+36
Comments176

Подборка бесплатных ассетов для разработки игры

Reading time3 min
Views92K

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

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

Ранее на DTF уже выходили подборки ассетов. К примеру, Арсений Мирный опубликовал список полезных ресурсов для поиска ассетов. Есть подборка от Дмитрия Чикалова, который упомянул не только библиотеки, но и полезные медиа-ресурсы. Иван Михайлов в своём внушительном списке программ для разработчиков также рассказал про библиотеки ассетов.

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

Этот материал написан в поддержку нашего инди-джема, в котором ещё можно успеть поучаствовать.

Читать далее
Total votes 14: ↑13 and ↓1+12
Comments7

Преобразуем миры Minecraft в трёхмерные фотореалистичные сцены с помощью нейросетей

Reading time6 min
Views12K


Мы представляем GANcraft — работающий без участия человека фреймворк нейронного рендеринга для генерации фотореалистичных изображений больших миров из 3D-блоков, например, таких, которые созданы в Minecraft. Наша система получает на входе мир из семантических блоков, в котором каждому блоку назначена метка, например, «земля», «дерево», «трава», «песок» или «вода».

Мы задаём мир как непрерывную объёмную функцию и обучаем нашу модель рендерингу фотореалистичных изображений с сохранением внешнего вида с произвольных точек обзора без наличия реальных изображений блочного мира.

Кроме позиции камеры, GANcraft позволяет пользователю задавать семантику и стиль сцены.
Total votes 28: ↑27 and ↓1+26
Comments8

Мониторинг и настройка сетевого стека Linux: получение данных

Reading time71 min
Views79K


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

Также рекомендуем ознакомиться с иллюстрированным руководством на ту же тему, там есть поясняющие схемы и дополнительная информация.
Читать дальше →
Total votes 63: ↑60 and ↓3+57
Comments8

Настройка сетевого стека Linux для высоконагруженных систем

Reading time10 min
Views30K

Сетевой стек — одна из самых запутанных вещей в Linux. И не только из-за сложности некоторых концепций и терминов, но и из-за изменения смысла некоторых параметров в разных версиях ядра. В этой статье приведена информация для ядра 2.2 и выше, а также, там где это возможно, указано различие между версиями вплоть до 5.5.

О том как изменять параметры ядра, описываемые здесь, можно прочитать в статье Linux Kernel Tuning for High Performance Networking: Configuring Kernel Settings.

Читать далее
Total votes 29: ↑29 and ↓0+29
Comments7

Почему мы отказались от стандартных теней Unity для мобильных шутеров и вместо этого написали свои

Reading time7 min
Views8.5K

Использование освещения и теней практически в любом игровом проекте добавляет реализма картинке и подчеркивает взаимное расположение объектов в сцене. Без них игры были бы скучными, безжизненными, было бы сложнее ориентироваться в игровом мире. 

Сегодня мы расскажем, как в геймдеве делаются тени — в реальном времени и статичные. В своих проектах War Robots и Dino Squad мы используем сразу несколько техник — им и уделим особое внимание.

Читать далее
Total votes 32: ↑31 and ↓1+30
Comments11

Я купил 300 казахских доменных имён с эмодзи и создал свой почтовый сервис

Reading time6 min
Views44K
Если вкратце: я скупил 300 казахских доменных имён, состоящих из эмодзи, и сделал сервис, который регистрирует адреса почтовых ящиков с эмодзи. По ходу дела я завирусился на TikTok, заработал тысячу долларов за неделю, нанял японского актёра для озвучки ролика и многое узнал об удивительном мире доменов с именами-эмодзи.

Не так давно мне вдруг пришла в голову сногсшибательная идея зарегистрировать домен netflix.soy. Вы можете возразить, что есть и более практичные способы потратить семнадцать фунтов, но зато в процессе я усвоил массу новой информации о доменных именах, в том числе и тот факт, что существуют домены такого вида: .ws.

В наше время и дня не проживёшь, чтобы не столкнуться в Интернете с каким-нибудь эмодзи, но вот домены подобного рода мне до сих пор не попадались. И мне стало интересно: а можно ли зарегистрировать такой домен?
Читать дальше →
Total votes 99: ↑98 and ↓1+97
Comments80

Иллюзии мозга. Когнитивные искажения из-за переизбытка информации

Reading time9 min
Views115K


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

В работе с широкими массами профессионалы используют способы обхода механизма цензуры, который в мозге фильтрует информацию, поступающего из внешнего мира. Например, если усилить информацию эмоционально, то вербальное или невербальное послание легче пройдёт встроенные фильтры сознания и надолго сохранится в памяти потребителя информации.
Читать дальше →
Total votes 34: ↑32 and ↓2+30
Comments32
1
23 ...

Information

Rating
Does not participate
Location
Киевская обл., Украина
Date of birth
Registered
Activity