
Пишем движок для игры Arcanum на С++ 23 в 3D. Глава 00 — В начале славных дел
JordanCpp 12 минут назад Пишем движок для игры Arcanum на С++ 23 в 3D. Глава 00 — В начале славных дел Простой 10 мин 298 C++ * Старое железо Open source * Программирование * Разработка игр * Туториал Приветствую,...
18 Temmuz'da Wellington'da en yüksek sıcaklık 14°C olacak mı?
Вот важная новость с фронта ИИ: JordanCpp 12 минут назад Пишем движок для игры Arcanum на С++ 23 в 3D. Глава 00 — В начале славных дел Простой 10 мин 298 C++ * Старое железо Open source * Программирование * Разработка игр * Туториал Приветствую, Хабравчане. Прошло несколько лет, с последней попытки написать движок Arcanum.
Движок для Arcanum: Ретро-кодинг на ПК 1995 года как акт цифровой археологии. И я уже начал готовить материал, но я понимал, что опять буду себя ограничивать старыми С++ компиляторами годов эдак 95-98-ых. И меня с одной стороны это мотивировало, так как я люблю программировать под старое железо, выжимать производительность, там где ее нет.
Технические детали
С другой стороны, это опять борьба с библиотеками и костылями и серьезными ограничениями языка эпохи С++ 90-ыхА, что если соединить, современные инструменты С++ 23 и Windows 95. Я обдумывал разные идеи, от совсем безумных. Порт современного gcc под Windows 98 хотя бы, до собирать проект под современными системами в асм и уже этот асм преобразовывать и ассемблировать старым masm'ом.
В итоге погуглив я нашел похожий проект, получилось это сделать в более простом варианте. Берем MSVC 2026 пишем современный С++ 23 код, используем модули, лямбды и другие новые и не очень фичи. После чего компиляторной магией флагов, собирает девственно чистый x86 код, без этих ваших sse-42 и avx-100500 и в итоге данный obj файл можно скормить линкеру от VC 6.
0 и оно оживет, запускается и даже работает:)Весь процесс я описал в статье. Главные трудности, это написать минимальной совместимой по API библиотеки STL. Что бы код мог компилироваться как для Windows 95 используя этот кастомный STL, так и с STL в поставке компилятора.
Отраслевые последствия
А значит, я могу использовать современный компилятор С++ 23 и запускать итогоый бинарник на Windows 95, 98. Не устану повторять, в старом железе есть свое очарование. Как говорится поехали!
Цель создать движок по мотивам игры Arcanum, использовать ресурсы, графику и звуки. Все остальное полностью свое. Но мне хочется ещё внести что то новое в этот движок, не просто пишем все на современном С++.
Тайлы пола, стен и потолка сделать в 3D. И уже на этот мир наложить оригинальную графику персонажей, анимацию, декорации. Это даст лучшее разнообразие.
Событие, по словам экспертов, усилит конкуренцию в сфере ИИ.




