Предыстория:
Предлагаю развить идею - давайте обсудим пусть даже только модель такой относительно простой игры: программисты помогут оглядываться на реализуемость идей, игроки не дадут забыть об играбельности.
Может, когда-то сгодится какому-то энтузиасту(ам) и он (они) напишет(ут) прогу.
Обсуждай. А мы посмотрим. (и когда ты уже начнеш писать в единственном числе)Я вон уже упоминал, что мне дали похожую тему как тестовое задание,и я даже к нему не приступал, потому что и приступится не понятно как.А ты тут пришел, и хочеш чтоб тебе его кто-то нахаляву напридумал. )
Напишу. Прототип. На форум не буду заходить, пока не напишу.
Дорабатываю предложение Генерала: нужно хоть немного усложнить алгоритм - чтоб было интересно играть, чтоб командиры имели степени свободы, чтоб было на чем показать тактическое умение.
Общие понятия:
Мир - цилиндр как в Циве, для имитации замкнутости поверхности хоть по одному измерению.
Клетки - для простоты. Мир небольшой, просто для отработки идей - ну около 20х20.
Клетки имеют рельеф как в Циве - для интереса и стратегического разнообразия. Рельеф влияет на движение, защиту и т.д.
Задача - защитись свой/захватить вражеский флаг.
Главный - Правитель; ему подчиняется 3 командира.
Правитель управляет распределением войск по командирам и сам управляет частью войск. Не фишки - а именно войска: напр. у каждой стороны 20 конников, 30 лучников, 40 мечников, 10 катапульт (числа и виды войск обсуждаемы).
Командиры могут разделять свои войска и передавать часть из них другим командирам (?). Например, мимо идет маленький отряд врага, а твоя основная армия идет по заданию: ты можешь дать команду конникам догнать и порубить врага и присоединиться к основной армии.
Т.к. отряды могут быть очень разные по численности, а клетка - довольно большая территория, то обнаружение врага становится ВЕРОЯТНОСТНЫМ: 2 одиноких разведчика могут пройти по одной и той же клетке и не заметить друг друга. Но одиночка скорее заметит войско, не будучи замеченным. Чем больше войско - тем больше шансов его заметить.
Области видимости: командир видит АКТУАЛЬНУЮ карту - часть карты, видимой тем ЕГО отрядом, где он находится, + УСТАРЕВШУЮ карту (карту, присланную Правителем или встреченным командиром С ПРОШЛОГО ХОДА). Правитель видит как и другой командир - актуальную карту + карты всех командиров с прошлого хода (тут много вопросов конечно. Как я понимаю, карту своего же командира, с которым еще не встретился, увидишь через 2 хода пока он пришлет карту Правителю, а Правитель тебе).
Режим ходопроизводства - клиент-серверный из e-civ: все раздали приказы - сервер рассчитал результаты и разослал.
Модель боя: тут куча вопросов, пока можно отложить решение - на общие принципы это вряд ли повлияет. Но я бы хотел видеть "принцип подавления массой" им. Штурмана - больший отряд получает еще большее преимущество - т.е. если 2 бойца обступили одного той же силы, то они его убьют не с вероятностью 2:1, а с большей вероятностью - т.к. пока тот же мечник отбивает удар 1го, 2й почти наверняка засадит ему меч в спину. Это важно, т.к. заставит командиров подумать, как разделять войско - вот вам и возможность показать свое тактическое умение.
Так же желательно было бы иметь не заранее заданное войско, а как в э-цив - люди отдельно, вооружение отдельно. Тогда при отступлении какого-то отряда из битвы победитель бы получал часть вооружения врага, и сила отряда мерялась бы не только по числу людей - а и по их вооруженности: кто потерял свой меч или лук - дерись дубиной.
Т.о. каждый командир был бы немного "сам себе Правитель": на основании приказов Правителя раздал приказы своим отрядам - жди результата.
Отдельный и сложный вопрос - скорость распространения информации: Правитель сразу узнает результат разведки, боя и т.д. дальних отрядов? или через ход? или пропорционально расстоянию - типа вестовому надо успеть доскакать? (и тогда надо ли учитывать потерю конника-вестового? и есть ли вообще в отряде кони - а если нет, то скорость передачи инфы замедляется?)
Пока наверное все - модель уже и так явно не очень "простая", хочу увидеть - есть ли вообще интерес в этом направлении.
йорик как всегда в своем репертуаре, написал "разрабатываем простую модель", и тут же с места в карьер углубился в какие то частности дремучие
выскажу пару соображений
с гонцами нужно проработать идею
как быстро перемещаются гонцы? не выйдет ли так что игрок будет получать неактуальную информацию, т.е. игра будет неуправляемой по большому счету. в обратном случае, если гонцы будут приезжать достаточно часто, каждый ход, какой в них будет смысл?
второе: ограничивать коммуникацию между членами команды это плохое решение, оно породит неизбежно читерство. люди будут связываться по скайпу, или еще как, чтобы вся команда знала как у них обстоят дела без всяких гонцов-шмонцов.
гонцов можно сделать для связи с собственными отрядами (у каждого игрока по нескольку), а область видимости чтоб была комбинированная из того что видят все члены команды.
Критика принимается - я ж и сам в конце поста себя покритиковал Что-то лишнее я добавлял может и для затравки разговора - что именно лишнее, можно решить - если конечно разговор завяжется. Жаль, если Генерал действительно не заглядывает в форум, пока что-то не напишет.
Да, за скорость распространения информации в игре не брался пока ИМХО никто - даже в подобных нашему мозгоштурмах "разрабов" "Clash of Civs" и группы Стефа с ИхФанатиков - хотя признавали ценность такой фичи.с гонцами нужно проработать идею
как быстро перемещаются гонцы? не выйдет ли так что игрок будет получать неактуальную информацию, т.е. игра будет неуправляемой по большому счету. в обратном случае, если гонцы будут приезжать достаточно часто, каждый ход, какой в них будет смысл?
Но если исходить из реализма, то до появления радио Правитель действительно узнавал о событиях не сразу, а если гибли гонцы - то и вовсе нескоро; немало было случаев, когда и вообще не узнавали: поплыл прото-Колумб в предполагаемом направлении - и ни слуху ни духу, может через века какой батискаф найдет на дне обломки корабля, а то и нет - деревянные корабли недолговечны.
Вот в Циве был момент: при обсчете ходов противника ты-игрок нередко замечал прошмыгнувшего и исчезнувшего врага, и очень хотелось, чтоб от врага оставалась "тень" с вектором - что здесь прошел такой-то враг в таком-то направлении. Ведь крайне удобно было бы, да? если ход длинный, таких случаев было немало, и все в голове не удержишь - да еще карта прыгает, на море разные ситуации похожи друг на друга и т.д.
То же можно было бы сделать и в нашей ИМРС: как минимум оставлять с прошлого хода "след" чужого (а может, и своего?) юнита и направление его движения. А может и сообщение от него: напр. наш корабль встретил нейтрала в море, те передали - Колумба не ждите, его замочили пираты - "наши" при первом заходе в порт передали это ну и т.д. - но надо продумывать сложную цепочку доставки инфы, что для "простой модели" перебор.
И все же очень хочется реализма в распространении инфы, и даже чтоб от дальнего отряда она приходила позже. Потому можно (пока) не учитывать потерю отрядом гонца/коня, но подразумевать, что в конце хода кто-то скачет сообщить о результате. Но тогда еще вопрос - куда? В столицу? - и тогда надо еще учесть обратный путь до дальнего Командира. К соседнему Командиру? Но ведь тогда не сразу известно где он, его еще искать надо. Или считать, что поскакало несколько гонцов - в столицу и ко ВСЕМ командирам?
Вопросов много, но решить их ИМХО интересно - это и будет реализм, такой игры еще нет.
Да, ограничивать комм-ю практически невозможно, но когда люди моментально (по доисторическому скайпу ) узнают "кто где" - практически весь реализм пропадаетвторое: ограничивать коммуникацию между членами команды это плохое решение, оно породит неизбежно читерство. люди будут связываться по скайпу, или еще как, чтобы вся команда знала как у них обстоят дела без всяких гонцов-шмонцов.
В "Clash of Civs" была интерсная идея: радиус видимости отряда и отдельно радиус действия. Т.е. "видеть" могут вокруг отряда разведчики, особенно конные ( в КтП2 у конников был больший радиус видимости), а вот ударить отряд может на меньший радиус - все же переместить массу бойцов с вооружением дольше, чем легкого разведчика.гонцов можно сделать для связи с собственными отрядами (у каждого игрока по нескольку), а область видимости чтоб была комбинированная из того что видят все члены команды.
И еще было принципиальное изменение в Циве: в Цив1,2 после удара юнит оставался на месте, в Цив3 юнит стал переходить в клетку поверженного врага. Напр. если ты бил из города мощным единственным в городе юнитом по одному из двух слабых врагов на разных клетках, то в Цив1,2 ты не беспокоился: убил врага - остался в городе. Начиная с Цив3 это уже невозможно: даже убив врага, ты отдаешь город даже слабаку-врагу, и даже отбив город следующим ходом - получаешь от него уже половину, а то и абандоненные руины.
Конечно, если юнит у нас будет делимый - то проще: не бросай весь юнит в атаку, оставь часть в гарнизоне. А если еще и параллельные движения по уму сделать, с условиями и скриптами, то и вовсе наперед можно прописать в таком случае осады поведение, типа:
"возьми Н воинов и ударь по врагу М, но"
"если в этот момент враг напал на оставшийся гарнизон и теснит гарнизон, то возвращайся"
(по уму надо еще усложнять: "если возвращаться - в спину может ударить враг, оставь кого-то в заслоне насмерть" - да, сложнее, но здесь же и есть возможность показать способности игрокам-Командирам!)
Слишком много буков
Вот если бы собрать людей в конфу (голосом тем более),
то там много быстрее и лучше можно было бы обсудить,
а так... это просто опять переливание из пустого в порожнее -- ты ведь не способен
элементарно даже представить (не)реализуемость того что предлагаеш
а мне(и другим) тупо не интересно, да и замотаешся
развенчивать твои далекие планы. )
Не все простое - гениально.
Спорно - стало ли бы от этого лучше. В конфу собираются, когда все уже твердо решили, что будут этим заниматься, и надо уже говорить о деталях. А в данном случае такого нет - редкий кто-нибудь, и то когда у него совпадет время и желание, может быть, заглянет в форум.Вот если бы собрать людей в конфу ...
Все зависит от того, кто вызовется Главным. Пока надежда на Генерала - он реальные вещи уже делал.
Ясно что я не настаиваю на своих "вкусностях" - это "мозгоштурм", вбрасывается разное - штурмовцы выбирают главное. Важно, чтоб "процесс пошел" - снова, но лучше чем раньше , с учетом ошибок и опыта. И чтоб был не пустопорожним разговором, а двигался к реальной цели.
Вот туман войны: http://dl.dropbox.com/u/22620118/MC.swf
Почитаю тему теперь
Работает то, что по каждому игроку показывает его область видимости.
Идея с курьерами интересная, сам подумывал, в Казаках была даже такая миссия, где ты войска прямо не двигаешь, а посылаешь к ним курьеров с приказами.
Но сейчас меня занимает больше другой вопрос. Как разделить и как наладить взаимодействие между сервером и клиентом. На сервере будут истинные юниты, а клиент будет работать только с их образами (хе, чисто по Платону). Собственно, это сейчас есть, да и Шахматы на том же принципе реализованы. Здесь тоже осталось тоже раздачу приказов ввести и продумать, из чего будет состоять репорт сервера клиенту - и готово.
А ты не думал про использование какого-то готового сетевого движка?
А то ведь, замотаешся. Надежную работу с сеткой -- совсем не просто сделать.
Слишком во многом разбиратся придется.
Например проект Дварф для ММО игр который.
Open source for the online gaming universe | RedDwarf Server
http://www.reddwarfserver.org/?q=con....ShareRedDwarf Server is a horizontally scalable application server for low latency applications such as online games, virtual worlds, and social networking applications. ... any other client side tools (such as graphics engines, physics engines, etc), ...
у меня и там и там "истинные" юниты, чтобы меньше возни было с согласованием типов. и сервер и клиент используют одну библиотеку где юниты описаны. обкарнать клиентских юнитов ты всегда успеешь, имхо. а во время разработки удобно когда один тип данных везде используется.
Aku_Aku, а там есть кнопка "Сделать крутую ММО где можно грабить корованы я джва года хочу такую"?
Разумеется, сеть я сам не пишу, этим займётся Player.IO
Peter, я начал с того, что истинный юнит у меня Object, а отображаемый - Sprite. Большинство свойств совпадают, да, но обкарнывание хочу делать параллельно с основной разработкой.
К примеру, оценка численности врага. Своих ты видишь полностью, а о вражеских можешь предполагать, в каком диапазоне численность врага.
Ну и как в Картах - своих видишь полностью, а вражеских - только количество и верхняя карта. И обрезать это надо при передаче с сервера, чтобы не было возможности взломать клиент.
Ну ПлеерИО вроде как довольно ограниченый.
А там предлагают гораздо более широкий и расширяемый фреймворк.
А "грабить корованы" -- это самому, своими ручками
Включение?Peter, я начал с того, что истинный юнит у меня Object, а отображаемый - Sprite. Большинство свойств совпадают, да, но обкарнывание хочу делать параллельно с основной разработкой.
Или наследование?
Это уже этап отображения.К примеру, оценка численности врага. Своих ты видишь полностью, а о вражеских можешь предполагать, в каком диапазоне численность врага.
Model View Controller -- знакомая мантра?
А тут, надо смотреть концептуально.Ну и как в Картах - своих видишь полностью, а вражеских - только количество и верхняя карта. И обрезать это надо при передаче с сервера, чтобы не было возможности взломать клиент.