Pull to refresh
40
0
Иван @VanDamM

Software Development Engineer

Send message

Файтинги: cложности и особенности при разработке или почему инди-файтинги редкость?

Level of difficultyMedium
Reading time3 min
Views3.8K

С детства и начиная с PS1 я любил файтинги, и так уж вышло, что я стал разработчиком игр. Частенько, для обкатки технологий или просто ради удовольствия, я веду разработку пет-проектов. Естественно, такой жанр, как файтинги, я не смог обойти стороной. Тут на dtf я писал о разработке.

Жанр файтинг игр специфичен и сложен в разработке. К примеру, на ПК одна или две файтинг игры в реалистичном сеттинге, одна из них - это Undisputed на Unity. Игра выглядит красиво, но, к сожалению, из-за плохого сетевого кода не дает насладиться процессом. Нередко игрок пропускает "фантомные" удары, когда он уже отошел от противника. С аркадными файтингами дела обстоят лучше, нишу крепко заняли MK, SF, Tekken и несколько других менее популярных игр. Так в чем же причина того, что при относительно небольшой конкуренции мелкие студии или инди не выпускают файтинги? Почему, помимо крупных студий и команд разработчиков (Capcom, Namco, Arc System Works, Team Ninja), файтингов практически нет? Попробуем ответить на этот вопрос и раскрыть тему подробнее.

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

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

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

Как в разы увеличить дальность приема WiFi / BT при помощи паяльника

Level of difficultyEasy
Reading time3 min
Views52K

Ну или точнее при помощи двух паяльников. Несколько простых и эффективных решений, подходящих для компактных модулей с чип антенной.

Читать далее
Total votes 108: ↑107 and ↓1+128
Comments134

Собираем бюджетный домашний NAS на 14 ТБ

Level of difficultyMedium
Reading time13 min
Views72K


Начав заниматься фотографией, я быстро ощутил нехватку места на компьютере. Фотографии в RAW имеют большой вес, а про видео говорить ещё страшнее. Решение проблемы очень простое — собрать NAS.

О моём опыте сборки бюджетного NAS на 14 ТБ я напишу далее в статье.
Читать дальше →
Total votes 140: ↑139 and ↓1+171
Comments261

Особенности фонетики якутского языка для синтеза речи

Level of difficultyMedium
Reading time6 min
Views5.9K

Недавно мы закончили проект по синтезу якутского языка. Хотя наши договорённости не позволяют выложить нам модели в общий доступ, какими-то соображениями на тему того, как можно делать синтез якутского языка мы поделиться можем.

Под котом катом вы узнаете:

Как звучит синтез на якутском языке;
Чем отличается якутский алфавит от русского и какие "дополнительные" звуки там есть;
Как работать с ударениями на якутском языке, с учетом полного отсутствия каких-либо корпусов или словарей;
И, в качестве бонуса, как якутский синтез речи говорит на русском с якутским акцентом;

Читать далее
Total votes 38: ↑37 and ↓1+45
Comments20

Вы нас просили и мы сделали. VPN на собственном сервере с XRay Reality за 5 минут с помощью Amnezia

Reading time4 min
Views143K

Всем привет! Это команда Amnezia. 

Мы читаем комментарии под нашими постами и знаем, что один из самых частых вопросов – когда будет XRay? Так вот, мы добавили XRay в приложение AmneziaVPN, а точнее протокол Reality от XRay для всех платформ -  IOS, Android, Windows, Linux и MacOS. Если у вас еще нет последнего релиза, скорее скачивайте и создавайте VPN на собственном сервере в пару кликов с одним из самых защищенных и быстрых протоколов в мире, ниже мы немного о нем расскажем, а в конце статьи будет пошаговая  инструкция как это сделать.

Почему XRay Reality так популярен ?

Все дело в том, что Reality подходит для стран с самым высоким уровнем интернет-цензуры, сейчас его используют в Китае и Иране, он защищен от детектирования методами active probing. 

Распознать цензоров REALITY может еще на этапе TLS-хендшейка. Если REALITY видит, что к нему приходит его клиент, то сервер запускает для него VPN туннель, а если приходит любой другой запрос на 443 порт, то TLS-подключение передается на какой-нибудь другой реальный сайт, например, google.com, где цензор получит настоящий TLS-сертификат от google.com и вообще все настоящие данные с этого сайта.

