![]() |
2ндглюк
по-моему ничего лучше системы фаллаута не придумали... есть очки действия (AP) и их можно расходовать на перемещение, использование/смену/перезарядку оружия, и т п... после твоего хода действуют противники. причем в фаллаут тактикс есть существенное отличие боевой системы: можно по сути отключить пошаговость - противники не будут ждать окончания твоего хода, а будут действовать по мере накопления AP. второй вариант интереснее, но его реализовать конечно тяжелее: линейная последовательность действий по крайней мере не рискует повесить скрипт... =) |
Nox Noctis
Особенно второй вариант
|
Идея офигигительная. Убьём Mech Warrior и всех остальных !!!(множественное число не означает примазку к пректы, просто словесный оборот). Да, пошаговость сейчас самый, по-моему, вариант. Даже это будет много весить. Потом, может быть можно и аркаду, но вы прикиньте: мощный код, всё пучком, а у юзера P233 или ещё меньше. К счастью сейчас такие достаточно редки. Про on-line, дык это вообще... У меня, например сейчас 21,5 Кбит/с. Ну и куда с таким коннектом?
|
кульная идея!
есть вопрос (почти по теме), нельзя ли флешкой прослушивать порты? |
А вот типа в Фалоут это типа ещё героев помойму. А
вариант Макса похож на игру по инету бателмайл. мне больше нравиться второй вариант. |
не, в Героях все по-другому: там есть отдельно "мировая карта", и есть "локации битв",
причем в битвах просто походовой алгоритм - никаких AP. 2alber - насчет пошаговости: о том и речь - если игра будет пошаговой, то какой бы ни был коннект - это не вызовет "лагов". но в любом случае онлайновай версия пока не обсуждается я так понял... - про торможение: это знаете ли зависит от точки прикрепления рук к туловищу =) ...мы же не собираемся вычислять траекторию падающих снарядов и рикошеты разлетающихся при этом осколков... |
ребята, предлагаю перейти к обсуждению конкретных задач!
ИТак... сценарий... ждем! ;) |
о !... а знаете, мне тут подмалось:
мы в далеком детстве (на уроках географии в основном :))) ) играли в одну офигенную игру... называется "лабиринт" =) по-моему по той же схеме можно завернуть и в нашем случае... эта игра в чистом виде пошаговая: но ведь все в наших руках =) никто не мешает изобрести ее модификацию... — рассказываю как это игралось: УСЛОВИЯ: [list=1][*]есть один ведущий и произвольное количество игроков.[*]есть поле в клеточку, на котором неизвестно что находится.[*]на поле есть следующий набор клеток: пустая, клетка с рекой, клетка с устьем реки (река течет в сторону устья), клетка с ямой (телепорт), клетка со стеной (стены бывают разрушимые и монолитные), клетка с арсеналом, клетка с медпунктом.[*]у каждого игрока есть сколько-то хитов, сколько-то пуль, и сколько-то гранат. пулями убивают противников, гранатами рушат стены (если они не монолитные)[*]в лабиринте есть один выход (клетка, где разомкнута внешняя стена) и два клада - один настоящий, другой ложный.[*]задача либо всех убить, либо вынести из лабиринта настоящий клад.[*]иногда еще в лабиринте есть храм (если тебя убили, то через сколько-то ходов можно воскреснуть) - тогда вариант окончания игры всего один. [/list=1] СОБСТВЕННО ПРОЦЕСС ИГРЫ: [list=1] [*]ведущему каждый из игроков сообщает в какой клетке лабиринта он появится. и ведущий ставит фишки игроков на поле.[*]игроки изначально не знают НИЧЕГО о конфигурации поля, и о метоположении других игроков... =) это основополагающая весчь. =)[*]когда все игроки установлены на поле ведущий всообщает игрокам на какой клетке кто находится. если на этой же клетке стоит другой (другие) игроки - то ведущий сообщает: "ты видишь глазки". но ведущий не говорит с какой стороны ты видишь противника - так что надо либо угадать по предыдущим ходам и выстрелить, либо просто сматываться пока не пристрелили тебя =)[*]при каждом ходе игрок получает от ведущего сообщение где он стоит - и может сделать одно из действий: выстрелить-и-сделать-шаг, сделать шаг на одну клетку, кинуть гранату в стену и т п.[*]если игрок втечение хода находится в реке - его сносит течением на одну клетку. рек может быть несколько.[*]если игрок падает в яму (телепорт) то его переносит в другую клетку лабиринта. ямы объединены в цикл телепортов (пронумерованы). циклов может быть несколько. после переноса в телепорте игрок НЕ получает сведений о том, на какой клетке лабиритна он находится.[*]раненый игрок не может нести клад.[*]в арсенале восполняются боеприпасы, в медпункте хиты.[/list=1] ...ну и еще куча нюансов там =) вся прелесть игры в том, что через несколько ходов ты абсолютно не представляешь в какой клетке лабиринта находишься. становится весело =)) так что приходится составлять карту лабиринта наощупь, начиная с нескольких мест, фрагментами. естесственно отсальные игроки слышат сообщения о твоих ходах. но поскольку они не знают с какой клетки ты стартовал - то это помогает слабо - разве что можно начинать строить чужой фрагмент карты... =) ...а в случае компьютерной реализации - боты не будут знать о метоположении друг друга, это отпадает само собой. короче - это только схема... но по-моему от нее можно отталкиваться. |
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 раундов. Все бои спокой можно сохранять на сервере. А теперь самая большая во всем этом проблема: Защита рейтинга =) Флеш технология клиентская и подделать в ней можно все =) Поэтому написав простейший скрипт можно выиграть у любых ботов находящихся на твоей машине, можно подсмотреть чужой код при помощи декомпиляторов и т.д. =) Эту проблему вам вряд-ли удастся решить. Программы должны быть серверными. |
| Часовой пояс GMT +4, время: 00:05. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.