RSS
Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 ... 70
[>] Re: ## Солюшены ##
std.game
Ромеро(syscall,11) — Peter
2017-04-16 08:06:02


про особняк:
> spoiler!
0YfQuNGC0LDRjjog0JjQtNC40YLQtSDQuiDRjtC20L3QvtC5INGB0YLQvtGA0L7QvdC1INC4INC4
0YHQv9C+0LvRjNC30YPQudGC0LUg0LHQtdC90LfQvtC/0LjQu9GDINC90LAg0LTQstC10YDRjCDQ
vNCw0YjQuNC90YssINGH0YLQvtCx0Ysg0YDQsNC30LHQuNGC0Ywg0YHRgtC10LrQu9C+LiDQl9Cw
0LHQuNGA0LDQudGC0LXRgdGMINCyINC80LDRiNC40L3RgyDQuCDQsdC10YDQuNGC0LUg0LjQtyDQ
sdCw0YDQtNCw0YfQutCwINC30LDQttC40LPQsNC70LrRgy4gCgrRgNCw0LfQsdC40LLQsNGOINGB
0YLQtdC60LvQvi4uLi4g0LrQsNC6INC30LDQsdGA0LDRgtGM0YHRjyDQsiDQvNCw0YjQuNC90YM/
Pz8g0LLRgdGRINC+0LHQvdCw0LbQuNC80LDQuw==

[>] Re: Вопросы генерации сюжета машиной
std.tech
XSet(syscall,18) — Peter
2017-05-10 20:57:30


Спасибо. Вообще если говорить о генерации сюжетов прямо с нуля, то на ум в первую очередь лезет Пропп с "Морфологией волшебной сказки", вот уж где по полочкам всё размазано.

Я наконец добрался до последних версий своего кода системы вывода и планировщика на старом компе, вроде выглядит неплохо, тут же куча написанных мной же исследовательских текстов по аспектам генерирования сюжетов. Это я написал когда меня накрыло в прошлый раз. Выглядит неплохо, надо интегрировать в Instead, а то я писал под внешнюю Lua IDE. По крайней мере целеориентированная парадигма ИИ с операторами и эффектами GOAP (применяется в когнитивных архитектурах Act-R, SOAR) понятно как работает и она концептуально проста, к тому же совместима со всеми подходами к логическому выводу, хотя как такового вывода не требует.

Задаём операторы (действия) которые создают некий эффект на состояние мира, например если персонаж поест, то он станет сытым, его вес увеличится и т.д., или если дверь закрыта и есть ключ то можно выполнить "открыть". Если дверь открыта, то можно пройти в локацию за ней. Таким образом попасть в локацию за дверью можно только найдя ключ. Планировщик может построить цепочку действий с минимальной стоимостью для достижения цели или провести верификацию какого то утверждения, таким образом для обычных игр Instead мы могли бы проводить верификацию проходимости ещё до запуска игры, а идеале этот же движок и должен реализовывать проверки,а не ручной код. Производительность труда для создания обычных игр должна существенно повыситься, т.к. это даже не конечный автомат, не система вывода вроде Пролога или CLIPS, а следующий уровень - планировщик, который позволяет связывать довольно общие определения, паршивенькая но модель левого полушария мозга :-)

[>] Re: Вопросы генерации сюжета машиной
std.tech
XSet(syscall,18) — Peter
2017-05-10 21:03:36


Кстати вот ещё практический подход, офигенская книга от создателя IBM Watson, я даже нашёл ранние версии кода:
Daydreaming in Humans and Machines: A Computer Model of the Stream of Thought

Попытка научить компьютер фантазировать и порождать сюжеты.

[>] Re: Вопросы генерации сюжета машиной
std.tech
XSet(syscall,18) — Peter
2017-05-10 21:07:25


Если кому интересно:
DAYDREAMER is a cognitive architecture that models the human stream of thought and its triggering and direction by emotions, as in human daydreaming. DAYDREAMER includes: daydreaming goals: strategies for what to think about; emotional control of thought: triggering and direction of processing by emotions; hierarchical planning: achieving a goal by breaking it down into subgoals; analogical planning (chunking): storing successful plans and adapting them to future problems; episode indexing and retrieval: mechanisms for indexing and retrieval of cases; serendipity detection and application: a mechanism for recognizing and exploiting accidental relationships among problems; and action mutation: a strategy for generating new possibilities when the system is stuck. DAYDREAMER is implemented as 12,000 lines of Lisp code.

Автор: крутой перец - Erik T. Mueller - на его логическом движке пашет IBM Watson. Судя по всему при должном масштабе этот подход работает.

[>] Re: Вопросы генерации сюжета машиной
std.tech
Peter(syscall,1) — XSet
2017-05-10 22:54:21


А ссылку на источник можно? На этот дэйдример.

[>] Re: Вопросы генерации сюжета машиной
std.tech
XSet(syscall,18) — kerber
2017-05-11 08:10:22


Да. Но хреновина не простая и заточена под странные вещи, поэтому напрямую использовать нельзя, но ознакомиться с подходом ИМХО полезно.

[>] Re: Вопросы генерации сюжета машиной
std.tech
Antokolos(syscall,12) — All
2017-05-11 13:12:08


