Проекты
GameDev.ru / Проекты / Форум / Великие племена (The Great tribes) (3 стр)

Великие племена (The Great tribes) (3 стр)

Страницы: 1 2 3 4 Следующая »
PolariusBearПостоялецwww23 янв. 201822:58#30
Zemlaynin
> Конечно хотелось бы поработать совместно, но наш проект сильно отличается от
> проекта maewyn.

Да, у них Unity. Что позволит проще портировать потом на мобильные платформы. В Java многие разочаровываются сейчас.  Тем более, раз есть такие хорошие примеры для него.

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

И боевая система будет намного лучше с гексами - к ним все уже привыкли в последнее время.

Правка: 23 янв. 2018 22:59

AlexandrovisПользовательwww23 янв. 201823:15#31
PolariusBear
> Мне кажется, что  это интересная творческая задача для программиста -
> попробовать создать гибкую архитектуру базовых классов, чтобы они покрывали
> общие потребности этих двух, а возможно и других проектов. И эти классы можно
> будет наследовать и дополнять уже в конкретном проекте. 
Движок maewyn, насколько я понимаю, ориентирован на казуальные/мидкорные игры. У нас же ориентация идет на хардкор/мидкор

PolariusBear
> И боевая система будет намного лучше с гексами - к ним все уже привыкли в
> последнее время.
Зависит от боевой системы. У нас получилась боевая система, одинаково хорошо работающая при любом типе тайлов

PolariusBearПостоялецwww24 янв. 201813:10#32
Alexandrovis
> Движок maewyn, насколько я понимаю, ориентирован на казуальные/мидкорные игры.
> У нас же ориентация идет на хардкор/мидкор
Движок, он и есть движок. Поддерживает огромные хексогональные карты, постройки, войска. Так что в плене хардкор / казуал у этого движка нет каких-то различий, как я понял. 
AlexandrovisПользовательwww24 янв. 201813:22#33
PolariusBear
> Движок, он и есть движок. Поддерживает огромные хексогональные карты,
> постройки, войска. Так что в плене хардкор / казуал у этого движка нет каких-то
> различий, как я понял. 
Ну вот, например, у нас ресурсы реализованы не как в циве, а как определенный объем с определенной глубиной залегания, есть множество прочих слоев карты типа уровня инфраструктуры, уровня преступности и т.д. Армии представляют собой не один юнит = отряд, а один юнит = армия с совершенно иным функционалом, нежели в циве. Как, собственно, и постройки. В общем кооперация имеет смысл либо по отдельным моментам типа текстур, моделей и тп, либо движок должен учитывать модели всех участвующих проектов.
PolariusBearПостоялецwww24 янв. 201813:39#34
Движок - это набор классов на C#.
Вы сможете расширить эти классы. Например, добавив в состав свойств хекса  и в  графическое  отображение объема и глубины залегания ресурса на хексе.

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

ZemlayninПостоялецwww27 янв. 201810:50#35
Дневник разработки № 6
Всем привет!
За последние три недели немного выбился из графика работы над проектом. Причиной тому было вот это :
+ Показать

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

Поправил отображение вулканов:

+ Показать

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

+ Показать

Закончив наводить марафет, я задумался о предстоящей глобальной работе по написанию загрузчика 3D объектов. Для статичных объектов все было более менее понятно, но вот анимированные объекты для меня казались не решаемой задачей. На этом фоне я малость взгрустнул и следующие выходные решил отдохнуть и на пару дней ушел в PUBG. Скажу честно я не любитель всякого рода шутеров и мой скилл в таких играх наверное ниже среднего. Но побегать по обширной карте мне почему-то доставило. И после пары десятков игр я начал стабильно входить в топ10 и даже раз занял 2е место :)

Но вот я начал поиск информации по работе с анимированными 3D объектами и наткнулся на библиотеку Open Asset Import Library (Assimp) и её реализацию под Java. И дело пошло веселее.

