Форум: "Игры";
Текущий архив: 2003.12.04;
Скачать: [xml.tar.bz2];
ВнизРеализация изменцивых от ситуации диалогов в RPG: Найти похожие ветки
← →
greenrul (2003-05-19 02:55) [0]Кажется это называется скрипты. Хочу поведать и посоветоваться - я собираюсь писать RPG и пока разработка только началась, хочу прояснить эту деталь. Я хочу все действия в игре, диалоги, события упростить - не вбивать их намертво в движок, а написать свой маленький язык, на котором я мог делать сам сюжет. Идея такая:
Есть действия, события (да/нет), объекты.
Объекты делятся на вещи для инвентаря, людей, других объектов в мире (например коробка). Действия применимы только к объектам - к каждому типу свое. Примерные действия - взять, дойти до, убить.
События - это булевские переменные. Например есть_в_инвентаре?, жив_ли?, выполнено_ли_занание? и т.д.
Соответственно диалоги тоже меняются взависимости от событий. Вот маааленький пример беседы с кузницом, который просил вас достать ему мега-камень.
--------------------
new_dlg
* IF stone_bringed GIVE hero mega-sword SAY Hello, my friend, thank you for bringing me this fu**ing stone! Please take a gift from me!!! ANSWER_1 Thank you, and see you later ANSWER_2 Ok, now may i see your shop inventory? SHOP kuznec
а еще можно будет делать редиректы в диалогах - у каждой фразы будет свой код. допустим они будут описываться в начале скрипта. а потом диалог предстает в таком виде:
1: SAY %5 ANSWER_1 %2 GO #4 ANSWER_2 %3 GO #5 - это значит : идет первый диалог, сперва вас привествуют пятой фразой, первый вариант ответа - вторая фраза, если я вибираю это, то идет 4 диалог, если я выбираю второй вариант ответа, идет 5ый диалог.
Уфф... надеюсь никого не запутал. Какие есть комментарии и замечания к этому творению? Хранить думаю в отдельном ini файле, не загружая его полностью, а читая/записывая его.
← →
greenrul (2003-05-19 03:17) [1]дико извиняюсь за грубые опечатки - писал поздно, руки уже не повиновались
← →
Кен (2003-05-19 05:00) [2]Хочешь пример диалогов ? Скачай мою мини-игру : http://www.triponavtika.narod.ru/navigame.zip
Пока всё давольно по-левому выглядит. Но речь о диалогах.
Диалоги в виде открытых текстовых файлов. Один персонаж - один файл. Каждый раз когда ты обращаешься к персонажу загружается файл и по нему ведётся беседа. Можешь не вылезая из игры подправлять файлы и смотреть что как работает.
Скрипт состоит всего из ТРЁХ команд.
set apelsin 1 - Положить в сумку героя один апельсин.
add apelsin 1 - Положить в сумку героя ещё один апельсин к уже имеющимся. ( или выложить если будет -1 )
if apelsin=1 goto 10 - Перейти к строке 10 если у героя в сумке один апельсин.
И ВСЁ ! Помоему трёх команд достаточно. Но можно обсудить.
Можно ещё добавить две команды. Для записи событий в дневник героя и проверки их наличия.
Дневник - это типа памяти. Например, герой поговорил с персонажем игры по имени Гарфельд. Пишем в дневник. "Поговорил с Гарфельдом." Далее если мы опять обратились к Гарфельду, то он сделате проверку на эту запись в дневнике и скажет "Привет, старый знакомый !"
← →
cyborg (2003-05-19 10:21) [3]Кен трёх команд для RPG недостаточно, нужно не только давать и брать предметы, но и устанавливать новые персонажи, показывать карту, улучшать характеристики персонажа и т.д.
greenrul Думаю лучше ввести блоки ограничивающиеся какими либо символами, например [], у тебя так в диалоге может выполнятся только одна команда, используя блоки в них можно хранить несколько команд, например [дать пирожок;показать картуXY;дать пульки;установить флаг выполнения квеста;дать XX очков опыта]
И ещё, выкладывай исходник квест-интерпретатора, думаю всем будет интересно, может кто внесёт улучшения.
← →
greenrul (2003-05-19 14:23) [4]окей, я в любом случае как более-менее демка будет - выложу
← →
Кен (2003-05-20 01:24) [5]cyborg ©
> Кен трёх команд для RPG недостаточно, нужно не только давать
> и брать предметы, но и устанавливать новые персонажи, показывать
> карту, улучшать характеристики персонажа и т.д.
А как ты в реальной жизни можешь "установить новые персонажи" ? Родишь что ли ? Все персонажи устанавливаются в начале игры или уровня и всё.
Если обязательно надо ввести кого то нового в игру, то тебе могут дать ключ от комнаты, где этот кто-то сидит. Или ты сам сможешь освободить его из тюрьмы. Или ещё что-нибудь. Мало ли вариантов ?
> показывать карту,
Ну положи главному герою (то есть нам) в сумку карту. А посмотрит её он уже сам.
> улучшать характеристики персонажа и т.д.
Улучшать характеристики персонажа можно тоже через сумку. Положить ему в сумку супер отмычку или какой-нибудь супер пистолет. Вот и улучшение.
Вообще для этого игра должна предусматривает улучшение характеристик персонажа. Да и мало ли что она может ещё предусматривать ?
← →
cyborg (2003-05-20 10:34) [6]Кен мысли глобальней, персонажи могут придти и уйти, если обидел какого-нибудь босса то появляются его слуги и т.д.
Чтобы показать карту не нужно ничего никуда ложить, нужно просто открыть место на карте игроку.
Опять сумка :), эдак у тебя не игра будет, а сумколазание.
>>Вообще для этого игра должна предусматривает улучшение характеристик персонажа.
>>Да и мало ли что она может ещё предусматривать ?
Читай cyborg © (19.05.03 10:21)
← →
Soft (2003-05-20 18:08) [7]>>greenrul © (19.05.03 02:55)
>>Реализация изменцивых от ситуации диалогов в RPG: [Delphi, Windows]
Посмотри TES в Morrowind. На данный момент они создали игру, которую могут доделывать все желающие, внутренний язык круче чем в 1С, AI всех пресонажей реализован на этом скрипте, графика и модели скелеты отдельные текстуры, звуки - все реализовано в виде одной большой, редактируемой базы данных. А вот движок у них не оптимизирован:(( Для максимальных требований нужен GeForce4(Ti) и Athlon XP/P4 2500.
← →
Кен (2003-05-21 01:48) [8]cyborg ©
> Кен мысли глобальней, персонажи могут придти и уйти, если
> обидел какого-нибудь босса то появляются его слуги и т.д.
Откуда появляется слуга ? Из космоса прилетает ?
Чтобы босс обиделся на разговоры нужно, чтобы через разговоры можно было менять характеристики босса. Доброжелательность/агрессивность в Фоллауте. Вопрос в том, есть ли у босса эта характеристика. В Хитмане, например, нету. Однако игра классная. Если же есть, то в принципе получится всё тоже самое. Сумка и флаги. Только не у главного героя, а у каждого персонажа.
Soft ©
> Посмотри TES в Morrowind. На данный момент они создали игру,
> которую могут доделывать все желающие,
А где её посмотреть ? Её можно где-нибудь скачать ?
← →
Asteroid (2003-05-21 02:13) [9]> Кен © (21.05.03 01:48)
> А где её посмотреть ? Её можно где-нибудь скачать ?
Она целый диск занимает.
← →
Кен (2003-05-21 04:12) [10]Ну и что ? За неделю скачается. Было бы откуда тянуть.
← →
cyborg (2003-05-21 12:54) [11]Кен зачем же переходить из крайности в крайность, когда я говорил мысли глобальней это значит разверни своё воображение шире, а не прилетай людей из космоса.
← →
TButton (2003-05-21 23:57) [12]2 Кен
Мдя... два вопроса:
1.Почему телка все время нервничает?
2.Почему такое еб****ое управление?
← →
Кен (2003-05-22 02:05) [13]TButton ©
> 1.Почему телка все время нервничает?
Потому, что нету подходящей анимации. И где её взять непонятно. Хотелось бы анимацию Томб-рэйдера с такими движениями как : весение на руках, подбирание предметов, нажимание на рычаги, вождение транспорта.
Знать бы где это взять.
> 2.Почему такое еб****ое управление?
Потому, что это только начало.
Сейчас уже мышь приделал. Чтобы мышью можно было поворачивать в стороны и смотреть выше ниже. Старался сделать по типу GTA3.
Выложу чуть позже, когда изменений накопится побольше.
cyborg ©
> Кен зачем же переходить из крайности в крайность, когда
> я говорил мысли глобальней это значит разверни своё воображение
> шире, а не прилетай людей из космоса.
А куда шире ? Вот, что вообще может делать персонаж игры ? Давайте список составим :
1 ) Атаковать.
2 ) Пойти в заданную точку.
Что ещё то ? Можно ещё собирание предметов добавить или их перетаскивание. Но смысла в этом копейка.
Плюс ещё действия по умолчанию. Когда персонаж закончил атаку или пришёл в заданную точку.
1 ) стоять на месте.
2 ) гулять в заданном пространстве.
Это всё может сопровождаться любой анимацией. Можно находясь на одном месте танцевать или лежать и спать или что угодно.
Страницы: 1 вся ветка
Форум: "Игры";
Текущий архив: 2003.12.04;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.006 c