Автор Тема: Civgen - Цивилизация 1 на Sega Mega Drive  (Прочитано 12698 раз)

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

Оффлайн sadhedg

  • Пользователь
  • Сообщений: 34
    • Просмотр профиля
Civgen - Цивилизация 1 на Sega Mega Drive
« Ответ #30 : 20 Август 2019, 23:12:42 »
Какие новости по проекту? О нём хорошо отзываются забугорные ретрогеймеры - http://www.indieretronews.com/2019/08/civgen-ambitious-project-to-bring.html
Нежданчик. С одной стороны приятно, а с другой стыдно за сырость этого дела. Я нашёл и новость, на которую ссылается англоязычная новость, и там пишут, что я исходник выложу. Я такого не писал же. Хотя сейчас подумал - когда-нибудь выложу, как бы там всё плохо ни было. Потому что самому мне до ума не довести это. Но сколько смогу - сам сделаю. Я даже музон хочу из краденых vgm для теста добавить, но это очень сильно не в приоритете.

Медленную отрисовку менюшек/графики я вообще вряд ли исправлю, например - я же плохо понимаю, как там железо работает. Читал, что что-то там около 90 тайлов в кадр отрисовка при обновлении экрана. Сначала я утешал себя тем, что та же Дюна только скроллит экран, хотя и быстро, а не телепортирует вид с места на место (как её же ПК-версия или warcraft какой-нибудь), поэтому ей не надо рисовать много тайлов сразу. Кстати, и Цива на snes тоже не умеет показывать произвольное место на карте, а только скроллит туда-сюда - возможно, тоже потому, что не может сразу всё нарисовать. Но потом я увидел какую-то фентези-стратегическую японщину от koei на Сеге, и там менюшки, скажем, рисуются/стираются сразу, хотя они в треть экрана где-то. То есть это я криворук.

А какие новости? Несколько багов исправил и всё. Ещё немного посмотрел с shift+56, чем ИИ в оригинале занимается. Мне не то чтобы даже некогда, но я обнаружил, что занимаясь цивкой, я не занимаюсь более нужными вещами и мне очень трудно оторваться от неё. Надеюсь, выйду в отпуск и тогда немножко развернусь. Но и тогда скорее всего буду делать топ 7 цивилизаций, графики и реплей, постгейм, да прописать компу искать первую клетку для города, если он сразу не основал город, и вообще поведение сеттлеров компа. Но до полноценного ИИ всё равно будет далеко. Я рад, что хотсит всё-таки вполне рабочий (тем более, что эмуляторы Сеги поддерживают сетевую игру), вот не далее как сегодня сидя в задумчивости в чертогах занялся шизофренией (одна моя личность - Мао Цзэдун, а другая - Сталин) и немного потестировал, и выявил баг, но это правится за 10 секунд, а что-то новое писать - не отлипнуть потом. Да, хотсит ок, варвары занимаются своим варварским делом - ищут первого попавшегося врага. Правда, видно, как они ходят. Но правильное отображение ходов юнитов компа или полное отключение  их показа далеко не в приоритете, так как и сейчас и в будущем мне будет полезно посмотреть, что юниты компа делают, а для этого достаточно нынешнего положения.

Я вспоминаю, что сначала хотел выложить вообще когда ещё только юнитов научил ходить и драться. Даже городов не было. Думал, что и это будет забавно. И несколько месяцев прошло с такого состояния до публикации. Хорошо, что я до этого не додумался.
« Последнее редактирование: 20 Август 2019, 23:19:01 от sadhedg »

Оффлайн sadhedg

  • Пользователь
  • Сообщений: 34
    • Просмотр профиля
Civgen - Цивилизация 1 на Sega Mega Drive
« Ответ #31 : 21 Август 2019, 18:37:08 »
Я потыкал отрисовку и осознал, что она медленная из-за вычислений, а не из-за того, что она происходит в процессе обновления экрана. Я не помню точных цифр, но возьмём скорость загрузки тайлов в процессе обновления экрана где-то в 100 тайлов/кадр. А у меня она около 50 тайлов/кадр, т.е. в 2 раза ниже. Отсюда вывод, что приблизительно 50% времени занимают вычисления - определение того, какие тайлы рисовать, а не сама загрузка тайлов, и даже если бы удалось поместить рисование в период, когда экран не обновляется, выигрыш был бы ничтожен. Если взять скорость не при обновлении экрана в 200 тайлов/кадр (опять же, я не помню точных цифр и не могу сейчас найти), то если половина времени уходит не на загрузку тайлов, а на вычисления, то выигрыш был бы не 50%, а только около 8%, кажется.

