Six Colors - карточная пони-игра в реальном времени вышла в релиз! [UPD: Исправлена ссылка на игру]

+113
в блоге Игры

Ссылка на игру: drive.google.com/file/d/1h0P4Butiz8iK8YxW0NW3Qm0rmSw4Vqh4/view?usp=sharing
Что из себя представляет версия 1.0.0:
  • Полностью готовое обучение: на основе отзывов тестеров я постарался сделать максимально подробные обучающие миссии, чтобы у вас не оставалось вопросов про правила игры.
  • Редактор колод + готовая колода каждому новичку: процесс создание колоды максимально интуитивен, и по многочисленным просьбам, теперь при регистрации для новичка автоматически собирается первая колода
  • Лобби: хочешь играть по своим правилам с друзьями или с ботом любой сложности? Тогда лобби это для тебя!
  • Классическая игра, система уровней и подробная статистика: Соревнуйся с другими игроками по стандартным игровым правилам, повышай уровень и хвастайся крутой статистикой. (Награда за уровни появится в будущих аддонах)
  • Ачивки: Если хочешь особых испытаний, тогда попробуй получить все достижения. Их можно получить только в разделе «Игра», так что мухлевать с правилами в Лобби не получится
Системные требования:
  • Широкоформатный монитор с разрешением минимум 16:9
  • 1GB свободного места на жестком диске
  • 1GB оперативной памяти
Про процессор и видеокартуПроцессор и видеокарта зависят напрямую от частоты кадров — можно выбирать от 30 fps (подойдет любой двухъядерный процессор с частотой от 2200 MHz
и gtx 550 (Может подойти и более слабая видеокарта, главное чтобы она была не встроена в процессор)) до 144fps (нужен четырехъядерный камень и видеокарта хотя бы gtx 1050)

Изменить частоту кадров можно в главном меню в разделе «Настройка -> Частота кадров»
Информация для тех, кто играл до релизаВсе старые аккаунты сохранены на тестовом сервере, на котором будут тестироваться будущие обновления и аддоны. На новом сервере нужно зарегистрироваться заново.
Проект участвует в рамках ЮПОКИ, и по правилам с 1 ноября можно выкладывать свою игру.

Теги:

  • В избранное
    7

484 комментария

Пинок в ленту! Не подскажите, где еще можно будет пропиарить игру?
Могу ссылку на пост дать.
Буду благодарен за это
Поиграем!
Широкоформатный монитор с разрешением минимум 16:9

А вот сейчас обладателям 1280х1024 и прочих разрешений стало крайне кхм… неприятно
848x480 зато в самый раз
Поддержка 4:3 появится в будущем.
Если поставить 1280x720 — можно играть.
Широкоформатный монитор с разрешением минимум 16:9

Кажется кто-то обещал это пофиксить. А системные требования для такой игрушки — ну просто песТня…
главное меню и обычная игра оптимизирована под 4:3. Некоторые обучающие миссии и игра в лобби с кастомными правилами — нет.
мои системные требования для 30 и 60 фпс такие же, как и у других карточных игр, сделанных на Юнити.
Вот я так и не понял, нахрен там Юнити.
Игры такого уровня как у тебя, выходили 25 лет назад, и летали под MSDOS на 386 проце
dosgames.ru/games/king/ например
это трехмерная ММО игра в реальном времени с FULL HD спрайтами?
Как бы тебе объяснить понятнее… налепить 100500 3Д FULL HD спрайтов — еще не залог хорошей игры ниразу. И та игрушка 25-летней давности с спрайтами в 320*200 смотрится на порядок годнее чем твоя поделка.
спасибо за моральную поддержку, ты мне очень помогаешь.
Только правда, по заветам Эпплджек. Прежде чем пытаться в серьезный игрострой, надо раскурить не один ман по геймдизайну. Чтобы жопой чувствовать, почему одни игры с вроде простеньким графоном/геймплеем взлетают, а другие, вроде и навороченные, но УГ.

Вот в чем киллер-фича твоей игры? Карточное ММО? Я пойду в Хартстоун, Гвинт, МТГ, да хоть в, прости г-споди, Артефакт. Если я захочу посмотреть на векторных пони — я посмотрю сериал еще разок. Если я захочу посмотреть на невекторных пони — я пойду на любую буру.

Оно конечно «пони все делают лучше», но… скрестить ежа с ужом тоже уметь надо. А не взять идею МТГ, и тупо «а пусть у нас вместо эльфов и прочей нех будут пони».
Я захотел сделать пони-карточную игру — я её сделал. Причем в первых постах, где я тольк мечтал это сделать, все писали что я её не сделаю. Однако всё то, что я обещал — я сделал. Что не так то?
Ее сделал не ты. Ты поюзал (наверняка не оптимально) готовый движок, без малейшего понимания как оно все внутри устроено. Это как собрав шкаф из Икеи — называть себя мебельщиком) А понтов у тебя как у президента Близзард))
А понтов у тебя как у президента Близзард))

Это не есть что-то совсем уж плохое — выбирая между унылой неуверенностью и завышенными амбициями, я все-таки больше уважаю второе, рога жизнь сама обломает, а вот веры в себя обычно никто не даёт.
В графическом плане я просто вставил спрайты поней в Юнити — это я не отрицаю. Но логическую механику работы карт, их взаимодействия и правила самой игры я разработал сам с нуля.
КерХаррад, орк из 2020 привет шлёт. И ведь впрямь как у директора Близзорд)
Вот в чем киллер-фича твоей игры?

Эй, это ж практически учебный проект, ничего плохого в воспроизведении классики нет, а тренироваться на пони приятней, чем на абстрактных вещах.
Но Саня то позиционирует его не как учебный, а чуть не как убийцу всех ККИ))
Я видел много подобного, победителей 1С и уничтожителей Word. в большинстве случаев, люди получали полезный опыт на велосипедостроении и становились нормальными прикладниками.
Полезный опыт — не этот случай, в том то и дело. Саня просто юзает движок по накатанной, не понимая (и не желая понимать) ни его устройства, ни сути кодинга в целом… Где ж тут польза то для себя, для самообучения? Есть такой термин «мартышкин труд»… или грубый — суходрочка))
Ну а какой тогда ты еще движок посоветуешь, где можно не парясь вставлять png/psd спрайты и чтобы была максимально подробная документация с большим сообществом разработчиков?
где можно не парясь вставлять png/psd спрайты

Вот, в этом и проблема. Ты хочешь не парясь выкатывать ААА-проекты. Так не бывает. Намного полезней тебе будет сделать например простейший тетрис, но самому, с нуля, без движков, на элементарных функциях WinGUI/X11/OpenGL/DirectX. Это если ты действительно хочешь пойти по пути программирования. Ну а если понтоваться в инете — тогда вопросов нет, юзай Юнити для игрушки уровня 1995 года)
OpenGL

Ты же помнишь, что без знания матричной алгебры, на чистом OpenGL даже вращающийся кубик не вывести без страданий?

хочешь пойти по пути программирования.

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

