Блог разработчика игр

Emscripten logo
🗒

Emscripten «ReferenceError: Can’t find variable: IDBFS»

Если после сборки проекта у вас перестала работать IDBFS, то значит у вас Emscripten v1.39.1 или новее. ReferenceError: Can’t find variable: IDBFS Начиная c Emscripten v1.39.1 поддержка всех файловых систем (NODEFS, IDBFS, WORKERFS, PROXYFS) была вынесена в отдельные модули. Достаточно …

MacBook Pro 15 TouchBar EU-Keyboard
🗒

MacBook Pro EU / RU Keyboard

Частично исправить косяки европейской / русской раскладки клавиатуры MacBook можно без каких-либо сторонних приложений. Достаточно воспользоваться утилитой hidutil. Конечно эта утилита не изменит размеры и форму кнопок, но все же часть проблем решить сможет. Эта команда назначит кнопке обведенной красным …

VIM logo
🗒

The Silver Searcher vs ripgrep

Я использую утилиту FZF (а так же плагин fzf.vim) для поиска файла в корневой директории проекта. В качестве команды долгое время использовал ag (The Silver Searcher) – мномопоточная и быстрая утилита, которая формирует список файлов по маске. Увы, результат ее …

Emscripten logo
🗒

IndexedDBFS + Local Storage

Локальное хранилище IDBFS отлично подходит для хранения профайла игры между сессиями. Позволяет хранить относительно большие файлы и с ним удобно работать благодаря реализованным fopen/fread/fwrite/fclose в Emscritpen. Но из-за политики безопасности браузеров это хранилище не всегда доступно. При попытке выполнить FS.syncfs() …

CPP C++ logo
🗒

netcode.io

netcode.io – протокол для защищенного клиент/сервер соединения поверх UDP разработанный Glenn Fiedler. Протокол разработан для игр с выделенным сервером. Его основные фичи: Защита от MitM (man-in-the-middle) атак. Защита от DDoS атак. Защита против атак с повтором пакетов. Защита от зомби-клиентов. …

Google Play Icon Design Specifications icon
🗒

Android App Icons guidelines

При создании иконок следует соблюдать следующие основные требования: Размер: 512px x 512px Формат: 32-bit PNG Цветовое пространство: sRGB Максимальный размер файла: 1024KB Форма – заполненый квадрат. Google Play сам создаст маску, радиус закругления углов будет 20% от размера иконки. Теней …

Emscripten logo
🗒

Module.callMain undefined

Начиная с версии 1.38.41 от 07.08.2019 функция callMain больше не экспортируется. Это было сделано для лучшей минификации JavaScript, о чем сказано в официальном changelog. Если нужно старое поведение, достаточно добавить callMain в EXTRA_EXPORTED_RUNTIME_METHODS. В CMakeLists.txt своих проектов я делаю так: …

Metal logo
🗒

MoltenGL

В ближайшее время приложения для iOS, tvOS, macOS использующие OpenGL / GL|ES перестанут работать. Приблизительно один год был дан разработчикам для перехода на Apple Metal. Я все еще не реализовал поддержку Metal в своем движке. Да и особого желания прикручивать …

Algorithm logo
🗒

TCP против UDP

Копипаста с хабра TCP против UDP или будущее сетевых протоколов Перед каждым сервисом, генерирующим хотя бы 1 Мбит/сек трафика в интернете возникает вопрос: «Как? по TCP или по UDP?» В прикладных областях, в том числе и платформах доставки уже сложились …