Сокровище в обложке – книга-игра!

На страницу 1 2  >

 
Во всех бочках затычка

TeamAssault ФРПГ

представляет из себя идею воплощения нового способа отыгрывания форумной ролевой игры. Она совмещает в себе такие идеи как графическое отображение текущей ситуации на карте для каждого игрока отдельно, учёт и изменение данных по игре программой (автоматизация игрового процесса) и гибкость позволяющую ДМу влиять на происходящее и дающую возможность проводить игру с использованием автоматизации без потери игрового отыгрыша.
А теперь всё тоже самое, но более простым языком Smile

Игра происходит в замкнутых "лабиринтах" между командами игроков. Каждый игрок обладает целым рядом параметров.

Игровой процесс со стороны игроков будет выглядеть так:
в игровой теме, игроки используя тэг "скрытых сообщений" пишут приказы своему персонажу, например так:
[priv=мастер]
ИДТИ
ВПРАВО
ВПРАВО
ВЫСТРЕЛИТЬ
[/priv]

Всё, приказы отданы, теперь игрок ждёт ответа мастера.

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

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

Каждый персонаж обладает параметрами:

  • меткость – влияет на шанс попадания в противника из оружия
  • скорость – кол-во возможных действий за один ход
  • скрытность – шанс что противник не заметит вас (пока не реализовано)
  • бросок – дальность и точность броска гранаты (пока не реализовано)

Возможные приказы:
ВСТАТЬ/СЕСТЬ/ЛЕЧЬ – изменение позы (1 / 2 / 3). Стоя в вас легче попасть, лёжа – больше ОД для выполнения действий. Сидя – компромисс. Стоимость зависит от текущей позы.
ВЛЕВО\ВПРАВО – повернуться в строну. Всего сторон – 8. Стоимость: 1 ОД
ИДТИ – сделать шаг вперёд. Стоимость: 1*поза ОД
ОТСТУПИТЬ – сделать шаг назад (не поворачиваясь). Стоимость: 2*поза ОД
СТРЕЙФ ВЛЕВО\ВПРАВО – шаг в бог без поворота. Стоимость: 1*поза ОД
ВЫСТРЕЛИТЬ/ВЫСТРЕЛИТЬ ОЧЕРЕДЬЮ – выстрел по персонажу перед собой (одиночный/очередь). Стоимость 1 ОД / 2 ОД.
РАДИО/РАДИО, ВСЕМ – сказать в рацию что-то, например "РАДИО: Привет!" все игроки одной команды получат "Привет!", а "РАДИО, ВСЕМ: Привет!" получат вообще все игроки.
ПРИЦЕЛИТЬСЯ – команда предшествующая стрельбе – повышает шанс попасть в противника. Если эта команда была "крайней" для вашего персонажа, а в процессе движения чужой персонаж появился в зоне видимости вашего и у него остались свободные ОД, то он произведёт выстрел. Стоимость: 1 ОД.

Шанс попадания в противника при стрельбе зависит от:
1. Дальности противника
2. Его позы
3. Меткости стреляющего
4. Позы стреляющего (поза "лёжа" даёт бонус)
5. Оружия стреляющего

Оружие обладает рядом параметров, такими как минимальная/максимальная дальность, мощность, бронебойность, оптимал, и другие.
Повреждение нанесённое каждой пулей зависит от расстояния (уменьшается линейно) и изначальной мощности оружия.

Предложения, комментарии приветствуются – сейчас ещё есть возможность их учесть!

Для иллюстрации своих слов, вот скриншот так сказать с "альфа-версии", это пример карты которую увидит игрок после завершения хода.

test1_player2_map_t1_557G322L.png (7.91 КБ) Просмотров: 1389 раз(а) 
test1_player2_map_t1_557G322L.png


Последний раз редактировалось: Jumangee (Пт Май 08, 2009 18:14), всего редактировалось 1 раз
Хозяин подземелья

идея отличная (являющаяся шагом к осуществлению первоначальной задумки автоматизации),
хочу сказать еще, что эту концепцию хотелось бы реализовать системонезависимой (или приспособленной к зрпг, если отталкиваться от моих личных устремлений).
И еще один вопрос: как выглядит визуально ввод ДМом команд в обрабатывающий скрипт?

Во всех бочках затычка