Первым делом разобрался со статичными объектами и достаточно быстро удалось разобраться и с анимацией. Следом встала задача найти объекты деревьев и пальм чтобы прикрутить их к проекту. Поиск дал огромное количество бесплатных моделей но ни одна модель не подходила мне. Мне нужна было low poly модель и с этим была проблема. Те модели которые мне удалось найти были кривыми и содержали кучу лишних полигонов. Покрутив их я решил попробовать сделать простые модели сам... Гхм...
Первый раз в жизни я взял в руки Blender не для перегонки из одного формата в другой, а для создания объекта с нуля. За пару часов мучений и боли у меня получилась вот такая ель:

+ Показать

Воодушевленный результатом я взялся за пальму:

+ Показать

С елкой было проще, не смейтесь - пол дня я убил на эту пальму:

+ Показать

Уложился в 73 полигона.

Вот так это выглядит непосредственно в проекте:

+ Показать

На видео видно анимированного человечка и можете увидеть течение у рек:

+ Показать

AlexandrovisПользовательwww29 янв. 201812:53#36
Дневник разработки № 7

Всем привет! Сегодня мы немного поговорим об игровой карте.
Как мы уже писали, карта делится на тайлы и субтайлы. Но данное деление справедливо для технической стороны игры. С точки зрения геймплея карта делится только на тайлы.
Каждый тайл занимает площадь в 1369 кв.км (в ходе балансировки данное значение может измениться). В рамках этой площади на тайле могут располагаться районы (в городах), постройки (вне поселений), тайл может быть разделен различным типами биомов и т.д.
В зависимости от биома, на тайле может залегать определенное количество ресурсов. Так, на луговых равнинах выгодно размещать поля, площадь которых зависит от площади сельскохозяйственных земель тайла.

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

Немного расскажу об уровне преступности тайла. Уровень преступности тем выше, чем ближе к очагу преступлений: поселению игрока или другой страны, либо бандитского/пиратского поселения. Если кто-то помнит, в первом Rome Total War на карте постоянно появлялись бандитские армии. Так вот именно их симулирует данный параметр, только без необходимости постоянно водить армии по всей стране, чтобы их уничтожать. Мятежные армии будут представлены в виде полноценных армий.

Помимо транспортной инфраструктуры, есть параметр городской инфраструктуры. Городская инфраструктура представляет собой уровень развитости различных служб и инженерных сетей поселения (доступность и качество ЖКХ, средств связи, городского транспорта, общепита, розничной торговли, экстренных служб и пр.). Городская инфраструктура доступна не только в городах, но и в деревнях. Для создания благоприятных условий в поселениях игроку надо будет балансировать между развитием транспортной и городской инфраструктурой.

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