К вопросу о машинном творчестве, кстати. Были статьи про написание музыки компьютером. А ещё нейросеть имитирует стиль художников.
Там тоже есть функция красоты, в музыке гармонии, для картин примеры работ. Хотя все согласны, что что-то тут всё равно не так :)
https://geektimes.ru/post/272430/
https://habrahabr.ru/post/185154/

[>] Re: Вопросы генерации сюжета машиной
std.tech
Peter(syscall,1) — Antokolos
2017-05-11 13:46:26


Про каракули в произведение -- все-таки тут человек участвует. :)
А музыка звучит просто жутко. Слепое мертвое чудовище (с) создает эту музыку, бррр.... Но интересно, конечно, как эксперимент.

[>] Re: Возврат из комнаты в ту, из которой мы попадаем при помощи way
std.prog
Peter(syscall,1) — Wol4ik
2017-07-22 23:29:24


Вот законченный пример (main3.lua). Он работает. :) Просто скопируй все в main3.lua и запусти. Если есть вопросы, оформляй в виде примеров - я исправлю.
xact.walkout = walkout -- сделали свою xact функцию walkout

room {
	nam = 'main';
        dsc = [[Я тут стою.]];
	way = { 'pribor' };
}

room {
	nam = 'pribor';
	dsc = '10:20';
	decor = [[{@ walkout|назад}]];
}

[>] Re: Возврат из комнаты в ту, из которой мы попадаем при помощи way
std.prog
Wol4ik(syscall,22) — Peter
2017-07-23 08:13:29


Спасибо, всё заработало!

[>] Важный вопрос
std.prog
Wol4ik(syscall,22) — All
2017-07-25 16:40:35


Пётр, к тебе вопрос. Он может показаться банальным и даже странным. Мне это важно для продумывания дизайна игры и игровой механики. Пытаюсь не выходить из границ целей создания движка Instead (я читал манифест), с другой стороны мне важно как это будет выглядеть для игрока, ну и себе границы задать. Вопрос вот в чем. Какую игру (игры) на Instead (игры не твоего пера) ты считаешь, что они (она) больше всего и полнее реализуют заложенные тобой в движок идеи? Независимо от того, нравится ли тебе сама игра и сюжет или нет. Ну, есть такие, чтобы ты сказал не просто "качественная игра", а типа того, что "да, вот для таких игр я и создавал Instead, и хотелось бы таких игр видеть больше"?

[>] Re: Важный вопрос
std.prog
Peter(syscall,1) — Wol4ik
2017-07-25 16:55:05


Я могу назвать только свои любимые игры. Но они совсем разные и по механике, и по сюжету.
Я вообще, не могу сказать что мне так уж важна форма. Но я не люблю обычно COYA игры. А так, вот список игр, которые я так или иначе помню.

- Лифтер 1 и 2;
- Лидия, Переход;
- Материк (добротно сделано, но сюжет не пошел. игра в steam);
- Инстедоз 3;
- Инстедоз 5;
- Кайлет;
- Славный город Лудд (но очень маленькая);
- Зараженные (как пример просто добротной игры, хотя сюжет не особо близкий);
- Неизбежные вещи (как пример интересной находки в геймплее);
- Новогодняя сказка (не знаю почему, но нравится!, хоть короткая);

[>] Re: Важный вопрос
std.prog
Peter(syscall,1) — Wol4ik
2017-07-25 17:08:53


> Пытаюсь не выходить из границ целей создания движка Instead (я читал манифест), с другой стороны мне важно как это будет выглядеть для игрока, ну и себе границы задать.

Суть манифеста не в том. Если ты чувствуешь в себе силы -- ломай границы, но только тогда неси сам ответственность за это. Если ты перерос ограничения -- это нормально. Но чаще, это не так. :)
Есть много примеров, когда люди делали что-то совсем новое, и это было круто! Инстед для экспериментов. Но:

1) если ты вышел за рамки документации -- ты уже НЕ новичок. Начиная с этого момента: no warranty, no support.

2) не жди, что твоя замечательная идея автоматически понравится всем, тебе помогут только те, кому это интересно.

3) очень часто, люди ломают не потому, что переросли ограничения -- а просто не разобрались с текущим положением вещей. Грубо говоря, в 90% случаях человек делает COYA просто потому, что он ничего больше не видел (не хочет видеть) и потенциал инстеда оказывается невостребованным.

А так, полно примеров. когда люди экспериментировали, и получилось интересно.
МП, прокси-меню, спрайты и так далее - все это результат экспериментов.

[>] Re: Важный вопрос
std.prog
Peter(syscall,1) — Peter
2017-07-25 17:14:23


Короче мой совет, напиши сначала несложную игру, освойся с инструментом. Почувствуй его. Потом все будет. ;)

[>] Re: Важный вопрос
std.prog
Wol4ik(syscall,22) — Peter
2017-07-25 22:33:51


Спасибо за пояснения. Посмотрев примеры игр из твоего списка (с комментариями) и уловив суть советов, решил делать так:
*выбрать только то (те способы), что уже знаю, и что спрашивал здесь на ветке.
*постараться сделать игру, пользуясь только знакомыми и отработанными способами, не пытаясь непомерно развивать технологии параллельно развитию сюжету. Делать ровно.
*сосредоточиться на самой игре, варьируя уже известными и отработанными ходами (в кодинге Instead).