можно я сделаю распечатку этого комента и повешу на стеночку? Это до какой степени надо за форматы не шарить, чтобы такое ляпнуть
Юнити поддерживает psd.
Это не значит, что нужно отключить минимальную соображалку и пользоваться этим.
Ясно, юнити умеет перекодировать psd в свой личный растровый формат, и поэтому там без разницы, что использовать. Разве что риски напороться на неподдерживаемую юнити фичу формата.
Так-то все советуют спрайты портировать именно в psd формате, а не в png.
У меня очень много вопросов к этим «всем», потому что PSD просто сверхизбыточен, практически не сжатый, и содержит кучу той информации (слои, их параметры, невидимые области, и это лишь начало), которая не влияет на конечное отображение файла, да еще и чертовски сложен сам по себе, и есть ненулевой риск, что юнити ошибется в его декодировании. Единственный допустимый сценарий: ты правишь эту свою текстурку постоянно и тебе тупа впадлу экспортировать ее.

Что PNG, что TGA, что TIFF (правда, его использование тоже избыточно, потому что мы еще не перешли на 64+-битный цвет в поигрульках) предоставляют lossless сжатие и осиливают прозрачность. Большего тебе не нужно.
Да Саня видимо заюзал первый попавшийся в гугле пример из серии «выводим спрайт в юнити», там оказался PSD. Вот и все, напрягаться что-то еще осваивать — зойчем?))
Меня это не интересует совершенно ни коем образом. Интересно как бы ты сам в одиночку делал карточную онлайн-игру.
Интересно как бы ты сам в одиночку делал карточную онлайн-игру.

Саня, я в одиночку делал специальный сервер для продакшен-системы электронного документооборота. Цена ошибки в котором была намного выше чем троллинг на форуме) Ничего, справился как-то, уж 3 года пашет, с аптаймом совпадающим с аптаймом физического сервера. Так что простенькую ККИ я бы уж смею думать запилил-бы. Другое дело что я понимаю, что востребована она будет чуть менее чем нихрена, и предпочитаю тратить время на другой хоумпроект (не трезвоня о нем на всех углах кстати)
с аптаймом совпадающим с аптаймом физического сервера

Ни единой утечки памяти, или всё на Java?
Чистый С++, с самодельными stackfull корутинами. В ядре менеджера корутин чуток ассемблера. Сетевая часть на WSAPoll.
Открою тебе большой секрет — у меня 90% спрайтов в игре с альфа-каналом.
Jpeg шакалит всё как мразь. Терпеть не могу любые сжатия.
да как ты вообще живешь, а?
Чего ты от меня хочешь?
причем тут жпег блять? я взял просто кусок статьи про пнг из вики, где прямым текстом написано про альфа-канал. Или у тебя буфер памяти на одно сообщение?
Ты сам мне скинул jpeg, который мне нахуй не нужен. 90% спрайтов в моей игре — чистый psd, и 10% фона — png.
Я скинул описание png отсюда.

Давай я задам другой вопрос: а откуда у тебя взялся psd?
Что значит откуда взялся? Ты просто перетаскиваешь psd файл в юнити и он сам его определяет как спрайт. Я ничего ниоткуда не брал.
откуда ты получил psd?
Alt ctrl s
как ты породил этот psd? скачал из сети? сам нарисовал все содержимое? взял png-картинку, вставил, экспортировал файл с одним единственным слоем?
В psd много слоев. Иначе бы мне он нахуй не нужен был бы.
нахер тебе эти слои на выходе нужны?)
Чтобы можно было в дальнейшем их редактировать. Или по-твоему исходники не нужны?
Единственный допустимый сценарий: ты правишь эту свою текстурку постоянно и тебе тупа впадлу экспортировать ее.

Вот на это и надо было с самого начала сослаться, а не
Открою тебе большой секрет — у меня 90% спрайтов в игре с альфа-каналом.

что выставило тебя просто ебическим дебичем
То есть ты предлагаешь забить хуй на исходники, и если потом надо будет что-то подредактировать — то искать и пилить всё заного?
То, что ты мог бы с самого начала сказать, что ты редачишь исходники, а не наглядно демонстрировать незнание формата или вообще непонятно чего… нахер ты вообще про альфа-канал сказал?
Понимаешь, ты сказал всё так словно ты сам исходник прямо внутрь игры пихаешь, а потом его оттуда достаешь, а не держишь отдельно заливая в игру лишь результат экспорта.
Если вдумчиво почитать описание этого поста, то найдешь целую свалку офигительных формулировок
Это как на ЛОРе есть царь сишечки… а Саня у нас будет царем Юнити))
Зачем тебе много слоёв? Ты же не рисуешь, а выводишь готовые изображения!
Чтобы каждая часть тела была отдельным слоем?
взял png-картинку, вставил, экспортировал файл с одним единственным слоем?

Спойлер
ты охренеешь, сколько людей берут жпег, пересохраняют в пнг ПАТАМУШТА КАЧЕСТВА, потом искреннее охуевают, когда я им говорю, что они дебилы
Спойлер
Напомнило дизайнерскую байку, когда им заказали печать двухметрового баннера с жпега 200*200, и на законный WTF?? незамутненно ответили — «ну вы это… насытьте изображение пикселями» ))
Отдельный шик: таким кретинизмом даже страдает один крупный сайт. Нет, дебич не выкладывающий, дебич тот, кто кодировал такое поведение.
берут жпег, пересохраняют в пнг

Все мои файлы изначально были или .fla, или .svg, которые я в высоком разрешении с сохранением слоев экспортировал в psd, после чего уже в FULL HD формате перевел в игру. Кстати, игра с 4К текстурками весит почти 4гб.
Я уже просто интереса ради хочу запустить твою игру на своем 1440х900 мониторе, чтобы ощутить всю прелесть 4К текстурок на картах, которые в самом лучшем случае будут не больше 400 пикселей в одну сторону (а потом на 1920х1080 на старом компе, но скорее всего он взровется нахуй, но это совершенно другая история).
по той ссылке что в шапке поста — full hd. Чтобы отрендерить всю игру в 4К, мне нужно время.
*делает пометку, что для Флаера абсолютно все шутки и сарказм должны сопровождаться сообщением [ШУТКА] или [САРКАЗМ]*
Тебе, долбоёбу, говорят, что PNG не пережимает, сохраняет прозрачность и имеет неограниченно цветов. Ты на это отвечаешь, что JPEG тебе не нравится. Твоя тупость просто убивает.
Этим мне и нравится png и psd. Что в этом плохого то? Или ты хочешь чтобы я как и 99% тупых разработчиков всё сжимал как мразь, экономя каждый килобайт видеопамяти?
99% тупых разработчиков