Если бы картинка рисовалась бы с полной скоростью даже в период обновления экрана - всё равно это было бы раза в 2 быстрее, чем есть у меня сейчас и это было бы уже прилично.

Так что я сегодня по возможности оптимизировал код определения того, какие тайлы рисовать на  отображаемом куске карты, и если раньше карта рисовалась за 20-22 кадра, то сейчас за 15-17 кадров. Если бы ничего не вычислялось, это цифра должна была бы быть около 8-10 кадров даже при обновлении экрана. Сега рисует не настолько мееедлееено, это я такой. Новую версию пока не выкладываю, надо потестить.

Оффлайн MetalliC

  • Технический консультант
  • Сообщений: 9364
  • Пол: Мужской
  • Demul team / MAME developer
    • Просмотр профиля
Civgen - Цивилизация 1 на Sega Mega Drive
« Ответ #32 : 21 Август 2019, 19:33:53 »
Если бы картинка рисовалась бы с полной скоростью даже в период обновления экрана - всё равно это было бы раза в 2 быстрее, чем есть у меня сейчас и это было бы уже прилично.
откуда цифра "раза в 2" ?
на сколько я помню из сеговских док - там что-то около аж в 10 раз разница

Оффлайн sadhedg

  • Пользователь
  • Сообщений: 34
    • Просмотр профиля
Civgen - Цивилизация 1 на Sega Mega Drive
« Ответ #33 : 21 Август 2019, 23:04:50 »
откуда цифра "раза в 2" ?
на сколько я помню из сеговских док - там что-то около аж в 10 раз разница
Из моих крайне смутных воспоминаний того, что я читал на http://gendev.spritesmind.net. Я сегодня попытался погуглить, но что-то неудачно. Возможно, раз в 5?

Как бы там ни было, удалось добиться обновления полностью открытой карты без дорог за 14-15 фреймов (ранее было 20-22), а полностью неизвестной карты - за 8 фреймов (ранее было где-то 18). Выложил обновлённый ром.

Оффлайн MetalliC

  • Технический консультант
  • Сообщений: 9364
  • Пол: Мужской
  • Demul team / MAME developer
    • Просмотр профиля
Civgen - Цивилизация 1 на Sega Mega Drive
« Ответ #34 : 21 Август 2019, 23:26:01 »
Из моих крайне смутных воспоминаний того, что я читал на http://gendev.spritesmind.net. Я сегодня попытался погуглить, но что-то неудачно. Возможно, раз в 5?
на-вскидку гуглится вот это https://wiki.megadrive.org/index.php?title=VDP_DMA#DMA_Transfer_capacity
Memory to VRAM - Bytes per lines: During active scan : 16,  During VBLANK : 167

то есть, доступ к VRAM не "несколько более тормозной" а "трындец какой тормозной" во время активного  вывода изображения.

Оффлайн sadhedg

  • Пользователь
  • Сообщений: 34
    • Просмотр профиля
Civgen - Цивилизация 1 на Sega Mega Drive
« Ответ #35 : 18 Сентябрь 2019, 04:35:49 »
К 1.7 добавлены:
примитивная атака от ИИ
ИИ захватывает пустые города
основание городов ИИ (без стратегических точек - просто если поселенец оказался в хорошем месте)
улучшение земли поселенцами ИИ работает более-менее
примитивные правила изменения ставки налога-науки-роскоши для ИИ, и даже (очень примитивные) правила работы со "специалистами"
юниты ИИ двигаются - случайным GoTo по континенту, или могут идти в стратегические точки (сам GoTo тоже надо исправлять, он очень примитивен)
защитные юниты могут укрепляться, но пока почти никогда не снимают эту команду
создаются стратегические точки атаки и защиты для юнитов в некоторых случаях, а также точка сбора караванов в город со строящимся чудом
дипломат ИИ, придя в город, может покупать города, красть технологии и делать саботаж
написан пока очень примитивный код для определения стратегий ИИ на континенты

Пока даже на высшей сложности ИИ совершенно немощен - к веку 19 даже до железных дорог не добрался, дальше мне лень стало тестить тот ран. С добавлением стратегических точек друг с другом рубятся они уже довольно бодро. Думаю, пора добавлять дипломатию между ИИ (потом на основе этого кода будет и дипломатия с игроком). Для скипа хода компа пользуюсь ускорением в эмуляторе. Когда хочется посмотреть, что творится - отключаю ускорение. Есть ещё особый вид веселья - включить дебаг (X на первом экране), затем на своём ходе нажать MODE Z MODE - переключив свою цивилизацию под управление компьютера. Получаем автоигру (помню такую фичу в оригинальной Колонизации). Правда, отключить никак нельзя - надо бы это поправить.