Со стороны систем анализа трафика это выглядит как подключение к настоящему сайту, сервер отдает настоящий TLS-сертификат этого сайта, и вообще все (включая TLS fingerprint сервера) выглядит очень по-настоящему и не вызывает подозрений. 

Особенно приятно, что при этом производительность REALITY и скорость подключения у протокола действительно хороши, в сравнении, например, со связкой OpenVPN over Cloak.

Читать далее
Total votes 151: ↑147 and ↓4+166
Comments137

Как пользоваться микрокалькулятором

Level of difficultyMedium
Reading time21 min
Views15K

Подозреваю, что многие здешние читатели начинали своё знакомство с компьютерно-вычислительной техникой вовсе не с планшета, смартфона, ПК или какой-нибудь Денди, а с самого обычного микрокалькулятора. Не инженерного и не программируемого. Плюс, минус, равно.

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

Бывшие однажды чудом техники, сегодня калькуляторы в формате отдельных устройств играют всё меньшую роль в нашей жизни. И пока вычисления как процесс не успели превратиться в диалог с чат-ботом, давайте вспомним, как пользоваться обычным калькулятором, чтобы не разучиться считать самостоятельно.
Читать дальше →
Total votes 77: ↑77 and ↓0+97
Comments80

Windows — причина медленного интернета. Низкая скорость «загрузки», при нормальной скорости «скачивания»

Level of difficultyEasy
Reading time15 min
Views38K

Если Вы являетесь клиентом провайдера МТС «домашний интернет» и у вас проблемы со скоростью «загрузки» — это статья для Вас.

И если Вы проверили всё, что могло быть причиной медленной скорости загрузки: интернет-кабели, роутер, патч-корды, а в вашей Windows проблема осталась, не спешите паниковать, проблема не у Вас, а у вашего провайдера.

Читать далее
Total votes 97: ↑93 and ↓4+106
Comments61

Эмиттерный повторитель — ключ к пониманию работы транзисторных каскадов

Level of difficultyMedium
Reading time9 min
Views37K


Привет, эту публикацию я хочу посвятить людям, кто, как и я, любил в детстве читать журнал «Радио» и книги по электронике, но не смог сам разобраться в принципах работы усилителей на биполярных транзисторах. Тема полупроводников непроста и требует понимания многих чуждых для нашей повседневной интуиции физических процессов. Я помню момент озарения, когда я понял принцип схемотехнического решения эмиттерного повторителя, и именно с него пошло постепенное понимание, как функционируют и другие типы транзисторных каскадов. И я предполагаю, что эта тема может стать точкой входа в аналоговую электронику не только для меня.
Читать и смотреть схемы
Total votes 149: ↑147 and ↓2+187
Comments117

Сборка 486 — выбор комплектующих

Reading time4 min
Views24K
В целях борьбы с ностальгией — чтобы она меня больше не грызла, когда припадки наступают — я решил заиметь три ретро-компьютера.

Про первый я уже писал — это ноутбук Compaq на процессоре Pentium. Это универсальная компактная машинка, которая, в принципе, может решать все досовские задачи и начальные под Windows 9x. Если оставлять что-то одно, то я бы им и ограничился. Но мне всё же хотелось собрать ещё парочку.



Одна из них — что-то времён Pentium3 — я как бы начинал собирать, но ушёл в сторону — возникла очень интересная (для меня лично) идея и пентиум3 пока что отложен на полку. Ковыряться с ним можно долго, выбор комплектующих довольно велик.

Второй же компьютер был мне интереснее — это было не повторение старого, а что-то новое — точнее, восполнение пробелов. Хотелось собрать 486. Причём обязательно с шиной VLB. Потому что в своё время я этот этап пропустил и с ISA на 386 сразу прыгнул на PCI старших 486 и пентиумов. Так что усилия было решено приложить в данном направлении.
Читать дальше →
Total votes 43: ↑43 and ↓0+43
Comments159

Сам написал, сам полетал: как и зачем я разработал 3D-игру с нуля под компьютеры из 90-х в 2024 году?

Level of difficultyMedium
Reading time21 min
Views14K


Осторожно: Несмотря на кажущуюся сложность статьи о разработке целой 3D-игры с нуля, я постарался систематизировать и упростить материал так, чтобы понятно было любому заинтересованному читателю, даже если вы далеки от программирования в целом!