В принципе, ты рассказал мне (здесь и в документации) некий минимум, чтобы я мог уже свободно ходить между локациями, менять декорации, брать и выкладывать предметы, заменять их в инвентаре на другие (замена яблока на огрызок при использовании и т.д.), работать с некоторыми функциями. Собственно, да... пора уже переходить к фазе разработки несложной, но законченой игры. Первой игры на Instead.

[>] Re: Важный вопрос
std.prog
Peter(syscall,1) — Wol4ik
2017-07-25 22:41:33


> Собственно, да... пора уже переходить к фазе разработки несложной, но законченой игры. Первой игры на Instead.
Удачи! Будем ждать. :)

[>] АРХИВ: за кадром
std.hugeping
Peter(syscall,1) — All
2020-05-10 10:37:39


Подобные статьи часто называют "постмортем". А я не буду. Слово не
нравится. У него мрачный посыл. Пусть лучше игра живёт. :)

Когда я ещё писал "Архив" у меня возникла идея статьи, в которой я
написал бы как вообще трансформировался сюжет во время написания кода. Так
как мне самому было интересно следить за этим процессом. Сейчас, когда
игра уже написана, делать это уже не очень хочется. Но всё-таки, я
решил написать небольшую заметку, содержащую некоторые факты об игре.

Внимание! В статье жестокие спойлеры! Статью стоит читать только если
вы прошли игру или не планируете делать этого.

Обычно я создаю игру отталкиваясь от настроения или сцены. Не особенно
заботясь о самой игре. Настроением Архива было чувство единения
времён. "Если есть шаг -- должен быть след."(c) или "И никому нет
конца, даже тем, кто не с нами."(c). Я даже думал поместить эти
строчки в качестве эпиграфа, но не стал.

Чувство единения времён, объективного существования всех нас прошлых и
будущих. Но в то же самое время, эта вечность стоит на грани конца
времён. Представлял я это всё как место, в котором хранится
весь радио эфир. То-есть, мне казалось, что пилот попадёт на какую-то
планету, где он сможет изучать радиоэфир всех времён и это поможет ему
как-то в сюжете. Потом, он свяжется с родными и так далее... Кстати,
эта идея игры возникла на обломках другой ненаписанной игры. В которой
корпорация SkyJump провела неудачный эксперимент по прыжкам... Но этот
сюжет завял и я решил использовать часть наработок.

Когда я начал писать сцену с переходом, стало понятно, что это место
должно находиться не просто где-то, а в самом
гиперпространстве. То-есть, в игре гиперпространство играет роль
настоящего мира в котором наш мир выглядит как на ладони -- со всеми
своими событиями и временами. Но как быть со свободой воли? Свобода
воли и отсутствие времени плохо соотносятся друг с другом, по крайней
мере мы не можем это логически осознать. В игре есть момент, когда
герой затрудняется с ответом, что именно есть Архив?

Первоначально, всё должно было быть в чёткой sci-fi стилистике. Я
представлял себе монолитные башни, забитые странными футуристическими
механизмами. Одновременно красивая, но и жутковатая картина. Однако,
когда я начал писать код планеты в гиперпространстве, то вспомнил
сериал "Потерянная комната". Где обычные предметы имели необычные
свойства. И я понял, что вот оно! Идея была в том, что наш мозг не
способен осознать подлинные события в гиперпространстве, однако,
какую-то проекцию -- может. Об этом нам сообщает хранитель Архива. В
игре мы с одной стороны наблюдаем конец времён. А также тот факт, что
всё уже было и прошло (компьютер - данные). С другой - по прежнему
проявляем свободу воли (телефон - связь с людьми).

Кстати, я долго думал над тем, какие именно предметы будут в
башне. Мысль крутилась вокруг зеркала (например, кладём осколки, а в
зеркале видим целый объект). Это мне дочка подсказала. :) Но зеркало
как-то не хотело вписываться. Тогда я начал просто писать код и когда
дошёл до подвала... Старый компьютер в тёмном подвале! Вот же оно!

Да, я был очень захвачен этим сюжетом. Писал взахлёб, с любопытством
ожидая, что же будет дальше? Давно не чувствовал такой радости от
творческого процесса. Несмотря на то, что игра совсем недлинная, она
довольно сильно вымотала меня.

В этот раз я настроился на критику позитивно. Я старался, по крайней
мере. Но, видимо, я очень эгоистичен и горд, потому что моральный
дискомфорт от критики я по прежнему испытываю. Поэтому в этот раз, да
и на будущее, я решил не просить тестировать игру конкретных людей,
если только сам человек не предложит свою помощь. После релиза я
принципиально не просил никого играть в мою игру. Так что, если вы
испытываете дискомфорт от игры, просто закрывайте её! Нет никакого
долга в том, чтоб любой ценой пройти её через не хочу ради
"долга". Это демотивирует гораздо больше, чем просто негативный
отзыв.

Несколько забавных фактов из мира игры.

1) На самом деле Димидий - газовый гигант, а не планета земного
типа. Только один человек сообщил мне об этом и я не стал ничего
менять.

2) Зерно - остаток от загадки которую я выключил. Суть её была в том,
что при снятии скафандра гг начинает чувствовать себя плохо. Он
слабеет, не может передвигаться по кораблю (в люк из трюма). Съев
пшено, он "выздоравливает". Убрал -- так как хотел меньше концентрации
загадок на единицу площади и больше "созерцательности".

