Клара - расхитительница варенья

Клара - расхитительница вареньяПредставляю вашему вниманию ремейк игры Николая Жарикова (2006, платформа 6 days) на INSTEAD метапарсере.

В игре использованы иллюстрации Максима Ганенко. За что ему большое человеческое спасибо! Если бы не эти иллюстрации, ремейка бы не было.

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

Игра совсем маленькая, но очень милая. Сложность невысокая, скорее всего вы сможете пройти ее за четверть часа, даже если не играете в парсерные игры.

Надеюсь, вам понравится этот ремейк!
Читать дальше

Динамически генерируемый лабиринт на INSTEAD

Рабочий пример динамически генерируемого лабиринта. В примере можно перемещаться в 6 направлениях, стороны света плюс вверх-вниз. При нажатии на ссылку пути генерируется новая комната с такими же путями, можно вернуться в предыдущую комнату. Она сохраняется. Побочный эффект — чем больше бродишь, тем больше сейв.

Код под спойлером
-- $Name:Нанотест$
-- $Version:0.01$
-- $Name(ru):Нанотест$
instead_version "1.8.0"

require "xact"			-- подключаем модуль xact
require "hideinv"		-- подключаем модуль hideinv
require "para"			-- догадайтесь, что мы подключили в этот раз ;)
require "dash"			-- подключаем dash
require "quotes"		-- подключаем quotes

game.codepage="UTF-8";

game.act = 'Не получается.';
game.inv = 'Хм, странная штука.';
game.use = 'Не сработает.';

global {
x = 0;
y = 0;
z = 0;
roomname = 'room0_0_0';
myrooms = {};
};

function myconstructor()
	local v = {};
	v.nam = roomname;
--в dsc выводится номер текущей комнаты, но также можно генерировать сюда любое описание.
	v.dsc = roomname;
        v.disp = 'Название';
	v.way = {vroom('Север', north), vroom('Восток', east), vroom('Юг', south), vroom('Запад', west), vroom('Вверх', up), vroom('Вниз', down)};
	v.exit = function(s, t)
		if t == north then
			y = y + 1;
			roomname = 'room'..x..'_'..y..'_'..z;
			if myrooms[roomname] then
				p 'Все гут';
			else
				myrooms[roomname] = new('myconstructor()');
			end;
			walk(myrooms[roomname]);
		elseif t == east then
			x = x + 1;
			roomname = 'room'..x..'_'..y..'_'..z;
			if myrooms[roomname] then
				p 'Все гут';
			else
				myrooms[roomname] = new('myconstructor()');
			end;
			walk(myrooms[roomname]);
		elseif t == south then
			y = y - 1;
			roomname = 'room'..x..'_'..y..'_'..z;
			if myrooms[roomname] then
				p 'Все гут';
			else
				myrooms[roomname] = new('myconstructor()');
			end;
			walk(myrooms[roomname]);
		elseif t == west then
			x = x - 1;
			roomname = 'room'..x..'_'..y..'_'..z;
			if myrooms[roomname] then
				p 'Все гут';
			else
				myrooms[roomname] = new('myconstructor()');
			end;
			walk(myrooms[roomname]);
		elseif t == up then
			z = z + 1;
			roomname = 'room'..x..'_'..y..'_'..z;
			if myrooms[roomname] then
				p 'Все гут';
			else
				myrooms[roomname] = new('myconstructor()');
			end;
			walk(myrooms[roomname]);
		elseif t == down then
			z = z - 1;
			roomname = 'room'..x..'_'..y..'_'..z;
			if myrooms[roomname] then
				p 'Все гут';
			else
				myrooms[roomname] = new('myconstructor()');
			end;
			walk(myrooms[roomname]);
		end;
	end;
	return room(v);
end;

---Начало---------------------------------------------------------------------------------------------------------------

main = room {
	forcedsc = true;
	nam = 'Начало';
	enter = function()
		myrooms['room0_0_0'] = new('myconstructor()');
		start = myrooms['room0_0_0'];
		take 'stone';
	end;
--	pic = 'gfx/01.jpg';
	dsc = '';
	way = {vroom('Играть', 'start')};
};

