Показать сообщение отдельно
Старый 19.10.2011, 22:45   #2
Vasaka
Аватар для Vasaka
По умолчанию

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

Для начала сделаю одну ремарку. Я перенесу эту тему в раздел форума по "ДизДоку". Сашу, в группу "MOSC Team", я уже перенёс, чтобы он мог оставлять сообщение в этом разделе форума.



Цитата:
Сообщение от theCrow

Здесь есть ремарка - быстро НЕ означает некачественно. Быстро можно трактовать как "оптимальное соотношение скорости и качества, отбалансированное по скорости". Быстро и поэтому дёшево по ресурсам (времени, обучения, энергии), но с соблюдением стандартов качества.

Очень хорошо представляю что из себя представляет данная концепция и стараюсь придерживаться её. Я бы даже сказал больше. Следование этой концепции - это единственный наш шанс закончить проект.



Цитата:
Сообщение от theCrow

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

Вот именно. Полностью согласен.


Цитата:
Сообщение от theCrow

Стратегия. Пошаговая. С сетевой игрой. В ней будет глобальная карта с координатами долготы и широты, как в SC2. На карте будут объекты-звёздные системы, которые генерируются случайным образом. Эти системы колонизируются и могут генерировать войска. Войска перемещаются по глобальной карте меж звёздами в пошаговом режиме. Если два войска разных игроков встретились в системе или на глобальной карте, включается режим боя. Режим боя полностью аналогичен модели Master of Orion. Победил тот, кто захватил все планеты или добыл много ресурсов.

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

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

  2. Освоение-колонизация ближайших звёзд без звёздных линий.
    Тоже забытый этап. Когда полсотни лет корабль должен лететь к ближайшей звезде, исследовать на наличие планет пригодных для жизни, и просто планет, поясов астероидов и прочих объектов системы.
    Этап, когда колонии в других Планетарных Системах могут и отделиться ввиду далёкого расположения родной планеты и собственных взглядов на жизнь.
    (довольно таки часто)
    В середине этапа построение первых Звёздных Линий.
    Контакты с неразумными, полу разумными и разумно-диковатыми аборигенами. Возможно, некоторые даже имеют зачатки технологий.
    Такого рода контакты могут возникать и на этапе освоения своей Пл. Сист., но на этой стадии вероятность таких контактов значительно больше.

  3. Построение большой, сильной, стабильной звёздной империи при помощи звёздных линий.
    Этап построения космического государства из 10-20 звёздных систем, со стабильной системой транспортировки и торговли.
    Объединение отпавших колоний разными средствами: Дипломатия, Завоевание (Есть ещё предложения?).
    Вероятно, именно на этой стадии будут первые контакты с другими расами. Хотя возможны редкие исключения. Если расположение рас будет очень близким, контакт может состояться и раньше.

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

  5. Развитие более быстрых способов передвижения, чем звёздные линии, которые всё равно не могут полностью заменить передвижения по ЗЛ.

Здесь о способах передвижения:
Способы передвижения
Механика передвижений в MOSC.

В игре «Master of Star Control » предусмотрено передвижение только от объекта к объекту.
Если это глобальная карта (галактики), то движение можно начать только к звезде, чёрной дыре, или какому-нибудь другому объекту на карте. Двигаться в произвольную точку нельзя.
Если это звёздная система, то это могут быть планеты, астероиды, флот противника и т.д.

Способы передвижения в MOSC.

1. Непосредственно от звезды к звезде.
а. True-Space - Релятивистские скорости.
Скорости ниже скорости света. Очень медленно и маленький радиус.
б. Hyper-Space - Гипер-передвижение.
Скорость выше скорости света. Более быстрое передвижение и больший радиус.
2. Звёздные линии. Ещё более быстрое, чем «гипер» передвижение.
Линия может быть создана, когда в двух системах есть корабли с соответствующим оборудованием.
Скорость выше гипер-передвижения. (Не мгновенное.) В планетарной системе может быть ограниченное количество Звёздных линий. Количество линий и дальность на которую она может быть протянута, зависят от «энерго»-составляющей звезды. На какие именно параметры будет это завязано, ещё только предстоит определить. Предполагается, что звёзды класса «М», будут иметь 1-2 звёздные линии, а звёзды классов «О» и «В» будут большими транспортными узлами или позволять протянуть Звёздную линию очень далеко, но очень небольшое количество линий.
Предполагается, что количество Звёздных линий не будет жёстко привязано к классу звезды. То есть можно будет, например, для звезды класса «М», протянуть 1 Звёздную линию подальше или 2 на очень небольшом расстоянии. Энерго-Затраты на дальность, для создания Звёздной линии, будут возрастать экспоненционально.
Каждый раз система звёздных линий в галактике будет выстраиваться по-разному. Даже если взять абсолютно одинаковый рисунок звёзд, со временем получится абсолютно уникальная вселенная.