3) Дерево возникло спонтанно. Мне нужен был хитрый способ
перемещений. Телепортатор или что-то такое. Но когда появились
предметы, дерево стало очевидным решением. Вообще, люблю деревья. :)
Кстати, дерево в игре (да и по сюжету) -- одно. Вы можете положить на
локации предмет, пойти к другому дереву и он там будет.

4) Имя Хуан взято из новости на opennet.ru про разработчика Void Linux.

5) "Всполохи гиперпространства" появились в тексте ещё до того, как я
начал рисовать (кстати, эта игра первая, нарисованная мной в
цвете). Когда стали появляться картинки, я понял, что всполохи - то,
что нужно! Эти разноцветные разводы неба -- своего рода визитная
карточка всего настроения игры.

6) Концентрация атмосферы игры, на мой взгляд, это корабль в пшеничном
поле. Именно поэтому я оставил этот кадр и на титры.

7) Старику можно попробовать сказать "да" и это может вас рассмешить. :)

8) В моих играх я обычно делаю бегущие титры. Но не в этой. Я сделал
это специально. Не спрашивайте меня почему.

9) Олегус сказал, что окна бывают узкие или толстые, а узкие и
одновременно толстые -- не бывают. Я исправил. А потом (вот она
упёртость) вернул назад. Потому что окна бывают: узкие (ширина),
широкие(ширина), высокие(высота) и толстые(глубина). Потому что когда
я читал текст, он мне не нравился без "толстых" окон. :)

10) В корабле специально нигде явно не указывается о наличии или
отсутствии гравитации.

Ну вот, пожалуй и всё. Архив уходит в архив. Спасибо за отзывы,
поддержку и игры. Надеюсь, вам интересно так же, как и мне. :)

[>] Re: Plan9 и ACME -- бескомпромиссная простота
std.hugeping
Difrex(dynamic,1) — Peter
2020-05-01 18:46:40


> тут можно смутно вспомнить про UTF-8, /proc, p9fs и что-то там ещё
А еще там скриншоты можно делать через cat /dev/что-то > image.png :)

ACME не осилил, очень он странный.

[>] Re: Цифровое рабство
std.hugeping
vit01(mira, 1) — btimofeev
2020-05-09 13:18:03


btimofeev> Peter> Правда, к этому идут и другие производители. Мой Xiaomi, предатель,
btimofeev> Peter> показывает мне рекламу и я не могу ничего с этим поделать. Разве что,
btimofeev> Peter> попробовать перепрошить его. На что нужно ещё решиться.

btimofeev> Это оболочка miui такая просто, с рекламой. У меня "Xiaomi mi a3" на чистом Андроиде и она рекламы не показывает, но думаю 100% мои действия записывает)

Если брать Xiaomi или подобные, то посоветовал бы народу присмотреться к вариантам на Android One, это и есть тот самый "чистый" андроид. В магазинах продавцы крайне не любят впаривать смарты на нём (не знаю, почему, видимо, среднему потребителю хочется побольше говнеца в прошивке), но для любителей незахламлённой системы это самое то. Кроме Xiaomi ещё Asus делает более-менее приличные девайсы, мы такой маме взяли, Max Pro M1, а я хожу с перепрошитым сяоми.

btimofeev> А по поводу перепрошивки это норм идея. Я все свои предыдущие смартфоны в конечном счёте перепрошивал (после пары лет использования).

Обязательно нужно перепрошивать. И нужно заранее подбирать такие модели, чтобы распространённые свободные прошивки работали и поддерживались. Это просто убережёт от лишних телодвижений и разочарований. Алгоритм такой: сначала покупаем хороший перепрошиваемый смартфон на чистой операционке (вроде Android One), даём год попользоваться маме/жене/коту. Потом, когда истекает гарантия, на девайс ставится нормальная ОС, и он забирается себе =)

Прикол в том, что когда устройство немного устареет, разработчики кастомов уже успеют доделать драйвера и искоренить большую часть багов.

btimofeev> Особенно радует мой старенький Нексус 5 (в котором батарея не держит больше половины дня), я его перепрошил под 10 андроид БЕЗ гугл сервисов и он зажил новой жизнью: перестал тупить (а до этого он любил подзависнуть, думается мне что в гугл сервисах есть алгоритм специального устаревания телефонов), работает теперь очень шустро. Весь софт на нем сейчас только из f-droid. С этим конечно сложновато, но можно смириться если от телефона многого не нужно: простенький браузер, jabber, termux, orgzly, читалка для книг, instead даже есть.

Да, гуглосервисы не нужны. Если очень сильно требуется проприетарщина, то можно скачать её, например, из Aurora Store (они предоставляют анонимный аккаунт для авторизации в гугле). Но вот сейчас в F-Droidе достаточно много крутого и хорошо сделанного свободного софта, что пользоваться им одно удовольствие.

+++ IDEC Mobile в виртуальной машине
+++ GNU/Linux, Android, physics, MLP:FIM

[>] Re: Plan9 и ACME -- бескомпромиссная простота
std.hugeping
Peter(syscall,1) — Difrex
2020-05-10 11:36:08


> А еще там скриншоты можно делать через cat /dev/что-то > image.png :)

Ага :)

> ACME не осилил, очень он странный.

Я тоже, но я вроде понял как МОЖНО им пользоваться. Много думал после этого. :)