Теоретически текущую логическую систему можно переделывать, но практически – очень трудно сказать. Причин тут много, потому, думаю реально реализовать те системы, которые очень похожи, причем по многим факторам.
Ввод комманд ещё "не выглядит", его пока нету. Потому и начал обсуждение на этапе когда разработка частей взаимодействия с игроком и дмом скоро начнётся. Предполагаю, что это будет так:
1 шаг: дм открывает страницу teamassault, выбирает файл с компьютера (файл сейва), нажимает "загрузить"
2 шаг: открывается окно полями ввода команд для каждого игрока, дм каждому вводит команды, нажимает "выполнить"
3 шаг: дм скачивает новый файл сейва, а в теме игры уже создано сообщение от имени ДМа в котором описаны результаты хода

Да, а для создания карт есть модифицированная версия редактора zombie map editor Smile

Во всех бочках затычка

Забыл рассказать что интересного остаётся на мастере игры:

1. Карта и предметы на ней
2. Придумывание оружия (от названий до параметров)
3. Начальное создание и размещение игроков. С какими параметрами и оружием игроки начнут – зависит только от мастера.
4. Повышение/понижение параметров в зависимости от результатов действий игроков
5. Обработка "использований" особых предметов (в планах)
6. Игра за NPC
7. Респавн полезных объектов и/или врагов-NPC
8. Респавн убитых игроков

UPD:
Оружие игрокам раздаёт мастер, он же и единственный кто может его игроку поменять/изменить/и т.д.

Хозяин подземелья

а игроки будут сохраняться в локальной сохраненке или на сервере?

Во всех бочках затычка

Вся информация об игре лежит в одном файле – "сейве" который и загружается мастером на сервер. Формат файла – текстовый, что позволяет вносить правки в него элементарно с помощью блокнота.

Пример файла:
name=test1
w=20
h=20
turn=1
topic=123
dm=2
map:
vb:hb|__:hb|__:hb|vk:hb|__:hb|__:hb|__:hb|__:hb|__:hb|__:hb|__:hb|__:hb|__:hb|vk:hb|__:hb|__:hb|vk:hb|__:hb|__:hb|vb:__
vb:|:|:|vk:|vk:hk|__:hk|vk:hk|__:hk|__:|vk:hk|:hk|__:hk|vk:|:hk|__:hk|__:hk|__:|vk:hk|vk:|vb:__
vb:|:hk|__:hk|__:|:|:|vk:|vk:hk|__:hk|__:|:|:|vk:|__:|:|:|:|vk:|vk:|vb:
vb:|:|:|:|:|vk:hk|:|vk:|vk:hk|__:hk|__:hk|vk:|vk:|__:|:|:|:|vk:|vk:|vb:
vb:|vk:hk|:hk|vk:|:|:hk|__:hk|__:hk|__:|:|:|:hk|__:|vk:hk|:hk|__:hk|vk:|:hk|vk:|vb:
vb:hk|__:|vk:|vk:hk|vk:|:|vk:|__:|vk:hk|:hk|vk:|vk:hk|vk:|vk:|:|:|:hk|vk:|vk:|vb:__
vb:|vk:hk|:hk|__:|vk:|vk:hk|__:|:|vk:|__:|vk:|vk:|vk:|__:hk|__:hk|vk:|:|:hk|vk:|vb:
vb:|:hk|__:hk|vk:|vk:|__:|:|vb:hb|:hb|__:hb|vb:|vk:|vk:|vk:hk|vk:|__:hk|__:hk|__:hk|__:|vb:
vb:hk|__:hk|__:|:hk|__:|:|:|vb:|__:|:|vb:|vk:|vk:hk|:|vk:|vk:hk|__:hk|__:hk|vk:|vb:
vb:|vk:hk|vk:|__:|:|:|:|vb:|__:|:|vb:|vk:|:hk|__:hk|__:|:hk|__:hk|__:|vk:|vb:__
vb:|vk:|vk:|:|vk:hk|:hk|vk:|:hb|__:hb|__:|:|:hk|__:hk|vk:hk|vk:|:|:|:|:|vb:
vb:|vk:|vk:|:|vk:|__:|vk:|__:hk|vk:hk|__:hk|__:hk|__:hk|vk:|vk:hk|:|vk:hk|:hk|__:hk|vk:|vb:
vb:|:hk|__:|:|:hk|__:hk|__:|:hk|vk:|:hk|__:hk|__:hk|__:|vk:|__:|:hk|__:hk|__:hk|__:|vb:
vb:|:|:|:|vk:hk|:hk|__:hk|__:hk|__:|:|:|:|vk:hk|:|:|:|:|vk:hk|vk:|vb:__
vb:|vk:|__:hk|__:hk|vk:|:|vk:hk|:hk|__:hk|__:hk|__:hk|__:hk|__:|vk:hk|vk:|__:|:|vk:|__:hk|vb:__
vb:|vk:hk|:hk|__:hk|__:|:|vk:|__:|:|:|:|:|:|vk:|vk:|:|:|:hk|vk:|vb:
vb:|vk:|__:|:|:|:|:hk|__:|:|vk:|__:|:|:|vk:|vk:|vk:hk|vk:|vk:|:|vb:
vb:|vk:|__:|:|vk:|__:|vk:hk|:|:|:|:|vk:hk|:hk|__:hk|__:|vk:|vk:|:hk|__:hk|vb:__
vb:|:|:|:|vk:|__:|vk:|__:|:|:|:|vk:|__:|:|:|vk:|vk:|:|:|vb:
:hb|:hb|__:hb|__:hb|__:hb|__:hb|__:hb|__:hb|__:hb|__:hb|__:hb|__:hb|__:hb|__:hb|__:hb|__:hb|__:hb|__:hb|__:hb|__:__