также (уже довольно давно, но раз уж я решил пост написать) несколько уменьшено время генерации карты. Ну и скорость рисования несколько получше, но всё равно весьма грязно это смотрится.

А также багфиксы и поправки в приоритеты автоматического строительства в городах (они по-прежнему странные, но уже лучше, чем было).

Ход ИИ по-прежнему "от его лица", добавлять нормальный вид я не спешу, т.к. для отладки удобно так, как есть.

Далее планирую улучшить поведение юнитов, ещё добавлять стратегические точки, затем надо научить ИИ пользоваться транспортными и военными кораблями. И надо улучшить GoTo. Ещё планируется затирать при сообщениях только ту часть карты, где было сообщение. И не обновлять мини-карту в большинстве случаев при обновлении экрана. А при полном обновлении экрана, возможно, стоит сделать его затемнение, чтобы не было видно отрисовку.

EDIT: добавил быстрое движение юнитов врага. Для этого нужно отключить enemy moves в настройках. Так даже без ускорения можно более-менее играть (с текущим немощным ИИ).
« Последнее редактирование: 21 Сентябрь 2019, 05:14:09 от sadhedg »

Оффлайн sadhedg

  • Пользователь
  • Сообщений: 34
    • Просмотр профиля
Civgen - Цивилизация 1 на Sega Mega Drive
« Ответ #36 : 28 Сентябрь 2019, 15:37:20 »
В 1.8 реализована невидимость юнитов. Т.к. без отрисовки юнитов стало понятно, сколько на самом деле времени идёт сам расчёт хода компьютерного игрока - то было оптимизировано время раздумий комп. игрока: сокращено приблизительно в 2-2,5 раза, но всё равно идёт очень медленно. Попутно я сломал всю игру, но сейчас починил и выложил стабильную версию.

EDIT: 1.8.3.0: только сейчас заметил, что формула подсчёта требуемой пищи для роста города была совершенно неверной - для человека (модификатор 10) было 10,30,60,100... вместо 20,30,40,50... Это исправлено. Правда, многие параметры ИИ уже подгонялись под медленный рост - надо смотреть, что получится теперь.

Кроме того, добавлен модификатор -2 к полоске щитов и к количеству рядов пищи для ИИ после начала н.э. (так в оригинале).

Что касается хода ИИ, то он пока занимает при обилии железных дорог и приличном количестве юнитов (пара сотен из возможного максимума 896 - без человека) более минуты (и это было с маленькими городами!). И это с тупым ИИ, у которого пока мало правил и который даже не умеет отправлять войска морем. Однако по сравнению с 1.8.0.0 это лучше в разы.
« Последнее редактирование: 02 Октябрь 2019, 04:48:42 от sadhedg »

Оффлайн sadhedg

  • Пользователь
  • Сообщений: 34
    • Просмотр профиля
Civgen - Цивилизация 1 на Sega Mega Drive
« Ответ #37 : 21 Октябрь 2019, 23:33:48 »
EDIT: обновил версию до 1.9, основная особенность 1.9 по сравнению с 1.8 - комп. игрок теперь может перевозить юниты на другие континенты. Есть много багов с отрисовкой юнитов врага, потому что я тестирую в основном с включённой открытой картой и без игрока-человека. Но как только попробовал поиграть нормально - выявились разные мелкие проблемы с отображением юнитов противника.

5-6 ноября добавлено управление ИИ истребителями, бомбардировщиками и атомн. бомбами. Истребители и бомберы (пока?) не умеют передислоцироваться в другой город. Бомба работает как у игрока-человека - т.е. без читерства оригинала (где она вылетает из любого города и сразу телепортируется к цели). Если бомба не может долететь до цели - она передислоцируется в город, который ближе к цели. Тем не менее, условия для применения атомного оружия взяты из кода darkpanda, который в свою очередь основан на дизассемблере оригинала - таким образом атомная бомба у меня - это единственный юнит, поведение которого основано на оригинальном коде.

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

Первоначальный пост:
Обновил файл с описанием управления. Добавки две: 1) если нажать B на городе, будут скрыты/показаны названия городов. 2) если нажать C после прочтения сообщения - управление цивилизацией игрока-человека вернётся игроку-человеку, если было отключено для автоигры.

В хотсите теперь у игроков индивидуальные настройки. Например, если один из них предпочитает двигать юниты крестовиной, а другой - с подтверждением, это теперь легко устроить.