Статьи о разработке инди-игр — это всегда интересно. Но разработка чего-то абсолютно с нуля, без каких-либо движков или фреймворков — ещё интереснее! Почти всю свою жизнь, буквально с 13-14 лет меня тянет пилить какие-нибудь прикольные 3D-демки и игрушки. Ещё на первом курсе ПТУ я написал небольшую демку с 3D-вертолетиками по сети и идея запилить какие-нибудь прикольные леталки не покидала меня по сей день! Спустя 6 лет, в 22 года я собрался с силами и решил написать небольшую аркадную демку про баталии на самолетиках, да так, чтобы работало аж на видеокартах из 90-х — NVidia Riva 128 и 3DFX Voodoo 3! Интересно, как происходит процесс разработки игры с нуля — от первого «тридэ» треугольника, до работающей на реальном железе демки? Тогда добро пожаловать под кат!
Читать дальше →
Total votes 81: ↑79 and ↓2+103
Comments30

11 ИИ-инструментов, которые ускоряют создание IT-продуктов на всех этапах разработки

Level of difficultyMedium
Reading time9 min
Views12K

Искусственный интеллект становится неотъемлемой частью разработки IT-продуктов. ИИ не только ускоряет процессы, но и повышает их качество и эффективность. Мы рассмотрим 11 инструментов ИИ, которые активно используются в индустрии разработки программного обеспечения.

Согласно исследованиям, глобальный рынок ИИ в IT-индустрии вырастет до $271,9 млрд к 2028 году, демонстрируя среднегодовой темп роста 27,1%. Это связано с растущим спросом на автоматизацию бизнес-процессов, повышение эффективности и инновации.

ИИ внедряется для оптимизации бизнес-процессов и улучшения производительности. Он способен выполнять монотонные задачи быстрее и точнее, чем человек. Анализ больших объемов данных и выявление закономерностей помогает компаниям принимать более обоснованные решения.

Читать далее
Total votes 9: ↑5 and ↓4+4
Comments15

Компилятор за выходные: наконец-то ассемблер

Level of difficultyMedium
Reading time8 min
Views8.2K

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

Ну а когда оно заработает, предлагаю решить задачу: как сэмулировать побитовые операции and-not-xor-or при помощи четырёх арифметических.

Читать далее
Total votes 22: ↑22 and ↓0+27
Comments10

Markdown в IntelliJ IDEA как отдельный вид искусства. Рисуем диаграммы и вызываем bash команды

Level of difficultyEasy
Reading time3 min
Views12K

Spring разработчики часто пишут документацию и README/HELP файлы к своим приложениям. Часто это делается в Markdown файлах. Markdown плагин в IntelliJ IDEA распознает файлы, предоставляет специальный редактор с подсветкой, автокомплитом и форматированием, а также дает визуальное отображение в панели предварительного просмотра в реальном времени. Кроме стандартной функциональности в IntelliJ IDEA есть пару уникальных фич, которые команда Spring АйО хотела бы выделить особенно.

Читать далее
Total votes 22: ↑21 and ↓1+21
Comments13

Руководство по написанию промптов

Reading time12 min
Views7.2K


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

В 2011 году в одной своей публикации Марк Андриссен предупредил: «Программы поглощают мир». Спустя более десятка лет мы наблюдаем появление нового типа технологий, которые поглощают мир с ещё большей скоростью: генеративный искусственный интеллект. Этот инновационный искусственный интеллект включает в себя уникальный класс больших языковых моделей (англ. large language models, LLM), созданных в результате десятилетия новаторских исследований, которые способны превзойти человека в решении определённых задач. И вам не нужно иметь докторскую степерь в области машинного обучения, чтобы создавать программы с использованием LLM. Разработчики уже создают программы с LLM, используя базовые HTTP-запросы и промпты на естественном языке.

В этой статье мы расскажем о работе GitHub с LLM, чтобы помочь другим разработчикам узнать, как лучше использовать эту технологию. Статья состоит из двух основных частей: в первой мы высокоуровнево расскажем о том, как функционируют LLM и как создавать приложения на основе LLM. Во второй части мы рассмотрим пример такого приложения: автодополнение кода от GitHub Copilot.
Читать дальше →
Total votes 17: ↑15 and ↓2+15
Comments0