отличный способ обосрать весь геймдев до 2010 года за раз
Как итог имеем карточную игру весом в гигабайт)
Сейчас игры по 100+ гб весят и это норма.
в них контент есть))))
То есть карты это по дефолту не контент?
не на сраный гигабайт)
По дефолту они должны весить мегабайт десять максимум.
Ну тык! А карт в моей игре уже 100. 100х10 = как раз 1гб.
10 мб на пикчу — все еще овердохуя (даже 1 мб уже дохуя). Но это юнити-хуюнити, который вообще никак не сжимает свои данные.
Нет, на всю игру 10
У меня крутяхи для моделей тоже внутри имеют 100 фреймов, но весят все же 15-18мб, если не сжимать то после определенного лимита браузер пошлет тебя в одно место)
не всегда… на Активижн глянь ._.
и доп. Саше — НЕТ, ЭТО НЕ НОРМА
Кстати спасибо, я полез делать скрины, сколько весит каждая часть моей игры и обнаружил, что рпгмейкер рухнул с дуба и воткнул абсолютно все звуковые файлы в финальный бандл, даже не используемые.
Бля-я-я, долбоёбина ты эдакая, psd это формат для художников, тк как он содержит специфическую инфу, не нужную нигде более. В отличии от png psd может быть в десять и более раз больше по объёму, но выглядеть будет точно так же. Юзая psd, ты бессмысленно напрягаешь движок, заставляя его выполнять бессмысленную работу, по конвертации и бесполезно раздувая объём игры.
ты хочешь чтобы я как и 99% тупых разработчиков всё сжимал как мразь, экономя каждый килобайт видеопамяти?

Вот бы таких долбоёбов, не отличающих оптимизацию от пережать всё к чертям, можно было отстреливать? Как бы проще было жить.
Все слои в моем psd видимые. Всё ненужное я выпиливаю заранее. Еслиб не выпиливал — игра бы весила 5+гб. psd очень удобен для дальнейшего редактирования. Захотел пегаску без крыльев? Нажал одну кнопку и готово.
Это psdец…
Если цель — не изучать движок, а именно делать игру, то норм. Ты ж не пытаешься разбираться в устройстве двигателя, если в такси садишься?
Не очень удачная аналогия. Тут уместней такая — Саня хочет разрабатывать звездолеты, не понимая устройства даже самоката, и не зная трех законов Ньютона.
Ты похоже так и не понял, что мне нравится делат больше всего. Попытаюсь объяснить тебе еще раз — больше всего мне нравится разрабатывать внутреннюю логику игры, не касаясь внешней графики, анимации и тд. В простонародье это называется бекенд — тот код, который игрок обычно не видит, и в данном случае у игрока на компе даже нет кода бекенда — вся логика обрабатывается у меня, на моей сервере. Или по-твоему, разрабатывая какую-то игру, я чисто по определению обязан разбинраться, каким именно образом там отображаются спрайты, и каким образом игра взаимодействует с сервером?
Или по-твоему, разрабатывая какую-то игру, я чисто по определению обязан разбинраться, каким именно образом там отображаются спрайты, и каким образом игра взаимодействует с сервером?

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

Ох-хо-хо… Я уже устал с тебя фейспалмить) Я так понимаю термин «Булева алгебра» тебе тоже ничего не говорит? А про диаграммы Карно даже спрашивать нелепо...))
Булева алгебра

Тут дети ходят, нечего ругаться :-)

А вообще, я понимаю, что говорит Флаер — он просто имеет в виду, что пока не сталкивался с более сложными операциями в коде, чем условный оператор и линейный цикл, нужды в матрицах, деревьях и конечных автоматах не было.
Мы сейчас проходим этот этап с моим десятилетним сыном :-) он просто пишет

if (getTotalTime()>10) rarity.mirrorHorz()

и происходит магия, потому что могучий папа сам реализовал афинные преобразования.
У Флаера в данном ключе работает юнити и это правильно, если нет задачи вникать в матан, а просто нужно делать игру.
Зачем мне всё это?
Зачем мне всё это?

Булева алгебра — лучший друг программиста, если у тебя есть хоть одно условие, где три и более параметра.
лучший друг программиста

Саня не программист, он художник — он так видит))
Хороший программист всегда наполовину творец — пока что не придумали способов создания новых алгоритмов без озарения и вдохновения. Впрочем, изучение старых иещеболее полезно — всё уже придумали до нас.
всё уже придумали до нас.
Помню еще в школе, мучая свой Спектрум, переизобрел алгоритм Брезенхе́ма для отрезка))
Этим все пользователи восьмибитников страдали — встроенный LINE ужасно тормозил.
Там всё просто — либо правда, либо ложь.

А динозавра либо встречу, либо нет — 50% вероятность нах!
Но работать с чисто логическими операциями мне нравится. Там всё просто — либо правда, либо ложь.


Кстати… раз уж ты так любишь логику — решишь простейшую задачку? Только по-честному, без гугла. Как управлять одной лампочкой с двух независимых выключателей, если у тебя только двухжильный провод есть?) Чистые логические операции))
Спойлер
Сначала хотел докопаться что тип выключателя не указал, а потом подумал и решил что пусть он его заново изобретёт...
пусть он его заново изобретёт

Ага, вот я тоже так подумал). Я вообще сначала хотел задать задачку про лифт на 3 этажа, но потом подумал что это слишком жестоко)))
Только это… Пусть с пятивольтовой лампочкой работает. А то поранится ещё...
Ага, с большой лампочкой можно провести эксперимент, поместится ли она в рот)))
И ради чего мне решать твои недозадачи? Я пишу код чтобы реализовывать свои собственные желания, а не решать задачи левых людей.
Молодец, слив защитан
Я даже не читал твою задачу. Мне сейчас и своих задач хватает.
Молодец, слив защитан х2
Свои задачи решай сам. А я буду решать СВОИ задачи и делать СВОИ игры, окей?
Молодец, слив защитан х3
Если твой код не способен решить задачи левых людей, то его никто не купит…
я обязан быть фулл-стак разработчиком игры

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

Дык иди в модо-делы тогда… бери существующие игры и пихай в них поней…
Если у него есть коробка с надписью «звездолет из спичек и желудей за 2 часа» с инструкцией — то и нафиг ему формулы Мещерского с небесной механикой?
Ну, такой звездолет и выглядит как желудь и летает как спичка)

Суть то в том, что Саня даже взяв в руки движок на котором реально топчик-игры делают, ухитрился склепать нечто уровня 95 года. Эпик фейл… забил электронным микроскопом гвоздь, и то криво) Ну твою ж Молестию за хвост, ну не хочешь лезть в низкоуровщину и матан, ну хрен с тобой, но хоть выбранный инструмент то освой как следует… А если хочешь тупо вечерком спички с желудями посклеивать — дык не преподноси это как мегасуперпупер вещь.
ухитрился склепать нечто уровня 95 года

Зато склепал. Я свою первую игру в 30 лет опубликовал, а Флаер в 20.
[ЧСВ=9000]А я в 13, ха-ха[/ЧСВ]
Ссылку на публикацию можно?
Нельзя, меня на том форуме забанили))
О, нашёл на другом форуме blenderhome.3dn.ru/forum/8-5-1
Оказывается, это был конкурс, и я за третье место получил целых 25 рублей
[ЧСВ=9999]Я зарабатываю на играх, а Флаер нет))))[/ЧСВ]
Молодец, достойно.
Кстати, а публикация в школе считается?) А то я вот ещё на игровом движке визуальный ряд к одному школьному мероприятию 1 октября 2008-го (в 12 лет, если мои знания математики не подводят) делал www.youtube.com/watch?v=YERjoBZAbYg

С возможностью погонять на одном из элементов этого визуального ряда) www.youtube.com/watch?v=Ct-gpCmJ-Lc

Ееее текстурочки из кс 1.6
Зато склепал.

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