ИИ к настоящему моменту уже не такой тугой, на высшей сложности более-менее регулярно может запустить корабль на Альфу в 20 веке. Но войска морем по-прежнему не перевозит (если только случайно) и живёт окукленно на стартовом континенте. [EDIT: в 1.9 ИИ наконец-то научился перевозить войска морем и колонизировать/захватывать другие острова, правда, пока у него не очень хорошо получается.] Вообще рекомендую выбирать высшую сложность - так ИИ представляет хоть какой-то интерес. Вероятно, на настоящий момент она соответствует где-то warlord'у оригинала.
« Последнее редактирование: 13 Ноябрь 2019, 13:46:15 от sadhedg »

Оффлайн TiberiyLTim

  • Пользователь
  • Сообщений: 346
  • Пол: Мужской
  • -=TLT=-
    • Просмотр профиля
Civgen - Цивилизация 1 на Sega Mega Drive
« Ответ #38 : 28 Ноябрь 2019, 16:32:12 »
Где свежую версию скачать? А то только 1.5 доступна.

Оффлайн Sharpnull

  • Пользователь
  • Сообщений: 4954
    • Просмотр профиля
Civgen - Цивилизация 1 на Sega Mega Drive
« Ответ #39 : 28 Ноябрь 2019, 16:55:27 »
Где свежую версию скачать? А то только 1.5 доступна.
Не смотрите на название, там версия 1.9 от 25.11.2019. Автор просто не хочет переименовывать файл, но это можно сделать и ссылка не испортится.

Оффлайн sadhedg

  • Пользователь
  • Сообщений: 34
    • Просмотр профиля
Civgen - Цивилизация 1 на Sega Mega Drive
« Ответ #40 : 28 Ноябрь 2019, 19:01:41 »
Не смотрите на название, там версия 1.9 от 25.11.2019. Автор просто не хочет переименовывать файл, но это можно сделать и ссылка не испортится.
Спасибо, переименовал. Не обращал на это внимания.

Изменения к 1.9.4:
1) ИИ теперь может совершать внезапное нападение (на юнит или на пустой город - но никогда на чужую пустую территорию)
2) исправлен баг с исчезновением юнитов при загрузке
3) исправлены баги с отрисовкой видимых юнитов врага (возможно не все)
4) исправлен баг - неправильный подсчёт агрессии при переговорах ИИ и человека (не обновлялся номер цивилизации, с которой говорит ИИ)
5)  исправлен графический баг на экране переговоров после получения технологии, если включена цивилопедия
6) при атаке на город у города устанавливается специальный флаг, который влияет на смену производства в автостроительстве. В частности, если защитников 0 или 1, город с этим флагом может выбрать только строительство юнитов.
7) при атаке бомбардировщика на город устанавливается спец. флаг, в города с этим флагом может передислоцироваться истребитель, и вероятность производства истребителя в таком городе выше. Флаг снимается,  когда в городе появляется истребитель.
8) если у города нет защитников и он строит что-то кроме юнита, дворца или казарм - автостроительство меняется
9) бомбардировщики ИИ могут передислоцироваться в другой город
10) ИИ худо-бедно может пользоваться авианосцами
11) передвижение атомных бомб ИИ стало невидимым (без вкл. читов) - чтобы соответствовать описанию цивилопедии
12) различные изменения для более адекватной экспансии ИИ на другие континенты и вообще более адекватного поведения.
Изменения в 1.9.5:
1) сделан Зал Славы, график развития (в общих чертах), экран рейтинга. Игру можно продолжать после конца истории/прибытия космического корабля.
Изменения к 1.9.7:
1) в общих чертах сделан реплей
2) ещё изменения в ИИ для более адекватной экспансии и поведения

Полагаю, мой подопечный изменился от "полного идиота" до "просто идиота". В частности, наверное, GoTo так и останется в печальном положении - не представляю, как его улучшить: нужно либо каждый раз пересчитывать путь (что долго), либо хранить для каждого юнита путь (а это очень много памяти). Так и будет жадный алго по 1 клеточке. Но это для ИИ, а вот для человека обязательно надо будет заменить на A*, время хода человека не критично.

Ещё об ИИ. Если не считать неадекватного движения юнитов, само по себе его развитие должно бы уже идти вровень с оригиналом. Возможно, что важный фактор разницы сейчас - это отсутствие читерских торговых путей в самые лучшие города мира. Возможно когда-нибудь я научу его хотя бы высчитывать 3 самых лучших города в начале хода, чтобы он пытался послать караваны именно туда.
« Последнее редактирование: 12 Декабрь 2019, 17:11:48 от sadhedg »

Оффлайн SavitarSvit

  • Пользователь
  • Сообщений: 1268
  • Пол: Мужской
  • Хирург личности
    • Youtube
    • Просмотр профиля
