Comments 56
Как раз перепрохожу Caesar III, емнип, это один и тот же движок, очень интересный рассказ.
А в римейке будут учитываться особенности выхода и входа юнитов из строений?
А про Августа знаете? https://github.com/Keriew/augustus
Нет, не знал, спасибо!
Есть ещё Юлиус https://github.com/bvschaik/julius
Он мне больше нравится Августа.
Здравствуйте, у меня имеется оригинал Caesar III, чем воссозданная версия будет отличаться от оригинала?????
Вы сделали мой день) Понятия не имел о сущестовании Августа, теперь оторваться не могу!
А есть ли что-то вроде Августа для Фараона?
https://github.com/dalerank/Akhenaten
Work in progress, задумок много, хватило бы времени
Классная игра, очень затягивала. Одна из немногих, в которую я погружался так, что переставал замечать не только несовершенство графики, но и течение времени, и вообще существование мира вокруг себя.
На момент выхода игры графика была топовая для этого типа игр, художники студии придумали специальную технику "back texturing" для создания такой полумультяшной-полунастоящий графики. Я написал об это тут https://habr.com/ru/articles/749478/
А в чем заключается восстановление игры? Кросс-платформенная версия?
Как в других клонах старых игр. Сделать по возможности игру близкую по функционалу к оригинальной, иметь возможность поиграть на современном железе. В планах конечно двинуться дорогой Августа и добавить новые элементы и механики, но это позже
Я посмотрел описание - игра вроде поддерживает Windows 7. В чем проблема запустить ее на современном железе?

Вот так версия из стима запускается на моей Win10 + gf1650 + widescreen fix. Нормально играть можно только на разрешении 1366х768, предварительно скинув в него экран. Второе что сильно мешает, опора фреймрейта на тактовую частоту - опять же версия из стима на 10% скорости идет в два раза быстрее чем надо.
Теперь понятно, спасибо.
не стимовская нормально на 10ке работает, на прошлой неделе играл, разрешение 1366х768, скидывать экран не нужно
Спасибо за статью, было очень интересно. Перепрохожу сейчас, с ноута на убунте через Port Wine либо на 4k внешнем мониторе с разрешением 2560x1440 либо на родном мониторе 1920x1080. За это отвечает где-то взятый набор запускных экзешников, например Pharaoh - 2560x1440.exe, Pharaoh - 1920x1080.exe. На счет частоты ничего не скажу, из проблем, то правая панель и карта не корректно масштабируются.
Спасибо большое, играл в нее, не зная как она называется, теперь знаю. спасибо еще раз :)
прочел голосом из игры с русской озвучкой)
Не менее популярен вид диметрической проекции, когда два из трёх углов между осями будут равны, как например в серии игры Civilaion 1/2
судя по скрину ниже речь про Civilization, но тогда неправильно указывать 1 часть, так как там вид сверху и соответственно квадратная сетка.
Оригинальная игра Pharaoh + Cleopatra нужна ?
Думал зайти быстро потыкать картинки и понастальгировать. А в итоге с интересом прочел всю статью! Благодарю, познавательно!
"Ситибилдер" звучит как ругательство
Первая игра, за которой я просиживал в компьютерных клубах
Фуф, прочитал всю статью, спасибо. Не знал вообще про такие игры.
Касательно проблем с рендером и артефактами и проблемами с производительностью - как всё реализовано в Transport Tycoon Deluxe? Я её играл в DOS на i386 - мультиоконность, вах-вах, артефактов там не замечал.
Люблю пиксельарт, не знаю почему народ ломанулся в 90-е на убогое 3д.
А что если на Mister FPGA в режиме эмуляции 486го установить win98 и туда установить оригинальную игру? Может сработать?
В свое время видел, но не играл. После вашей статьи захотелось поиграть) попробую на выходных запустить.
Недавно взял ремастер Age of Empires в стиме, да и оригинал заодно чтобы сравнить)
Спасибо за статью! Как раз в последнее время интересуюсь геймдевом и изометрической графикой.
Спасибо. Олдскулы свело. Прекрасная и статья и игра из детства. Залипну в выходные.
Очень интересно. Я тоже в свободное время (изредка) проектирую игру. С отрисовкой попроще, так как уходит много ресурсов на неё. Сколько у вас миллисекунд на отрисовку? Каждый раз перерисовываются все клетки? сколько клеток на экран помещатеся? Это полный цвет или 256 цветов?
Отрисовываются каждый фрейм все тайлы, 60fps ~ 15ms если до 1000 активных объектов во вьюпорте (сейчас все на одном потоке и рендер и логика), из тяжелого там только поиск пути, по сути все остальное закешировано в массивах которые я описал в конце. Но тут особо нечему проседать по перфу, и сама логика разбита на степы. Полный цикл логики всех нпс всех типов занимает 60 фреймов, напишу об этом попозже если интересно, там довольно интересная схема
схожа с тем что я уже писал тут https://habr.com/ru/articles/224931/
Довольно шустро. Поэтому я хочу понять, чем это достигается. У Вас алгоритм как я понял такой, если грубо: рисуются все тайлы земли, заполняя экран (сколько их?), поверх рисуются юниты, здания и прочее. Все с частичной прозрачностью. У меня ФПС (около 50) зависит не от размера тайла, а от их количества на экране, причём наличие на земле 15ти зданий садят ФПС в два раза относительно пустой земли. Как у вас с этим?
Что значит закешировано? в любом случае отрисовка каждый кадр всех, так?
Сложно сказать без кода, но если 15 зданий так садят фпс, ябы начал с профайлера VerySleepy, определил "горячие функции". Потом бы подключил Tracy/Pix (https://github.com/wolfpld/tracy) расставил метки и посмотрел кто сколько времени отнимает.Закешировано значит, что логика и рендер разделены. Логика меняет какието данные не в процессе вызова отрисовки т.е. в условном update() чтото сделали, изменения попали в нужные кеши (массивы, называйте как хотите), как все обновили рендеру надо только забрать из кешей условно индексы текстуры в атласе и позиции на экране, но не трогать ничего чтобы вызывало хоть какуюнтить тяжелую логику. Обо всем этом очень хорошо написано у Джейсона Грегори (http://ce.eng.usc.ac.ir/files/1511334027376.pdf) в 9 главе
del
Кроме diagonal path и zig-zag line можно пойти ещё одним путём: сделать как бы zig-zig-zig... и т.п. и завернуть массив справа.
Тогда клетка с координатами х, у рисуется по координатам (х*w - y*w/2, y*h) без каких-либо проверок.
Множество валидных координат карты будет косым прямоугольником, типа левая граница карты это клетки с координатами (0, 0), (0, 1), (1, 2), (1, 3), (2, 4) ...
При таком подходе алгоритм поиска пути проще, но при обращении к элементу массива для координаты надо будет тоже заворачивать, типа arr[y, x % map_width]
Если разрешить уходить за правый край карты и возвращаться слева, то реализация будет ещё проще, координаты клеток с любым х станут валидными.
P.s. Этот подход, как и zig-zag, позволяет использовать шестиугольные тайлы.
Классная игра!!!! Дайте кто-нибудь ссылку на игру - где скачать. Автор, как закончите воссоздание - дайте ссылочку на скачивание здесь в комментах. Буду очень благодарен!
Приятно удивило, что тут столько единомышленников, тоже была любимой в те года, узнав о реплике, очень её ждал. Конечно, это не совсем то, но ностальгию пощекотать все-равно получилось) Обязательно попробую вашу версию)
Как рисуется карта в Фараоне