Народ, я смотрю тут было много проектов, и задумок- тетрисов, стратегий и пр. А некому не приходило в голову создать старый добрый текстовой квест, без всяких там наворотов,можно даже в текстовом режиме. Если у кого есть какие идеи пишите, обмозгуем, вдруг чаво и получится...
P.S. ВСЕХ С НАСТУПАЮЩИМ.
Чет тут глухо как в танке, ну же творческие умы подкидывайте идеи....
а какие могут быть идеи ? это простая задача и все уже давно реализованно...
Да похоже уже здесь вымерли все настоящие любители классических, старых добрых игр...
Есть старые игры заслуживающие внимания, но текстовые игры, это явно прошлый век...
КОнечно на заре компьютерной эры, игры были совершенно не такие как сейчас -
по экрану гонялись буквы друг за другом, и только воображение могло подсказать что
буква D это рыцарь а точки "." это монстры
Но сейчас то кто в такое будет играть ?
p.s. тебе хочется написать текстовую игру ? ну пиши - реализуется то она очень быстро...
какие у тебя вопросы по реализации ?
создаешь дерево вопров , и проходишь его в зависимости от того как отвечает юзер..
Altair, так делается, если квест статический - т.е. если сцены меняются только от введенных игроком ответов. Это конечно легко. А если есть, например, у игрока инвентарь, и в зависимости от того, что в инвентаре, меняется как вопрос, так и варианты ответа? Т.е. для каждой сцены должен сформироваться определенный набор ответов, и не обязательно для одной и той же сцены этот набор будет всегда одинаков! И, плюс, от ответов, меняется еще и сам инвентарь! Получается для каждой сцены или для каждого варианта ответа нужно писать отдельную процедуру, которая изменяет параметры инвентаря, игрока и прочее, так что ли? Может есть более простая реализация? (Мне самому интересно...)
Если поковыряться в файлах Fallouta, то видно, что все равно в конце концов все сводится к чему-то вроде дерева вариантов. Просто можно тупо зашивать это дерево в программу, а можно держать его в виде каких-то скриптов. Что же касается текстовых игр, то не знаю, как квесты, а такие игры, как ADOM и Angband... в них играют и сейчас. Разработать квестовый движок можно, можно и готовый взять. А кто будет писать сюжет и ваять локации? Ведь главное-то в этом заключается...
А сейчас время появилось. А тут вдруг и тему подняли такую! Совпадение? ;-)
Я часто подумывал о том, как бы замутить квест (уж больно нравилась Кирандия). Могу высказать некоторые соображения. Если брать совсем грубо, то есть локации, в которых есть некоторые объекты. Игрок может воздействовать на эти объекты либо сам, либо с помощью других объектов. Он может помещать эти объекты в свой инвентарь и носить их с локации на локацию, и может класть их на землю. В результате воздействия на объекты могут происходить следующие вещи:
- объекты могут уничтожаться
- могут появляться новые объекты
- могут меняться свойства объектов
- могут изменять свои значения некоторые глобальные флаги и/или локальные флаги локации
- могут меняться качества персонажа
- может меняться отображение локации (описание и/или картинка)
- ...
В идеале хотелось бы сделать своего рода скриптовый язык, который бы все это описывал вот примерно так:
Скрипты нужны для задания реакции на игровые события. Например, в сценарии сказано:
"После того, как Джек ударил жезлом по алтарю, на алтаре материализовался Огненный Кубок." Это значит, что где-то должно быть записано, что если игрок использовал объект "жезл" на объекте "алтарь", то нужно а) либо добавить в сцену объект "кубок", либо сделать уже имеющийся объект "кубок" видимым и доступным; а также б) проиграть анимацию "материализация кубка".
Где-то же это надо указывать? А в других случаях надо не добавлять, а удалять объекты, и не один, а много. То есть реакция на внешне сходные события - "применить объект А к объекту Б" - может очень сильно различаться. И при этом может учитываться то, какие действия игрок уже совершил ранее. Если я разговариваю с Архимагом до того, как поговорю с Ведьмой, он скажет мне что-то одно, а если после того, то что-то другое. Где прописывать все эти условия?
Хотя я и не настаиваю на своем мнении. Я бы делал так, но варианты вполне возможны.
Тогда согласен, без скриптов не обойтись.
Щас ломаю голову над собственной байт-машиной - развлекаюсь компиляторами, а в объектный код транслировать тяжеловато.
В принципе могу помочь сделать интерпретатор скриптов - было бы кому нужно.
Неужели не скучно писать локальную историю? Создайте сетевой квест =) Есессно придется и серверный клиент написать, но так хотя бы настоящих писак привлеч можно, в плане разработки сюжета. Кроме того, если все выйдет достаточно интересно, можно написать клиент и на др. платформе. К примеру смартфоны...
Когда-то читал биографию людей связаных с разработкой nix'ов. Они тоже играли в сетевые текстовые квесты =) В одном из них понравилось, что при входе определенной особы в храм, на алтарь падал сумрачный свет... Что самое удобное, такие спецэффекты не требуют особой производительности =)
мнэ... насчет геройского и адвенчурного — не знаю, мало играл. но как по ине — свое создавать интереснее! потому что красивее, хотя работать и дольше.
опаньки! мое первое сообщение на форуме!
Честно? Лучше чем то что уже написанно не сделаете. Пользы - 0 от даже изучения данной темы.
Согласен что это прошлый век. Есть готовые движки, можно использовать их такими как они есть или модифицировать но не создавать.
Program Kvest ;
Uses crt;
Var b,a,c,g,z: integer;
Begin
writeln(
'Наконец-то, вы собираетесь на заслуженный отдых после 11-и mесяцев работы.Куда вы отправuтесь? 1)море; 2)лес.'
);
readln(a);
If a=1 Then
Begin
writeln (
'Море... Отличный выбор: отель, бассеин, вежливый персонал и теплый воздух! Что может быть лучше? На какое море вы ходите поехать? 1)Черное 2)Красное '
);
readln(b);
If b=1 Then
Begin
writeln(
'Как вы хотите попасть на Черное море? 1)Машина 2)самолет'
);
readln©;
If c=1 Then
Begin
writeln(
'Машина... Долго, но дешиво. Удачного отдыха.'
);
End
Else
Begin
writeln(
'Самолет?! Я знал что в душе ты АЛИГАРХ. Удачи на камфортном отдыхе.'
);
End;
End
Else
Begin
writeln(
'Как вы хотите попасть на Красное море? 1)Машина 2)самолет'
);
readln(g);
If g=1 Then
Begin
writeln(
'Машина... Долго, но дешиво. Удачного отдыха.'
);
End
Else
Begin
writeln(
'Самолет?! Я знал что в душе ты АЛИГАРХ. Удачи на камфортном отдыхе.'
);
End;
End;
End
Else
Begin
writeln(
'Лес?.. Ну что ж, тоже хорошuй выбор. Эктрим! особенно если еcть только топор! Я бы поехал na море. 1)Взять только топор 2)Пaлатка, топор, еда и т.д.'
);
readln(z);
If z=1 Then
Begin
writeln('ЭКСТРИИИМ!!! Обожаю таких людeй! Весело отдохнуть.');
End
Else
Begin
writeln(
'Просто решил сэкономить на поездке на море? Ну ладно всякие люди бывают, богатые, бедные... Удачного отдыха...'
);
End;
End;
End.