Civgen - Цивилизация 1 на Sega Mega Drive
« Ответ #41 : 29 Декабрь 2019, 21:48:12 »
Запустил игру на железе и был приятно удивлен проделанной работе. Очень хорошо смотрится и играется. Жаль что пока без музыки.

Оффлайн sadhedg

  • Пользователь
  • Сообщений: 34
    • Просмотр профиля
Civgen - Цивилизация 1 на Sega Mega Drive
« Ответ #42 : 02 Январь 2020, 22:52:39 »
Запустил игру на железе и был приятно удивлен проделанной работе. Очень хорошо смотрится и играется. Жаль что пока без музыки.
Спасибо за тест на железе!

EDIT: добавлен показ топа-7 цивилизаций время от времени.

На правах оффтопа: мегадрайв это фигня, когда есть Excel: https://www.youtube.com/watch?v=PzETBRcr_i8
« Последнее редактирование: 04 Январь 2020, 01:21:11 от sadhedg »

Оффлайн SeregaZ

  • Пользователь
  • Сообщений: 2482
  • Пол: Мужской
  • ливнул с форума
    • Youtube
    • Просмотр профиля
Civgen - Цивилизация 1 на Sega Mega Drive
« Ответ #43 : 04 Январь 2020, 14:59:50 »
мегадрайв это фигня, когда есть Excel
да уж... хватает извращенцев в наше время :)

Оффлайн Kosvor

  • Пользователь
  • Сообщений: 119
    • Просмотр профиля
Civgen - Цивилизация 1 на Sega Mega Drive
« Ответ #44 : 04 Январь 2020, 16:26:00 »
А пусть курсор не мигает. Иначе часто трудно понять где он находится. Вертикально выставленные кнопки регуляции расходов на науку и прочее лучше расставить горизонтально, с их цифрами прямо под ними (а эти числа могут стать трёхзначными?). При переключении на боковую панель курсор появляется слишком высоко- там, где он почти никогда не нужен (пусть будет хотя бы на один квадрат ниже). Мигающая надпись "конец хода" рядом с кнопкой сохранения не объясняет игроку что тот должен сделать. Лучше пусть будет немигающая "press A or Start for next Turn" если поместится. А кнопку сохранения лучше вообще переместить с самого низа ну например поближе к опциям.
« Последнее редактирование: 04 Январь 2020, 21:02:22 от Kosvor »

Оффлайн sadhedg

  • Пользователь
  • Сообщений: 34
    • Просмотр профиля
Civgen - Цивилизация 1 на Sega Mega Drive
« Ответ #45 : 05 Январь 2020, 00:28:31 »
А пусть курсор не мигает. Иначе часто трудно понять где он находится. Вертикально выставленные кнопки регуляции расходов на науку и прочее лучше расставить горизонтально, с их цифрами прямо под ними (а эти числа могут стать трёхзначными?). При переключении на боковую панель курсор появляется слишком высоко- там, где он почти никогда не нужен (пусть будет хотя бы на один квадрат ниже). Мигающая надпись "конец хода" рядом с кнопкой сохранения не объясняет игроку что тот должен сделать. Лучше пусть будет немигающая "press A or Start for next Turn" если поместится. А кнопку сохранения лучше вообще переместить с самого низа ну например поближе к опциям.

Спасибо за отзыв. Мне полезно поглядеть на всю эту штуку со стороны, у меня-то глаз замылился. Но интерфейс - это то, что было сделано первым делом и я совсем не хочу его менять. И я не нашёл в описанном достаточно серьёзных проблем, чтобы мне что-то делать. Когда я помру и открою исходник, будете делать как хотите, но пока ничем помочь не могу.

Курсор мигает как раз потому, чтобы было видно, где он находится. То, что он плохо заметен - проблема сама по себе, но вряд ли она будет исправлена. Я не великий геймдизайнер, а лишь разраб-любитель. Вертикальные кнопки регуляции имхо находятся в общей гармонии с вертикальным расположением панели. Эти числа могут быть от 0 до 10 (10 в сумме) - шаг в 10%. Курсор появляется на мини-карте - я решил, что она наиболее востребована. К тому же мотание позиции туда-сюда происходит имхо довольно быстро и у меня у самого не вызывает раздражения. Распределение налогов и отчёты нужны по-моему реже. Тем более распределение налогов дублируется на X, Y, Z. Не совсем интуитивное управление не только в мигающей надписи, и я не думаю, что такой мелочью можно поправить дело. Это игра с довольно разнообразными механиками, управление никак не может быть 100% интуитивным. К таким вещам прилагался мануал. Да даже к Марио прилагался мануал. Тем не менее, я считаю, что управление достаточно хорошее, чтобы его можно было освоить методом тыка, если игрок раньше играл в Цив. Ну - сколько кнопок на контроллере? Ну наверно игрок поняв, что A - это подтверждение, попробует тыкнуть в мигающую надпись. Либо попробует нажать START, как на особо важную кнопку, так сказать. Сохранение по-моему - наименее востребованная функция. Я сам сохраняюсь только когда заканчиваю сессию, и ты так делай.

