+ Ответить в теме
Страница 11 из 11 ПерваяПервая ... 1011
Показано с 201 по 210 из 210

Тема: Великие племена (The Great tribes)

  1. #201
    Цитата Сообщение от Хитрец Посмотреть сообщение
    Забыл написать, у осадных, видимо, всё тоже самое...
    Ну штурм города работает по тем же правилам. Есть фаза дальнего боя, где идет обстрел метательными машинами стен (и войска противника в качестве побочного эффекта) и, если дальность выстрела позволяет, стрелками войска противника за стеной. И есть фаза ближнего боя, когда войска прорываются через пролом в стене/открытые ворота/и т.д.
    Т е механика битв сама по себе предельно проста, но из-за множества факторов и условий, влияющих на битву, должна получиться достаточно реалистичной.
    продвинь это сообщение в соцсеть:  

  2. #202
    Дневник разработки №30

    Всем привет!

    Потихоньку фронт моих сезонных работ подходит к концу и я все больше и больше начинаю уделять время нашему проекту. Сразу хочу обозначить, что пока не могу полноценно заниматься проектом до конца октября, а в первых числах ноября хочу съездить в мини отпуск, дней на 10. По этому, на сегодняшний день, боюсь браться за реализацию намеченных игровых механик, так как масштабность зашкаливает.
    Очень много времени уходит на воссоздании общей картины проекта после длительного перерыва. По ходу чтения структуры проекта приходится изрядно пошевелить мозгами, чтобы восстановить в голове все связи, но это, в свою очередь, позволяет оценить проект со стороны, выявить узкие места, оптимизировать код и даже выявить не критичные баги. В результате этого появляются новые идеи и я сразу заношу их в список задач. После работы над улучшением вида гор я решил взяться за реализацию мелких задач из этого списка.

    Первым делом я продолжил эксперименты с текстурами террайна, вот приличное количество скриншотов процесса подбора:


    Следующим моментом был момент исправления узкого места в методе построения океанического дна и материковой части, где пришлось убрать работающий костыль и сделать все как положено, красиво и эффективно. Что, в свою очередь, ускорило процесс генерации карты на добрых пол секунды.

    Оптимизировав генерацию карты, я взялся за давно отложенную задачу по скруглению и приданию более разнообразного вида береговой линии. Алгоритм был придуман еще зимой, но все не хватало времени его реализовать. Получилось достаточно неплохо:

    Но предстояло еще убрать квадратный вид морского дна:


    На ваш взгляд, не сильно рваные берега получаются?

    К нашему проекту присоединился еще один моделлер, который сделал нам новый юнит армии. Юнит анимирован, имеет 3 варианта анимации в состоянии покоя и одну анимацию ходьбы.





    Ближайшие планы:

    - Допилить текстуры для террайна.
    - Доработать систему роста населения в населенных пунктах.
    - Создать систему расширения городов при росте населения.
    - Создать юнит кочевья.
    - Доработать систему ресурсов.
    - Реализовать систему производства ресурсов.
    - Основные механизмы торговли и экономической системы в целом.
    продвинь это сообщение в соцсеть:  

  3. #203

    Exclamation Дневник разработки №31.

    Дневник разработки №31.

    Всем привет!

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



    Для начала этого было вполне достаточно, но, так как этот графический элемент довольно сильно бросался в глаза и вызывал закономерные вопросы у части пользователей, было принято решение придать ему более осмысленную форму, тем более, что это и так было в наших ближайших планах.

    Для этого понадобилось разработать набор городских районов и их частей, которые бы придавали растущему городу визуально более естественный и приятный вид, а так же логику их взаимосвязей.

    В конечном итоге получился вот такой набор моделей, который, в теории, должен учитывать все возможные варианты расширения для равнинной местности:



    Теперь стартовый вариант города выглядит так:



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

    Для тех, кому интересна логика использования моделей районов при расширении городов, далее приложен ряд технических скриншотов с пояснениями:

    Начальный вариант жилого района:



    Чтобы сгладить его квадратный вид, к нему добавляются дополнительные элементы. Эти элементы, как выше уже было отмечено, не являются самостоятельными районам, а служат лишь графическим оформлением:



    Город может расширяться в любом направлении. Для примера предположим, что следующий городской район появляется справа от уже имеющегося. Текущая правая пристройка пропадет, а на ее месте появится район следующего типа:



    Если район появляется внизу слева по диагонали, то он будет иметь квадратную форму, а его дополнительные пристройки следующий вид:



    Если район строится сверху от изначального, город принимает следующую форму:



    Строится внизу справа по диагонали от стартового. Второй построенный район заменяется другой своей модификацией, а дополнительный район снизу на П-образный:



    Хотя здесь наглядно и не представлены все возможные варианты развития, следование такой логике, теоретически, позволяет выстраивать города любой возможной формы.

    Резюмируя, можно посмотреть скриншот крупного города, выстроенного в игре таким образом:




    В качестве дополнительного бонуса скриншот Аванпоста:



    Спасибо всем за внимание и до новых встреч!
    продвинь это сообщение в соцсеть:  

  4. #204
    Дневник разработки №32

    Всем привет!

    Прошло полтора месяца с моего последнего дневника, был проделан огромный фронт работ за это время. Вот так выглядел мой таск лист, не учитывая тех задач что я выполняю по внутриигровым механикам:


    Все задачи выполняли не в том порядке, в котором они были расположены в списке, да и тут отсутствуют мелкие задачи, которые приходилось решать попутно. Многие задачи не касались моего участия, например Алексей потихоньку текстурил здания:


    Тем временем, я думаю наши читатели помнят голосовалку в нашей группе ВК https://vk.com/thegreattribes, шла работа по подбору цветового оформления террайна:


    Вариант который мы выбрали на сегодняшний день покажу немного ниже.

    Первым делом у меня стояла задача по реализации теней от объектов на карте и первые попытки реализации через Shadow map дали вот такой результат:


    И после недолгих мучений удалось получить вот такой результат:



    Далее, стояла задача подправить воду, подобрать к ней хорошие текстуры, коэффициенты и переменные для лучшего отображения, нужно было сделать блики на воде:

    В это же время к нашей небольшой команде подключился еще один моделлер который сделал нам нового юнита:


    Модель была с картой спекуляра, но поддержки этого материала не было в моем движке. Пришлось потратить время на внедрение поддержи specular map. Поралельно с этой задачей пришлось наконец-то доработать освещение.


    Все как говориться, цепляется одно за другое, пришлось вводить поддержку влияния тенейц на спекуляр:


    И сделать регулируемый источник света для проверки всего и вся:


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


    Ух сколько было убито свободного времени на анимацию этого персонажа, точнее импорта анимации. Но теперь все работает отлично! Скоро запишу видео игрового процесса.

    Тем временем Алексей выкатил новую модельку шахты:


    Чтобы сделать такой скриншот с приближением шахты пришлось отвязать камеру, что дало возможность насладится открывшимися видами:


    В процессе работы над построением городов был реализован механизм расширения административной зоны города, на скриншоте она обозначена белым цветом:


    Надеюсь вы читали наш предыдущий дневник о реализации системы визуализации городских районов:


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

    Немного был изменен генератор карты, были подправлены холмы, сделал их более гладкими. Появились ледники на суше, если она находится близко к полюсам:


    Была проделана большая работа по оптимизации отображения графики, переписал местами шейдеры устранив слабые места. Оптимизировал механизм хранения и отрисовки видимых тайлов, что дало ощутимый прирост и стабильный FPS на слабых компьютерах. Сделал плавное передвижение и поворот камеры, полностью исключив ранее видимые рывки.

    Это не полный список всех решенных задач, я просто не помню все

    Планы на ближайшее будущее:

    Интерфейс, очень большие у нас с ним проблемы и очень нужна помощь спецов в этом деле.
    Реализация столкновений армий.
    Реализация роста городов, я так и не доделал этот механизм.
    Реализация первых зачатков ИИ, маневрирование армией и принятие решений и реакция на столкновение армий противника.
    Реализация механизма хранения состояний отношения ИИ к противникам, дипломатия.
    ИИ городов.

    Спасибо за внимание!
    Вступайте в нашу группу в ВК: https://vk.com/thegreattribes
    продвинь это сообщение в соцсеть:  

  5. #205
    Привет! Всех с новым годом!

    Иллюстрация карты высот и глубин.

    Нажмите на изображение для увеличения