team:
id=5|name=test
team:
id=2|name=gg

weapon:
id=2|name=АК-47|ammo=32|ammo_max=32|acc=4|power=50|piercing=25|burst=3|brst_dec=15|minrng=1|maxrng=20|optimal=10
weapon:
id=13|name=АК-47|ammo=32|ammo_max=32|acc=4|power=50|piercing=25|burst=3|brst_dec=15|minrng=1|maxrng=20|optimal=10

player:
id=2|name=Jum|team=5|hp=35|hp_max=35|armor=7|armor_max=7|stealth=3|spd=7|acc=70|throw=3|x=1|y=3|pos=1|dir=8|inventory=
player:
id=13|name=Test|team=2|hp=35|hp_max=35|armor=7|armor_max=7|stealth=3|spd=4|acc=70|throw=3|x=6|y=3|pos=1|dir=4|inventory=

object:
type=MED|x=4|y=4

Сказали спасибо(1): Алекс
Хозяин подземелья

локальный сейв персонажей усложняет одновременную работу нескольких ДМов

Во всех бочках затычка

TA – не та игра где требуется несколько дм-ов, кроме случаев, когда TA будет использован только как тактический движок в более глобальной игре. Объяснюсь.
Представьте что на примере карты нарисованной выше, нету одного из кусков черной стены по периметру – пролом/дверь/...
Так вот, игрок подходит к пролому и... ДМ убирает его с этой карты, а добавляет в другую, т.е. игрок как бы путешествует!
Таким образом, получится что каждая карта это что-то навроде "игровой локации" куда можно прийти, или откуда можно уйти. Таким образом из маленьких карт-кусков можно собрать целый мир Shocked
А так как каждому куску можно сопоставить своего дм-а то как раз таки одновременная работа нескольких дм-ов будет очень и очень серьёзно упрощена. В случае перемещения например, игрока Test в другую локацию, всё что потребуется – это сообщить одному дм-у другому типа:
"к тебе пришёл игрок
player:
id=13|name=Test|team=2|hp=35|hp_max=35|armor=7|armor_max=7|stealth=3|spd=4|acc=70|throw=3|x=6|y=3|pos=1|dir=4|inventory="
Сложно?

Хозяин подземелья

а если игрок временно не у дел, к кому должен обратиться ДМ, чтоб узнать параметры персонажа этого игрока?

Во всех бочках затычка

Что значит игрок "не у дел"? И что значит к кому обратиться?
К кому должен обратиться владелец художественной книги, чтобы ему прочитали название книги? Smile

Хозяин подземелья

ну допустим, есть 4 ДМа, а игрок поиграл у одного и потом три месяца отсутствовал, потом пришел, а состав ДМов сменился и водят уже другие, че делать?

Во всех бочках затычка

Ну, всё зависит от ДМ-ов наверное – сохранял ли ктолибо эту строку с описанием этого игрока. Вопрос явно не к системе, а к дмам. Если игрок уходя попросил дм-а сохранить его, то дм может просто сохранить строку с описанием и передать следующему дму. Всё просто.

Путник

это напоминает Квейк пошаговый(да что там, это и есть квейк пошаговый =) )

лучше всего сделать игру наподобие CtF(capture the flag) в каждую команду по 5 человек, и играть.

или например survival, поставить на карту N зомби, и статические ловушки, и нужно выжить, или ...

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

ну... главное чтоб народу было побольше 2,5 человек) автоматизация процесса это халява для ДМа))

Сказали спасибо(1): Алекс
Во всех бочках затычка

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

Путник

если что я играю)
лучше всего это когда 2 команды первая – люди(марины хехехе) а вторая – зомби( зерги хехехе) и у обоих одинаковые навыки. если зомби убивают людей то они переходят в зомби. (сделать к примеру 5 человек и 3 зомби... или ну в мафию играли все наверное) просто мне кажется в данном случае survival будет поинтереснее

