std.game: INSTEAD игры

Reply to: VFg6LTpv6LU3HLGOqFk3
From: Andrew Lobanov (tavern,1) 12.02.20 04:03 UTC
To: lisptracker
Subject: Re: Изменения в играх. Плагиат. Живой мир.
lisptracker> Наверное вы правы. Я бы ещё хотел обратить внимание на одно негативное явление, связанное с обновлениями API. Основное обучение всё же происходит при изучении чужого "боевого" кода, а вот в документации и полноте отражения всех приёмов я далеко не уверен. ИМХО вы как автор движка и другие опытные разработчики позволяете себе гораздо больше, чем отражено в документации, иначе многие шедевры (вроде "Карантина") бы вовсе не появились. К примеру документация как бы тяготеет к тому, что мир состоит из по большей части статично сцепленных объектов, особенно локаций (в парсере вообще целая система объектов и атрибутов), но любая мало-мальски сложная игра в первую очередь рушит эту статичность, для её обхода используются разные приёмы, которые скорей всего можно узнать только изучая код опытных разработчиков. Потом есть ещё такой момент, что API часто сверкает каким нибудь синтаксическим сахаром (к примеру система диалогов), но теряет прозрачность и управляемость с точки зрения программирования, для диалогов не совсем очевидно как полностью программно управлять диалогом, а для метапарсера хотелось бы большего контроля над процессом разбора и подсказок. Вы наверняка скажете, что это всё есть, но мне как не очень опытному "инстедеру" это не так очевидно, скорее всего вы даже представить не можете насколько эти детали могут быть не ясны.

Как бы удивительно ни было, но авторы редко используют недокументированные возможности. Изучать же инстед по коду карантина сродни изучения C по коду 70-х годов. В принципе, чему-то научиться можно, но многое нынче можно сделать проще и нагляднее, чем было тогда. А уж про разницу между stead2 и stead3 и вовсе сказать то нечего, кроме того, что она огромна. На stead3, появившемся в 2017-м году, писать гораздо быстрее и нагляднее. Это сродни дзену - код напрямую следует из идеи. Лишних телодвижений минимум. Создание живых объектов и динамических событий также отражено в документации. Про диалоги вообще очень обширный и подробный раздел, описывающий и выполнение кода при активации фраз, и управление фразами и динамический переход между ветками диалога.

Если автор умеет хоть немного программировать на чём-либо, то на инстеде с помощью краткого экскурса в lua и документации движка сможет воплотить любую идею. Это не рокет сайнс. Это просто и весело :)

lisptracker> По части написать свою игру с нуля, возникают такие мысли, что времени мало (учите сказанное выше про освоение новшеств API и всяких приёмов), по крайней мере какой то результат возможно лучше будет даже на базе устаревшего кода, при том что дополнения не относятся к сюжету или чему то что раньше было в этом коде, они как бы ортогональны ему. А какая мотивация лучше, чем возможность показать результат кому то ? Не писать же игру для самого себя, по крайней мере я пока не могу представить ни одной идеи игры, даже с самым продвинутым ИИ, которую бы создал я сам, но смог бы ей увлечься так чтобы не было желания показать кому то ещё, похвастаться в хорошем смысле и т.п. :-)

Желание показать игру похвально и понятно. Только надо учитывать, что у людей должно появиться желание посмотреть игру. Положа руку на печень, отмечу что мне, например, оригинальную игру было бы гораздо интереснее посмотреть :)
[216 / 220]