Наконец, когда-нибудь будет сделано управление под мышь, что нам братьям эмуляторщикам.

Ещё раз спасибо за отзыв, мне полезно знать, как эта штуковина воспринимается со стороны. Ко многим вещам я так привык, что уже не замечаю, плохи они или хороши.

Онлайн Ogr

  • Пользователь
  • Сообщений: 7370
    • Просмотр профиля
Civgen - Цивилизация 1 на Sega Mega Drive
« Ответ #46 : 05 Январь 2020, 07:06:22 »
он плохо заметен - проблема сама по себе, но вряд ли она будет исправлена.

Оффлайн sadhedg

  • Пользователь
  • Сообщений: 34
    • Просмотр профиля
Civgen - Цивилизация 1 на Sega Mega Drive
« Ответ #47 : 05 Январь 2020, 23:07:43 »
(Ссылка на вложение)

А, спасибо за идеи. Шириной в один пиксель рамка когда-то и была, но потом я увеличил до 2, чтобы лучше было видно. Эти крутящиеся штуки не очень хорошо видны же, но идея мне нравится. Пока я подумал, что возможно стоит попробовать сделать мигание более частым. Белый цвет хотя и плохо кое-где виден, но в большинстве случаев виден хорошо и всё-таки это лучший вариант (если оставлять его одноцветным и без анимации). Если без мигания - то возможно, стоит сделать с крутящейся анимацией, как на картинке, но шириной в 2 пикселя, как сейчас.

Ещё я подумал по поводу неудобной стартовой позиции 0,0 в боковой панели - я попробовал оставлять позицию боковой панели там же, где она была, а не обнулять - но мне так не понравилось, только путает.

Сейчас меня больше интересует ИИ, экран военной победы, лицевая анимация лидеров (может быть, и советников им добавлю - но максимум 2, а не 4), нормальный GoTo. Снова сижу с shift+56 в оригинале. Значительно поднял приоритет строительства амбара (а также и водопровода при населении 10), и ИИ установил новый рекорд на карте Земли (emperor diff.) - открыл ж/д в 440 году и одержал космическую победу в 1856.

Оффлайн Sharpnull

  • Пользователь
  • Сообщений: 4954
    • Просмотр профиля
Civgen - Цивилизация 1 на Sega Mega Drive
« Ответ #48 : 06 Январь 2020, 01:11:58 »
Белый цвет хотя и плохо кое-где виден, но в большинстве случаев виден хорошо и всё-таки это лучший вариант (если оставлять его одноцветным и без анимации). Если без мигания - то возможно, стоит сделать с крутящейся анимацией, как на картинке, но шириной в 2 пикселя, как сейчас.
Обычно, чтобы всегда было хорошо видно, нужно либо цвета инвертировать (редко), либо использовать чёрный с белым как в субтитрах у фильмов. Для примера возьмём экспертов в виде SimCity для NES:

Чёрная тень и переливающаяся 4 цветами основная рамка - очень красиво получилось. UPD: Обновил гифки, там ещё есть размером 3x3 тайла, различие только в расстоянии.
--------
Но без анимации тоже будет хорошо видно. В SimCity это реализовано как 4 спрайта по 1 тайлу, а основной цвет постоянно меняется в палитре, так что если есть свободный цвет для мигания, будет легко реализовать.
--------
Посмотрел, у вас цветов впритык. Вы можете также использовать смену между двумя тайлами как сейчас, но уже для 4 спрайтов, дополнительной VRAM не понадобится. Вот для примера без анимации и с двумя оттенками серого:

--------
Обновил гифку выше, добавил анимацию "сжатия", она также влезает в тайл и нужно только во втором кадре нарисовать со смещением или просто менять координаты спрайтов через код, тогда вместо 8 тайлов будет использовано 4 в VRAM.
Надеюсь вы не решите делать мигание через полное убирание выделения как сейчас. Мне кажется это плохой идеей.
« Последнее редактирование: 06 Январь 2020, 23:03:29 от Sharpnull »

Оффлайн sadhedg

  • Пользователь
  • Сообщений: 34
    • Просмотр профиля
