![]() |
|
||||||||||
|
|||||
|
don't panic!
Регистрация: Aug 2001
Сообщений: 4,121
|
2ндглюк
по-моему ничего лучше системы фаллаута не придумали... есть очки действия (AP) и их можно расходовать на перемещение, использование/смену/перезарядку оружия, и т п... после твоего хода действуют противники. причем в фаллаут тактикс есть существенное отличие боевой системы: можно по сути отключить пошаговость - противники не будут ждать окончания твоего хода, а будут действовать по мере накопления AP. второй вариант интереснее, но его реализовать конечно тяжелее: линейная последовательность действий по крайней мере не рискует повесить скрипт... =) Последний раз редактировалось Nox Noctis; 10.01.2003 в 18:59. |
|
|||||
|
Регистрация: Jan 2002
Сообщений: 1,323
|
Особенно второй вариант
|
|
|||||
|
Регистрация: Jan 2003
Адрес: Омск
Сообщений: 95
|
Идея офигигительная. Убьём Mech Warrior и всех остальных !!!(множественное число не означает примазку к пректы, просто словесный оборот). Да, пошаговость сейчас самый, по-моему, вариант. Даже это будет много весить. Потом, может быть можно и аркаду, но вы прикиньте: мощный код, всё пучком, а у юзера P233 или ещё меньше. К счастью сейчас такие достаточно редки. Про on-line, дык это вообще... У меня, например сейчас 21,5 Кбит/с. Ну и куда с таким коннектом?
__________________
Бог наделил человека разумом, но забыл дать инструкцию, как им пользоваться... |
|
|||||
|
Регистрация: Dec 2001
Адрес: Estnia
Сообщений: 62
|
А вот типа в Фалоут это типа ещё героев помойму. А
вариант Макса похож на игру по инету бателмайл. мне больше нравиться второй вариант. |
|
|||||
|
don't panic!
Регистрация: Aug 2001
Сообщений: 4,121
|
не, в Героях все по-другому: там есть отдельно "мировая карта", и есть "локации битв",
причем в битвах просто походовой алгоритм - никаких AP. 2alber - насчет пошаговости: о том и речь - если игра будет пошаговой, то какой бы ни был коннект - это не вызовет "лагов". но в любом случае онлайновай версия пока не обсуждается я так понял... - про торможение: это знаете ли зависит от точки прикрепления рук к туловищу =) ...мы же не собираемся вычислять траекторию падающих снарядов и рикошеты разлетающихся при этом осколков... |
|
|||||
|
ребята, предлагаю перейти к обсуждению конкретных задач!
ИТак... сценарий... ждем! ![]()
__________________
Max. |
|
|||||
|
don't panic!
Регистрация: Aug 2001
Сообщений: 4,121
|
о !... а знаете, мне тут подмалось:
мы в далеком детстве (на уроках географии в основном :))) ) играли в одну офигенную игру... называется "лабиринт" =) по-моему по той же схеме можно завернуть и в нашем случае... эта игра в чистом виде пошаговая: но ведь все в наших руках =) никто не мешает изобрести ее модификацию... — рассказываю как это игралось: УСЛОВИЯ: [list=1][*]есть один ведущий и произвольное количество игроков.[*]есть поле в клеточку, на котором неизвестно что находится.[*]на поле есть следующий набор клеток: пустая, клетка с рекой, клетка с устьем реки (река течет в сторону устья), клетка с ямой (телепорт), клетка со стеной (стены бывают разрушимые и монолитные), клетка с арсеналом, клетка с медпунктом.[*]у каждого игрока есть сколько-то хитов, сколько-то пуль, и сколько-то гранат. пулями убивают противников, гранатами рушат стены (если они не монолитные)[*]в лабиринте есть один выход (клетка, где разомкнута внешняя стена) и два клада - один настоящий, другой ложный.[*]задача либо всех убить, либо вынести из лабиринта настоящий клад.[*]иногда еще в лабиринте есть храм (если тебя убили, то через сколько-то ходов можно воскреснуть) - тогда вариант окончания игры всего один. [/list=1] СОБСТВЕННО ПРОЦЕСС ИГРЫ: [list=1] [*]ведущему каждый из игроков сообщает в какой клетке лабиринта он появится. и ведущий ставит фишки игроков на поле.[*]игроки изначально не знают НИЧЕГО о конфигурации поля, и о метоположении других игроков... =) это основополагающая весчь. =)[*]когда все игроки установлены на поле ведущий всообщает игрокам на какой клетке кто находится. если на этой же клетке стоит другой (другие) игроки - то ведущий сообщает: "ты видишь глазки". но ведущий не говорит с какой стороны ты видишь противника - так что надо либо угадать по предыдущим ходам и выстрелить, либо просто сматываться пока не пристрелили тебя =)[*]при каждом ходе игрок получает от ведущего сообщение где он стоит - и может сделать одно из действий: выстрелить-и-сделать-шаг, сделать шаг на одну клетку, кинуть гранату в стену и т п.[*]если игрок втечение хода находится в реке - его сносит течением на одну клетку. рек может быть несколько.[*]если игрок падает в яму (телепорт) то его переносит в другую клетку лабиринта. ямы объединены в цикл телепортов (пронумерованы). циклов может быть несколько. после переноса в телепорте игрок НЕ получает сведений о том, на какой клетке лабиритна он находится.[*]раненый игрок не может нести клад.[*]в арсенале восполняются боеприпасы, в медпункте хиты.[/list=1] ...ну и еще куча нюансов там =) вся прелесть игры в том, что через несколько ходов ты абсолютно не представляешь в какой клетке лабиринта находишься. становится весело =)) так что приходится составлять карту лабиринта наощупь, начиная с нескольких мест, фрагментами. естесственно отсальные игроки слышат сообщения о твоих ходах. но поскольку они не знают с какой клетки ты стартовал - то это помогает слабо - разве что можно начинать строить чужой фрагмент карты... =) ...а в случае компьютерной реализации - боты не будут знать о метоположении друг друга, это отпадает само собой. короче - это только схема... но по-моему от нее можно отталкиваться. Последний раз редактировалось Nox Noctis; 11.01.2003 в 01:43. |
|
|||||
|
Человек и Здание
|
TTS
Чтоб высунуться из-за угла, надо это запрограммировать, знать карту и знать где враг. А мы можем условиться, что всю карту бот не видит. Кроме того, можно считать вероятность попадания и сделать ее ресурсом, а не флажком, т.е. - "ваше попадание в упор снесло врагу 64% брони", а его попадание на пределе дальности - только 5%. Далее. Про localConnection и вообще организацию этой штуки. Я вижу следующие задачи: -обеспечить Интерфейс для =боя в онлайне (коннект с БД, выкачивание или случайных конкретных Ботов, обеспечение нового боя между ними или отображение списка боев и демонстрацию конкретного боя) =для боя в оффлайне (выкачивание в виде архива или еще как-то набора Ботов - swf, файла с данными прошедших боев). =для отладочных целей (возможность видеть внутреннее поведение своего бота, возможность стравить своего бота со своим ботом и своего с чужим, т.е. помесь с вариантом для оффлайна) -обеспечить хранение всего хода законченных боев на сервере (ну, это просто) -рейтинговая система для определения фаворитов (тобе просто) -Интерфейс должен обеспечивать безопасность (вот тут возможно придется использовать localConnection). У меня есть приблизительное представление как это все сделать, но писать сейчас не смогу - освобожусь только к понедельнику-вторнику. Посмотрим, если эти соображения будут еще актуальны на следующей неделе (скорее всего, все "мои идеи" будут найдены здесь, и сворее всего - в значительно лучшей реализации ), то попробую все внятно изложить.А вообще, идея непростая, и довольно много усилий пойдет на этапе организации, зато потом это можно будет использовать многократно и вообще, идея имеет потенцию стать весьма популярной - среди специалистов, конечно ![]() ![]()
__________________
Регардсы. |
|
|||||
|
виртуальное земноводное
|
Команду нада делать =) Смысл есть при использовании следующей схемы:
Перед боем игрокам всегда предлагается: 1000 условных единиц (то бишь общая емкость команды не может превышать 1000уе)Далее игрок вешает на ботов или одного бота единицы по своему усмотрению. Естественно характеристики имеют лимит. Положим по 100 очков. Пример характеристик: - Скорость - Меткость - Мощность выстрела - Дальность выстрела - Обзор - Здоровье Можно ввести ограничение на каждого бота в отдельности, пусть 350. Итого минимум в команде 3 бота. Командность придаст больший интерес игре т.к. тогда появится необходимость взаимодействия ботов в команде. Хотя поначалу ее скорей всего не будет =)) Карта генерится рандомом с учетом класса. Для начала хватит одного класса - земля. Воды: 10% (непреодолимое препятствие через которое можно стрелять) Стен: 30% (непреодолимое препятствие через которое нельзя стрелять) Остальное земля. Характеристики пляшут от максимума и съедания очков. Пусть один шаг вперед или назад съедает 10 единиц, поворот на 90 градусов 5 единиц. Таким образом самый быстрый бот может совершит за раунд 10 шагов вперед или назад. Обзор предлагаю сделать круговым вне зависимости от направления взгляда бота, для упрощения. А вот выстрел имеет смысл сделать только в диапазоне 90 градусов в направлении взгляда бота. Таким образом бой будет зависеть исключительно от правильного набора команды, согласовоности ботов и действий каждого бота в отдельности. Что есть весьма интересная задачка для программера =) Опять же для начала можно ограничить кол-во ботов в команде одним. Для простоты логики. Если дело пойдет там можно и увеличить. Очки меет смысл начислять следующим образом: 1000 очков рейтинга дается при регистрации. Играть можно только с членами своей группы. Группы разбиты по кол-ву очков: 0-10.000 10.000-100.000 100.000-1000.000 и т.д. При выигрыше, выигравшая команда получает 50% от очков противника с противника эти очки снимаются. Разрешается играть с командой из низшей группы только в случае отстуствия игроков в твоей группе и при количестве очков не превышающих на 50% лимит группы (например для одиночки из третьей группы очки должны быть меньше 150.000). Для боя необходимо зайти на сайт боев и указать противника. Присутсвие подтверждения со стороны противника не обязательно. Бой оканчивается ничьей если победа не достигнута в течении 100 раундов. Все бои спокой можно сохранять на сервере. А теперь самая большая во всем этом проблема: Защита рейтинга =) Флеш технология клиентская и подделать в ней можно все =) Поэтому написав простейший скрипт можно выиграть у любых ботов находящихся на твоей машине, можно подсмотреть чужой код при помощи декомпиляторов и т.д. =) Эту проблему вам вряд-ли удастся решить. Программы должны быть серверными.
__________________
Дешевый критикан Последний раз редактировалось gOloVasTicK '~; 11.01.2003 в 16:15. |
![]() |
Часовой пояс GMT +4, время: 14:37. |
|
|
« Предыдущая тема | Следующая тема » |
|
|