В случае Сани — сильно сомневаюсь))
Почему ты меня так ненавидишь?
Лол, да я просто ору с тебя, ты источник позитива сплошной, с чего тебя ненавидеть то? Ты сам даешь повод орать, своей упертостью и неодупляемостью. На табуне, если ты заметил, разработчиков игр довольно много, но достается каждый раз только тебе. На мысли не наводит? Как говорится «если и третий муж бьет по морде, то может дело таки в морде?»))
Ты себе даже представить не можешь всю глубину его «весёлости» в плане геймдева. Жаль личку не принято выкладывать, там такое…
По-твоему мне приятно читать твои издевательства сейчас?..
Балбес, тебе добра желают. Прислушивайся хоть немного, если реально хочешь следущий проект выкатить лучше уровнем. А то от того что ты выше про PSD несешь реально волоса на жопе дыбом))
от того что ты выше про PSD несешь реально волоса на жопе дыбом))

Самое страшное, что он при этом абсолютно серьёзен.
Если я и буду дальше изучать геймдев на низкоуровневом уровне — то я буду сразу вкуривать RTX DX12, и ниже чем на rtx2060 вы такую игру чисто физически не запустите. Но уже к сожалению на этом я понимаю, что это всё вне моего понимания:
Copy the header files from the include folder in the main folder of HelloTriangle.
Create a dxc folder in the main folder of HelloTriangle, and copy the two headers located in samples\Common\DXR\Tools
In that dxc folder, copy the dxcompiler.lib file located in lib\x64
Add $(ProjectDir)/dxc/dxcompiler.lib to the project properties Linker > Input > Additional Dependencies
Create the bin\x64\Debug (and/or Release) subfolder(s) in the HelloTriangle folder.
Copy the DLLs from bin\x64 into that subfolder(s).
Copy the DLL from tools\x64 into that subfolder(s).
Verify that it just runs as before.
ниже чем на rtx2060 вы такую игру чисто физически не запустите

я не знаю, мне радоваться от избавления или плакать, что вот это вот наше будущее? rtx2060 для пасьянса
Ну в том же Хартстоуне к примеру, я уверен, можно рейтрейсинг прикрутить для красивостей… Но к поделке уровня покера 95 года, — это конечно да-а-а...))
не для пасьянса, а для 3d игр с ретрейсингом. Технология реально крутая, но сука сложная. Я пока не понимаю как именно она работает.
Ну вот как не орать с тебя после этого?))) Ели ЭТО вне твоего понимания — ну может таки смириться, что кодинг не твое, а? Есть масса других хобби, интересных, но не требующих суровых ресурсов мозга.
Я хочу заниматься программированием, но твоя токсичность очень мешает мне.
Оу, месье в доблестных рядах SJW cостоит? «Это не я дятел, это меня токсики травят» — классiка! канонЪ!
Одно дело склепать первое «изделия» адекватно оценивая что и как сделал, и куда двигаться дальше. И совсем другое дело упираться как Флаер.
То есть ты считаешь, что лучше бы я ничего вообще нахуй не делал и лучше бы чтобы я здох вообще?
У тебя лишь два исхода? А прислушаться к тому что тебе говорят и изучить это хотя бы поверхностно твоя голова родить не в состоянии? Это прям как фанатично упираться в ардуино и обижаться на то что говорят люди работающие на stm32…
Какие нахуй исходы? Когда я ничего не делаю и ною — меня хейтят. Когда. Сам делаю с нуля игру — меня тоже хейтят. Что мне делать то?
А прислушаться к тому что тебе говорят и изучить это хотя бы поверхностно твоя голова родить не в состоянии?
Чего мне там изучать? Я тогда игру никогда не сделаю.
Ты и так не сделаешь) Если под игрой понимать то, во что хотя-бы сотня человек поиграет, а не 3.5 анонимуса глянет в пол-глаза на поржать)
Может быть, не знаю, слушать, что тебе говорят?
И что же вы мне говорите? Чтобы я пошел нахуй и здох уже наконец? Хорошие у вас советы
«Изучи это и это» теперь называется «иди сдохни»? Шта?
Спойлер
«Изучи это и это» теперь называется «иди сдохни»?

Видимо подразумевается сдохнуть от разрыва моска, из-за непосильного напряга при изучении
Саня, про зайцев истерика — это не актуально!

Процитируй конкретно плиз, кто и где в этой теме тебе это советует? Тебя все одуплить пытаются хоть немного, для твоего ж программистского блага))
В этой теме не советовали, но раньше еще как советовали. Я тут не первый год как бы и всё прекрасно помню.
Да потому что ты активно брыкаешься вообще на любое замечание. Если бы я также реагировал когда мне указывают на хреновые участки моих прошивок МК, то надо мной бы тоже ржали. Но я предпочитаю вдуматься в то что мне говорят, и уже не раз там были реально дельные советы.
То есть все-таки лучше мне опять ничего не делать и постоянно ныть на табуне, да?
То есть вариант «не ныть, и делать то что получается» — не рассматривается в принципе?
Я занимаюсь программированием, что еще надо то? Ну или я могу опять как раньше нихуя не делать и постоянно ныть, окей?
Я занимаюсь программированием,

Нет, ты занимаешься тыканием палочкой наугад в Юнити))
Игровая логика написана не в Юнити.
Да штош так плоха-то… Изучай хотя бы поверхностно те штуки которые тебе советуют, а не отметай их в ультимативной форме. Ты не можешь знать что она тебе никак не пригодится если ты хотя бы поверхностно её знать не будешь.
Саня просто эталонное в вакууме воплощение юзера, который хочет одну большую кнопку «сделать зойебись!», только в кодинге))
Я словно на старый форум пиротека вернулся, в тему пластификации ТА плавлением…
Спойлер
Я не могу знать всё на свете. А вы от меня требуете чтобы я был дохрена умным и чтобы я всё знал.
Как будто что-то плохое
Я могу знать только то, что я могу прямо сейчас без труда применить на практике, без теории.
А вы от меня требуете чтобы я был дохрена умным и чтобы я всё знал