--пачка комнат-заглушек, т.к. vroom надо ссылаться на реальную комнату.

north = room {
	nam = 'Заглушка';
};

east = room {
	nam = 'Заглушка';
};

south = room {
	nam = 'Заглушка';
};

west = room {
	nam = 'Заглушка';
};

up = room {
	nam = 'Заглушка';
};

down = room {
	nam = 'Заглушка';
};


Дальнейшие планы: генерация контента при помощи рандома в enter генерируемой комнаты. Отключение путей при необходимости и прочее. В общем это что-то генерируемого открытого мира без ограничений. Можно написать что-нибудь рогаликопобное. Я пока думаю над стратегией в фентезийном стиле. В общем покажу что-нибудь через полгодика. Может раньше.
Читать дальше

Как выбрать книгу-игру

Если хочется что-нибудь прочитать, но сложно выбрать, можно попробовать воспользоваться этой схемой :)



Все книги или их интерактивные версии легко найти в интернете, но если не получится, можно спросить ссылку в комментариях.
Читать дальше

За Façade: модель диалогов в играх

Это перевод статьи Эмили Шорт от 12 мая 2009 года

В прошлом году Брент Эллисон опубликовал статью о системах построения диалогов на сайте Gamasutra. Чуть позже Джонатан Блоу открыл в своем блоге дискуссию о создании диалогов между персонажами в играх. Затем в феврале Кристиан Мажевски написал о диалогах в Emerald City Confidential, размышляя о трудностях представления казуальным игрокам диалогов со множеством решений.

Эти три статьи — все три интересны — и последующие комментарии навели меня на мысль, что существует довольно мало публичных обсуждений на тему внутренней методологии разработки диалогов между персонажами.

В частности, большинство существующих анализов объединяют в одно пользовательский интерфейс (как представлены пункты диалога? как они появляются на экране? предлагается ли игроку полный текст его реплики или же ее обрезанная версия?) и лежащую в его основе модель (как игра решает, какие реплики будут доступны в следующий момент? как ограничить варианты для игрока или наоборот сделать их доступными? что влияет на то, когда и что NPC [неигровые персонажи] говорят сами по себе?)

Пользовательский интерфейс — наиболее видимая часть из этих двух и, как следствие, более понятая. Легко играть в игру и видеть, как представлены пункты диалога, но намного труднее угадать, что за код скрывается за ними.

Однако лежащая в основе модель значит очень много.
Читать дальше

Мир из слов: интерактивные текстовые приключения

Предлагаю вашему вниманию… нет, не совсем перевод. Это слегка сокращенный пересказ выступления Джона Ингольда “Мир из слов: интерактивные текстовые приключения” на конференции Independent Games Summit. Джон — один из создателей компании inkle, создающей текстовые приключения для мобильных платформ. В журнале IFprint было несколько статей, посвященных играм этой компании.

В своем докладе Джон Ингольд рассказывает о том, чем хорош текст в качестве инструмента, какие проблемы возникают при работе с ним, и как они решали эти проблемы при создании игры Sorcery. Добро пожаловать под кат!

Читать дальше

Интерактивное повествование: Использование разумных систем

Интерактивное повествование – это форма цифрового интерактивного опыта, при которой пользователи создают или влияют на драматическую сюжетную линию посредством своих действий. Целью интерактивной повествовательной системы является погружение пользователя в виртуальный мир так, чтобы он чувствовал себя неотъемлемой частью разворачивающегося сюжета и его действия могли существенно изменить развитие и развязку истории.

http://tinyurl.com/qjqtqcc
Читать дальше

Свободу ифхабу!

  • ifHub
Я хочу, чтобы развитие нашего ресурса было максимально открытым, поэтому я выложил текущее состояние движка на github: https://github.com/gl00my/www.ifhub

Там два коммита. 1 — й — ванильный livestreet, 2-й — текущее состояние этого livestreet, допиленного для ifhub.