Civgen - Цивилизация 1 на Sega Mega Drive
« Ответ #49 : 07 Январь 2020, 02:56:42 »
Обычно, чтобы всегда было хорошо видно, нужно либо цвета инвертировать (редко), либо использовать чёрный с белым как в субтитрах у фильмов. Для примера возьмём экспертов в виде SimCity для NES:
(Ссылка на вложение) (Ссылка на вложение)
Чёрная тень и переливающаяся 4 цветами основная рамка - очень красиво получилось. UPD: Обновил гифки, там ещё есть размером 3x3 тайла, различие только в расстоянии.
--------
Но без анимации тоже будет хорошо видно. В SimCity это реализовано как 4 спрайта по 1 тайлу, а основной цвет постоянно меняется в палитре, так что если есть свободный цвет для мигания, будет легко реализовать.
--------
Посмотрел, у вас цветов впритык. Вы можете также использовать смену между двумя тайлами как сейчас, но уже для 4 спрайтов, дополнительной VRAM не понадобится. Вот для примера без анимации и с двумя оттенками серого:
(Ссылка на вложение)
--------
Обновил гифку выше, добавил анимацию "сжатия", она также влезает в тайл и нужно только во втором кадре нарисовать со смещением или просто менять координаты спрайтов через код, тогда вместо 8 тайлов будет использовано 4 в VRAM.
Надеюсь вы не решите делать мигание через полное убирание выделения как сейчас. Мне кажется это плохой идеей.

Вах, большое спасибо. Попробую реализовать что-то такое.

А я зачем зашёл-то. Наконец-то дошли руки до картинки открытия. В 16 цветах Сид выглядит печально, конечно, но ничего другого, кроме оригинальной картинки, мне в голову так и не пришло.

Оффлайн Sharpnull

  • Пользователь
  • Сообщений: 4954
    • Просмотр профиля
Civgen - Цивилизация 1 на Sega Mega Drive
« Ответ #50 : 07 Январь 2020, 03:47:51 »
В 16 цветах Сид выглядит печально
Если разделить фон на области, то можно использовать ещё 2 палитры, кроме того при использовании правильных программ и ручной правки можно добиться результата получше.
--------
Хотя не стоит тратить время на это сейчас.
« Последнее редактирование: 07 Январь 2020, 03:57:34 от Sharpnull »

Онлайн Ogr

  • Пользователь
  • Сообщений: 7370
    • Просмотр профиля
Civgen - Цивилизация 1 на Sega Mega Drive
« Ответ #51 : 07 Январь 2020, 03:57:32 »
Если разделить фон на области, то можно использовать ещё 2 палитры, кроме того при использовании правильных программ и ручной правки можно добиться результата получше.
а если построчно палитры менять, то можно и больше 100 цветов одновременно на экране при статичной картинки использовать.

Оффлайн Sharpnull

  • Пользователь
  • Сообщений: 4954
    • Просмотр профиля
Civgen - Цивилизация 1 на Sega Mega Drive
« Ответ #52 : 07 Январь 2020, 04:09:45 »
Ogr, ага, не только при статичной, этот raster effect и в Сонике эффект воды добавляет. По нему он и известен.
--------
Прочитал, что там есть артефакты на железе в виде CRAM dots, так что если так делать, придётся на железе проверять и устранять.

Оффлайн sadhedg

  • Пользователь
  • Сообщений: 34
    • Просмотр профиля
Civgen - Цивилизация 1 на Sega Mega Drive
« Ответ #53 : 07 Январь 2020, 16:05:24 »
Ogr, ага, не только при статичной, этот raster effect и в Сонике эффект воды добавляет. По нему он и известен.
--------
Прочитал, что там есть артефакты на железе в виде CRAM dots, так что если так делать, придётся на железе проверять и устранять.
Blastem эмулирует cram dots, не знаю, насколько точно. Я уже переносил обновление палитр "под экран", когда заметил такое дело. В Сонике, кстати, этот мусор спрятан анимацией воды. Да, всякие хитрости с hblank, hightlight/shadow и т.п. - явно выше моих умений и желания.

Поменял графику курсора и сделал мигание более частым.

Оффлайн Sharpnull

  • Пользователь
  • Сообщений: 4954
    • Просмотр профиля
Civgen - Цивилизация 1 на Sega Mega Drive
« Ответ #54 : 07 Январь 2020, 19:11:45 »
В Сонике, кстати, этот мусор спрятан анимацией воды.
В Sonic 3 их вообще нет. Есть ещё "Blast Processing", но это всё действительно не нужно, мои комментарии были лишними.
Поменял графику курсора и сделал мигание более частым.
Это ужасно, часть времени нет выделения, часть времени перекрывает выделяемый объект. Я забыл про главный пример для SMD: Dune II. Там нет мигания и больше подходит для плоской (UPD: точнее из-за вида сверху, а не сбоку как в SimCity) карты как у вас, хотя мигает выделенный объект (база на картинке):

