Есть навязчивая идея попробовать написать свою менюшную платформу. Даже не в целях распространения, а в качестве тренировки в языке.
В начале, как и в большинстве систем, думал написать маленький скриптовой язык, который бы описывл объекты в игре и переводил их в код на, например, C#. Дальше этот код компилируется в сборку C#, затем через стандартные механизмы получаем объекты из сборки и играем
Но сколько проблем с написанием своего языка, синтаксического анализатора к нему... Поэтому появилась идея складывать программный код из блоков, в которые подставляю только введенные значения автора игры. К примеру, у автора есть программа, которая в диалоговом режиме спрашивает у него, какие он хочет создать переменные, локации, тексты и т.д. С ввода этих значений генерируется программный код, к примеру, ввел автор переменную "сила = 10", для нее сгенерилось что-то типа:
class Game(object): self._strong = 10
Ввел автор локацию, получаем:
class Game(object): self._strong = 10 def location_name(self): text = "Описание локации"
Таким образом, генерировать код можно любой сложности, для любого языка, и что самое главное, совершенно не обременяя автора игры (он же автор художественного текста и знать ему языки или миниязыки совершенно ни к чему).
Идея меня очень вдохновила, но почему-то из-за легкости ее реализации, кажется есть где-то подвох
Неактивен
Ну что же, это вполне имеет место быть. Начинать буду с нуля, хорошо продумывая структуру, рисовать схемы, и постепенно начинать кодить. В начале без генератора кода, проделать все действия руками, написать код, сделать сборку, скомпилировать, запустить. Оттестировать эти шаги. Затем приниматься писать генератор. И также его тестировать. Конечно могут и будут возникать ошибки, как без этого.
Есть правда и явный минус у такого подхода - одноплатформенность. Хотя ее можно решить написнием плагинов к генератору, которые будут переводить на нужный язык.
Вобщем, есть над чем подумать, главное во всем этом не забыть про удобство для конечного пользователя
Отредактировано Landing (04.12.2009 13:23)
Неактивен
Nex
Да, да, читал про велосипедистов, про самодельные платформы, смотрел что предлагают "велосипедисты". В целом все сводилось к "с какой технологией работаю или чуть-чуть имею представление, с использованием той писать и буду".
Сам не притендую на звание "велосипедиста", создателя платформы или еще кого. Это только задумка, если пойдет, выпущу на свободу. Не пойдет, мой полученный опыт от меня не убежит.
А что в QSP, на чем она пишется и какого рода предложение? Правда, интересно. Вобщем-то с нее и началось мое знакомство с квестами после книг-игр.
Неактивен
Присоединился бы, но пишу на C# и Python. Под iphone надо мак + objectiveС (вроде так пишется).
Неактивен