Можно ли в Python создавать бинарные файлы? Конечно можно.
Для этого в Python есть следующие инструменты:
▫️ тип данных bytes и bytearray
▫️ открытие файла в режиме wb (write binary) или rb (read binary)
▫️ модуль struct
Про модуль struct поговорим в первую очередь.
Файл в формате JSON или Yaml внутри себя содержит разметку данных. Всегда можно определить где список начался а где закончился. Где записана строка а где словарь. То есть формат записи данных содержит в себе элементы разметки данных.
В binary-файле данные не имеют визуальной разметки. Это просто байты, записанные один за другим. Правила записи и чтения находятся вне файла.
Модуль struct как раз и помогает с организацией данных в таком файле с помощью определения форматов записи для разных частей файла.
Модуль struct преобразует Python-объекты в массив байт, готовый к записи в файл и имеющий определённый вид.
Для этого всегда следует указывать формат преобразования (или, как оно здесь называется - запаковки).
Формат нужен для того, чтобы выделить достаточное количество байт для записи конкретного типа объекта. В последствии с помощью того же формата будет производиться чтение.
При этом следует помнить что мы говорим о типах языка С а не Python.
Именно формат определяет, что записано в конкретном месте файла, число, строка или что-то еще.
Вот какие токены формата у нас есть.
Помимо этого, первым символом можно указать порядок байтов. На разных системах одни и те же типы данных могут записываться по-разному, поэтому желательно указать конкретный способ из доступных. Если этого не сделать, то используется символ '@', то есть нативный для текущей системы.
В строке формата мы пишем в каком порядке и какие типы собираемся преобразовать в байты.
Запакуем в байты простое число, токен "i".
>>> import struct
>>> struct.pack('=i', 10)
b'\n\x00\x00\x00'
Теперь несколько float, при этом нужно передавать элементы не массивом а последовательностью аргументов.
>>> struct.pack('=fff', 1.0, 2.5, 4.1)
b'\x00\x00\x80?\x00\x00 @33\x83@'
Вместо нескольких токенов можно просто указать нужное количество элементов перед одним токеном, результат будет тот же.
>>> struct.pack('=3f', 1.0, 2.5, 4.1)
b'\x00\x00\x80?\x00\x00 @33\x83@'
Теперь запакуем разные типы
>>> data = struct.pack('=fiQ', 1.0, 4, 100500)
я запаковал типы float, int и unsigned long long (очень большой int, на 8 байт)
b'\x00\x00\x80?\x04\x00\x00...'
Распаковка происходит аналогично, но нужно указать тот же формат, который использовался при запаковке. Результат возвращается всегда в виде кортежа.
>>> struct.unpack('=fiQ', data)
(1.0, 4, 100500)
Как видите, ничего страшного!
#lib#basic
Топ 10 ИИ для текстуринга
Продолжаем собирать для вас подборки с топовыми инструментами под конкретную индустрию и юзкейс в нашей Library. Представляем вам новый топ-10 для создания текстур и материалов с помощью ИИ
#gamedev
Иконки с помощью ИИ
Рассказываем на DTF о том, как можно создавать иконки с Stable Diffusion. Поделились в нашей заметки советами, как добиться более качественного результата со связкой SD + ControlNet и кастомных чекпоинтов.
Кстати, в нашем воркспейсе уже больше 40 кастомных моделей и очень скоро мы добавим их к ControlNet и сделаем возможным обучение на них. А какими кастомными моделями вы пользуетесь? Каких вам не хватает в P+?)
#gamedev
SD + MAYA
Интересный пример интеграции SD как плагина для Maya 3D. Какие наиболее важные элементы для себя вы вытащили, и что хотелось бы использовать отсюда, но без maya?
#gamedev
Генерация ассетов для игры
Выпустили на DTF статью о том, как используя обучение и обычный Stable Diffusion, можно генерировать бесконечные концепты в нужной стилистике. Все это доступно у нас в продукте Phygital+ :)
#gamedev
Геймдизайн × AI — «Синтезатор Игр»
Советую канал моего боевого кореша. Туда каждый день летят разборы, промпты, пайплайны и те самые «грабли/фиксы» из продакшна геймдизайнерских джунглей.
Подтверждаю: работаем бок о бок уже 5 лет, вместе вытаскивали не один сложный проект — человек уже не один десяток клепает игры.
Что внутри:
— как собирать прототипы быстрее: LLM для механик, генеративные ассеты, баланс через нейросети, автотесты;
— закулисье процесса: что сработало, что нет, и почему — полезно и джунам, и сеньорам.
😂Врывайся и подпишись — канал молодой, но темп огонь! И нет мне не платили чисто рекомендация)
Почитать и подписаться можно тут
#Gamedev | AcidCrunch
#event#gamedev
🎮GameDevHQ Akademiyasining ochilishi: O‘zbekistonning global o‘yin sanoatidagi o‘rnini mustahkamlash yo‘lida muhim bir lahza.
2025-yil fevral oyidan boshlab, Akademiya o‘yin sanoatining yetakchi kompaniyalari bilan hamkorlikda ishlab chiqilgan ta’lim dasturlariga birinchi talabalarni qabul qilishni boshlaydi.
Akademiya muvaffaqiyatli startaplarni yaratish, investitsiyalarni jalb qilish va O‘zbekistonning ijodiy iqtisodiyotini mustahkamlash uchun katalizator bo‘lib xizmat qilishi kutilmoqda.
Batafsilveb-saytimizda
______
🎮The launch of GameDevHQ Academy: a pivotal moment in solidifying Uzbekistan’s standing within the global gaming industry
Commencing in February 2025, the Academy will begin enrolling its first cohorts into educational programs, developed in collaboration with leading companies in the gaming sector.
The academy is poised to serve as a catalyst for the creation of successful startups, the attraction of investments, and the strengthening of Uzbekistan’s creative economy.
Read more on our website
Telegram | Instagram | Facebook | Youtube | LinkedIn
🚀 45 участников, 11 прототипов мобильных игр – результат первого в России экспортного акселератора для разработчиков мобильных игр GameDev.
6 проектов прошли отбор Moonee Publishing, который входит в топ-20 успешных издателей игр мира. Прототипы игр финалистов будут отправлены на тестирование, что даст возможность не только выпустить игру на платформе, но и получить денежное вознаграждение от Moonee Publishing.
А вот имена финалистов:
▪️ Виталий Вятчиннин (с прототипом игры The J Wall Show);
▪️ Роман Казанцев (Oh My Hero и Chickens VS GrannyBoy);
▪️ Георгий Кузнецов (Builderman);
▪️ Марат Газизулин (Butt Mower);
▪️ Сергей Чернов (Battle Sprint);
▪️ Виктор Зайцев (Quick Find It).
Тех, кто не успел попасть на акселератор, но хочет попробовать себя в разработке мобильных игр, приглашаю в академию «Цифра». Курс «Разработка игр на Unity» стартует 20 июня. Записываемся тут: https://academy.udmr.ru/
#DigitalUdmurtia#GameDev
#interview#gamedev
🎮2025-yilda O‘zbekistonda GameDev sanoatining yuksalishi boshlanadi
IT Park Uzbekistan IT sohasidagi mutaxassislar bilan yangi intervyu ruknini boshlaydi. Ular bozorning hozirgi holati, mavjud muammolar va mumkin bo‘lgan yechimlar haqida fikr almashishadi.
Birinchi suhbatdoshimiz Aleksandr Muxitdinov — o‘qituvchi, “Youtube”dagi “Unreal Engine Encyclopedia” muallifi, kompyuter o‘yinlari ishlab chiqaruvchisi va Toshkentda “Epic Games” (AQSH) tomonidan tasdiqlangan “Unreal Engine” rasmiy guruhining asoschisi.
👍Batafsilveb-saytimizda
______
🎮2025 - The Rise of the GameDev Industry in Uzbekistan
IT Park Uzbekistan is launching a new series of interviews with IT professionals. They will share their thoughts on the current state of the market, existing challenges, and potential solutions.
Our first guest is Aleksandr Mukhitdinov — a teacher, author of the "Unreal Engine Encyclopedia" on YouTube, video game developer, and founder of the official "Unreal Engine" group in Tashkent, certified by Epic Games (USA).
👍Read more on ourwebsite
Telegram | Instagram | Facebook | Youtube | LinkedIn
Generative AI GameDev
- Использование ИИ в игровой индустрии
- Где в игровом пайплайне уже сегодня можно использовать нейронные сети
- Как используя силу 30+ нейронных сетей создавать ассеты для игры
- Как обучить на своей стилистике нейронную сеть для создания своих игровых ассетов
- Где учиться работе с ИИ игровому дизайнеру
- Статистика использования нейронных сетей в игровой индустрии
- Библиотека нейронных сетей для работы с графикой
- Подкаст про использование ИИ в геймдев
- АМА-сессия с Foxsys
- Туториал по обучению на своем датасете для генерации game assets
- Хэштеги в Phygital Art#gamedev#usecase
Хочу пригласить к онлайн-трансляции специалиста из игровой индустрии для обсуждения темы использования ИИ в геймдеве