[>] Re: ## Солюшены ##
std.game
Ромеро(syscall,11) — Ромеро
2017-04-16 08:06:40


блин, хотел на своей станции ответить, где строки урезаются - и не туда зашёл :(

[>] Re: ## Солюшены ##
std.game
Ромеро(syscall,11) — Ромеро
2017-04-16 08:07:33


решено :)

[>] Re: ## Солюшены ##
std.game
Ромеро(syscall,11) — Ромеро
2017-04-16 08:09:45


всё, я понял, как боковые кнопки действуют! они режим переключают

[>] Re: ## Солюшены ##
std.game
Рома(gk11,1) — Ромеро
2017-04-16 08:27:35


второй этаж
> spoiler!
PiDQodGC0YDQtdC70Y_QudGC0LUg0LjQtyDQtNGA0L7QsdC-
0LLQuNC60LAg0LLQviDQstGC0L7RgNC-
0LPQviDRgdC70LjQt9C90Y8sINC_0LXRgNCy0L7Qs9C-INC4IN
GC0YDQtdGC0YzQtdCz0L4g0L7RgtCz0L7QvdGP0LnRgtC1INC-
0LPQvdC10LzRkdGC0L7QvC4g0J_QtdGA0LXQt9Cw0YDRj9C20L
DQudGC0LUg0LTQstGD0YHRgtCy0L7Qu9C60YMuINCh0YLRgNC1
0LvRj9C50YLQtSDQsiDQv9C10YDQstC-
0LPQviwg0L7Qs9C90LXQvNGR0YLQvtC8INC-0YLQs9C-0L3Rj9
C50YLQtSAKCtC90LjRhNC40LPQsCDQvdC1INGA0LDQsdC-
0YLQsNC10YIuINC70Y7QsdC-0Lkg0LLRi9GB0YLRgNC10LsgLS
DRgdGA0LDQt9GDINGD0LHQuNCy0LDRjtGCLiDQvtCz0L3RkdC8
0ZHRgtC-
0Lwg0LzQvtC20L3QviDQtNCy0LAg0YDQsNC30LAg0L7RgtC-0L
PQvdCw0YLRjCwg0L3QsCDRgtGA0LXRgtC40Lkg0YHRgNCw0LfR
gyDRg9Cx0LjQstCw0Y7Rgi4g0LrQsNC6INC_0YDQvtC50YLQuC
3RgtC-INC00LDQu9GM0YjQtT8=

[>] Re: ## Солюшены ##
std.game
Рома(gk11,1) — Рома
2017-04-16 08:31:59


прошёл это... капец, я и не знал, что в текстовых квестах бывают аналоги пиксельхантинга :) степхантинг :)

[>] Re: ## Солюшены ##
std.game
Рома(gk11,1) — Рома
2017-04-16 08:53:54


уфф, даже с солом еле прошёл
надеюсь, Леночка будет попроще :)

[>] Re: ## Солюшены ##
std.game
Peter(syscall,11) — Рома
2017-04-16 09:41:18


Это одна из сложнейших игр на инстеде. Дал только потому что солюшен был. Сложнее только Карантин. :)

[>] Re: ## Тестим игру "Леночка" ##
std.game
Рома(gk11,1) — Peter
2017-04-16 12:42:39


два достижения из 4-х возможных, 2-е и 3-е. чё я пропустил? пойду в сырцах покопаюсь
> spoiler!
0L7RgdGC0LDQu9GB0Y8g0LHRg9GC0LXRgNCx0YDQvtC0IDopIN
C30LDRh9C10Lw/IDop

[>] Re: Вопросы генерации сюжета машиной
std.tech
XSet(syscall,18) — Peter
2017-05-11 19:05:24


В общем я на вашей стороне. На этом этапе покушаться прямо на генерацию сюжетов - это самоубийство и никогда не будет сделано (кроме концептов генераторов сказок). Я долгое время ковырял лингвистику, это адова задача, хотя у меня накоплен немалый задел (в плане материала), в том числе большие тезаурусы с претензией на охват ВСЕГО. :-)

А вот оживить "традиционную" игру некой динамичностью с вариативностью игры персонажей - это более чем реально. Я пилю планировщик и концепт его использования в игре. Пытаюсь придумать какой нибудь сюжет, в рамках которого он выглядел бы красиво (как Карантин).

[>] Re: Вопросы генерации сюжета машиной
std.tech
Peter(syscall,1) — XSet
2017-05-11 19:37:52


Сегодня говорил с true-grue и пришел к такому выводу:

Идея хорошо может сработать в ситуации, когда модель становится "объектом", а не "субъектом". Грубо говоря -- боты не могут быть выше создателя, но могут стать "детьми". Чтобы совсем уж не уходить в философию, примеры таких рабочих ситуаций:

1) игра в который гг играет роль психолога, к которому приходят пациенты (со случайными характеристиками, но всегда с какой то аномалией в "параметрах"), и гг пытается исправить ситуацию, влияя на клиента. Клиент приходит к психологу регулярно, в течении нескольких дней. Каждое такое посещение -- это ход игры, за который происходят какие-то события в жизни пациента, о которых тот рассказывает психологу. После первого пациента, после "излечения", приходит другой (более сложный) и так далее... Сам я ненавижу психологию, но тем не менее -- идея рабочая.