От тебя не требуют, а советуют, знать хоть чуть-чуть больше чем «метод научного тыка», а не все на свете))
От тебя хотят, чтобы ты, хотя бы, не так выставлял своё незнание и не гордился этим.
Что-то не знать, это нормально. Не нормально, гордиться своим незнанием и всячески его демонстрировать.
Зачем мне знать то, что я забуду через час?
Зачем чистить зубы, если через час они опять грязные?
Память золотой рыбки? Саня, если у тебя реально медицинские проблемы какие-то с мозгом — ну дык не мучай себя. Никто ж не требует от безногого бегать стометровку за 10 секунд.
С какой памятью родился, с такой и живу.
Сходи к неврологу. Сделай там энцефалограмму.
Денег на это дашь?
Я в твоем телесном здоровье не заинтересован. Это твоё качество жизни страдает, а не моё. Если внимательно посмотреть на то сколько и на что люди тратят, то финансовыми маневрами вполне можно выкроить деньги хотя бы на первичный прием, он не так уж и дорого стоит. Мне обошлось всего в 1700. Жалобы на память были в числе прочих моих жалоб на голову. Всё в твоих руках.
Мне пофиг че там у меня в голове. Есть там заболевания или нет — это чисто везение.
Ты не знаешь что у тебя в голове, но при этом утверждаешь что таким родился. А доказательства то что это именно врожденное и не лечится где?
Лечение головы может принести больше вреда, чем пользы. Я не хочу с этим иметь дело.
А может принести больше пользы чем вреда.
Я по жизни неудачник. Так что мне это скорее всего навредит.
Это ты сам себе в голову вдолбил. Нет такой черты так как нет четких границ удачи. Да и жить оглядываясь на удачу это по сути плыть по течению, а оно обязательно в какое-нибудь говно занесет и не по разу. Надо плыть туда куда надо, а не туда куда несет.
Я самовольно к психиаторам и прочим мозгоправам точно не пойду. Я там уже был много раз, последний раз — 2 года назад чтобы поставили статус «Не годен». Мне всего этого на всю жизнь хватило.
На энцефалограмме тебе просто наденут шапочку с электродами на голову, начнут считывание, поморгают сначала лампочкой в закрытые глаза, потом надо будет глубоко подышать. И всё. дальше уже невролог будет анализировать то что самописец выкатил. Никто тебя к кушетке там привязывать не будет.
Мне именно это и делали там, после чего и поставили статус не годен.
Тебе не статус нужен, а диагноз и лечение. Мне по сердцу тоже от военкомата нихуя не сказали что делать чтобы жить легче было. Акты всучили и выпнули. Чтобы я уже через восемь лет узнал что мне оказывается и машину водить нельзя. Так что военкоматовские обследования отдельно (ибо у них натуральный конвейер отписок), а обследования ради своего здоровья отдельно.
Это самолечение обычно вредит, а сделать скан, понять что не так и получить терапию — дело. Если лечение будет рискованным, доктор так и скажет — никто не будет тебя против воли током чинить, не те времена.
Так что дуй в ближайший МРТ, они даже у нас не дороже 2К, а уж в столице и еще дешевле за счет конкуренции.
С МРТ главное чтобы металла в зубах не было. Да и вообще чтобы хирургия железок в тело ранее не вставляла.
Это всё спросят по пять раз и будут пасти в течении процедуры. Я делал несколько раз, последний раз даже заснул в процессе, меня вытащили из тубы, а я дрыхну :-)
Ты читать вообще умеешь? Ещё раз мой коммент перечитай.
Как я могу не демонстрировать свое незнание, если любую теоретическую информацию я забываю почти сразу?
Поменьше пиздеть о том, о чём не понимаешь? Для примера — я не разбираюсь в поэзии, и вуаля — я о ней не рассуждаю! Я могу сказать нравится мне стих или нет, могу срифмовать «роза»/«угроза», но я не рассуждаю о поэзии и не лезу спорить к тем, кто понимает.
То есть ты намекаешь чтобы я перестал всем этим заниматься и чтобы я снова начал нихуя не делать и постоянно ныть?
Я так думаю, заодно поможет толковый словарь русского языка в качестве прикроватного чтива.
Причем тут это сейчас? Мда.
Потому что ты уже в который раз не можешь понять, что тебе написали. Это хроническое явление, не разово. Уже всем надоело исключительно ради тебя перефразировать все по 10 раз, чтобы ты понял.
Дело не в словах, а в их количестве.
*делает пометку, что фразы длинее примерно 10 слов Флаеру непонятны*
Я не намекаю, а прямым текстом тебе говорю, чтобы ты не пиздел о том, о чём ты не понимаешь. Где ты здесь увидел, что чтобы ты ничего не делал и ныл — я не знаю.
То есть ты прямым текстом хочешь чтобы я не говорил о программировании, а только ныл на Табуне и всё?
Хотя бы не говори обо всем с таким видом, словно ты истина последней инстанции, и тот, кто с тобой не согласен — токсичная личность.


версия для флаера
Ты можешь быть не прав. Смирись.
Где, блять, я призывал тебя к нытью?
Ты пишешь чтобы я не разговаривал о вещах, которые мне интересно. Что мне еще остается делать тогда?
я не разговаривал о вещах, которые мне интересно.

Долбоящер.
Я написал, чтобы ты не спорил о вещах, в которых ты не разбираешься! А не о том, чтобы ты не говорил о том, что тебе нравится.

_________________________
Может это реально что-то с психикой? Какая-то форма аутизма, когда человек не способен понять что ему пишут/говорят?
Где ты видишь, что я спорю о чем-то? Я просто говорю, что мне нравится кодить. А вот вы мне говорите, чтобы я этого не делал.
Или это какой-то крутой программист систем ИИ тестирует тут свое творение, создав ему аккаунт. В таком случае явно необходима доработка)))
Ну, в если верно помню то в пнд его военкомат отправлял.
Видишь ли Петька, есть один нюанс… © )))

Есть разница между " разговаривать о вещах, которые мне интересно", и «нести лютую хуйню о вещах, которые мне интересно. „
Мужики, ну полегче, ага.
Это возрастное. Если бы почитали, что я писал на форумах в 17-18 лет — тоже мало умного и много дикого, вплоть до того, что спорил насчет преимуществ Бейсика над С… но посмотрите, кем я стал :-)
Только вот тут уже 22…
но посмотрите, кем я стал :-)

Пони-задротом? Шучу =)
Пони-задротом?

И это тоже. Пони — важная часть моей жизни :-)
Так ты и когда что-то делаешь тоже ноешь. Изменится лишь то что ты делать ничего не будешь. А мог бы заняться изучением. Движок же ты хоть и криво но освоил и плохая память тебе не помешала в этом. Теперь же займись выпрямлением и не отметай категорично советы.
А чего там осваивать? Юнити интуитивно понятен по своему принципу, я никаких гайдов и книжек по нему не читал. Можно ли точно так же освоить этот ваш с++? Сомневаюсь.
я никаких гайдов и книжек по нему не читал.

Это многое объясняет.
Можно я вот см
я никаких гайдов и книжек по нему не читал

Вот тебе первый совет — перед началом работы с любым движком, почитай либо книгу, либо руководство. Даже если половину забудешь — вторая половина останется.
Да пойми же Сань, не с нуля, а на движке. Я не могу поиграть в твою игру на телефоне или планшете, не могу это сделать в браузере. Скачивать игры которые можно сделать онлайн, кмон, это же не вот или картоха, а игра которая содержит в себе только картинки, ну откуда там гиг?
Еще раз повторюсь — покажите мне способ создавать внутри браузера не-веб-сокет, и я сделаю браузерку.
А ты создавай веб-сокет. Уже даже туториалы есть. Ты же на каждом углу кукарекаешь про современность высокороуровневость, так почему ты сейчас вдруг вцепился за несовременный и низкоуровневый TCP-IP?
Ну так у меня сейчас у самого низкоуровневая TLS-обёртка над TCP.
Тем, что в веб-сокете, помимо tls-рукопожатия и tls-шифрования, поступает еще куча бесполезной веб-инфы?
Тем, что это, черт возьми, стандарт для веба, и от него ты не избавишься? Камон, ты выдавил игру в 1 гиг со 100 картинками, пара килобайт лишнего трафика тебя не убьет.
не путай пожалуйста единичный трафик, который ты тратишь чтобы скачать игру, и тот трафик, который идёт во время игры. Во время игровой партии моя игра потребляет в разы меньше интернет-трафика, чем тот же ХС — я всё это уже неоднократно проверял.
В случае с браузером единичного трафика не так много (если ты нормально прооптимизируешь, в чем я сильно сомневаюсь). Я не думаю, что суммарные избытки за время игры составят вот тот самый сокровенный гигабайт твоего единичного трафика.
Ты с МКС игровые сессии устанавливать собрался?
моя игра потребляет в разы меньше интернет-трафика, чем тот же ХС

