subject: Задержка перед переходом в новую комнату и другие мои вопросы
12.02.2019 16:40
RSS-bot (tavern,2)
artomberus: Привет всем снова! Есть скрытый переход. Когда воздействую ключом на дверь - включаю его, активируется звук ключа в замке. В списке переходов появляется "В дом". Есть звук старой, скрипящей, открывающейся двери. Когда я нажимаю "В дом" - меня переносит в хижину. Мне нужно реализовать задержку - пока звучит скрип двери - я нахожусь на текущем экране. Как только звук заканчивается - происходит переход. Вопрос: куда вставлять задержку, чтобы получилось такое поведение? В список переходов или куда-то еще? Задержку надо выставлять равной длительности звука? Может, есть какой-то иной способ это сделать? Подскажите, пожалуйста, правильное направление мысли :) way = {path {'Развилка', 'start'}, path {'#door','В дом','inhouse'}:disable() }; room { nam = 'inhouse'; title = 'В хижине'; pic = 'gfx/6.png'; enter = function() snd.music 'mus/HouseOfEvil.ogg' snd.play('snd/dooropen.wav', 1) end; onexit = function(a) snd.stop_music(); end; decor = [[Несмотря на запущенность строения, внутри эта хижина выглядит лучше, чем снаружи. Сквозь окно проникает достаточно света, чтобы осветить единственную комнату.]]; obj = {'lopata', 'komod', 'vedro', 'udochka'}; way = {path {'Наружу', 'leftway'} }; } Или это прописывается внутри комнаты? Сейчас звук играет уже по заходу в комнату. Это меня не устраивает. Куда вставлять timer:set() ? Вот так onexit = function(a) timer:set(5000) snd.play('snd/dooropen.wav', 1); end; Не работает. Для выхода из сцены перед домом, но даже если бы работало - как проверить, куда мы направляемся? Если выхожу из этой сцены не в дом - то звук не нужен. Значит, надо определить направление движения? Каким способом? У меня есть отступы, а форум их убирает... Даже если делать пробелами. Здесь есть тег code или подобный?)
Ссылка: http://instead-games.ru/forum/index.php?p=/discussion/671
--------------------------------------------------------------------------------
subject: Задержка перед переходом в новую комнату и другие мои вопросы
12.02.2019 17:20
RSS-bot (tavern,2)
artomberus: @peter, благодарю)
Ссылка: http://instead-games.ru/forum/index.php?p=/discussion/comment/12797/#…
--------------------------------------------------------------------------------
subject: Задержка перед переходом в новую комнату и другие мои вопросы
12.02.2019 17:20
RSS-bot (tavern,2)
peter: Может помочь: https://github.com/instead-hub/stead3-modules/blob/master/cutscene/cu… Есть тег [pause число] Или timer:set() а в timer обработчике enable пути...
Ссылка: http://instead-games.ru/forum/index.php?p=/discussion/comment/12796/#…
--------------------------------------------------------------------------------
subject: Задержка перед переходом в новую комнату и другие мои вопросы
13.02.2019 15:00
RSS-bot (tavern,2)
artomberus: Пусть эта тема будет для всех моих сообщений, касающихся разработки игры. Чтобы не распыляться по форуму. Сначала я думал сделать простенькую демку. Но чем дальше - тем больше мне не хочется растратить свои наработки впустую. Что я имею в виду? Вот для игры, в общем-то, надо: Манипуляции с предметами. Воздействие предмета на предмет, предмета на элемент сцены. Создавать комнаты и задавать им атрибуты. Создавать объекты и прописывать их в комнатах, задавать им свойства. Оформить игру в едином стиле, соответствующем содержанию, для создания атмосферы. Диалоги. Изменение иллюстраций, когда игрок сделал что-то важное. Озвучка событий. Оживление игры: динамическое изменение описаний, если предмета уже нет на месте, где взял - так и пишем. Предусмотреть самые очевидные реакции игрока, добавить юмор, если он пытается сочетать что-то несочетаемое. И в общем-то, всему этому я уже научился, вот прямо в самом начале работы над игрой! Кроме изменения иллюстраций и диалогов, они еще впереди, да. Так вот - с чего бы писать простую игру, если можно написать полноценную. Идея леса как места действия хороша - за каждым новым поворотом можно добавить что-то новое, и так бесконечно, пока не решишь закончить историю. Идея истории тоже пока очень простая - ты лег спать дома, а проснулся в лесу, и вот-вот всё грозит тебе неминуемой гибелью. Предысторию надо доработать, конечно. А пока у меня есть почти готовая форма, look and feel, теперь надо вдохнуть в нее содержание. Мне сейчас почему-то близка тема сказок. Сестрица Алёнушка и братец Иванушка, Сказка о рыбаке и рыбке. Вот всё это вдохновляет на какое-то волшебство внутри леса, по законам этих и других сказок. Но и это пока лишь интуитивный такой поиск, и непонятно, пойду ли в этом направлении. Но в игре определенно должен быть моральный выбор, должно быть приключение, должен быть юмор. Эти три компонента и делают хорошую игру, как я это ощущаю. Все-таки, создание содержания игры - это нечто интуитивное, что трудно поддается планированию. Да, когда идея уже кристализовалась - берешь и кодируешь ее в текст. Но для рождения самой идеи нужно вдохновение. А пока мой ленивый мозг действительно заморачивается на технических фичах, потому, что это оказалось проще создания сюжета, хотя я-то думал, что будет наоборот!) Написал индикатор прогресса игры. Тоже все пришло от технической возможности - есть статус, который можно сделать в инвентаре. И туда писать любые переменные. Так, как у меня больше квест, чем что-то иное, то никаких рпг-шных переменных нет и быть не может. Но вот индикатор прогресса - хорошая идея. Игрок не будет разочарован, если прошел игру слишком быстро или наоборот - играет и конца края не видно. Индикатор прямо показывает, сколько процентов игры прошел. И реализовал-то как интересно: Есть две переменные, pro и max. Первая - изначально равна 0, и после каждого важного изменения в игре добавляется единичка. И сохраняется все это само, благодаря инстеду. А max - это количество таких единичек, которое соответствует количеству предусмотренных действий. И, как итог, такой код: global { pro = 0; max = 7; } stat { nam = 'статус'; disp = function (s) pn (fmt.c(' ')) pn (fmt.c('Прогресс: '), string.sub(((pro/max)*100),1,4), (' %')) pn (fmt.c(' ^')) end }; Подложку под инвентарь хочу поменять - пусть это будет свиток длинный, который развернут, а сверху и снизу - скручен. Так сделано во многих классических играх, и мне очень нравится такое оформление. А в остальном, в принципе, с оформлением уже все хорошо и надо думать именно о сюжете. От того, насколько успешно у меня это будет получаться - зависит то, как скоро допишу игру. В остальных аспектах - я уверен в своих силах. Спасибо за внимание :)
Ссылка: http://instead-games.ru/forum/index.php?p=/discussion/comment/12798/#…
--------------------------------------------------------------------------------
subject: Задержка перед переходом в новую комнату и другие мои вопросы
13.02.2019 16:00
RSS-bot (tavern,2)
BWR_N6: @artomberus, а вам картинки нарисовать или таков стиль вашего квеста?
Ссылка: http://instead-games.ru/forum/index.php?p=/discussion/comment/12799/#…
--------------------------------------------------------------------------------
subject: Задержка перед переходом в новую комнату и другие мои вопросы
13.02.2019 16:10
RSS-bot (tavern,2)
artomberus: @BWR_N6, пока что такой стиль. Я, конечно, не художник, и понимаю это прекрасно. Но с другой стороны - подобные наивные рисунки вполне подходят, как мне кажется. Сначала я рисовал карандашом, но тогда получалось ну вообще не смотрибельно. А это рисую черной ручкой в сочетании с линейкой, на половине листа A4, потом это все сканирую и обрабатываю. Мне один человек обещал нарисовать несколько сцен, в его видении. Если это будет круто и мне понравится - возможно, заменю свои рисунки другими. Но за предложение спасибо :) Стиль, как его вижу - газетный. Немного карикатурный, немного утрированный. Ну и вдохновили иллюстрации к старым книгам. Ну и работы Петра :) А совсем плохо смотрится? Со стороны. Я насчет картинок пока в раздумии. Значки инвентаря пока тоже не финальные. Возможно, что-то сделаю получше, но сам подход - упрощенный - мне близок. И да - лучше на "ты". :)
Ссылка: http://instead-games.ru/forum/index.php?p=/discussion/comment/12800/#…
--------------------------------------------------------------------------------
subject: Задержка перед переходом в новую комнату и другие мои вопросы
13.02.2019 16:30
RSS-bot (tavern,2)
artomberus: @BWR_N6, оказывается, чтобы нарисовать свиток, надо всего лишь зайти в Word =) Осталось лишь подшаманить с градиентами, но у чисто белого фона свои плюсы - не нужна прозрачность для предметов - тогда можно рисовать их по-человечески, сглаживать и прочее, что не сделать никак в таком разрешении, как сейчас, если использовать прозрачность. А может, я просто не умею. Но пока вот как-то так.
Ссылка: http://instead-games.ru/forum/index.php?p=/discussion/comment/12801/#…
--------------------------------------------------------------------------------
subject: Задержка перед переходом в новую комнату и другие мои вопросы
13.02.2019 16:40
RSS-bot (tavern,2)
artomberus: @peter, спасибо :smile: Мне важно, как это видится со стороны.
Ссылка: http://instead-games.ru/forum/index.php?p=/discussion/comment/12803/#…
--------------------------------------------------------------------------------
subject: Задержка перед переходом в новую комнату и другие мои вопросы
13.02.2019 16:40
RSS-bot (tavern,2)
peter: Картинки прекрасны.
Ссылка: http://instead-games.ru/forum/index.php?p=/discussion/comment/12802/#…
--------------------------------------------------------------------------------
subject: Задержка перед переходом в новую комнату и другие мои вопросы
13.02.2019 19:30
RSS-bot (tavern,2)
artomberus: Градиенты творят чудеса и превращают меня в дизайнера. Мухаха.
Ссылка: http://instead-games.ru/forum/index.php?p=/discussion/comment/12804/#…
--------------------------------------------------------------------------------
subject: Задержка перед переходом в новую комнату и другие мои вопросы
13.02.2019 21:00
RSS-bot (tavern,2)
peter: Да, минимализм рулит :)
Ссылка: http://instead-games.ru/forum/index.php?p=/discussion/comment/12805/#…
--------------------------------------------------------------------------------
subject: Задержка перед переходом в новую комнату и другие мои вопросы
13.02.2019 23:40
RSS-bot (tavern,2)
BWR_N6: Такое тоже прикольно выглядит =)
Ссылка: http://instead-games.ru/forum/index.php?p=/discussion/comment/12806/#…
--------------------------------------------------------------------------------
subject: Задержка перед переходом в новую комнату и другие мои вопросы
14.02.2019 01:50
RSS-bot (tavern,2)
artomberus: @BWR_N6, значит, продолжаю :)
Ссылка: http://instead-games.ru/forum/index.php?p=/discussion/comment/12807/#…
--------------------------------------------------------------------------------
subject: Задержка перед переходом в новую комнату и другие мои вопросы
14.02.2019 22:00
RSS-bot (tavern,2)
artomberus: Этот код взорвал мой мозг. Но я додумалсо. Сам))) Без подсказок. Долго думал. Что за чем расположить, и какова правильная логика... Все время выдавало не то, что надо. Но справился, и это круто... для меня. Да, такие вещи делаются через спрайты, но для 3 предметов в комнате и для первой игры - сойдет и так, всего 8 изображений, весит считанные килобайты. Работает же. room { nam = 'inhouse'; title = 'В хижине'; pic = function(s) if havelopata and havevedro and haveudochka then return 'gfx/inhouse/7.png' elseif havelopata and havevedro and not haveudochka then return 'gfx/inhouse/11.png' elseif havelopata and not havevedro and not haveudochka then return 'gfx/inhouse/8.png' elseif havevedro and haveudochka and not havelopata then return 'gfx/inhouse/10.png' elseif havevedro and not haveudochka and not havelopata then return 'gfx/inhouse/9.png' elseif haveudochka and havelopata and not havevedro then return 'gfx/inhouse/14.png' elseif haveudochka and not havevedro and not havelopata then return 'gfx/inhouse/13.png' else return 'gfx/inhouse/6.png'; end end; Ура. :smile:
Ссылка: http://instead-games.ru/forum/index.php?p=/discussion/comment/12808/#…
--------------------------------------------------------------------------------
subject: Задержка перед переходом в новую комнату и другие мои вопросы
14.02.2019 22:30
RSS-bot (tavern,2)
Irremann: Не надо спрайтов, можно составную картинку просто.
Ссылка: http://instead-games.ru/forum/index.php?p=/discussion/comment/12809/#…
--------------------------------------------------------------------------------
subject: Задержка перед переходом в новую комнату и другие мои вопросы
14.02.2019 22:50
RSS-bot (tavern,2)
artomberus: @Irremann , почему я не ищу легких путей? ) Ввел в поиск в руководстве "составная", и оно нашло нужный текст. А так не видел... :)
Ссылка: http://instead-games.ru/forum/index.php?p=/discussion/comment/12810/#…
--------------------------------------------------------------------------------
subject: Задержка перед переходом в новую комнату и другие мои вопросы
15.02.2019 13:50
RSS-bot (tavern,2)
artomberus: Все меньше интерпретатор выдает "ты что-то забыл...", все больше код работает сразу с первого написания. Это вдохновляет. Значит, понимаю, что происходит, значит, не бездумно подгоняю примеры в карго-код, как было в самом начале. Почти 450 строк! Моя олимпиадная программа была ровно в 2 раза меньше, а казалась мне огромной... Но действительно - финал будет, когда напишу где-то около 3000 строк, а скорее всего, больше. Появилась общая идея для сюжета. Эксплуатация сказочных сюжетов, мифов, правил. Наш герой должен пройти все испытания, чтобы вернуться домой, а по дороге - спасти заодно целый мир, не меньше. Чем более узнаваемы будут образы - тем лучше, будет понятна логика происходящего - для тех, кто знаком со сказками, которые им читали (или они читали) в детстве. Но это пока очень общая идея, конкретика появится в процессе реализации, и пока над ней-то и думаю. У меня складывается такой подход к разработке : каждую сцену прорабатывать детально - предметы, взаимодействия, реакции и комментарии - и только тогда идти дальше. Возможно, более правильный другой подход - сначала делать общую сюжетную канву, а потом ее детализировать и усложнять. Но это я уже буду делать во второй своей игре, если она будет. А здесь все же вот так - прямо на месте все придумывается, главное, чтобы подчинялось общей идее игры, ее цели. Звуки в игре распространяются по лицензии для "некоммерческого использования". Сначала я думал их поменять на звуки с более свободной лицензией, чтобы когда-то выложить игру в стим... Но сейчас думаю - не стоит так спешить с первой игрой. Большие амбиции... А ведь только учусь. Если и буду делать что-то бОльшее - то уже во второй своей игре, и по другим правилам. А эта игра - из любви к искусству, все же, и хочется вложить в нее как можно больше себя. Ну и вернуться к программированию-таки. Код мой не так уж и плохой, если сравнивать с моим же, но 10 лет назад. Там я вообще делал запутанные переходы с кучей goto. Это уже потом залез в интернет и прочитал, что так делать нельзя ни в коем случае...) А когда учился - делал ошибки. Так и здесь - не все так хорошо, как хотелось бы, но в принципе неплохо, раз работает и выдает ожидаемый результат. Но учиться - трудно. В школе это происходило легко, а сейчас почему-то нет... Рассеянность, постоянно не замечаю чего-то важного, что надо учесть, чтобы все работало правильно. У меня мозг работает художественным образом, но применяю я это к строгой логике кода, а так обычно не делают. Пытаясь охватить картину в целом, вместо разбора частностей. Как и языки - учу через примеры, через практику. Отвлеченно, формально-логично - оно не получается. Выходит - сначала стулья - потом деньги...))) Начал комментировать код. Самые основные моменты, которые могут быть непонятны потом. Сделал кнопку меню. Сначала это должен был быть свиток, который появляется в углу игры, но опросив близких, да и подумав логически, пришел к выводу, что свиток никоим образом не намекает на меню и лишь путает игрока - можно подумать, что это лишь элемент оформления. Поэтому поступил проще. Хотел сделать шрифт, как в старых книгах. Подбирал разные - ну есть хорошие шрифты, только закономерность всего одна - чем он красивше, тем хуже читается. А мучить глаза игрока ну вообще никак не хочется. Поэтому пришлось признать, что лучше шрифта для инстеда, чем стандартный - нет. Петр хорошо подобрал его, удачно. И курсив человеческий, расстояние между буквами ровное. Очень хороший шрифт, его и оставил. В инвентаре и в меню шрифт таки изменил, причем в меню он вычурный такой, но это же меню. Читается и ладно. Зато красиво. У игры получилась своя, неплохо проработанная тема. Даже слишком много этому уделил внимания - потому, что с фотошопом дружу. Хочется творить, потому, что творчество дает состояние потока, и тогда не до депрессий и неврозов. Только так можно преодолеть внутреннее чувство упадка. Наверное, для опытных программистов это все игры в песочнице, для меня же это довольно большая нагрузка на мозг, но я хочу этого, чтобы вернуться в прежнее русло. А сейчас пора пойти прогуляться в лес, впервые с начала зимы. Погода теплая, к счастью, здесь, снега почти нет... Возможно, там я и вспомню сюжеты, которые можно применить в игре, творчески переработав их, связав воедино. Язык мой странный, вычурный, смесь интернет-сленга и языка топорных переводов зарубежной фантастики... Но я ведь никогда не проходил русский язык в школе. Все знания - благодаря книгам, которые читал, и общению в интернете. То самое интуитивное изучение, чувство языка. Но оно может сбоить, поэтому перед финалом - буду делать вычитку и проверять все тексты в игре на ошибки, в том числе с помощью интернет-сервисов. А вообще вот как я могу :) obj { nam = 'lake'; dsc = [[Ты видишь {lake|озеро}, которое обросло камышом.]]; act = function(s) p "От озера веет чем-то таинственным. Водная гладь манит тебя... А что, если разгадка твоего появления здесь - как-то связана с ним?" end; used = function (s, w) if (w^'udochka' or w^'udsobr') and firsttime then p [[Ты помыл в озере удочку от пыли. Держать ее в руках стало приятнее.]] firsttime = false snd.play('snd/water_lake_udochka.wav', 1) return elseif (w^'udochka' or w^'udsobr') and secondtime then p [[Ты второй раз окунул удочку в озеро. Она чиста до блеска.]] secondtime = false snd.play('snd/water_lake_udochka.wav', 1) return elseif (w^'udochka' or w^'udsobr') and thirdtime then p [[Ты третий раз намочил удочку. Тебе что, заняться нечем?!]] thirdtime = false snd.play('snd/water_lake_udochka.wav', 1) return elseif w^'udochka' or w^'udsobr' then p [[Ты уже помыл удочку много раз. Сделай что-нибудь другое.]] return elseif w^'vedro' then p [[Аккуратно нагнувшись, чтобы не упасть, ты набрал в ведро воды из озера.]] snd.play('snd/awaterlap.wav', 1) wr = wr+1; take ('vedrofull') remove ('vedro') return end return false; end } Спасибо за внимание :smile:
Ссылка: http://instead-games.ru/forum/index.php?p=/discussion/comment/12811/#…
--------------------------------------------------------------------------------
subject: Задержка перед переходом в новую комнату и другие мои вопросы
15.02.2019 14:20
RSS-bot (tavern,2)
peter: Очень вдохновляет. :) Пиши, будем ждать. Надеюсь, войдёшь во вкус и эта игра не будет единственной от тебя.
Ссылка: http://instead-games.ru/forum/index.php?p=/discussion/comment/12812/#…
--------------------------------------------------------------------------------
subject: Задержка перед переходом в новую комнату и другие мои вопросы
15.02.2019 18:00
RSS-bot (tavern,2)
artomberus: @peter, Спасибо)
Ссылка: http://instead-games.ru/forum/index.php?p=/discussion/comment/12813/#…
--------------------------------------------------------------------------------
subject: Задержка перед переходом в новую комнату и другие мои вопросы
16.02.2019 10:20
RSS-bot (tavern,2)
spline: @artomberus тексты и скриншоты воодушевляют. Жду игру снетерпением. Может переименовать темы в что-нибудь типа "Вопросы artomberus"?
Ссылка: http://instead-games.ru/forum/index.php?p=/discussion/comment/12814/#…
--------------------------------------------------------------------------------
subject: Задержка перед переходом в новую комнату и другие мои вопросы
16.02.2019 11:50
RSS-bot (tavern,2)
artomberus: @spline, да, так было бы хорошо) Я сразу не подумал так сделать. Переименуй :) Спасибо) Каждый день пишу код, пока что все становится только понятнее, но вопросы, уверен, еще будут.
Ссылка: http://instead-games.ru/forum/index.php?p=/discussion/comment/12815/#…
--------------------------------------------------------------------------------