2) игра в которой надо предотвратить убийство или самоубийство, путем воздействия на "ботов" в коллективе или индивидуального "бота" (не сторонник таких игр -- но тем не менее -- идея рабочая);

И так далее.... Пока других идей нет. То есть, когда в игре модель становится объектом исследования, все примерно понятно. При этом "моральная составляющая" все-таки конкретна и определена автором сюжета (как цель/результаты игры). Другое дело, что таки игры превращаются в игры - манипуляции "ботами". И хотя это всего-лишь боты -- мне не нравится в целом такая идея. Все-таки, даже в рамках игры это несет некий нехороший посыл, где общение заменяется манипуляцией.

Для себя лично я сделал еще некоторые выводы.

Творчество -- это всегда общение. Общение не возможно без "я - ты" (субъектов). Вся наша жизнь -- это творчество. Новое (творчество) и жизнь -- нераздельные вещи.

[>] Re: Вопросы генерации сюжета машиной
std.tech
XSet(syscall,18) — Peter
2017-05-11 20:09:36


Ничего себе, "пока других идей нет", да уже эти две идеи прямо шедевральные и видимо хорошо подходят к возможностям планировщика! Завидую я (белой завистью) вашей созидательности, у меня какая то банальщина в голову лезет по Стругацким. Не обязательно конечно прямо этим сюжеты использовать, но направление мне понравилось, влияние на множество ботов к тому же итеративно. Кстати я изучил этот ваш "Восточный Экспресс", там рельсы сюжета весьма жёсткие, но персонажи действуют непрерывно и отклоняются от прямого выполнения строчка за строчкой, если сильное отклонение, то вылазит побочная концовка и надо продолжать с места ошибки (как фильме Исходный Код). Например можно ничего не делать, тогда в точное время взорвётся спрятанная сербами бомба и герой погибает, а можно выяснить что да как, найти бомбу и обезвредить. Но сюжет по сути один и он прямой, нельзя например снова зарядить бомбу и сойти с поезда оставив бомбу и т.п. Что мне понравилось - время течёт непрерывно, всё живёт и двигается. Что не понравилось - фактически нет общения с персонажами, всё сильно заскриптовано, нет вообще никакой свободы воли.
В общем я хотел бы что то больше похожее на Карантин, чем на пряморельсовый сценарий.

[>] Вопрос по таймеру
std.tech
Antokolos(syscall,12) — All
2017-06-03 10:13:40


Возник такой вопрос.
К примеру, у нас есть таймер, установленный по timer:set(5)
и вот такой код:

game.timer = stead.hook(game.timer, function(f, s, cmd, ...)
if vn.processing then
return;
end
if not vn.on then
return f(s, cmd, ...);
end
vn.processing = true;
local result = code_that_can_take_more_than_5ms_to_complete();
vn.processing = false;
return result;
end)

Собственно, вопрос: нужно ли вообще это извращение с vn.processing? Или в таймере всё синхронно и новый вызов гарантированно не произойдёт, пока старый не завершён?
А если там реально всё асинхронно, и таймер стреляет с той частотой, что ему указали, будет ли такой код потокобезопасным (в Java я бы точно сказал, что нет, vn.processing нельзя модифицировать без синхронизации, мьютекса итп.)
Ну и вообще, как разрулить такую ситуацию? В идеале хочется, чтобы новый вызов кода по таймеру НЕ происходил, пока старый не отработал.

[>] Re: Вопрос по таймеру
std.tech
Antokolos(syscall,12) — Antokolos
2017-06-03 10:17:24


Antokolos> Возник такой вопрос.
P.S.: Вопрос по STEAD2, но, думаю, в STEAD3 всё примерно так же.

[>] Re: Вопрос по таймеру
std.tech
Peter(syscall,1) — Antokolos
2017-06-03 10:27:55


Таймер всегда синхронный -- он не прерывает команду инстеда, он обрабатывается между командами и сам может генерировать команду. Насколько я помню -- game.timer это уже производное событие -- которое обрабатывается как обычная команда своим чередом.

P.S. для вставки кода юзай такую запись

ПРИВЕТ МОНОШИРИЙНЫЙ МИР

[>] Re: Вопрос по таймеру
std.tech
Antokolos(syscall,12) — Peter
2017-06-03 10:34:24


Peter> Таймер всегда синхронный -- он не прерывает команду инстеда, он обрабатывается между командами и сам может генерировать команду. Насколько я помню -- game.timer это уже производное событие -- которое обрабатывается как обычная команда своим чередом.
Ясно, спасибо! Ну, тогда код упростится :)

[>] Re: Вопрос по таймеру
std.tech
Kerbal(syscall,8) — Antokolos
2017-06-03 13:09:56


В таймере новый вызов происходит, емнип, через timer:set(n) после отработки старого вызова. Т.е. отработал вызов, ждёт n, новый вызов. Во время n происходят другие события.

[>] Выложить объект из инвентаря в произвольную сцену room
std.prog
Wol4ik(syscall,22) — All
2017-08-02 14:08:36


Добрый день. Вопрос в следующем, как работать с функциями place, put или иными, если я не готов конкретно назвать имя комнаты куда хочу положить объект (переместить из инвентаря)? Что я имею - служебный объект инвентаря, который выполняет роль одного из действий (починить, сломать, говорить и т.п.) конкретно "выложить".