Во всех бочках затычка

Проект не только не заглох, но и продолжает развиваться. Внесён ряд довольно серьёзных изменений в систему, добавлены гранаты и "активирован" параметр "скрытность".

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

Добавлены гранаты – бросать можно в том направлении, куда смотрит персонаж. Для гранат добавлена команда: "ГРАНАТА", её можно использовать без параметров, так и с параметрами – указывая дальность броска (не более чем значение параметра "бросок"). Брошенная граната взрывается _не_сразу_, а в конце хода – когда все игроки выполнили свои ходы. При взрыве граната может уничтожить кирпичные стены в клетке взрыва, и причинить ранение в клетке взрыва и окружающих клетках (см. приложение).

После каждого передвижения вашего персонажа по карте (т.е, например, после каждой команды "ИДТИ") осуществляется проверка – заметил ли вас кто-то из противников. Теперь, персонажа могут и не заметить – если параметра "скрытность" окажется достаточно для этого и вам повезёт. Вероятность зависит от "скрытности" и расстояния до "смотрящего", чем больше "скрытность" и чем дальше – тем лучше.

Внесено изменение в команду "ПРИЦЕЛИТЬСЯ" – теперь, после выполнения команды если перед персонажем есть противник, то будет произведён выстрел по нему, остальные эффекты команды остались прежними.

test1_4_player2_map_t1_127U713T.png (25.14 КБ) : 20 раз(а)  Скачать
Хозяин подземелья

Внесено изменение в команду "ПРИЦЕЛИТЬСЯ" – теперь, после выполнения команды если перед персонажем есть противник, то будет произведён выстрел по нему

а до изменений по кому совершался выстрел?
остальные эффекты команды остались прежними

остальные – это какие?

Добавил через 7 минут 53 секунд:

по поводу формулы скрытности, которую мы не успели обсудить в аське. Она имеет вид неравенства: х*у > у, и, если сократить обе части на у, то получится х*1 > 1, т.е. х > 1. Иными словами, переменная у абсолютно ни на что не влияет, несмотря на то, что присутствует в формуле 2 раза.

Во всех бочках затычка

Алекс
Читаем первое сообщение внимательнее
По поводу формулы – она выглядит не совсем так, а потому – ты не прав

Хозяин подземелья

По поводу прицеливания я все равно не понял, но больше спрашивать не буду, опять отошлешь куда-нибудь внимательно перечитать что-нибудь.
По поводу формулы, ты поменял ее еще раз, после того, как показал мне в асе?

Добавил через 45 минут 49 секунд:

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

Во всех бочках затычка

Готова первая версия руководства игрока. Читать можно здесь:
http://wiki.jumangee.net/wiki/TA_FRPG:PlayerGuide
Комментарии, идеи и предложения приветствуются

Бывалый авантюрист

Заметил пару "ошибок":
Придумывание оружия...
Может лучше реализация.
Респавн полезных....
Респаун.

Признаться, очень понравилась идея. Внесение разнообразия в ФРПГ. Темболее такую систему можно применить к книграм...


_________________
У счастья нет завтрашнего дня, есть только настоящее, и то не день, а лишь мгновенье...
When you can live forever, what do you live for?
Во всех бочках затычка

Рад что заинтересовал Smile

У мну новости Smile
Добавил в систему дополнительный тип "перегородок" – т.н. "окна"
Это конечно обширное понятие, подразумевающее за собой "заборы" и защиту из мешков, т.е."частичную защиту"
Через такую перегородку можно видеть и стрелять, но нельзя пройти. В игрока находящегося "за окном" труднее попасть.

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

Бывалый авантюрист

Круто! А функция видоизменения персонажей предусматривается?


_________________
У счастья нет завтрашнего дня, есть только настоящее, и то не день, а лишь мгновенье...
When you can live forever, what do you live for?
Во всех бочках затычка

Сейчас, как раз с помощью свойства tileset можно поменять вид всех персонажей, но, думаю, можно сделать вид персов более "уникальными", но надо ли?

Добавил через 11 минут 36 секунд:

Вопрос – имеет ли смысл хранить дополнительные, дм-ские описания к каждой клетке карты? Это может пригодиться для более литературного описания событий, туда например, можно писать о ловушках

Чего бы ещё хотелось в такой системе? Чего не хватает?

Бывалый авантюрист

Музыки. Smile


_________________
У счастья нет завтрашнего дня, есть только настоящее, и то не день, а лишь мгновенье...
When you can live forever, what do you live for?

На страницу 1 2  >