Может потому, что и делает в разы меньше чем ХС? ))
Хартстоун — пошаговая игра, где события происходят раз в несколько секунд. А у меня всё в реальном времени и события происходят буквально каждую 0.1 секунду.
Нахуя? У тебя же не шутер.
Тогда какого черта вообще TCP? Для таких целей UDP придумали
UDP нужен был бы, если бы обмен данными происходил еще чаще. У меня 0.1 сек — это самый короткий интервал обмена. А в шутерах и моба-играх он может быть и все 0.01 сек — вот там уже нужен UDP, да.
Тогда почему ты сравниваешь ее с ХС? Сравни с ВоВ например или другой реалтайм ММО.
С ВоВ обмен трафиком примерно на одном уровне у меня. Можем как бы сам сравнить.
И с каким ВоВ ты сравнивал? Когда одинокий игрок стоит в чистом поле, или, скажем, в мифик-рейде на 25 тел на ласт-боссе? ))
Посмотри сам. Или тебе скинуть ссылки на программы, анализирующие входящий и исходящий трафик?
Саня, ты не отвечаешь на мой ответ! Конкретно, можешь сказать, при каких условиях ты замерял траффик Вов? Или — слив защитан х4?
При таких условиях, когда игра запущена. Если самому интересно — возьми сам и замерь. Иначе твой слив засчитан.
Ты потом реально на полном серьезе удивляешься, почему тебя называют всякими словами)
Если вам это так интересно — возьмите и замерьте сами. Ссылка на игру есть, сервер включен. Мморпг любую тоже можете скачать, чем я вам мешаю то?
Тебя мама в детстве не учила за слова свои отвечать?)
С ВоВ обмен трафиком примерно на одном уровне у меня.

СКАЧАЙ ИГРУ И УБЕДИСЬ В ЭТОМ САМ. ВСЕ ПРУФЫ В ЭТОМ ПОСТЕ — ПРОСТО КАЧАЕШЬ И СМОТРИШЬ.
Мне вов качать надо еще. А ты замерял. Давай же, не жмоться. Или ты в меню главном замерял?)
Не обязательно вов. Любую другую ммо игру можешь замерить. Я просто хочу чтобы ты сам лично зашел в игру и посмотрел какой там трафик.
*Терпеливо*
С ВоВ обмен трафиком примерно на одном уровне у меня.
А вот это к чему было сказано? зачем мне замерять какую-то там ММО, если у тебя уже есть замер по ВоВ. Дык предоставь его. Цифры, логи, вот это вот все…
Я хочу чтобы ты сам скачал игру и сам посмотрел.
А мне чо, вов качать?
Можешь любую другую ммо-игру скачать, не обязательно именно вов. Я просто как пример привел.
Ты не пример привел. Ты утверждал, что у тебя на одном уровне с вов.
Ну спиздел, что ты пристал. Думаешь я зря его называю меркантильной мразью и пиздаболом? =)
Я каким-то местом чувствую, что докапываться до него интереснее, чем играть >_>
Сам скачай и проверь это, если хочешь. А если не хочешь, то и не надо аро это говорить.
Не-не-не, бремя доказательства всегда лежит на доказующем. Ты хочешь что-то доказать — докажи.
У вас все доказательства на руках. Я ничего от вас не утаиваю.
Утаиваешь. Как измерять и при каких условиях?
Любой программой, которая измеряет трафик от конкретного адреса.
Это ровно половина вопроса.
Чего ты еще от меня хочешь? Чтобы я тебе исходники сетевого кода скинул? Или что?
Если трафик ВоВ в меню или чистом поле и в процессе твоей игры совпадают, то твоя реализация нормальная.
Если трафик ВоВ в сверхнагруженном рейде или сотней персонажей на локации и в процессе твоей игры совпадают, то твоя реализация полное говно.

А всего лишь разные условия измерения.
В моей игре два игрока, играют друг против друга, а не чистое поле.
В мозгах твоих чистое поле…

Бразтите, неудержался))
Еще раз — и куда мне в ВоВ смотреть? В главном меню, в чистом поле, в крупном городе, или в рейде на 25 человек? С каким игровым режимом в ВоВ ты сравнивал свою игру по траффику?
И там, и там, и там. Везде можешь сравнить.
А ты где сравнивал?
В локациях где очень мало людей. Плюс там сейчас фазирование работает в вове — в открытом мире много народу нигде не бывает.
В локациях где очень мало людей

БИНГО!!! На сотой итерации мы наконец-то получили хоть какой-то внятный ответ. Что мешало так ответить сразу — Ктулху его знает…

Хотя я догадываюсь. Ты просто не знал, как правильно ответить, чтоб не обосраццо. После того как кто-то написал
Если трафик ВоВ в меню или чистом поле и в процессе твоей игры совпадают, то твоя реализация нормальная.
Если трафик ВоВ в сверхнагруженном рейде или сотней персонажей на локации и в процессе твоей игры совпадают, то твоя реализация полное говно.
Ты сразу и ответил, что «да-да, в чистом поле мерял»
В вов всегда мало людей. Потому что работает фазирование.
При таких условиях, когда игра запущена

О, ты, похоже, начал понимать всю глубину кроличьей норы.
А системные требования для такой игрушки — ну просто песТня…

Это обычные системные требования для игр, сделанных на движках общего назначения. Конечно, можно и в 2019 делать всю игру, начиная с разработки процедуры выделения памяти и обращения к GPU, но тогда игра будет делаться 30 лет и 3 года.
но тогда игра будет делаться 30 лет и 3 года.

Первое что вспомнилось — World of Goo — два человека делали около года, сами, выглядит и играется офигенно.

Да и твоя игрушка — тоже не 30 лет делалась ;)
Да и твоя игрушка — тоже не 30 лет делалась ;)