Тосты – всплывающие уведомления. Как создать идеальный тост

Level of difficultyMedium
Reading time3 min
Views3.4K

Тост – это маленькое информационное окно, которое присутствует в большинстве приложений, сайтов для ПК и телефонов. Но когда начинаешь вспоминать в каких приложениях видел их в последний раз, на ум приходит разве что яндекс почта и какой-нибудь маркет плейс.

Читать далее
Total votes 6: ↑5 and ↓1+4
Comments7

Архитектура Stable Diffusion: Face ID, Lighting

Level of difficultyMedium
Reading time7 min
Views4.6K

Это перевод моей статьи на medium.com.

Год назад я провёл краткий обзор по теме переноса стиля. Пару месяцев назад я решил вернуться к этому вопросу и исследовать прогресс за последний год. За это время случилось много значимых изменений: архитектура open-source модели Stable Diffusion стала, лидирующей среди моделей для задач генерации изображений. Особенно её модификация SDXL [1]. Hugging Face превратился в лидирующую платформу для запуска модели Stable Diffusion с помощью библиотеки diffusers [2].

Читать далее
Total votes 20: ↑17 and ↓3+20
Comments4

Разработка игры Jim Power для 8-битной приставки: из первых рук

Level of difficultyEasy
Reading time30 min
Views8.2K

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

Но далеко не все проекты и моя роль в них известны широкой публике. Пожалуй, один из самых интересных — версия игры Jim Power от Piko Interactive, созданная для 8-битной игровой консоли NES (Famicom, Денди). Я занимался им в 2014-2020 годах в качестве приглашённого разработчика.

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

Если вы когда-либо хотели узнать, как и кем делаются современные игры для несовременных платформ, каким образом люди вообще приходят к этому — сейчас всё будет.
Читать дальше →
Total votes 82: ↑82 and ↓0+97
Comments9

Использование маппера UNROM при разработке игр для Dendy на языке Си

Level of difficultyMedium
Reading time11 min
Views4.5K

Приветствую всех любителей программирования всяческих ретро-железок. Могу предположить, что у большинства из читателей этой статьи была в детстве Dendy (а может и сейчас есть) или другой клон Famicom (клонов NES в СНГ я не встречал). Сегодня предлагаю обсудить особенности разработки игр для приставок Dendy, NES и Famicom с маппером (mapper) UNROM. Те из вас, кто хоть немного углублялся в особенности архитектуры игр для 8-битных приставок, наверняка слышал про мапперы. Это электронная схема, которая находится на плате картриджа и расширяет возможности консоли, подключаясь напрямую к шинам процессора.

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

Читать далее
Total votes 34: ↑34 and ↓0+53
Comments2

Кто реально угрожает C++ (нет, Rust, не ты)

Reading time14 min
Views77K

Привет! Меня зовут Александр Каленюк, и я крепко подсел на C++. Пишу на C++ 18 лет кряду, и все эти годы отчаянно пытаюсь избавиться от этой разрушительной зависимости.

Всё началось в конце 2005 года, когда мне довелось писать движок для симуляции 3D-пространства. В этом движке было буквально всё, чем язык C++ мог похвастаться в 2005 году. Трёхзвёздочные указатели, восьмиуровневые зависимости, C-подобные макросы повсюду. Кое-где – вкрапления ассемблера. Итераторы в стиле Степанова и мета-код в стиле Александреску. В общем, всё. Кроме ответа на самый важный вопрос: зачем?

Читать далее
Total votes 220: ↑208 and ↓12+244
Comments362

«Невозможный» аудиокодек для Sega MD

Level of difficultyHard
Reading time25 min
Views13K

Вступительный текст про легендарную консоль, вода, бла-бла-бла. Искрой для появления статьи послужил неожиданный факт: ЦАП мегадрайва способен воспроизводить звук с качеством 26 килогерц 8 бит. Что? Хочу такое! Но… Максимальный размер картриджа 4 Мб, этого хватит на 2.5 минуты такого звука, с распаковкой современных кодеков старый процессор не справится. Качество против количества. Нерешаемое противоречие, но если сильно хочется, то всё получается.
Читать дальше →
Total votes 111: ↑111 and ↓0+129
Comments29
1
23 ...

Information

Rating
Does not participate
Location
Якутск, Саха (Якутия), Россия
Date of birth
Registered
Activity