Название: test_20.png
Просмотров: 2
Размер:	63.4 Кб
ID:	9521Нажмите на изображение для увеличения
Название: test_20_earth_like.png
Просмотров: 1
Размер:	31.2 Кб
ID:	9522
    продвинь это сообщение в соцсеть:  

  6. #206
    Интересно получается
    продвинь это сообщение в соцсеть:  

  7. #207
    Дневник разработки №33

    Всем привет! И с прошедшими новогодними праздниками!

    Прошло уже больше месяца с последнего дневника разработки. Скажу сразу, что хотел выложить дневник раньше, но столкнулся с трудноразрешимой задачей, на которую потратил кучу времени. Но все по порядку.

    Согласно плану разработки был реализован первый контакт с ИИ:



    Внизу скриншота видны сообщения о пересечении зон контроля армии с другой армией и городом. Теперь предстояло разработать некий элемент интерфейса который бы отображал данные события:



    На данном скриншоте в левом верхнем углу представлена реализация UILabel с возможностью переноса текста по словам. Важный элемент интерфейса который пригодиться в дальнейшем. В правом нижнем углу, над кнопкой конца хода теперь видны различные сообщения, по наведению курсора мышки на них выскакивает подсказка (тоже новый элемент интерфейса), с коротким описанием события. По нажатию правой кнопки событие можно закрыть без принятия какого либо решения, а левой кнопкой можно раскрыть сообщение.
    В данном случае при нажатие на кнопку события произойдет первый дипломатический контакт в игре:



    Далее были реализованы первые маневры ИИ. ИИ ходит по карте и пытается определить границы своего материка. В видео у Дуката https://youtu.be/69G51u_Mq3g?t=693 ,есть момент где он бегает за армией противника, который не обращает на него внимания, так как занят исследованием карты


    И вот где-то в этом месте и в это время, я столкнулся с проблемой, проблемой производительности. У нашего моделлера достаточно мощный современный компьютер красной сборки. Но у него игра жутко тормозила грузя одно ядро процессора. Причина проста — в новых процессорах много ядер, но по факту они менее производительны в однопоточных приложениях. А тот момент у меня был рендер в один поток. Но на самом деле причины была не столько в этом. И в процессе поиска проблемы я решил посчитать сколько полигонов у нас присутствует в сцене:



    На средней карте при максимальном отдалении и большом скоплении пальм - это просто жуть! 15 824 756 треугольников! Почти 16 миллионов!!!

    Немного погенерировав карты я нашел место с 16,75 миллионами



    Хотя вот подобное место с елками давало всего 8,5 миллионов треугольников:



    А в среднем сцена состояло из примерно 4 миллионов:




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



    На 40% снизился полигонаж елок! Отличий практически не видно.

    Следом мы переделали и пальмы - полигонаж на пальмах был снижен в 10 раз. 600 - 700 против шести тысяч полигонов в одном паке.



    Параллельно пока шла работа над моделями я занялся вопросом упрощения геометрии террайна. Вот как он выглядел до оптимизации:



    И после первых шагов:



    Но это было все сделано простым методом — все ровные тайлы были заменены двумя треугольниками вместо 882.

    Но оставались еще ровные места которые можно было оптимизировать, и я начал строить полигоны из тех треугольников у которых была одинаковая высота:



    Строить по ним выпукло-вогнутый контур (Concave Hull). С Convex Hull`ом проблем не было, я уже использовал алгоритм Грэхема (Graham scan). А вот построением Concave Hull появилась проблема... Информации на эту тему тему в интернете найти оказалось достаточно сложно. Пришлось писать реализацию алгоритмов с нуля. Не совру, если я скажу что прочитал с десяток разных диссертаций на эту тему. Но все предложенные алгоритмы давали приближенный результат с некоторой погрешностью. После недели мучений и боли мне пришла идея своего алгоритма, возможно я его когда-нибудь опишу
    В результате уже двух недельного мучения я получил искомый результат и смог строить Concave Hull практически любой сложности, обходя стороной множества с дырками, просто разделяя их на 2 половины по дырке. Получал контур и триангулировал его:


    Получая на выходе такой результат:




    Также подвергся упрощению туман войны:


    И в зонах где присутствовал только туман войны получалось всего порядка 300 полигонов:


    Но в итоге я был расстроен результатом и расскажу что эти две недели я потратил в пустую... Разработанный мной алгоритм давал ощутимую прибавку в производительности при отрисовке, так как количество полигонов в среднем сокращалось на 60 — 70%. Но генерация карты стала происходить раз в 10 медленнее.... алгоритм был тяжелый по временным затратам.

    3 дня я проиграл в ATOM RPG снимая стресс Даже на работу не ходил. Слава богу у нас в это время термометр зашкаливал на границе -44 - -46 градусов по Цельсию. И свою хандру я выдал за отмазку о не заводившейся машине.

    И вот перед новогодними праздниками, вдоволь наигравшись, но правда не пройдя игру, я выдал новую облегченную версию алгоритма, который подходил только под мои условия тайлов. Вычисления данных для оптимизации были не заметны на фоне генерации карты и количество полигонов снижалось в среднем на 40-50%.
    Но появились артефакты при отрисовке воды, пришлось переписать все алгоритмы связанные с водой.
    Вот результат:



    Анатолий тем временем сделал юнит кочевья:



    Пока он лежит отдыхает

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




    Горы стали более рельефными, это заметно без текстуры, так как текстура теперь к ним не подходит:



    По сетке так вообще отличия очевидны:



    Осталось дело за малым — нужна новая текстура гор.

    Следующим этапом пришлось переписать загрузчик ресурсов и генератор карты. Попутно переделав стартовое меню под эти все дела:



    Теперь загрузка ресурсов идет параллельно и после чего начинается генерация карты.

    Огромную работу проделал по разделению рендера на 3 потока. Вся сложность была в синхронизации. Теперь у нас один поток отвечает только за отрисовку, второй поток за перерасчет видимого пространства при передвижении камеры и прочих с взаимодействий с пространством карты, и третий поток отвечает за анимацию и связь с серверной частью.

    И да, у нас теперь есть серверная часть отвечающая за все события в игре и за ИИ. В свою очередь каждый ИИ игрок это отдельный процесс.

    Подведем итоги проделанной работы:
    - Оптимизация графики с программной стороны.
    - Оптимизация графики — модели.
    - Серверная часть.
    - Разбитие рендера на 3 потока.
    - Предзагрузка ресурсов (текстур и моделей).
    - Переписал шейдеры тумана войны, воды и террайна.
    - Сократил потребление оперативной памяти на 20-30%
    - Реализован ряд элементов UI
    - Переделано стартовое окно с новым UI.
    - Устранил ошибки в расчетах нормалей.
    - Подправил холмы.
    - Новые горы.
    - Ввели нормалмапу для террайна.
    - Новое выделение юнитов.
    - Новая анимация юнитов.
    - Окно дипламатии.
    - Действия ИИ. Исследование карты.
    - Действия ИИ. Дипломатический контакт.
    - Действия ИИ. Заключение мира, дружбы или объявление войны.
    - Действия ИИ. Действие юнитов при столкновении.


    В общем была проделана огромная работа по оптимизации и не много по игровым механикам. Надеюсь в этом месяце в се пойдет по плану и я наконец-то допишу города


    Спасибо за внимание!
    Вступайте в нашу группу в ВК: https://vk.com/thegreattribes
    продвинь это сообщение в соцсеть:  

  8. #208
    Вышла статья на Хабре https://habr.com/post/436040/
    продвинь это сообщение в соцсеть:  

  9. #209
    Дневник разработки №34


    Всем привет!
    Прошло уже больше месяца с выхода последнего дневника. Скажу честно, тяжелый был для меня месяц в плане разработки.

    Большую часть времени было уделено построению структуры общества, взаимодействию населения, переходу из одной страты в другую. Очень много времени ушло на построение экономических связей.

    В один момент, я решил накидать некоторую схему нашего проекта, что позволило малость систематизировать все свои мысли и увидеть степень выполнения тех или иных задач. Кому интересно оценить масштаб, можно посмотреть полученную схему: https://mm.tt/1209438933?t=mBE5c38pFT

    В перерывах между работами по геймплейной части баловался с горами, и вернул им опять снежные шапки:


    Алексей сделал новые оптимизированные пальмы -270-350 треугольников на один субтайл



    Отличный результат при таком полигонаже!

    Еще я успел поэкспериментировать с пользовательским интерфейсом и сделал вот такой набросок:



    И более менее довел его до ума:



    Мне больше по душе такая концепция интерфейса. Раньше интерфейс был очень тяжелый и все выглядело как будто смотришь в трубу. Но сейчас явно не хватает каких либо завитушек


    Потом я поэкспериментировал с прозрачными объектами, была задумка у нас изначально реализовать подобные поля:



    Но, в итоге, решили остановиться на подобном варианте:



    В долгом ящике у меня висела задача построения стен вокруг наших поселений. Алексей сделал модельки, уже как пол года назад, но руки не доходили до них. Пришлось стряхнуть с них пыль:



    Задача оказалась не тривиальной, пришлось проводить массу вычислений чтобы определить необходимость наличия стены со входом, вот пример подобного случая:





    А вот шедевральные лиственные деревья на 800 треугольников на субтайл:



    Потом я все взял и сломал:



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

    Но, результат все равно получился впечатляющим. Первое что хочу отметить — у нас сейчас 16 субтайлов на тайл, а было 9. Раньше сетка субтайлов была 3х3, сейчас 4х4. 484 вершины против 1089 сейчас. В 2.25 раза увеличилось количество вершин на тайл, а производительность осталось на прежнем уровне и генерация карты происходит теперь быстрее, так как самый трудоемкий процесс просчета нормалей теперь происходит быстрее. Это получилось за счет того, что я убрал из расчетов все числа с периодом после запятой, такие как 1\3 и 2\3. Теперь все расчеты как на стороне CPU так GPU происходят быстрее.

    Это особенно заметно на больших и огромных мирах:



    Увеличение числа вершин и субтайлов позволило реализовать более реалистичные горы:



    Теперь наш рендер вывозит 32 миллиона полигонов!!! Правда на моейт GTX660 это всего 10FPS




    Переделка всего мира на структуру 4х4 субтайлов повлекло переделку генерации гор, холмов, рек, масштабированию всех моделей. Что в совокупности отняло эти 10 дней.



    - Также были реализованы следующие моменты о которых хотелось бы мельком рассказать:
    - Нормалмапы для всего террейна.
    - Ошибка с вычислением нормалмап.
    - Исправленна ошибка интерфейса на контейнерах возникающаяя при событиях MouseEntered MouseExited.
    - Режим перехода в/из полноэкранный режим по нажатию клавиши F11.



    Очень много времени у меня занял один баг:



    5 часов я убил на его поиски


    Спасибо за внимание!
    Вступайте в нашу группу в ВК: https://vk.com/thegreattribes
    продвинь это сообщение в соцсеть:  
    Последний раз редактировалось Zemlaynin; 18.02.2019 в 10:09.

  10. #210


    Дневник разработки №35

    Всем привет!
    На этот месяц приходились следующие задачи:
    0. Решить нужно ли нам реализовать АО (ambient occlusion) или нет.
    1. Прикрутить оптимизацию террейна, т.*е. вернуть ее на прежний уровень.
    2. Реализовать создание файлика настроек и его сохранение.
    3. Загрузка текстур в зависимости от настроек качества.
    4. Реализовать предзагрузку объектов.
    5. Прикрутить разные шахты, и реализовать новый тип построек - карьеры.
    6. Сделать как я их называю мультиобъекты. Это такие объекты на карте, которые будут рисовать несколько объектов инстансингом.
    7. Реализовать объект интерфейса окно которое можно будет перетаскивать. В том числе и на второй экран, соответственно реализовать поддержку второго экрана.
    8. И наконец допилить создание новых городов со стратами и первыми экономическими связями.

    Но после прочтения интересной статьи https://gamedev.ru/industry/articles/Godot_making_game откинул ряд поставленных задач и список получился:

    1. Прикрутить оптимизацию террейна, т.*е. вернуть ее на прежний уровень.
    2. Реализовать создание файлика настроек и его сохранение.
    3. Загрузка текстур в зависимости от настроек качества.
    4. Прикрутить разные шахты, и реализовать новый тип построек - карьеры.
    5. И наконец допилить создание новых городов со стратами и первыми экономическими связями.

    Над проектом как и раньше продолжал работать минимум по 12 часов в день. Но в один прекрасный день я забыл флешку на работе с проектом и дома им не занимался...
    И вот после такого, так сказать вынужденного отдыха, следующий день прошел продуктивно.
    Решил по практиковать такой подход к разработке. В итоге производительность вроде как возросла, видимо сказалась накопившаяся усталость. В итоге я сделал двух недельный перерыв в разработке. Неделю отдыхал и неделю отдал на все различные накопившиеся личные и рабочие дела.

    После такого отдыха первая неделя ушла на выполнение списока мелких задач:
    - исправил глюк с деревьями которые появлялись во льдах;
    - сделали снежные елки;
    - поправили модельки деревьев лиственных;
    - поправил генерацию гор, уменьшил высоту пиков, уменьшил снежные шапки;
    - исправил баг с квадратными берегами.
    - прикрутил новые текстуры гор.
    - доделал отображение сурфейсов (болота, льды) теперь они четко отображаются согласно сетке 4х4 субтайлов;
    - исправил алгоритм поиска пути с учетом новых гор.

    Первым из основного списка были сделаны шахты и карьеры:

    И у нас появилось одно небольшое чудо света:


    Далее сделал загрузку текстур в зависимости от выбранного качества, ух и пришлось же повозится с этой на вид легкой задачей.


    В общем реализовал 4 из 5 основных пунктов. Опять обделил геймплей.
    На сегодняшний день с движком завязал. Осталось только поправить генерацию рек. И все, следующий месяц только геймплей на повестке. Постараюсь

    Спасибо за внимание!
    продвинь это сообщение в соцсеть:  

+ Ответить в теме
Страница 11 из 11 ПерваяПервая ... 1011

Похожие темы

  1. [Карта] Great Ocean (моё)
    от Daemon в разделе Civ5 - Карты и сценарии
    Ответов: 20
    Новое: 16.06.2016, 08:41
  2. The Great War v4.6, Первая мировая война
    от Snake_B в разделе NAPOLEON: TOTAL WAR
    Ответов: 0
    Новое: 11.02.2013, 00:56
  3. Инки, Майя и другие дружественные племена
    от UserCivAlex в разделе Цивилизация 4 - ПОЕХАЛИ!
    Ответов: 35
    Новое: 18.09.2008, 07:01

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
Настольные игры стратегии: Цивилизация Сида Мейера. Продажа в Украине. Сайт об играх серии Game-paradox К.О.Д. — браузерная массовая многопользовательская игра, сочетание стратегии и RPG (role-playing game)

Рейтинг@Mail.ru

free counters