Всего лишь 5, да. И при том, двумерная игра жрет до 50% от ядра, что вообще срамота для «не мальчика, но мужа».
50% от ядра
А у тебя в главном цикле Sleep(1) или синхра по обратному ходу луча стоит?
Я не настолько с нуля пишу. Главный цикл организует HGE, vsync у меня включен.
Косяки именно в моей логике функций фрейма и рендера. Как выяснилось, производительность и красота кода не всегда идут рядом.
Но 50% современного проца… а не пробовал стандартные виндовские GUI-херовины из группы функций StretchBlt? Они умели юзать аппаратное 2Д еще во времена вин2000)
Движок использует DirectX, там не нужно лезть в WinAPI.
Нет, там проблема именно в моём коде — многие расчеты делаются на лету, а должны кэшироваться после вычислений и до наступления условия.
И да, не проца, а ядра проца. При двухядерном, загружает всего лишь на четверть, что приемлемо. Но народ ржет, и имеет на то право.
задумчиво…
Что-то мне кажется, что не в кэшировании и прочем дело. Есть какое-то одно-два критически узких места, которые все портят. Взаимоблокировка там, гонки, или что-то типа того… или О(N^2) где-то влезло…
Ну смотри — есть функция, которая вычисляет, как вывести ячейку и с какими территориями. Она зависит от соседних территорий. У меня каждый цикл вычисляет все территории и все ячейки, даже те, которые за пределом экрана — потому что рендер DirectX отсекает вывод, но не вычисления. Итого, 60 раз в секунду рассчитывается W*H*6 ячеек, хотя достаточно рассчитать один раз, а потом менять, только если была вызвана процедура смены территории.
Код просто не оптимизирован для игровых циклов, и это понятно, потому что я двадцать лет пишу совсем другие приложения.
60 раз в секунду рассчитывается W*H*6 ячеек
Тогда ясно
О(N^2) где-то влезло


Но ты хотя-бы понимаешь, (в отличии от Фраера) в чем проблемы твоего движка. Оптимизировав — получим неплохую легковесную игру. Я пару уровней с удовольствием прошел в ней, и она на отлично шла под старой виртуалкой кстати ;)
Я пару уровней с удовольствием прошел в ней

С первыми уровнями норм, а вот последние карты, где Селестия с Луной против полчищ, уже процессор нагревает.
Вот оптимизацией сейчас и занимаюсь.
Два человека. А я один, и начал изучать программирование чисто ради игры. То есть кодю я ровно столько же, сколько и саму игру.
А реально это сделать полностью браузерной игрой?
Беглый гугл выдал такую штуку unity-web-player.ru.softonic.com/
Так что Саня поплясав с бубном и побормотав непонятные ему заклинания может что-то и родит))
После того, как Google решил убить NPAPI из-за проблем с безопасностью (и правильно сделал), unity web player умер.

эхехе, значит только html5
Я щас над той же задачей бьюсь (порт C++/QT/SFML в Web), и пришел к выводу, что проще перевести всё на HTML5 и JavaScript, и это будет гарантировано работать в любом броузере, кроме IE.
IE

Ослик нужен лишь в конторках. А еще бесит что в системах IP-видеонаблюдения от него уйти никак не хотят.
Ослик нужен лишь в конторках

Firefox допустим в большинстве случаев, если подсуетиться и перевести лицензию на русский у нотариуса. А вообще, OpenSource и проверки существуют параллельно — иной раз приходится доказывать невиновность, а не нарушение.
На мобильных с 5кой затыки, мне так и не удалось заставить работать на них крутяшки, но до сих пор благодарен Андреймалу за качественное переделывание кода, на компе все пашет
Если вы мне расскажите, как в браузере можно создать TCP-сокет (НЕ WEB-СОКЕТ, а сокет который напрямую подключится к моему серверу без web-протокола), то — возможно и сделаю. На данный момент я уперся у стенку, которая не пропускает через браузера не-web-сокеты.
чем тебя WEB-СОКЕТ не устраивает? Ах, там надо раскурить как оно устроено, чтоб в свою серверную часть поддержку добавить, а это не царское дело? Ну сорри )))
Мой сервер с клиентами общается байткодами, а не web-хуйнёй.
оптимизации подъехали, где их не ждали
байткодами, а не web-хуйнёй.

Внутри веб-хуйни те же байт-коды, просто в определенном формате. Вообще всё байты. Другого способа передачи информации нет.
Опять програмизм
прооргазмизм
Продолбоебизм
Понятно
Специально для вас сейчас повторно проанализировал входящий и исходящий трафик из своей игры — вот
Спойлер
можете у себя тоже запустить такую же программу с фильтром ip.addr == 188.134.86.16 && tcp.port == 5001 и посмотреть на эту же инфу
А теперь то же самое для ВоВ в чистом поле
У вов не один айпишник и не один порт, а у меня один.
Ты же говорил, что уже мерял ВоВ. Значит тебе это не мешало.
померяй сам. А вот моя игра за целую игровую партию даже пол мегабайта не скачала.
померяй сам

Слив защитан х5
Wow:
Have a look here

us.battle.net/wow/en/forum/topic/2912882510

The general consensus seems to be that WoW isn't very data intensive, of the order of 10-20mb per hour of play.
of the order of 10-20mb per hour of play.

Опять же не укааны условия, ну ладно примем усредненно — кач, фарм, пара ПВП…

А теперь — сколько длится в среднем твоя игровая партия?
Моя игровая партия в среднем длится 4-5 минут (это по классическим правилам) и жрет 0.5 мб примерно за партию. Причем если я уберу tls шифрование и буду отправлять чистые нешифрованные байты прямо по TCP — трафика будет в разы меньше.
Если играть в лобби и редактировать базовые игровые правила, то трафик тоже будет меняться в зависимости от быстроты игры.
Если тупо находится в главном меню в моей игре, то трафик примерно 0.005 мб в минуту.
6-10Мб в час выходит у тебя… ну такое…

И вот что тебе мешало сразу так написать, без клоунады на 100 постов?

Причем если я уберу tls шифрование и буду отправлять чистые нешифрованные байты прямо по TCP — трафика будет в разы меньше

Это как? Ты для каждого посылаемого пакета чтоли делаешь полный хэндшейк заново?
У меня раньше устанавливалось TCP подключение к серверу без шифрования (подключение ровно одно, без переподключения, я тупо запоминал reader и writer и напрямую через них отправлял и принимал байты), но потом андреймал меня наругал за это, и пришлось всё обернуть в tls.
Как-то криво ты обернул, что траффик в разы возрос.
В два с половиной раза. Или по-твоему один байт после tls-шифрования должен оставаться одним байтом?)
один байт после tls-шифрования должен оставаться одним байтом?)

Ну кагбэ если юзать AES для его симметричного шифрования, то да. С точностью до 16 байт на округление в хвосте шифруемого пакета.
до 16 байт

То есть 1 байт превращается в 16 байт, так?
Нет, если длина пакета не кратна 16, то добивается до 16. AES256 всегда сделает длину кратной 16.
то есть 1-15 исходных байтов шифруется в 16 байт всегда? Вот отсюда и прирост.
А нафига ты шлешь по 1 байту? Объединяй пакеты…
И если уж на то пошло — зачем вообще шифровать чисто игровой трафик? Я понимаю — шифровать авторизацию, или там чатик… а чисто игровые ходы — кому они нужны?
У него там на скрине пакеты 85-86 байтов почти все весят. Он не там просирается. Ну либо он сначала шифрует, потом объединяет… Либо у TLS свои заголовки и все прочее, что все еще не должно давать двухкратную разницу
у TLS свои заголовки