P.S.: Мы создали группу игры Вконтакте (https://vk.com/thegreattribes). Присоединяйтесь, чтобы получать уведомления о новых дневниках.

AlexandrovisПользовательwww5 фев. 201818:33#37
Дневник разработки № 8

Всем привет! Сегодняшний дневник посвящен административному делению территории и типам поселений.

В прошлых дневниках я уже упоминал, что в игре есть 3 уровня управления: страна, регион и административная зона. Начнем с низшего уровня – административной зоны.
Административная зона – территория с динамичными границами, находящаяся в управлении поселения. В рамках этой территории жители поселения могут строить все, что угодно в рамках текущей программы развития. Данную зону имеют все без исключения типы поселений: от деревень до городов. Если какой-то город в регионе образует новый регион, все тайлы его административной зоны также становятся частью нового региона.

Как Вы уже догадались, административные зоны группируются в более крупное образование – регион. Регион - территория с динамичными границами, состоящая из определенного количества административных зон. Регион обязательно включает в себя столицу (столичный город) региона. В отличие от административной зоны, регион одновременно может быть страной (состоящей из одного региона). Кроме того, игрок может напрямую управлять регионом (тогда как административными зонами – только через законодательство).

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

Как я уже говорил, каждый уровень управления имеет свое центральное поселение. Это может быть деревня (только для административной зоны), город или кочевье.
Деревня - тип поселения, ориентированный на производство пищи или добычу ресурсов. Со временем деревня может быть улучшена в город.

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

Город - тип поселения с множественными формами деятельности, но с определенной специализацией. Город не обязательно является следствием развитие деревни, но может быть построен с нуля, либо образоваться из форпоста. В отличие от деревни или кочевья, город, являющийся столицей региона или страны, может иметь до 3 Чудес Света (по 1 каждого уровня: региональное, национальное и мировое).

Больше подробностей о каждом из типов поселений мы раскроем в следующем дневнике.

AlexandrovisПользовательwww12 фев. 201814:42#38
Дневник разработки № 9

Всем привет! В прошлом дневнике мы кратко осветили тему поселений. В этом дневнике рассмотрим их подробней.

Деревня
В игре представлено 3 базовых типа деревень: сельскохозяйственная, ресурсодобывающая и военная.
Сельскохозяйственная деревня ориентирована на обработку сельхозугодий.
Ресурсодобывающая деревня ориентирована на добычу полезных ископаемых. Тип добываемых ресурсов зависит от спроса на ресурс.
Военная деревня обобщает под собой разновидности деревень, жители которых настроены против игрока.
Повстанческая деревня: деревенские отряды будут оборонять свою деревню и защищать свою независимость. Деревня становится повстанческой в случае слишком низкого уровня лояльности населения к власти.
Бандитская (пиратская) деревня: деревенские отряды будут нападать на поселения и торговые маршруты, расположенные рядом. Деревня предпочитает переход в это состояние в условиях отсутствия легальных способов поддержания приемлемого уровня жизни.

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

Город
В игре существует множество специализаций городов:
Административный центр
Научный центр
Торговый центр
Культурный центр
Религиозный центр
Промышленный город

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

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

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

Еще одной отличительной чертой кочевий является возможность перемещаться по карте. Это возможно двумя способами:
перемещение кочевья правящего клана, тогда как остальные кочевья перемещаются в автоматическом режиме (вследствие недостаточного уровня контроля или по решению игрока);
перемещение всех кочевий с достаточным уровнем контроля вручную. Слабо контролируемые кочевья перемещаются в автоматическом режиме.

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

ZemlayninПостоялецwww14 фев. 201811:36#39
Дневник разработки № 10

Всем привет!

Юбилейный 10й выпуск :)

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

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

План на эти три недели был следующий:
1. Завершить работу над генерацией карты, реализовать распределение ресурсов по карте.
2. Изменить стартовое окошко где предусмотреть место для разного функционала игры.
3. Неким образом визуализировать процесс загрузки и генерации карты.
4. Визуализировать поиск пути.
5. Разместить стартовые поселения и юниты на карте.

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

И так согласно плану было реализовано распределение ресурсов по карте. И на этом этапе с генерацией карты закончено.

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

+ Показать
+ Показать

При выборе Юнита теперь показывается путь его перемещения и изменяемый путь:
+ Показать

Также на этой картинке вы могли заметить первый элемент интерфейса — миникарту. Что бы представить огромный размер средней карты посмотрите на следующий скрин, где на миникарте показана область с максимальным отдалением камеры.

+ Показать

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

Также была проведена работа по оптимизации производительности. Данная работа была произведена  спонтанно. Я уже думал что оптимизировал все что можно добившись стабильного показателя FPS на разных машинах. Но как говориться нет придела совершенству. И в один прекрасный вечер я засыпал с мыслями о реализации UI, но видимо мой мозг продолжал все еще решать интересную ему задачу оптимизации. И проснулся я уже с готовой реализацией, пришлось немного изменить систему хранения видимых на экране тайлов. Данная работа заняла буквально пять минут кодинга, но дала снижение нагрузки на процессор в районе 15-20%. Ух как это было круто! :)

Теперь задача на ближайшую неделю: прикрутить кнопку «Конец хода» и осуществить первый ход в игре! Работы тут не початый край, многопоточнось!  Хочу каждого AI игрока разместить в своем потоке. Ну и наконец прикрутить первые города и деревни.

Правка: 14 фев. 2018 11:36

