14 сентября 2024 года разработчики под ником SomeUnusualGames представил игру Tux-vs-Mutant-Window, написанную на Shell и C. Исходный код проекта опубликован на GitHub под лицензией MIT.
«Я сделал игру в Bash с помощью raylib. Это игра в жанре bullet hell с любимым пингвином Tux против злого мутанта Window. Одна вещь, которая меня удивила в Bash, это то, как быстро он может обрабатывать вставку и удаление элементов в массивах. Сначала я думал, что это будет узким местом, но он на удивление быстрый», — уточнил автор проекта.
Разработчик рассказал, что в игре он не смог вызывать функции C, которые принимают структуры по значению, поэтому ему пришлось использовать «обёртки» (wrapper), которые принимают указатели. Это не первый раз, когда у него возникала такая проблема с FFI.
Что касается использования вычислений с плавающей точкой, то автор пробовал две вещи: awk и bc. К сожалению, поскольку это внешние процессы, FPS в игре падало как сумасшедшее.
«Решение состоит в том, чтобы определить все вычисления с плавающей точкой на языке C, тогда не возникнет никаких проблем с частотой кадров», — подытожил SomeUnusualGames.
Источник: habr.com