Судя по всему комменты можно оставлять только под новыми постами. Прескорбно, но что ж
Хорошая подборка ресурсов по игровому нетворкингу.
https://github.com/ThusWroteNomad/GameNetworkingResources
https://github.com/ThusWroteNomad/GameNetworkingResources
GitHub
GitHub - 0xFA11/MultiplayerNetworkingResources: A curated list of Multiplayer Game Network Programming Resources
A curated list of Multiplayer Game Network Programming Resources - 0xFA11/MultiplayerNetworkingResources
Подборка, подобная предыдущей, но в этот раз касающаяся такой больной для геймдева темы как ECS.
https://github.com/SanderMertens/ecs-faq
https://github.com/SanderMertens/ecs-faq
GitHub
GitHub - SanderMertens/ecs-faq: Frequently asked questions about Entity Component Systems
Frequently asked questions about Entity Component Systems - SanderMertens/ecs-faq
Media is too big
VIEW IN TELEGRAM
Просто пруф концепта, пользователь может кастомизировать палитру и обновлять изображение в методе update. В данном случае экран залит одной длинной растяжкой цвета от 0 до 255 и задана какая-то вырвиглазная палитра, которая затем скроллится каждый кадр. Для конечного пользователя это выглядит как вот такая анимация
🔥1
https://youtu.be/aMcJ1Jvtef0 очень интересный доклад, который отчасти проливает свет на то, почему я решил сделать движок с восьмибитной графикой (и так чтобы это была действительно восьмибитная графика)
YouTube
8 Bit & '8 Bitish' Graphics-Outside the Box
In this GDC 2016 talk, Terrible Toybox's Mark Ferrari discusses and demonstrate some of his techniques for drawing 8 bit game graphics, including his celebrated methods for use of color cycling and pallet shifting to create complex and realistic background…
This media is not supported in your browser
VIEW IN TELEGRAM
Пример использования приёма palette cycling, извиняюсь за не очень качественную анимацию, художник из меня так себе :)
🔥2
Интересный факт о режиме mode 13h операционной системы MS-DOS -- там использовался буфер 320x200, но выводился он на экран с соотношением сторон 3 к 4 (то есть туда, где ожидался буфер 320x240). По этой причине арт, нарисованный в нормальных пропорциях выглядел на экране вытянутым. Для такой игры как Wolfenstein 3D даже был сделан специальный редактор, чтобы художник при рисовании сразу видел арт в тех пропорциях, которые будут в финальной игре. Чтобы получить внешний вид тайлов как на видео выше, я рисовал каждый тайл в размерах 12x10 (по сути соблюдая пропорцию так, чтобы итоговая картинка имела размер 12x12)
🤔1
Media is too big
VIEW IN TELEGRAM
Вторая попытка сделать скроллящуюся водичку, кажется, получилось лучше. Но возможно для хорошего качества у тайла 12x10 просто маловато места
👍2
Media is too big
VIEW IN TELEGRAM
Как оказалось, скроллинг был немного с багами
Помимо движка для ретроигр, я так же делаю биндинги для языка daScript (который планируется использовать в движке в дальнейшем). Наткнулся в чате языка на весьма интересный блог. Кроме кучи инфы по daScript, там есть ещё много всего интересного https://spiiin.github.io/
spiiin.github.io
Spiiin's blog
Programming blog
https://youtu.be/OqVuDzK_g9U реализация флипов оказалась не сильно тривиальным делом, в процессе отладки пришлось сделать себе динамическую сцену, чтобы проверить все граничные случаи.
YouTube
[retroblit] blitters demo
Реализованы блиттеры для спрайтов с цветовым ключом с учётом опционального переворота вдоль горизонтальной или вертикальной оси. Здесь можно видеть процесс отладки флипов
Запись экрана 2022-06-15 в 23.11.53.mov
7.5 MB
Работа над пользовательским вводом, и по совместительству демонстрация блиттера со спецэффектом "мигания", который подменяет оригинальный цвет спрайта на определённый цвет из палитры
Лучшая награда, это когда человек всё таки пересиливает скепсис и пробует язык сам, чтобы уже дальше решить нужно ему это или нет, вместо того чтобы обвинить тебя во всех смертных грехах что вот опять ты со своим никому не нужным евангелизмом.
👏1
Forwarded from Vadim Kaburgan
System Alert! Player @Madwareus converted another player to Rust!
https://github.com/IIporpammep/LearningRustWithRayTracing
До того как я попробовал Rust, я думал что блин зачем они такой синтаксис сделали, вот был бы он как C# было бы вообще круто.
Но оказалось что вообщем-то разницы нет, писать было оч приятно и не было такого, что раздражало что-либо.
Суфлер кода все таки несколько хуже чем у C# и подсказками(хотя мб нужно в ручную иногда нажимать пробел + . и тогда он будет показывать чаще) и тем что начинает он работать только после такого как файл сохранил поэтому постоянно жмакаю Ctrl+s, но это не особо мешает.
Модули объяснены как-то вообще не оч, но вроде разобрался и понравились экшины которые автоматом use прокидывают или pub mod добавляют и всякие impl вещи прописывают.
В начале орнул от того что i32 нельзя разделить на f32 и все нужно явно.
Вообще понял что дело не в C# а в C++. Это именно С++ меня так раздражает и двумя видами файлов, и Cmake вообще отвратительная хрень, и миллион стандартов
https://github.com/IIporpammep/LearningRustWithRayTracing
До того как я попробовал Rust, я думал что блин зачем они такой синтаксис сделали, вот был бы он как C# было бы вообще круто.
Но оказалось что вообщем-то разницы нет, писать было оч приятно и не было такого, что раздражало что-либо.
Суфлер кода все таки несколько хуже чем у C# и подсказками(хотя мб нужно в ручную иногда нажимать пробел + . и тогда он будет показывать чаще) и тем что начинает он работать только после такого как файл сохранил поэтому постоянно жмакаю Ctrl+s, но это не особо мешает.
Модули объяснены как-то вообще не оч, но вроде разобрался и понравились экшины которые автоматом use прокидывают или pub mod добавляют и всякие impl вещи прописывают.
В начале орнул от того что i32 нельзя разделить на f32 и все нужно явно.
Вообще понял что дело не в C# а в C++. Это именно С++ меня так раздражает и двумя видами файлов, и Cmake вообще отвратительная хрень, и миллион стандартов
😁2
This media is not supported in your browser
VIEW IN TELEGRAM
Базовый рендеринг текста готов 🙂 шрифт нарисован профессиональными программистами, так что не серчайте
Делаю рисование текста внутри бокса, решил что буду позоволять overflow для слишком длинных строчек, равно как и для слишком большого числа линий текста. Этого хватит для большинства случаев когда нужен был подобный текст (а это различные кнопки и т.д.)
Для текстбокса в любом случае лучше делать отдельный механизм, например, завязанный на отрисовку текста в другую поверхность и последующий рендеринг на основную только сабректа. Таким образом можно добиться клиппинга
Для текстбокса в любом случае лучше делать отдельный механизм, например, завязанный на отрисовку текста в другую поверхность и последующий рендеринг на основную только сабректа. Таким образом можно добиться клиппинга
https://youtu.be/n0zT8YSSFzw интересный доклад об истинной природе так раздражающего подтормаживания в играх. Помимо разъяснения причин, так же даётся рецепт как с ним бороться. Доклад от 2019 года, так что возможно некоторые способы которые были недоступны тогда, вполне могут быть доступны сегодня (касающиеся измерения таймингов не только CPU, но и GPU работы)
YouTube
Myths and Misconceptions of Frame Pacing / Alen Ladavac, Croteam / Reboot Develop Blue 2019
Myths and Misconceptions of Frame Pacing: A Pre-Sequel to the Infamous Elusive Frame Timing
Alen Ladavac, Croteam
Reboot Develop Blue 2019
More info at
www.rebootdevelop.com
Alen Ladavac, Croteam
Reboot Develop Blue 2019
More info at
www.rebootdevelop.com