AshkarikПостоялецwww16 фев. 201811:15#40
Салют.
У меня давным-давно роятся в голове идеи для глобальной стратегии, но совершенно нет времени это реализовать.
Могу поделиться если актуально.
AlexandrovisПользовательwww16 фев. 201812:09#41
Ashkarik
Привет! Конечно актуально. Одна из основных целей дневников - получить максимальную обратную связь на ранней стадии разработки, а так же улучшить текущий концепт, если это возможно)
AshkarikПостоялецwww16 фев. 201813:14#42
Alexandrovis
Хорошо. Изложу пока что 2 идеи. Одна про общее чувство, а другая более конкретная.

1. Мне кажется, что ваше изделие пока очень похоже на цивилизацию (что может и неплохо). Но мне в циве не нравится ее высокая условность, в ней нет дыхания истории, все события, которые там происходят, обусловлены решениями игроков или ИИ. Мне кажется было бы здорово создать мир, который сам по себе "дышит". Игрок принимает какие-то решения, а мир под них подстраивается.
Например: из города А в город Б возят некий ресурс Х. Возят караванным путем через некую провинцию. Игрок последовательно грабит эти корованы в результате чего издержки этого пути возрастают и товар Х начинают возить альтернативным путем, скажем по морю. А тороговля влияет на культурное взаимодействие, контакты и дипломатию, и таким образом, эти изменения вызывают некую цепочку событий, очень логичную, но совершенно не приходившую в голову игроку, когда он шел грабить первый корован.

2. Идея "многоуровневой" цивилизации. В которой государства плавно переходят в огранизации и обратно. Есть образования 4 типов:
(i) собственно аристократическое государство, которое занимается войной и администрированием как в цивилизации,
(ii) есть всякие религии и секты, которые пытаются распространять свое влияние. При этом они действуют отдельно и независимо от аристократических государств, а иногда и крутят ими (типа как Рим крутил всей католической Европой). Религии разрабатывают новые перки, которые модифицируют свойства тех народов, которые в эти религии обращены, и это типа также важно, как и наука.
(iii) Торговля тоже отдельный слой, города производят товары, некоторые из них уникальные, их нужно возить из А в Б, и это могут делать торговцы не только из А и Б, но и из В и Г. То есть существуют торговые дома (а иногда и торговые государства типа Венеции), которые контролируют торговые пути. Аристократическим государствам более или менее все равно, кто повезет товар из А в Б (они с него налоги соберут вне зависимости от принадлежности), а вот между торговыми домами идет непрерывная грызня за лакомые куски.
(iv) разбойники и всякие другие криминальные элементы (это самый не продуманный пока кусок). Тут должны быть наемники, шпионы и другие профессиональные грабители корованов.

Игра не дает игроку манагерить всё. В зависимости от твоего строя, ты можешь либо войну вести, либо религию развивать. Промежуточные варианты возможны, но все три необходимые функции (война/администрирование, религия, торговля) ни одно государство потянуть не может, поэтому ему приходится все время находиться с кем-то в симбиозе. Естественно, что при таком раскладе возможны единицы без собственной территории (но например владеющие зданиями в чужих городах, как в Crusder's Kings II).
При этом есть четкая дифференциация интересов: аристократическим государствам интересны богатые земли, где можно много людей содержать, религиозным интересно контролировать всякие святые места (которые обычно природные, но с модификаторами), торговцам - перевалочные пункты, оазисы в пустынях, порты и т.д., разбойникам - места из которых удобно набижать, а потом спрятаться.

ZemlayninПостоялецwww16 фев. 201813:52#43
Ashkarik
Наша игра похожа на циву лишь отчасти. Если на вскидку, то ваша концепция очень близка к нашей. Я думаю Alexandrovis даст более развернутый ответ в этой части.
И хочу отметить, что в нашей концепции как раз идет упор на непрямое управление.
AlexandrovisПользовательwww16 фев. 201814:07#44
Ashkarik
1. Вы прям описали суть нашей игры) Планируется в точности как описано)
С Цивой же, как я ранее писал в дневнике, общее только сеттинг и наличие Чудес. Причем механика Чудес все равно другая. Остальные элементы тоже есть, но они есть и в других играх + опять же механика сильно отличается.

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

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

Страницы: 1 2 3 4 Следующая »

/ Форум / Проекты / Оцените

2001—2018 © GameDev.ru — Разработка игр