Как я делал web-INSTEAD, и что из этого вышло. Часть I

Как я делал web-INSTEAD
   Для тех, кто еще не знает, поясню, что веб-инстед — это паразитический игровой движок, который, собственно, не придумывает ничего нового, а пытается эмулировать INSTEAD, заимствуя из него все хорошее. Чем же тогда он отличается от оригинального инстеда? Разумеется, приставкой веб! Вся затея состоит в том, чтобы сделать инстед-игры доступными в интернете сразу, без скачивания и установки.

   Вообще, веб-инстед родился как побочный продукт проекта "Вокруг веба", о котором планируется отдельный топик. Года два назад я наткнулся в википедии на статью об интерактивной литературе. Как это бывает, ссылка за ссылкой, узнал, что существет несколько платформ для написания текстовых игр. В то время я разрабатывал специализированный PHP-фреймворк для внутренних нужд проекта «Вокруг веба», и с удивлением понял, что некоторые базовые идеи платформы INSTEAD перекликаются с архитектурой этого фреймворка. Думаю даже, что впоследствии INSTEAD во многом повлиял на его развитие.
   Кроме того, мне понравился подход INSTEAD к построению игры, где разработка изначально базируется не на последовательности действий, происходящих с игроком, а на описании некоего мира, в котором игрок может передвигаться потенциально свободно, и менять состояние мира и предметов, его наполняющих, согласно правилам, которые задает автор игры.
   Стечение этих обстоятельств, а также несколько менее значимых причин привели к тому, что как-то незаметно, душными летними вечерами на даче на свет появилась первая версия движка. Она умела проигрывать "Квантового кота". Без звука, без драг-н-дропа, без таймера. Но уже можно было играть. Мне стало интересно. Я запустил еще несколько старых, классических игр, зарегистрировался на форуме INSTEAD, пообщался с автором движка-прародителя и несколькими авторами игр.
   Как-то сам собою проект веб-инстеда начал разрастается и развиваться. Мне пришла в голову мысль попытаться каким-то образом объединить оба проекта, использующих один и тот же фреймворк, и размещенных на одном и том же сервере. Подумалось, что идея "Вокруг веба" чем-то даже близка к текстовым квестам, и в итоге, сейчас интерфейс основного проекта выполнен в виде диалога с неким NPC, виртуальным игровым помощником. (Вероятно, диалоги не лучшего качества — я же не писатель).
   Мысль разместить игры, запущенные на веб-движке, в социальной сети «ВКонтакте» возникла из-за осознания того, что если не обеспечить доступ «свежей крови» из игроков, то играть не будет вообще никто. Поскольку те игроки/авторы из ИЛ-тусовки, кто уже играл в оригинал, вряд ли станут играть в его некое подобие. Получив разрешение авторов адаптированных игр, и, каким-то образом пройдя бюрократические препоны модераторов ВКонтакте, я разместил приложение «Вокруг веба» в их каталоге. Разумеется, я против насилия, поэтому играть можно и без регистрации в этой социальной сети.
   Есть еще один интересный момент, не относящийся напрямую к играм, но тем не менее для меня очень важный. За время работы над движком и в процессе адаптации игр, я виртуально познакомился и общаюсь в сети со многими интересными, неординарными людьми. Любопытно, что география этого общения достаточно обширна — люди из многих городов, причем не только России, но и например, Украины, объединены общими интересами. А так как творческие личности, как правило, не ограничиваются чем-то одним, то общение охватывает множество тем, в том числе не относящихся к интерактивной литературе. Я узнал кучу интересных вещей в диапазоне от фрактальной графики до цен на хлебобулочные изделия в разных городах.
   Ну и, конечно, нельзя обойти стороной тот факт, что сообщество инстед исторически развивалось в среде любителей операционной системы Линукс и по совместительству адептов открытого программного обеспечения :-) Я, как новичок в этой ОС, получил очень своевременную консультацию в технических вопросах (например, благодаря @peter движок переведен на Lua-JIT, что значительно ускорило скорость работы игр в вебе), но самое главное — это психологическая поддержка, и даже просто чьи-то дружеские советы. Могу сказать, что мое отношение к «линуксоидам» претерпело значительное изменение за последние несколько месяцев. Как побочный эффект этого процесса, я переборол врожденную лень, и выложил движок веб-инстед в открытый доступ. Пользуйтесь!
   А что же в итоге из всего этого получилось? Об этом я расскажу в следующей части. Но проще открыть эту ссылку прямо сейчас, и составить свое собственное мнение ;)

Что из этого вышло
Часть II
  
  
   Ну и картинок тут просили:

6 комментариев

epoxa
Вопросы приветствуются. Если не отвечу сразу, постараюсь затронуть в следующей части статьи.
Peter
Требую картинок! И, кстати, вероятно эта статья может быть помещена в «Статьи».
major-kolz
Вдохновился, запустил второго «Лифтера». Выглядит симпатично)
Правда поймал-вот такую штуку с шириной Piccy.info - Free Image Hosting

P.S. Адаптировать какую игру было особенно интересно?
P.P.S. Что способствовало переходу на Линукс?
epoxa
Ошибка — у меня вылазило, но не так. Спасибо за фидбэк, буду разбираться.
Из игр, пожалуй, «зеркало» было очень интересно. Вообще много, особенно первые игры. Не могу назвать какую-то одну. Вся адаптация в принципе заключается в написании CSS-правил, обычно больше ничего делать не требуется.
По поводу линукса — было много мелких причин, но самой толстой последней каплей было то, что собирать PHP под виндовс с поддержкой Lua — это чересчур. А на линуксе я теперь имею возможность локальной отладки игр. (Сервер работает на линуксе)
epoxa
Сжал картинку немного по горизонтали, теперь она входит. Чтобы исправилось, надо обновить закэшированную картинку в браузере (Ctrl+F5)
spline
Хорошо написал. Интересно читать.