obj {-- служебный объект выложить, действие
nam = '-выложить';
pri = -99;
inv = [[Хелен может выкладывать предметы, которые пока ей не нужны.
Следует один раз кликнуть на действии "выложить",
и второй раз кликнуть на нужный предмет в инвентаре.]];
}

В него я специально не вписываю use/used, так как это все впишу в объекты-цели. Однако, вот есть условно 'кувалда', и нужно, чтобы ее used при соединении и 'выложить', помещал эту кувалду в ту комнату, где находится ГГ, независимо из какой комнаты эта конструкция вызывается.

obj {-- кувалда, физический объект
nam = 'кувалда';
used = function(s)
if s^'выложить' then
place (s, ???????????);
remove(s);
end;
}

То есть вопрос, как вписать в функцию отсылку к ТЕКУЩЕЙ комнате, название которое тоже есть функция?

[>] Re: Выложить объект из инвентаря в произвольную сцену room
std.prog
Peter(syscall,1) — Wol4ik
2017-08-02 14:13:04


> То есть вопрос, как вписать в функцию отсылку к ТЕКУЩЕЙ комнате, название которое тоже есть функция?
Если в place() 2й параметр не указан, то это будет текущая комната.
Но если нужна отсылка к этой текущей комнате еще для чегото, есть функция here() -- это и есть указатель на текущую комнату.

Далее, тут не понятно:
used = function(s)
    if s^'выложить' then
    place (s, ???????????);
    remove(s);
end; 

Скорее всего ты хотел написать:
used = function(s, w) -- s -- это и будет кувалда, нас интересует w а не s
    if w^'выложить' then
        place (s); -- в текущую комнату
        remove(s);
    end
end; 

Еще настоятельно рекомендую использовать отступы! Понятней код и самому проще и другим. :)

[>] Re: Выложить объект из инвентаря в произвольную сцену room
std.prog
Peter(syscall,1) — Peter
2017-08-02 14:17:54


Да еще. remove(s) тоже не нужен. place сам убирает объект из прошлого место-положения. Это put не удаляет, а place -- перемещает как бы объект в новое место.
Так что в твоем случае и remove не нужен (но я бы еще воткнул признак отсутствия реакции):

used = function(s, w) -- s -- это и будет кувалда, нас интересует w а не s
    if w^'выложить' then
        place (s); -- в текущую комнату
    else
        return false -- даем знать stead3, что ничего не сделали, тогда вызовется game.use
    end 
end

[>] Re: Выложить объект из инвентаря в произвольную сцену room
std.prog
Andrew Lobanov(tavern,1) — Wol4ik
2017-08-02 14:18:43


Wol4ik> Добрый день. Вопрос в следующем, как работать с функциями place, put или иными, если я не готов конкретно назвать имя комнаты куда хочу положить объект (переместить из инвентаря)? Что я имею - служебный объект инвентаря, который выполняет роль одного из действий (починить, сломать, говорить и т.п.) конкретно "выложить".

Wol4ik> obj {-- служебный объект выложить, действие
Wol4ik> nam = '-выложить';
Wol4ik> pri = -99;
Wol4ik> inv = [[Хелен может выкладывать предметы, которые пока ей не нужны.
Wol4ik> Следует один раз кликнуть на действии "выложить",
Wol4ik> и второй раз кликнуть на нужный предмет в инвентаре.]];
Wol4ik> }

Wol4ik> В него я специально не вписываю use/used, так как это все впишу в объекты-цели. Однако, вот есть условно 'кувалда', и нужно, чтобы ее used при соединении и 'выложить', помещал эту кувалду в ту комнату, где находится ГГ, независимо из какой комнаты эта конструкция вызывается.

Wol4ik> obj {-- кувалда, физический объект
Wol4ik> nam = 'кувалда';
Wol4ik> used = function(s)
Wol4ik> if s^'выложить' then
Wol4ik> place (s, ???????????);
Wol4ik> remove(s);
Wol4ik> end;
Wol4ik> }

Wol4ik> То есть вопрос, как вписать в функцию отсылку к ТЕКУЩЕЙ комнате, название которое тоже есть функция?

А почему не используешь drop()?

[>] Re: Выложить объект из инвентаря в произвольную сцену room
std.prog
Peter(syscall,1) — Andrew Lobanov
2017-08-02 14:22:11


> А почему не используешь drop()?
В принципе, drop() в stead3 практически совпадает с place ;) drop создан для наглядности кода главным образом. А так да -- самое место ему тут быть используемым. :)

[>] Re: Выложить объект из инвентаря в произвольную сцену room
std.prog
Andrew Lobanov(tavern,1) — Peter
2017-08-02 14:39:43


>> А почему не используешь drop()?
> В принципе, drop() в stead3 практически совпадает с place ;) drop создан для наглядности кода главным образом. А так да -- самое место ему тут быть используемым. :)

Упустил этот момент. У себя place использую для движения объетов между локациями, например.

[>] Re: Выложить объект из инвентаря в произвольную сцену room
std.prog
Wol4ik(syscall,22) — Andrew Lobanov
2017-08-02 17:17:52


Спасибо, друзья. С drop тоже проэкспериментирую. Спасибо Петру за наглядное пояснение, что есть s и w в функциях, а то я часто срисовывал как школьник с доски, без понимания.