Да, есть, но не в 2 раза явно.
Если посмотреть вниз в районе пред- и предпред- последних блоков, 21 байт на заголовок уходит. При 1 байте данных, можно действительно получить прирост в 36 байт… Что может тянуть на «полтора раза», но явно не 2 с половиной.
Что в целом не отменяет того факта, что ему не просто TLS не нужен на уровне обычных ходов, но даже обычным UDP стоит обойтись, ибо проще забить на просранный пакет, чем его запрашивать повторно.
Удваиваю
Что-то Саня нахреновертил короче) И возвращаясь к вопросу — зачем вообще шифровать чисто игровой траффик.
То есть ты не против, чтобы твою игровую партию подслушивал и подделывал человек посередине? Даже в никому не нужном Xonotic шифрование игрового трафика присутствует (насчёт AAA-игр, правда, не интересовался)
То есть ты не против, чтобы твою игровую партию подслушивал и подделывал человек посередине?

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

Кому нужно подслушивать и подделывать трафик какого-то Табуна

Кому нужно подслушивать и подделывать трафик какого-то сайта про котиков, ага

Вообще, твои такие высказывания выдают твою некомпетентность в плане обеспечения безопасности
Вообще, твои такие высказывания выдают твою некомпетентность в плане обеспечения безопасности.
Вся защита должна быть обоснована. И цена защиты не должна превышать цены того, что она защищает. TLS для движений мыши в какой-то онлайновой игре — да, превышает.
А потом в клиенте обнаруживается RCE вследствие криворукости Флаера, человек посередине вмешивается в серверный трафик, шлёт хитро сформированный пакет клиенту и получает полный доступ ко всем моим файлам, ага. Не надо так
А может и вследствие криворукости разработчиков Юнити или даже C# — всякое на свете бывает, знаете ли
Если у человека хватило мозгов на RCE в криворуком коде Флаера, уж подстроить MITM он сможет.
А еще может быть бэкдор от самого Флаера)
И я не уверен, что бэкдор от Флаера будет хуже чем MitM
Криворукий Флаер с тем же успехом может и шифрованый пакет криво обработать
Реализацию TLS он писал не сам, а взял готовую сишарповую. Можно надеяться, что в ней большинство Heartbleed'ов уже отловили за нас, а значит человек посередине скорее всего уже не вмешается и не надо вот так вот передёргивать
и не надо вот так вот передёргивать

в клиенте обнаруживается RCE вследствие криворукости Флаера

Жду не дождусь, когда найдется зловред, который будет атаковать целенаправленно игроков в игру Сани, да еще и по сети путем подмены пакетов.
Жду не дождусь, когда найдется зловред, который будет атаковать целенаправленно логины игроков в игру Сани, ага
Я же сказал, что логины шифровать можно и нужно :-/
Ну так я именно на это твоё утверждение и отвечаю:
Жду не дождусь, когда найдется зловред, который будет атаковать целенаправленно логины игроков в игру Сани, ага
Мгм, окей, когда тут наберется одна тысяча игроков, чтобы можно было говорить о вероятности выше 0,00001% в заданую единицу времени взломать конкретного человека, тогда и поговорим.
Хотя все равно более оправдано и эффективно будет ломать весь сервер, а не трафик конкретного анонимуса.
Аутентификацию, чатик, войс и т.п. однозначно шифровать по максимуму нужно, тут никто не спорит же.

А вот насчет чисто игрового траффика -таки сомнения большие. На худой конец можно не тяжелым tls фигачить, а что-то легковесное… все процы например в аппаратный AES умеют лет 10 как)
А в TLS кто-то запретил аппаратный AES или что?
tls дает накладные расходы на свои служебные хидеры. Чистый AES же — максимум 15 байт оверхеда, при однобайтных пакетах.
TLS дает некоторую гарантию, что твой пакет пришел именно от сервера, а не кого-то другого, плюс обезопасит обмен ключами. И эта мера по прежнему напоминает мне ношение бронежилета в повседневной жизни. Сложно спорить с тем, что оно может спасти от шальной пули, но вероятность встречи этой самой пули за всю жизнь несколько снижает градус радости.
К счастью, TLS весит намного легче бронежилета, и TLS можно позволить себе носить)
К несчастью, это по сравнению с UDP и дает вот те самые 2.5х роста трафика, что в долгосрочной перспективе вот ни капли не легко.
В долгосрочной перспективе его питоновый сервер начнёт тупить намного раньше проблем с трафиком, так что ты экономишь не то и не там)
Нагрузка от обработки TLS/TCP явно не пойдет ему на пользу)
все процы например в аппаратный AES умеют лет 10 как)
Этому же процу нужно всю остальную логику тянуть при этом
Это вам не танки какие-нибудь с реалистичной физикой, чо тут тянуть-то
В долгосрочной перспективе его питоновый сервер начнёт тупить намного раньше проблем с трафиком,

Это не я сказал
Ну так тупить-то не из-за TLS начнёт. Ну уберём TLS — ну потянет сервер на 0.1341 одновременных игр больше, и чо?
Осталось узнать, почему все остальные UDP используют
Во-первых, остальные не флаеры. Во-вторых, для UDP тоже есть TLS
Сходу могу придумать как снизить накладные расходы вообще до долей байта, даже для однобайтных пакетов.

Схема такая — для N однобайтовых пакетов создаем «затравку» псевдослучайной последовательности, и передаем ее по TLS. Следующие N однобайтовых пакетов шифруем по Вернаму, используя эту последовательность. Длина «затравки» всего 4-8 байта для канонiчных генераторов псевдослучайности + расход на TLS. N выбираем как функцию своей паранойи — чем меньше тем надежней.
Заглянул сейчас в Wireshark — данные 18 байт, заголовок 5 байт. И ещё 66 байт на TCP/IPv4/Ethernet — по-моему вы тут все пытаетесь экономить на спичках и хотите заменить простое, работающее и приемлемое решение на хрен знает что
ACK в 64 байтов для каждого пакета — ок, да, ниочем экономия.
Заодно и от необходимости пинговать канал связи избавились, вот и отлично)
А нахера его пинговать, если обмен и так непрерывный, и просер пакетов всплывет при любом раскладе?)
Всплывёт только если есть механизм подтверждения. А если его нет, то просер пакетов будет неотличим от простого бездействия, а непрерывность никто и не обещал
В ответном пакете до кучи пишешь номер последнего обработанного действия. Отправляешь все действия от этого. Профит.
А откуда взяться ответному пакету при бездействии одной стороны? Ой, кажется мы снова изобретаем пингование
Не надо зависеть от ответов и нужно просто слать пакеты каждые 0.1с. Нет ответа больше 5 секунд? Ежу понятно, что с кем-то неполадки.
Во-первых,
Ой, кажется мы снова изобретаем пингование


Во-вторых,
каждые 0.1с

Ой, куда-то вся экономия трафика полетела к чертям, лол
Во-первых, ты начал нести бред. Все, что я предлагаю, укладывается в текущую систему без новых пакетов.
Во-вторых, сейчас абсолютно то же самое, только пакетов в два раза больше -_-
Ты предлагаешь слать пакеты каждые 0.1с — это ты начал нести бред, ничего подобного в игре Флаера сейчас нет и быть не должно, это тебе не танки
Почитай сообщения самого флаера и посмотри его скрин. Потом вернёшься и попробуешь снова.
Посмотрел, и чо? На его скрине активная игра, а не бездействие
И чего ты ко мне приебался тогда?