Вебинары Разобраться в IT Реферальная программа
Программирование Аналитика Дизайн Маркетинг Управление проектами
23 Дек 2024
2 мин
1

Представлен публичный проект raycaster на базе Bash

Разработчик Isabella Bosia создала открытый проект raycaster in bash, исходный код доступен на GitHub.

Главное:

  • Разработчик Isabella Bosia представила проект raycaster in bash.
  • Проект использует метод raycasting для создания 3D-графики на 2D-карте.
  • Сложности с производительностью и ограничениями Bash оказались значительными.

Что такое raycasting?

Метод raycasting — это техника рендеринга, изначально разработанная для создания 3D-перспективы на 2D-картах, особенно в эпоху медленных компьютеров, где использование полноценного 3D-рендеринга было невозможным. Самая известная игра, использующая этот метод, — это классика видеоигр Wolfenstein 3D. Raycasting работает быстрее, так как требует расчетов только для вертикальных линий на экране, что позволяет накладывать графику с минимальными затратами ресурсов.

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

Сложности разработки в Bash

Проект raycaster in bash столкнулся с многочисленными трудностями. Как отмечает Isabella Bosia, величайшей проблемой является медлительность самого языка Bash. По её словам, при рендеринге необходимо избегать выполнения хотя бы одной команды на пиксель, иначе это приведет к снижению частоты кадров до неприемлемых уровней. К тому же, Bash не поддерживает числа с плавающей запятой, что усложняет математические вычисления, которые приходится производить с использованием целых чисел.

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

Сравнение с другими проектами

Интересно, что проект raycaster in bash не является единственным экспериментом в мире консольного программирования. Ранее разработчик 0x0mer представил проект doom-htop, который позволяет играть в легендарную Doom внутри утилиты htop. Такие проекты, как Tux-vs-Mutant-Window от команды SomeUnusualGames, показывают, что разработчики продолжают творить и искать новые форматы для любимых игр, используя такие языки, как Bash и C.

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

Добавить комментарий