[>] Очистка всего и вся, полный рестарт игры
std.prog
Wol4ik(syscall,22) — All
2017-08-10 08:14:42


Добрый день. При создании фатальных концовок возникла необходимость приведения игры к "нулевому состоянию", то есть перегенерации всего игрового мира, возвращения об'ектов на свои места, инициализации всех переменных и т.д. Прошу подсказать, как это сделать в теле описания сцены или иным образом. Может быть есть функция или команда, которая имитирует пункт с меню Stead3 "начать заново"?

[>] Re: Цифровое рабство
std.hugeping
btimofeev(tavern,13) — vit01
2020-05-10 12:19:21


vit01> Если брать Xiaomi или подобные, то посоветовал бы народу присмотреться к вариантам на Android One, это и есть тот самый "чистый" андроид.

Вот у меня как раз такой, "Xiaomi Mi A3", брался из-за чистого андроида и обещаний быстрого обновления ОС. При покупке он был на 9 Андроиде, сяоми обещали обновить до 10 ещё в октябре, но обновление пришло только вчера). Хотя программа Android One была создана специально что бы эти смарты получали обновления в первую очередь, но видимо это так не работает, обновления получают топовые смарты в первую очередь. А вот неофициальные прошивки уже давно были.

[>] Бегство в детство
std.hugeping
Peter(syscall,1) — All
2020-05-10 20:48:33


В детстве, когда я видел по телевизору странный мультфильм (например, Ёжик в тумане), я не мог понять -- зачем они их делают? Другое дело -- Том и Джерри в видеосалоне!

Потом странные фильмы: Сталкер, Солярис и подобная "муть".

А потом вдруг всё это оказалось гораздо ближе к детству, чем казалось в самом детстве. Перечитал сказки Козлова. Пересмотрел Сталкера. Как так? Может быть это потому, что детству не нужны эти костыли. А вот взрослому без них прикоснуться к вечному -- невозможно? Интересно только то, что в детстве -- психика проста и целостна (ну, так кажется). А во взрослом возрасте -- наслоение на наслоении и куча заплаток. Странно это всё.

Хотя, я однобоко смотрю. Я предполагаю что детсво -- более совершенное состояние. А с этим точно можно поспорить.

Сейчас просто по Культуре идёт Солярис. Я его никогда полностью не смотрел в сознательном возрасте, очень захотелось это сделать.

[>] Фидбек как необходимость
std.hugeping
Peter(syscall,1) — All
2020-05-11 21:15:59


На "Архив" я получил довольно много фидбека. Причём, в разной форме. Несколько покупок, письма, комментарии... И это очень, очень помогает!

Так вот, на волне поднятия энтузиазма я отчётливо осознал, что фидбек для меня нужен не для того, чтобы потешить своё эго, получив похвалу. А в том, чтобы понять -- а нужно ли вообще то, что я делаю?

Со стороны это может казаться странным, но уверенности в этом я никогда не испытывал. Когда нет уверенности в востребованности, сложно что-то делать. Кажется, что лучше потратить условно свободное время на какие-то полезные дела. На работе ты работаешь, чтобы кормить семью. Вопросов тут нет. Отдыхаешь для того, чтобы отдыхать. :) Тоже понятно. А творчество, если оно делается в стол, конечно, тяготит. Если ты не графоман, конечно. (Надеюсь, что я не он.) И вот, вроде и сочинять интересно. Но думаешь, а нужно ли это кому-нибудь? Контакта то нет с аудиторией. Музыкант школьной группы видит зал, а тут ... даже не знаешь, попало ли?

В этот раз фидбека уже почти накопилось на то, чтоб начать делать полноформатную историю. Не знаю, решусь ли на это, конечно. Но факт остаётся фактом, я снова чувствую в себе силы переть напролом. :)

Так что, закрываю страницу на позитиве. Спасибо!

[>] Re: Бегство в детство
std.hugeping
Andrew Lobanov(tavern,1) — Peter
2020-05-12 07:27:54


Peter> Хотя, я однобоко смотрю. Я предполагаю что детсво -- более совершенное состояние. А с этим точно можно поспорить.

Детство более незамутнённое и невинное просто. И более непосредственное. Это действительно более лучшее состояние в некотором роде.

Но если спросить лично меня хочу ли я вернуться в детство, я, скорее всего, отвечу "нет". Я уже слишком привык к самостоятельности и независимости :)

[>] Re: Фидбек как необходимость
std.hugeping
Andrew Lobanov(tavern,1) — Peter
2020-05-12 07:27:55


Peter> На "Архив" я получил довольно много фидбека. Причём, в разной форме. Несколько покупок, письма, комментарии... И это очень, очень помогает!

Даже та часть фидбека, которую я увидел, весьма впечатляюща. Очень рад за тебя и за твою игру.

Peter> Так вот, на волне поднятия энтузиазма я отчётливо осознал, что фидбек для меня нужен не для того, чтобы потешить своё эго, получив похвалу. А в том, чтобы понять -- а нужно ли вообще то, что я делаю?

Тут вопрос масштаба. Я знаю, что в мою игру поиграет несколько человек из сообщества и для меня это достаточная мотивация. Я отдыхаю душой в процессе написания игр и потому не ищу особой обратной связи. Если те несколько человек в нашем чате, которых я очень уважаю, запустят игру и хотя бы немного поиграют, значит это был весьма полезный отдых :)

Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 ... 70