система квестов
|
|
ant0N | Дата: Воскресенье, 05 Августа 2012, 11:59 | Сообщение # 1 |
постоянный участник
Сейчас нет на сайте
| Доброго времени суток! Делаю одну игру (3д игра), вообщем не знаю как правильно сделать различные квесты в игре... Я конечно могу все сплошным кодом написать, но это будет говно-код чистой воды. Расскажите кто как делал. Спасибо!
Blender 3D, Godot Engine, LUA
|
|
| |
FirestorM | Дата: Воскресенье, 05 Августа 2012, 12:00 | Сообщение # 2 |
Блэк-программист
Сейчас нет на сайте
| ant0N, я бы дал квестам ID и вытаскивал бы их из массива по ID.
Все твои игры говно, ты ничего не умеешь и тебе незачем жить, пока ты не доказал обратного.
|
|
| |
KVinS | Дата: Воскресенье, 05 Августа 2012, 17:04 | Сообщение # 3 |
постоянный участник
Сейчас нет на сайте
| А как хранить сами квесты? Псевдо язык придумать?
Игра про лесных котов
|
|
| |
ant0N | Дата: Воскресенье, 05 Августа 2012, 18:33 | Сообщение # 4 |
постоянный участник
Сейчас нет на сайте
| еще есть идеи?
Blender 3D, Godot Engine, LUA
|
|
| |
FirestorM | Дата: Воскресенье, 05 Августа 2012, 18:36 | Сообщение # 5 |
Блэк-программист
Сейчас нет на сайте
| Quote (KVinS) А как хранить сами квесты? Псевдо язык придумать? А зачем псевдоязык? Взял квест - quest.setStage(0), например. Закончил - quest.setStage(1). Ну или как-нибудь похоже.
Все твои игры говно, ты ничего не умеешь и тебе незачем жить, пока ты не доказал обратного.
|
|
| |
KVinS | Дата: Воскресенье, 05 Августа 2012, 19:43 | Сообщение # 6 |
постоянный участник
Сейчас нет на сайте
| А сам квест это что? Ведь в рамках квеста этапы, а в рамках них цели
Игра про лесных котов
|
|
| |
GECK | Дата: Воскресенье, 05 Августа 2012, 20:17 | Сообщение # 7 |
заслуженный участник
Сейчас нет на сайте
| Тут я вижу два основных варианта: когда количество разновидностей квестов фиксировано, либо когда каждый квест уникален.
В первом случае квест это объект, который хранит в себе тип задания(принести предмет А персонажу Б, прийти в локацию Ц, собрать N предметов и т.д.), все необходимые параметры(какой конкретно предмет нести, кто конкретно его ждет и т.д.) и состояние(неактивен, взят, завершен). Нужно просто реализовать механику для каждого типа задания, а потом подставлять туда значения из конкретного квеста.
Во втором случае нужно прикручивать систему скриптов. С одной стороны, это дает большую свободу для творчества, но боле сложно в реализации.
Если в твоей игре сильная сюжетная составляющая, то можно основную линию захардкодить, а побочные квесты сделать выбором из фиксированного числа видов. В конечном счете игрокам наплевать на быдлокод
Всё гениальное просто. И хреново работает.
|
|
| |
ant0N | Дата: Воскресенье, 05 Августа 2012, 20:28 | Сообщение # 8 |
постоянный участник
Сейчас нет на сайте
| я хочу сделать так, чтобы можно было в любое время легко добавить новый квест. Квесты будут разнообразные, упор делается на сюжет... Спасибо за ответы!
Blender 3D, Godot Engine, LUA
|
|
| |
FirestorM | Дата: Воскресенье, 05 Августа 2012, 20:30 | Сообщение # 9 |
Блэк-программист
Сейчас нет на сайте
| ant0N, напиши редактор квестов. Можно даже написать формат файла для квеста и хранить каждый в отдельном файле.
Все твои игры говно, ты ничего не умеешь и тебе незачем жить, пока ты не доказал обратного.
|
|
| |
ant0N | Дата: Воскресенье, 05 Августа 2012, 20:35 | Сообщение # 10 |
постоянный участник
Сейчас нет на сайте
| был бы у меня хоть какой-то опыт в этом, я бы написал :).... Пока я не знаю как это реализовать
Blender 3D, Godot Engine, LUA
|
|
| |