Автор Тема: [SMD] Warcraft prototype  (Прочитано 412 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн sshadwork

  • Пользователь
  • Сообщений: 5
    • Просмотр профиля
[SMD] Warcraft prototype
« : 02 Июнь 2026, 08:36:56 »
Всем привет! Хотелось оценить лимиты мегадрайва по VDP если использовать только SGDK. Под рукой были старые сконверченные ресурсы варкрафта в котором как раз очень много тайлов. Как результат появился вот такой прототип со стримингом тайлов и спрайтов. Если не брать флики и озвучку то близзард вполне могла выпустить Варкрафт на мегадрайве - 4 мегабайта было вполне достаточно. Юниты ходят, рубят и стреляют. Карты можно менять зажав С. А - выбор, Б - отмена. XYZ и XYZ+MODE шорткат на иконки.
В палитре сеги без оптимизации выглядит так
314769-0

Ром лежит по ссылке https://drive.google.com/file/d/1KgcuCL1CciuqqnL_FK3f_lgKqkS0KsxF/view?usp=drive_link
и в аттаче * rts_0_2_1.bin.zip (372.27 КБ - загружено 15 раз.)

Шортс с превью
« Последнее редактирование: 03 Июнь 2026, 01:32:30 от Беларус »

Оффлайн Slava1989

  • Пользователь
  • Сообщений: 43
  • Пол: Мужской
  • Slava создатель дюны PVP
    • Youtube
    • Просмотр профиля
[SMD] Warcraft prototype
« Ответ #1 : 02 Июнь 2026, 12:09:01 »
бесперспективно кончено...  Но ! очень познавательно...
бедная сега, дюну то тянет еле еле( если брать оригинальный ром и без разгона) а тут все таки нагрузка будет еще выше...
а если все вырезать то получится что-то ти по коммандос для сеги.( когда то был такой картридж) жутко не играбельная вещ ...( сделанное с упором на "лишь бы запустилось")

Оффлайн SeregaZ

  • Пользователь
  • Сообщений: 2927
  • Пол: Мужской
  • ливнул с форума
    • Youtube
    • Просмотр профиля
[SMD] Warcraft prototype
« Ответ #2 : 02 Июнь 2026, 13:11:22 »
ну графоний варкрафтовский я как раз хотел заюзать для ромхака Дюны по Игре Престолов. сеттинг подходит. правда вот два вида ресурсов... планировался один, ибо в Дюне один. а юнитов всего пяток, чтоб памяти графония хватило. но, как это всегда у меня бывает - лежит без движения уже который год :)

Оффлайн sshadwork

  • Пользователь
  • Сообщений: 5
    • Просмотр профиля
[SMD] Warcraft prototype
« Ответ #3 : 03 Июнь 2026, 07:58:32 »
Производительность упирается в количество тактов которое надо потратить на обработку одного юнита. Для этого надо закончить базовые системы, пока не готов сбор ресурсов, наличие деревьев сильно усложняет код. Производительность Сеги в сети оценивают как 1.861363 MIPS, 386 процессор на 20 мегагерцах оценивается в 5 MIPS. Варкрафт работал на 386 процессоре не очень быстро но тратил очень много тактов на рендер картинки. Итого минимум двукратные тормоза если не переписывать на ассемблере.
Вернусь в тему когда станет понятно сколько юнитов Сега может обработать за кадр.

Оффлайн Werton

  • Пользователь
  • Сообщений: 1048
  • Пол: Мужской
    • Youtube
    • Просмотр профиля
[SMD] Warcraft prototype
« Ответ #4 : 03 Июнь 2026, 09:04:57 »
sshadwork, ты в ооп стиле пишешь? Не пробовал экспериментировать с ecs, или подобном стиле, т.е. оперировать не массивами/списками структур (aos), а структурой массивов (soa). Несмотря на то, что на m68k нет кэша, это в теории, всё равно должно дать какой-никакой прирост производительности, за счёт уменьшения обращения к ram и лучшей последовательности доступа.

Оффлайн Sharpnull

  • Пользователь
  • Сообщений: 5669
    • Просмотр профиля
[SMD] Warcraft prototype
« Ответ #5 : 03 Июнь 2026, 15:07:14 »
структурой массивов (soa)
Об этом https://gameprogrammingpatterns.com/data-locality.html.
Для оптимизации можно сделать вставки ASM. Для начала можно свою систему спрайтов сделать, своя должна быть лучше, чем встроенная. Dune на NES работает, значит и Warcraft можно на NES, вопрос в первую очередь в упрощении для оптимизации.

Кстати, может пригодится исходный код [PSX] Warcraft II: The Dark Saga: https://archive.thedatadungeon.com/warcraft_ii_the_dark_saga_1997.html. С archive.org его удалили.