Немного аутизма
121 subscribers
64 photos
32 videos
2 files
73 links
Творческая студия, с разговорами о разработке игр и языков программированя, а также о всяком около Computer Science

https://github.com/madwareru

https://twitter.com/madware_ru

https://mastodon.gamedev.place/@madware

https://gamedev.ru/users/?id=41788
Download Telegram
Лучшая награда, это когда человек всё таки пересиливает скепсис и пробует язык сам, чтобы уже дальше решить нужно ему это или нет, вместо того чтобы обвинить тебя во всех смертных грехах что вот опять ты со своим никому не нужным евангелизмом.
👏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 вообще отвратительная хрень, и миллион стандартов
😁2
This media is not supported in your browser
VIEW IN TELEGRAM
Базовый рендеринг текста готов 🙂 шрифт нарисован профессиональными программистами, так что не серчайте
Делаю рисование текста внутри бокса, решил что буду позоволять overflow для слишком длинных строчек, равно как и для слишком большого числа линий текста. Этого хватит для большинства случаев когда нужен был подобный текст (а это различные кнопки и т.д.)

Для текстбокса в любом случае лучше делать отдельный механизм, например, завязанный на отрисовку текста в другую поверхность и последующий рендеринг на основную только сабректа. Таким образом можно добиться клиппинга
Рендеринг текста в боксах допилен, а заодно нарисован шрифт поменьше
😁2👍1
https://youtu.be/n0zT8YSSFzw интересный доклад об истинной природе так раздражающего подтормаживания в играх. Помимо разъяснения причин, так же даётся рецепт как с ним бороться. Доклад от 2019 года, так что возможно некоторые способы которые были недоступны тогда, вполне могут быть доступны сегодня (касающиеся измерения таймингов не только CPU, но и GPU работы)
Наверное самый полезный и самый исчерпывающий документ по семейству алгоритмов Брезенхама который мне попадался. https://members.chello.at/~easyfilter/Bresenham.pdf
👍1
когда сделяль растеризатор треугольников, а треугольники со смежными рёбрами не заматчились. Плохо сделяль
Выглядит получше, но что это за одинокие ронины?
После того как переписал на нормальный scanline алгоритм, картинка вроде бы выправилась. Сейчас ми эти треугольники затекстурируем и снова расстроимся
👏2
Media is too big
VIEW IN TELEGRAM
Насладитесь ужасом
👍3😱1
Media is too big
VIEW IN TELEGRAM
Кажется, рендеринг треугольников почти доведён до нормального состояния) иногда всё же проскакивают щели между треугольниками, но в целом, уже можно пользоваться
Немного рекламы блогов других растеров
Forwarded from cheetah.games - дневник (Kviring Aleksei)
На днях закончил интеграцию Yandex Database в платформу, взамен PostgreSQL. На мой взгляд отличное решение - очень простое в установке и эксплуатации, из коробки поддерживает практически неограниченное масштабирование, есть SQL и транзакции. Однако весь дизайн нацелен на распределенность, поэтому нет auto increment и sequence.

Библиотеки для Rust официально нет, а не официально она есть и даже от самих авторов YDB. Там даже есть мой маленький PR 🙂 Что интересно, авторы не стали придумывать к базе данных свой особый сетевой протокол, а взяли GRPC за основу (тут я вспомнил как писал сетевой код для доступа к Redis).
Также есть Kubernetes Operator, что очень удобно. И все максимально просто и понятно.

В общем если у вас есть подребность хранить много данных и нужен ACID и SQL - то посмотрите на YDB, возможно, вам понравится.
Media is too big
VIEW IN TELEGRAM
На этой неделе отвлекался на тестовые задания и технические собеседования, и тем не менее, вроде бы умудрился допинать растеризатор треугольников до вменяемого состояния, добавил всякие матричные преобразования и прочие приятные вещи, так же затащил в проект прекрасную библиотеку lyon, которая позволяет рендерить залитые векторные пути, и помимо этого ещё написал растеризацию линий. Ещё пробросил в API реакцию на нажатия клавиш на клавиатуре. Теперь вполне можно сделать пример с игрой по типу астероидеов
Не могу не порекомендовать ознакомиться с движком Fyrox от Дмитрия Степанова.
Это движок написанный на расте, для создания игр на расте, у которого в отличие от других ржавых движков, есть свой редактор, при этом там есть полноценный плеймод в редакторе и даже такие родные юнитологам и адептам UE вещи как редактор стейт машины для анимаций https://youtu.be/sRicfb2uQz8
👍4
This media is not supported in your browser
VIEW IN TELEGRAM
Наконец-то нашёл кейс где палитровая анимация будет выглядеть как надо. Демка игры "астероиды" с красочным фоном в процессе написания
👍2
Media is too big
VIEW IN TELEGRAM
Первая демка готова 🙂
👍4
Forwarded from ozkriff.games 🦀 (ozkriff🇺🇦)
# Procedural Macros Under the Hood: Part II

Have you ever wondered how Rust’s procedural macros work? The second part of the "Procedural macros under the hood" blog series invites you to take a closer look at how the compiler and the IDE process them:

https://blog.jetbrains.com/rust/2022/07/07/procedural-macros-under-the-hood-part-ii

(here’s the first part in case you missed it)