--------
Впрочем, у них выделение здания корявое, плохое не нужно брать.
Это моё мнение, больше не будут приставать с выделением. Я всё сказал :)
« Последнее редактирование: 07 Январь 2020, 19:37:01 от Sharpnull »

Оффлайн SeregaZ

  • Пользователь
  • Сообщений: 2482
  • Пол: Мужской
  • ливнул с форума
    • Youtube
    • Просмотр профиля
Civgen - Цивилизация 1 на Sega Mega Drive
« Ответ #55 : 08 Январь 2020, 16:28:09 »
насчет музыки я помница играл в первую цивилизацию еще не древнем 486 и никакого саунд бластера там в помине не было :) посему даже не знаю оно это или не оно:
http://www.mirsoft.info/gmb/music_info.php?id_ele=MTQzMzQ=

Оффлайн grooomy

  • Пользователь
  • Сообщений: 833
    • Просмотр профиля
Civgen - Цивилизация 1 на Sega Mega Drive
« Ответ #56 : 09 Январь 2020, 12:59:12 »
Заценил игру. Выглядит интересно и очень перспективно. Но слишком много работы еще предстоит проделать до играбельного состояния. А вообще цивилизация - очень непростая игра. И как по мне, нужно очень много знать и хоро уметь программировать под сегу, что бы поднять такой сложный проект.

Оффлайн sadhedg

  • Пользователь
  • Сообщений: 34
    • Просмотр профиля
Civgen - Цивилизация 1 на Sega Mega Drive
« Ответ #57 : 11 Январь 2020, 16:19:50 »
Заценил игру. Выглядит интересно и очень перспективно. Но слишком много работы еще предстоит проделать до играбельного состояния. А вообще цивилизация - очень непростая игра. И как по мне, нужно очень много знать и хоро уметь программировать под сегу, что бы поднять такой сложный проект.
Ну возможно те, кто много знает и хорошо программирует, вряд ли захочет заниматься таким? Имейте в виду, что как оно есть сейчас - так оно в сущности и останется. Тут уже много проделано. Из особо толстого остался вид города, адекватный ИИ и музыка.
Я согласен, что качественно мне эту игру не сделать. Однако я люблю Сегу и люблю Цивилизацию.

Обновил до 1.10. Старый sram сейв несовместим. Добавлен бит положения мирового океана на карте (только в синглплеере). Т.е. ИИ различает, где океан, а где озеро. Правило саботажа исправлено на оригинальное (50% саботаж, 50% уничтожение случайного здания или тоже саботаж, если зданий нет). Багфиксы и всякое по мелочи.

Сейчас планируется 1) изменить отображение юнитов ИИ так, чтобы оно происходило после фактического действия, а не до - чтобы не показывать юниты, скипающие ход 2) определять новую позицию юнита ИИ до начала анимации перемещения на новую клетку - чтобы при выходе из неизвестности юнит показывался 3) сделать более адекватное перемещение на другие континенты, особенно если на текущем есть враги 4) сделать экран военной победы.

Оффлайн Kosvor

  • Пользователь
  • Сообщений: 119
    • Просмотр профиля
Civgen - Цивилизация 1 на Sega Mega Drive
« Ответ #58 : 12 Январь 2020, 19:27:44 »
Долго не мог понять почему в одном городе (с девяткой населения) жители без конца бунтуют а мэр постоянно сбегает. Грядки с едой рядом строил, армию из соседнего города приводил... Потом решил всех уничтожить, но единственный способ который нашёл для этого - зайти в меню города и оттуда убрать всех работников с соседних с городом клеток. Жители начали умирать от голода и беспорядки сразу прекратились.

Оффлайн grooomy

  • Пользователь
  • Сообщений: 833
    • Просмотр профиля
Civgen - Цивилизация 1 на Sega Mega Drive
« Ответ #59 : 12 Январь 2020, 20:00:24 »
Понятно. Ну в принципе тоже верно.
От себя пожелания можно озвучить? (Их не обязательно реализовывать:)  )  Они связаны с адаптацией под консольное управление с джойстика в первую очередь.
1) Нужно залочивать курсор в пределах всплывающих менюшек юнитов/городов  до момента выбора или выхода из них.
2) Нужно залочивать курсор в пределах полей меню/карты  внутри города с возможностью переключения между ними.
3) Нужны экраны с анимацией (например основание города)
4) Нужно сгладить границы "тумана войны".
5) Не хватает "лестницы открытий"
6)  Нужно залочивать курсор в пределах мира/карты мира/игровых меню. Переключение между которыми осуществляеться кнопкой С.
7) Ну и вид города, адекватный ИИ и музыка конечно :)