Таким образом, теперь если вы хотите помочь технически, вы всегда можете это сделать! Просто шлите свои изменения. А я буду держать git репозиторий в актуальном состоянии. Конфигурация также находится там — вы можете посмотреть все текущие настройки по карме и так далее.

Естественно, паролей и базы там нет. База ифхаба также будет бекапиться (кроме моей машины и машины vvb ) еще и на машину fireton .

Таким образом, ifHub принадлежит нам всем! Сделаем его лучше! :)
Читать дальше

QSP-Compo 2015: Перекрёстки миров.

Встречайте ежегодный qsp-конкурс. :)

Полный простор для фантазии авторов — приветствуются игры в любом сеттинге или даже в смешении сеттингов.

Сроки проведения:
* Конкурсные работы принимаются до 30 апреля 2015 года (включительно).
* Правки к конкурсным работам принимаются так же до 30 апреля 2015 года (включительно).
* Публикация игр – 1-3 мая 2015 года.
(время Московское)

Члены жюри в этом году:
Серый Волк, Byte, Newsash, Nex, Fireton.

Все конкурсные работы присылайте на (ajenta [собака] qsp.su).

Полные правила конкурса доступны здесь — Правила

Призовой фонд пока не утверждён. Ищутся спонсоры!
Если вы настолько добры и хотите оказать нам честь стать спонсором конкурса, пишите мне в личку или же по адресу, обозначенному выше. :)

На конкурс принимаются только игры написанные на платформе qsp. Но, даже если вы никогда на ней не писали, может быть пришло время попробовать? :)

Всем удачи и вдохновения!
Читать дальше

Лифтер 1 (веб версия)

Лифтер -- веб версияУ меня есть несколько любимых игр на INSTEAD, которые я всегда показываю своим друзьям и знакомым, когда хочу познакомить их с ИЛ.

Довольно часто эти люди не играют в компьютерные игры, или очень редко это делают. В таких случаях, установка INSTEAD на компьютер может оказаться настолько сильным препятствием, что в итоге либо я сам ставлю интерпретатор, либо моя затея просто остается неосуществленной…

Возможность запускать INSTEAD игры в веб существовала, но откровенно говоря, никто этим сильно не занимался, видимо в силу особенностей предпочтений сообщества. Так что когда в недавнем времени появился @epoxa, который сделал php/lua вариант движка и стал собственноручно выкладывать некоторые игры в интернет, я воспринял это с энтузиазмом.
Читать дальше

ДримТрим

Поведаю я вам, сообщники, историю славную, что корнями уходит в далекое прошлое аж две тысячи лохматого года. Собрались как то трое небезызвестных ифера — Евг, Аджента и Вета на канале #urq, пофлудили знатно, выпили виртуального кефира, хлопнули, топнули и появился сайт под названием dreamtream.ru, что означало «мечта-на-троих». Сайт сей был создан для того, чтобы в дальнейшем сделать студию и выпускать качественные текстовые и казуальные игры. Отправили они послов к разным иферам, чтобы помогли им эмблему сотворить, без коей, как известно, добро не делается. Откликнулся на их предложение благородный Нафанин, запрягший собственного друга, аки коня, делать табличку для ДримТрима. После этого начали появляться игры:
dreamtream.ru/catalog/plennik-zelenyx-xolmov/
dreamtream.ru/catalog/istoriya-nepravilnoj-princessy/
Все бы было хорошо, но творческие музы унесли сначала Адженту, а потом Евга и Вету. И вроде был похоронен проект на века, но…
… судьба занесла Вету на поприще казуальных игр, она уболтала Темного Волка, чтобы он помог ей воскресить сайт и сделать новый каталог, дабы дальше добро творить и игры писать.
Вот такая история, а вот и сам каталог — dreamtream.ru/catalog/.
Прошу любить и не жаловаться.

ЗЫ: Сейчас студия занята созданием новой игры, но пока это секретная информация.
Читать дальше