3. Квази Пространство. Доступно для исследования некоторым расам. Квази-пространство не одно. Есть как минимум три известных. Арилоу (Светло-зелёное), Орз (Неизвестно), Таало (Неизвестно).
Есть небольшое количество природных Квази-входов, которые открываются и закрываются, то есть не всегда видны. И значительно больше Квази-выходов, которые не видны. Они нужны для выхода из Квази-пространства в нужной точке обычного пространства.
Природные Квази-входы доступны для всех рас, которые их обнаружили.

4. Чёрные дыры. Пара завязанных друг на друга чёрных дыр будет представлять сбой мгновенный переход на большие расстояния.


Структура мира, если упрощённо, такая:
Первый уровень - Галактическая карта со своими объектами: Звёзды, пульсары, чёрные дыры и т.д.
Второй уровень - Уровень планетарных систем: Планеты, астероидные пояса, кометы.
Третий уровень - Планет.

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


Цитата:
Сообщение от theCrow

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

Не имею ничего против. Человека, который понимал бы как делать программную часть игры "от и до" до сих пор не было. Поэтому я первый готов идти в подмастерье к любому, кто представляет как это делать и сможет руководить в этом процессе менее опытными программистами (такими как я).


Цитата:
Сообщение от theCrow

3. Предлагаю начать программировать сразу же при тех навыках что есть.

Согласен.


Цитата:
Сообщение от theCrow

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

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


Цитата:
Сообщение от theCrow

4. Предлагаю решить вопрос с использованием 3D в пользу 2D вследствие простоты последнего.
Если вопрос об использовании 3D стоит принципиально остро, предлагаю внести на обсуждение информацию о том, какие конкретно есть проблемы в 2D и как 3D их может решить, тем самым обосновать использование 3D. Исключительно в рамках экономия сил и времени.

Предполагалось использовать изометрический вид планетарных систем, где планеты будут со временем перемещаться по своим орбитам.
Я не уверен, что работа с 2Д будет проще и быстрее. Для 2Д потребуется рисовать очень много спрайтов, в то время как для 3Д, достаточно сделать шарик, наложить текстуру, поставить свет и можно крутить как угодно. Будет меняться изображение поверхности, тени (освещённость планеты) и т.п.
Поэтому и появилась идея использовать Юнити для разработки.

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


Цитата:
Сообщение от theCrow

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


Цитата:
Сообщение от theCrow

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

Согласен.


Цитата:
Сообщение от theCrow

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

Согласен.


Цитата:
Сообщение от theCrow

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

Согласен.


Цитата:
Сообщение от theCrow

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

Согласен.


Цитата:
Сообщение от theCrow

При принятии решения всегда рассматриваются риски того или иного решения. Приоритет отдаётся тем решениям, которое имеет наименьшее количество рисков. Например, мы решим создавать игру с графикой, как в Crysis 2, с производительностью 50 fps и что бы она была написана на чистом C. Да, мы можем решить так, но будут вполне определённые риски закончить бета-версию игры через 10-15 лет. Допустим, мы решим создавать игру, используя низкокачественные картинки из интернета, не оптимизируя её скорость вообще никак и писать на скриптовом языке двадцатилетней давности. Да, мы так тоже можем решить, однако будут риски получить неиграбельный, некрасивый и глючный вариант некой поделки-недоигры. Описание рисков - это приемлимый вариант оспорить что-либо, приведя рациональную аргументацию.

Согласен.


Цитата:
Сообщение от theCrow

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

Согласен.


Цитата:
Сообщение от theCrow

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

В целом, имею аналогичное мнение во всем затронутым вопросам, за исключением 2Д\3Д, но я считаю, что для первой версии игры это не имеет большого значения. Лучше пусть она будет в 2Д, чем не будет совсем. По завершении же проекта, можно будет уже обсуждать его дальнейшее развитие в 3Д.
Вверх
 
Время генерации страницы 0.16474 секунды с 14 запросами