Хакеры сновидений

Тема «Мир, как программа»

Наверное, кто-то из вас знает Винчи. Я уговорила его написать книгу о магии Земли. Недавно он дал мне почитать первую главу, и у нас возник спор. В процессе дискуссии я поняла, насколько далека от мира программистов, и насколько их мир интересен.

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

Итак, начальные условия. Прикиньте, что текст программы - это мир, созданные из отдельных частей (шаров восприятия), они связаны транзитами, у которых будут точки входа и  источники ссылок.

Лайт, предлагает интересную аналогию объектоного программирования, как проекции нашего восприятия мира, и асемблера - как прямого видения.

Но давайте прикинем, что мы имеем на руках текст программы какой-то компьютерной игры. Огромный массив всего и вся. Он поделен на какие-то блоки, описывающие объекты, методы и атрибуты. А какие аналогии с нашим миром. Вот мы видим сюжет своей жизни. Это аналог "Резидент Ивел-4". Текст программы для нас уже большая абстракция - текст нашей судьбы. Пусть даже сценарий в основном известен. Кто может повертеть в голове эту конструкцию и наложить ее на реальность.

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

Но мне бы хотелось, чтобы вы попыхтели, подумали, поизобретали. Взамен, я дам вам идею компьютерного предсказателя и бесконечного источника сакральных знаний. Фактически, это идея компьютерного оракула.
Ligth

Думаю лучше и перспективнее всё описывать с точки зрения объекто-ориентированного программирования (инкапусяция ,полиморфизм, наследование):

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

Атрибуты в хорошем коде недоступны пользователю, но он может их получить через методы объекта, причем методы тоже имеют область доступа(личные(private), защищенные(protected, только для наследников) и public(для всех)).

Тогда мир будет представлен программой в лучшем случае являющейся методом некоего класса(объекта), в которой определы объекты, их атрибуты и методы, точками взаимодействия между ними будут методы объектов и точки вызова/возврата из главного метода.

Окружающий мир, как видит его человек, очень близок к ООП, объектам и иже с ними, в то время как машинные коды и ассемблер близки к работе "напрямую" (читай видение, намерение), когда права уже не важны, но при ошибке в коде можно завалить всю программу и возможно всю Операционную систему.

С нашей точки зрения интересен полиморфизм и особенно возможность перегрузки методов (то есть фактически замена метода унаследованного от объекта предка своим методом, с тем же названием, но другим содержимым, или с тем же названием, но отличем в передаваемых параметрах или\и их порядке). Возможно ещё менять уровень доступа к объектам, но с этим сложнее.

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

С уважением, Ligth


nick

Тут, как мне кажется, все зависит от определений понятий.

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

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

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

Можно еще рассмотреть модель классов, где функции объединены в сущности более высокого уровня - классы. Здесь суть исполнения кода останется такой-же, но на уровне логики, которая в конце концов будет преобразована в те же инструкции процессора, добавятся процессы инициализации типов классов и их экземпляров перед вызовом собственно методов. Тоесть в некоторых случаях добавятся вызовы как бы скрытых методов инициализации высокоуровневой сущности, после которых будут вызваны собственно те методы, которые вызывались. Хотя для процессора никаких скрытых методов не будет, они будут скрытыми с точки зрения программиста.

Ligth

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

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

  • железо с определеной архитектурой
  • базовая низкоуровневая программа, управляющая железом (BIOS), которую, кстати, можно переписать программно Smiley
  • базовое "низкоуровневое программное поле" (операционная система, сторонние программы, интегрированные в операционную систему на низком уровне), в котором выполняются другие программы, и к которому выполняющаяся программа имеет лимитированный доступ
  • собственно код отдельной программы со своей логикой
  • электрический ток! Smiley
  • пользователь, как некий начальный импульс к запуску всего процесса и к запуску отдельный программ (могут быть разные пользователи)

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

Можно обратить внимание, кстати, на несколько интересных моментов:

  • разный программный код может давать один и тот же результат
  • теоретически, хотя крайне маловероятно, разные программы могут скомпилироваться в одинаковый код
  • сама компьютерная железка может быть виртуальной - тоесть все программы (в том числе операционная система) и пользователь будут думать что это компьютер, а на самом деле это хитрая программа, которая ведет себя как компьютер, и знает про это только админ Smiley

Masja, если я тебя правильно понял, в жизненном цикле классов, по крайней мере в случае языка Java, есть сходное понятие. В случае Java класс как сущность состоит на самом деле из трех сущностей:

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

В этом случае, как мне кажется, "класс" соответствует этой самой степени экзальтации. Хотя может быть этому понятию соответствует не сам класс, а состояние класса, и состояние экземпляров класса.

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

Если подключить концепцию многопоточности - то под потоком модно представить отдельного человека. Что здесь интересно, что поток - понятие виртуальное. На самом деле физических потоков - столько сколько процессоров (не больше). А "логические" потоки формирует операционная система, выполняя их инструкции последовательно на одном процессоре. Есть над чем подумать Smiley
Никого не хочу огорчать, но почему за основу взята фон Неймовская архитектура?
(т.к. знаю что есть и другие, но фоннеймовский вариант был более прост для того чтобы сделать ЭВМ в середине 20 века, сейчас же наблюдается тенденция к уходу от классичекой схемы)
Я согласен что теперешний комп может в некотором роде может отражать строения вселенной, но не буквально же.
И вот еще интересный момент. Чтобы программа не была "вещью в себе", операционная система предоставляет ей API - интерфейс доступа к ресурсам операционной системы (набор специальных методов и/или классов). В то же время самой операционной системе и программам, запущенным в ней, доступны методы работы с "железом" - специальные регистры процессора, прерывания устройств и т.д. Причем операционная система имеет доступ к большему количеству таких методов (здесь я не совсем уверен, так что будет хорошо если кто-нибудь меня поправит).

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

red_warg, а почему, кстати, не буквально? Smiley
Потому что, мир работает по-другому.
А в чем принципиальная разница? Мне сравнение с компьютерной программой кажется вполне логичным.
Некоторые особенности исполнения программ.
Рассмотрим программу, вычисляющую S из входных переменных a, b, e и f:
01  c = a+b
02  d = a-b
03  R = c*d
04  a = R*e
05  b = R*f
06 S = R+a+b
Программа простая. Ее особенность в том, что команды 01 и 02 могут исполняться в любом порядке или одновременно. На современных процессорах это так и произойдет - порядок исполнения будет определяться готовностью вычислительных устройств, а при надлежащем их количестве команды будут выполнены одновременно. Это же касается и команд 04 и 05. А команды 03 и 06 - "узловые" в том смысле, что исполняться одновременно с ними не может ни одна другая.
Мы привыкли думать о программах как о последовательных, но на деле нарушается либо порядок исполнения команд, либо некоторые исполняются параллельно. Это осуществляется таким образом, чтобы результат получался одним и тем же, т.е. с точки зрения программы система ведет себя так, будто команды исполняются последовательно.
Более общий вид программы следующий: есть набор т.н. А-блоков, которые представляют собой операцию (ассемблерную команду). С каждым А-блоком могут быть связаны входные переменные и выходные. Операция вычисляет выходные из входных. А-блоки могут срабатывать не в произвольном порядке, а только тогда, когда готовы все входные переменные. Срабатывание А-блоков может происходить одновременно.
Множество готовых к исполнению А-блоков по мере исполнения то увеличивается, то уменьшается. В "узловой" точке, например, будет только один А-блок.

Теперь вернемся к обычному представлению.
Вернемся во времена DOS'а. Программа могла состоять из ассемблерных команд и вызовов к операционной системе. Если программа получала управление, то могла сделать все что угодно. Операционная система служила для обеспечения различных сервисов - работа с файлами, строками и т.п. Все это можно сделать и напрямую с помощью ассемблерных команд.
Теперь все чуть чуть иначе - есть защищенный режим работы процессора и программа, получив управление, работает уже не напрямую, а "в песочнице" - может обращаться только с определенными адресами в памяти, не может напрямую обращаться к диску и т.п. - теперь она может только отправлять запросы операционке, которая делает это за него, а заодно и проверяет, дозволено ли ему это делать. В "прямом" владении остаются только безобидные процессорные команды вроде арифметических операций.
Вторая степень защиты - в ООП: методы не могут быть вызваны, если они protected или private. То же касается и атрибутов объекта. Некоторые системные функции окружения сами вызывают определенные методы объектов, например по таймеру. Можно сказать, что вызовом методов управляет система, и управление среди методов может передаваться в рамках дозволенных вызовов.
Интересный момент - эти рамки определяет компилятор! То есть, в конечном счете код преобразовывается в обычные ассемблерные команды и вызовы ОС. Если в этот момент код подменить, то можно безо всяких ограничений вызывать защищенные методы и использовать чужие закрытые переменные.
lfxor, я кстати читал, что некоторые процессоры пытаются в определенных точках сделать как бы "задел на будущее", предугадать выполнение кода, выполяя параллельно несколько наиболее вероятных ветвей, и потом выбирая из них ту, которая оказалась верной.

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

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

Значит можно, задав нужный массив параметров и начальных значений себя и системы, получить нужное состояние системы в целом, и/или её частей(нас самих в том числе).

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

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

Здесь подразумевается что память пассивна, а процессор активен. Команды - лищь инструкции для процессора, над ними нельзя выполнять операции. Данные - информация над которыми производятся преобразования, данные не могут служить командами. Шина устройство, предназначенное для организации обмена информации между процессором и памятью.
Дальше углубляться нестоит, наверное, тем кто хочет узнать побольше, советую почитать "Основания программирования" Непейводы, книга больше похожа на дайджест. Тем кто не знаком с программированием советую читать выборочно и неуглблятся.
Сразу скажу и про Кнута, люди посмотрите когда была написана книга, да она считалась бестселлером в свое время, но сейчас кроме академического интереса она мало что собой представляет.
Продолжим историю, чем больше развивалась технология тем больше возникала необходимость изменить базовую схему фон неймана, но спрыгнуть с этих рельс, в силу сложившихся причин, пока особо неудается. Вот отсюда и пошли разные извращения:
-деление на далговременную и кратковременную память
-регистры и кэшы всех уровней в процессоре
-Java с виртуальными машинами
-теги и всякая другая муть
Т.о. становиться ясно что текущая модель вычислительной машины требует переработки и усовершенствования своей структуры, и чего можно предположить что теперешние эвм не в полной мере могут служить для отражения структуры реала, для этого нужны новые архитектуры, а к ним новые языки программирования, требующие иного подхода и мышления. Но всеже текущие технологии весьма совершенны в некоторых областях и поэтому часть из них нужно обязательно использовать, и только часть, не тащить все до кучи. Напрмер, оператор присваивания, без которого смогло обойтись лишь пару языков программирования.

По-делу, мну считает, что при работе с реальностью, программой нужно считать сами данные и их структуру, причем сама такая "программа" является и оперативкой, и процессором, т.е. представляет собой отдельный вычислительный комплекс. Как так получается? да не знаю я, пока. Если посмотреть, то к такой программе вполне можно применить и функциональное и объектно-ориентированное программирование и много еще других вкусностей.

Вот вчера озадачил nick меня многопроцессорностью, типа вселенского суперкомпьтера. Дело в том, что, например, если двум процессорам одновременно нужно записать информацию в одну и туже ячейку памяти, то возникает вопрос: кто прав? А вот если инфа сама является и хранителем информации и процессором такой вопрос просто не возникнет (я понимаю, что представить такое сложно, но тут ничего не поделаешь).

Насчет языков высокого уровня (ЯВУ) и языков низкого уровня (ЯНУ). Вспомним ПМ (никто не будет спорить что это ЯВУ), пасьянс работает независимо от тайнига, толи 10 мин(ЯНУ), толи 1 день(ЯВУ), хотя тут могут возникнут споры у меня самого здесь есть вопросы. Конечно существуют законы Орла и можно сказать что они написаны на ЯНУ, то тут скорее строение архитектуры.

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

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

Я вот о чем задумался - какое место в такой структуре занимает деятельная часть человека? Ведь программа жестко следует своей логике, у нее нет осознания, а человек может сам принимать решения и действовать. Или не может? Не могу ответить однозначно...

Еще вопрос - как осуществить реверс-инжиниринг бинарного кода? Мы, по сути, видим только данные в процессоре и результат. Но чтобы преобразовать это все обратно в исходники - нам нужна спецификация компилятора Smiley
Парни, это все гуд. Но прикиньте, что программист, написавший программу игры чисто для прикола пожелал пообщаться с геймерами. Допустим, в игре "Сакред" среди предметов магии можно было обнаружить разбитый "плэйстешн-6" или письма программеров. И еще прикиньте, что программистам, писавшим проги для нашей реальности, тоже могла прийти в бошку такая же идея.

Давайте я уж расскажу о своем споре с Винчи. Он пишет книгу о магии Земли. И он назвал ее "Геомантией Винчи". Я дала ему по чайнику и говорю, мол мантика - это по греческий "прорицание". Зачем ограничивать магию земли этим термином? Слово за слово. И он рассказал мне о древнем искусстве прорицания будущих событий с помощью птиц - обычно петушков. Маги рисовали на земле круг, по периметру расставлялись буквы, на каждую букву ложилось зернышно. Затем выпускали петушка и записывали буквы, с которых он склевывал зерна.

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

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

Насчет процессора я не уверен, тут нужно знание ассемблера, но на уровне операционной системы подобные программы существуют - например фаерволы, которые мониторят запуски одних программ другими. Теоретически, если такой фаервол поддерживает логи, можно их распарсить и перевести в символьную информацию. Только мне думается, что с кодировкой (преобразованием вызов => символ) нужно будет определиться до начала сбора данных, чтобы это стало частью намерения.
Просто в реализации будет сделать следующее: программа-сканер, которая по определенным правилам выбирает буквы из кэша интернет-страничек, скажем, раз в минуту случайный символ из последней закэшированной странички.
как то задался вопросом как можно гулять по галактике чтобы тебя не обнаружили инопланетяне. Мы с ребенком часто мечтаем, поэтому и возник этот вопрос. И придумали: нужно бывать на каждой планете не более 40 лет. За этот срок врядли они сумеют обшарить все планеты галактики и обнаружить нас. Эта идея вызвала другую идею уже относительно сети. Берется какая либо статья в инете, которая содержит большое количество текста. Далее пишем текст который никто не должен узнать, секретный типа. Далее запускаем скрипт, который берет каждую букву из засекреченного текста, находит аналог из большой статьи и запоминает порядковые номера букв, таким образом создает список цифр. Список непонятный и его можно рассылать всем. Но урл статьи в инете никто не знает. Соответственно засекреченный текст может прочесть только тот, кто знает урл большой статьи. Так как статьи в инете имеют особенность видоизменяться, то вероятность прочесть засекреченный текст становиться еще меньше.

Так вот этот скрипт очень хорошо подходит под петушка.
lfxor, bolton, такие способы используют для анализа статические данные. Мне кажется, Мася говорит об использовании именно активной части кода, тоесть действий, которые исполняются в данный момент.
И теперь вопрос: а можно ли написать программу, которая фиксировала бы некие элементы обращений процессора к обычным программам компьютера, затем наделяла эти обращения буквенной кодировкой и затем выдавала на экран текст сообщения?  


Попробую что-нибудь придумать, но необещаю быстрого результата, хотя ... ночь большая.

А вообще есть такая фишка "Пасхальные яйца", это специальные приколы сознательно привнесенные в программу создателями. Знаю, что в "сапере" можно некоторой комбинацией клафиш заставить остановиться секундомер, в фотошопе тоже есть, как правило все крупные программы имеют подобные шутки.
Почему бы просто не почитать тему "Моделирование систем" предпологающюю аналитическое програмирование любой системы, дающее возможность предсказания как ее развития, так и результа этого развития. Т.е. вы сможете на этой базе сделать 100% предсказание, например результатов футбольного матьча еще до его начала-какие команды дойдут до какого тура и с каким результатом, равно как и любой другой системы.Однако это частное предсказание, вот что мне действительно интересно, как это можно было бы реально сделать для всего мира, понятно что наш мир можно воспринимать как единую замкнутую систему, но какие входные параметры сдесть действительно важно учитывать,а какие нет? Определиться с этим действительно необходимо, поскольку этих параметров слишком много, что преводит, как результат к невозможности реализации данной системы. Просто не хватит мощьности у машины и терпения у програмиста. Wink
чото вы мужуки пособрале все в кучу и нихрена не просекаите леминтарных вещей нах. зайдемка с другой сторонэ what?

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

в принципе речь даж надо вести по другому. Roll Eyes

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

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

вот в чом фишк событий жизни в течение дня например. оне нас придерживают до каких главных повторов, шобэ мы плять не заскучале и не подохле со скуки  ахахаха!
Никогда не сталкивалась со столь неординарной трактовкой сути "моделирование систем" ... ахахаха!
Кул, а что делать с таким положением вещей, если есть желание не играть, а поюзать сам компутер уже Smiley Я так думаю, что не жать на пробел нельзя - сисадмин отловит и даст по башке, тоесть играть все-таки придется. Но если код нашей "Резидент Ивел - 4" юзает API операционки, может быть можно с ней как-то взаимодействовать, оставаясь при этом в игре? Может можно как-то отловить команды, относящиеся не к игре, а к операционке, по какому-нибудь качеству?
...Мне всеж вернули комп...Предлагаю для начала упростить задачу, вернемся к нашим баранам,пардон,людям...И так мы решили, что у нас есть некий средний чел,есть окружающие его события,есть его реакция на данное событие и результат как реакция его окружения...Теперь один момент: движение чела по жизни скорее вероятностное,чем последовательное,т.е. если данный чел, например проспал на работу, то он не будет завтракать,а если не проспал то будет,следовательно вероятность его завтрака 1/2.Тогда мы имеем две ветки развития его пути по жизни,мало того чел,может забить на "прийти во время" и тогда появиться 3 ветка развития.Каждая ветка имеет свой событийный ряд,здесь точно сходящийся,поскольку рано или поздно чел порадует начальство работоспособностью.Итак в итоге мы имеем,что любой выбор чела сводиться к тому,что он может и чего не может и это уже хорошо поскольку существует система уравнений описывающая его движение.Но все же надо определиться с тем какие параметры для нас важны в данном случае,а какие нет.Иначе говаря в принципе для нас в данном случае не важно поест чел или нет,поскольку этот событийный ряд ведет к одному итогу.Зато,если его погонят с работы,то это уже будет другой поток событий,вероятность которого ровна 1/2.И не где не сказано,что данные потоки не являються сходящимися,иначе говоря приводящими к одному итогу.Все это я написала только для того,чтобы пояснить свою мысль о необходимости с определением входящих параметров системы.Уравнения для решения задачи,как я сказала на данный момент имеються.Говоря на данный момет я имею ввиду то, что определившись с параметрами мы можем прийти к выводу,что эти уравнения нам не подходят, впрочем уравнения как раз не проблема,благо их уже напридумывали море...И да при удачном итоге, мы действительно сможем влиять на определения нами желаемого для нас потока событий... what? 
Интерестн тема. Помоему искать здесь железо бесполезно... это как тут говорили есть чисто программа, точнее набор программ. Мне это больше напоминает матрицу. Как то раз я решил посмотреть на энерго центры человека, и они мне представились в виде програмных кодов со своей системой защиты и со своими брешами. Потом я неоднократно так видел мир. Это ооочень похоже на матрицу. Вот идёшь по улице, видишь человек у него как обязательное задание какое то, видишь светофор, это программа закона... И везде все переплетается... Чтоб получить доступ к правам админа нам надо - закрыть свой ип, и хакнуть систему. Чтобы хакнуть систему надо её найти... А вот где она находится?)
Vitalika, у меня другое мнение на этот счет. Если смотреть на Вселенную механистически, то она представляется в виде закрытой системы, где все действия строго последовательны, так как подчиняются законам причинно-следственной связи, и любые одинаковые действия ведут к одинаковым результатам. По крайней мере мне так представляется механистический взгляд Smiley И никакой вероятности тут места я не вижу. Но что-то во мне противится такому подходу, так как в него не вписывается осознание, оно не имеет в нем смысла. Соответственно мне кажется, что фактор случайности на самом деле есть вмешательство осознания, которое может выступить инициатором изменения в причинно-следственной цепочке, причем то осознание не только человеческое, или человеческого уровня, но о, так сказать, более высоких уровней. Те же самые правила Орла, выраженные, в частности, в законах, использованных в ПМ, вполне могут быть проявлением осознания Орла.

Если это так, то переключения потока исполнения вполне могут быть теми дырками, где мы можем поймать действия осознания уровня, высшего чем наш.
Кул, я с тобой согласен, насчет цикла и разнообразия процесса, но причем здесь пример Масяни с петухом?
Откапал таки свою тетрадку по гейм-дизайну  *crazy*

Зырю в раздел - Gameplay

обязательные составляющие без которых нет игры:

Вызов (Challenge).
Конфликт (Conflict).
Интерактивность (Interactivity).
Выборы (Choices).
Обратная связь (Feedback).

Если подумать все пункты присутствуют в ежедневной петле.
Обычно работа над созданием игры ведётся в форме вопросов к самому себе.

Интересные замечания по пунктам:

Вызов :
Акцент на вызов, а не на цель.
Правила вызова понятны игроку
Отсутствуют лазейки позволяющие избежать вызов.  Grin

Интересные замечания по Интерактивности:

Глубина интерактивности
Какие взаимодействия и за счет чего возникают в игре?
Какие задачи преследует каждое из этих взаимодействий?
С какой точностью игрок может предсказать результат взаимодействий?
Как игра анализирует взаимодействия?
Как игра выражает свою реакцию на взаимодействия?
Какая степень интерактивности необходима?

По мимо глобальных условий для геймплея существуют условия для дизайна уровней.

Для организации прохождения уровня нам следует удилить внимание:

 Ритму игры.

Одно ключевое событие на уровень.
«драматические» паузы перед ключевыми точками уровня.

 Так же существует метод «непрямых» подсказок игроку – одно из действенных средств увлечь игрока и дать ему ощущение собственной «догадливости».

Уровень - это пространство в котором игрок принимает решения, а следовательно дизайн должен предоставлять саму возможность принятия решений.

 При прохождении уровня мы сталкиваемся с "деревом решений" которое создаётся методом динамического програмирования (метод Беллмана)
 
Вот по "дереву решений" интересно.
Завтра обязательно отсканирую для обсуждения.




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

Видимо кто-то примотал ево палетс к пробельной клавише. В этом случае можно попробовать краешком носу дотянуться до тильды ` для вызову консоле. А клавиатура у нас это число степеней свободы в 104 клавиши.
В этом случае можно попробовать краешком носу дотянуться до тильды ` для вызову консоле.

это будет остановкой мира типа.

Интересно, а создатель игры предполагал, что сам будет в эту игру играть? если да, то должно сущуествовать, что-нибудь типа IDDQD или IDKFA?
Хотя мну интересно каким образом, мы жмем пробельную кнопку в игре? Ведь без этого нельзя будет научится жать на что-нибудь другое.
IDDQD = "Правило Нагваля".
Положим, жизнь - это текстовая история. Тогда выклеввывание зернышек курой - это "чтение в столбик", а не по строчкам.
Можно читать не только в столбик, но и по первым буквам, по четным словам и т.п. Каким именно способом читать? Судя по "зернышкам" - можно читать любым способом. Точнее, наверное, не совсем любым...
Если в контексте обсуждения сосредаточить внимание на Интерактивности (программа обменивается сигналами с игроком)
и Обратной связи (Положительная обратная связь - положительное подкрепление,Отрицательная обратная связь - отрицательное подкрепление)?

Программа типа "знает" все модели поведения игрока. Возможно "пасхальным яйцом" может быть скрытая форма интерактивности. То есть есть определённый набор действий как бы не обязательный для чистого прохождения уровня но открывающий бонус который сокращает путь к цели.
 Игрок находит скрытый путь или производит определённый набор действий и система отвечает ему.
Получается что в реале мы можем сосредоточится на поиске таких "нычек" . У нас есть бинарный код (который всегда работает)который можно прикрутить к любой форме интерактивности.
 


если программа предназначена нас увлечь, чтоб мы жали одну и туже кнопку, и если нам что-то надоедает и мы не так активно рубимся, то прога начнет подсовывать новые сценарии Smiley
Ну вот появился хоть какой-то контроль Wink

Набор сценариев (уровней, гекс) развития игры ограничен, мало того определив текущий сценарий, можно предсказывать действия игры. Например, если прога не хочет нас угробить, то ближе к концу уровня, где стоит крутой босс, нам вручат BGF. Ну вот как облегчить прохождение понятно, но как отыскивать читерские коды?

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

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


Кул, а нельзя ли этот оракул заюзать как индикатор смены уровня, т.е. поменялось значание в оракуле, ищем лазейку в уровне?

З.Ы.
Может скинешь ссылку, на то что не для средних умов.
Ага, как правило, эксплоиты возникают при работе с триггерами если нарушена последовательность действий предусмотренных игрой, и чем сложней геймплей тем больше вероятность дырок.
 По идеи в любом отрезке игры-времени есть скрытый выбор\деление (глобальный и\или локальный), прога подталкивает на развилки используя вызов и фидбэки. Мы можем юзать интерактивность, и пробовать "перехватывать" контроль
эээ, то што мене извесно - на ангельском. хотя можно попробывать посмотреть по лейбницу, штото там было такое про ицзин. ну а лучче бы мася объеснила, она умеет это делать лучче всяких лейбницев Smiley и она не материца
блин, хорошо получается и все по местам становится. Если продолжить рассуждение, то жатие пробела - это растрачивание нами ЛС и энергии. Кроме того система будет пытаться выжать как можно больше из нас и ей наверняка пофиг будет как она добычу получит: то ли начальство очередной раз разнос утроит, то ли мы будем радоваться после выигрыша в лотерею. Поэтому если нам будет пофиг на разнос, то вероятность выпадения второго варианта увеличится.
Насчет и-цзын. Система получит максимум прибыли только в том случае если будем внутренне готовы к тому или иному ходу событий, в смысле, когда мы согласны играть по ее правилам. Допустим, возьмем и построим гексу путем "магического" подбрасывания монетки. Узнав значение гексы и проникнувшись "магическим" ритуалом ее получения,  наше я будет внутренне готово к такому развитию событий, независимо от наших желаний (в большинстве случаев). Ну раз мы готовы к игре, то на и подсунут нужный сценарий чтоб состричь побольше.
Отсюда, и постейший хак, в котором мы сами будем выбирать гексу, хотя тут есть сложность - "магический" ритуал.

З.Ы.
Кул, а какой раздел математики? у меня целый двд забит физматовскими книгами.
При работе с маятником медиумы часто общаются с духами. Для этого используется либо доска Уиджи (кто не знает, читайте статью Трофимова http://zhurnal.lib.ru/editors/t/trofimow_s_p/quija.shtml), либо карту сообщений - см. рисунок. Вот и нам для компьютерного оракула нужно что-то похожее.
red_warg, не совсем тебя понял по поводу гашей готовности к тому или иному ходу событий. В принципе, если я готов к чему-то, то результат не вызовет у меня больших эмоций, так что мне кажется, что прога как раз попробует подсунуть какой-нибудь нестандартный вариант. Я, кстати, часто сталкивался с таким в программерской практике - вроде дофига уже разных ситуаций разрешил практических - а поди ж ты, время от времени всплывают новые, которые хрен знает как разрешить.

Мне кажется, что можно осознанно давить на пробел в определенных ситуациях, и тогда программа будет давать таким сюжетам приоритет. Типа, например, усиленно радоваться или огорчаться в нужных местах Smiley

Как у тебя там с прогой, перехватывающей вызовы? Wink

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

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

Про внутреннюю готовность мне все равно не совсем понятно, почему в этом случае система получит максимальную прибыль. Ну да ладно, у меня в этой области знаний маловато, больше предположений, так что спорить не буду.
По поводу оракула.
Мну не хакер и с ассемблером тока начал разбираться. А задание больше на написание вируса похоже Smiley Чтоб не сильно затягивать пока пробную версию написал. Нашел исходник, который считает количество тактов процессора и при собачил к нему хитрый цикл, который грузит проц, меряя разницу между количеством тактов до и после цикла получаем число, а по числу вычисляем букву. На моем Duron 1400 цикл прога крутится около минуты. Ничего связного комп не сказал, пока, но местами слова разобрать можно.
Для большей чистоты эксперимента советую запускать сперва фильм какой или музыку, чтоб процессор грузили и другие программы.
Мне так видится что духи ждут как бы пароль шоп выдать отзыв. Паролем может стать любая система имеющая двоичный код?!И судя по всему дело не в языке а в состоянии сознания медиума. ТИпа сосуд надо подготовить шоп в него кто-то вошёл.
Бинго!
Все прорицатели сталкиваются с этой белибердой в начале практики. Сообщения поступают путано, как будто дешифратор нужен. Но затем происходит настройка канала - то ли на том конце канала связи, то ли на этом что-то меняется, и сообщения становятся осмысленными. Почему нужен медиум - его способность подстраиваться ускоряет процесс настройки канала. Короче нужен "переменный резистор, конденсатор или катушка индуктивности" для настройки канала.

Можно ли такой элемент заложить в программе оракула?
Короче нужен "переменный резистор, конденсатор или катушка индуктивности" для настройки канала.

Можно ли такой элемент заложить в программе оракула?

Если прграммно, то можно, вопрос в том что и как изменять. Над этим я пока подумаю.
Вот такая модификация созрела: буквы не в цикле выбивать, а самому пользователю щелкать. Алгоритм пока не самый удачный, но работает.
Я нашел одну ошибку, вот новая версия.
Заметил что букв "а" много слишком, отследил где лопухнулся и исправил. Как результат начали появляться и дополнительные  знаки. Для тех кому лень щелкать, то после первого щелчка можно жать ENTER/
red_warg, заметил такую вещь. Если все время жать ENTER, то примерно после появления первого пробела текст начинает дополняться не справа, а где-то из середины, примерно с начала последней строчки в текстовом окне, но не всегда оттуда.
nick, да есть такой глюк, исправлен. Плюс, еще один нашел,  вот исправленная версия. Огромное спасибо за тестирование, а то когда сам прогу тестишь как-то ошибки не сильно лезут.
red_warg, да уж, глаз сильно замыливается когда программишь Smiley Сейчас вроде нормально стало. Было бы еще круто если бы тексты в интерфейсе под нерусской локалью по-русски были написаны, а то сейчас вопросиками, но это актуально когда больше одной кнопки будет. Может по-английски интерфейс оформлять, кстати?

Интересно как заимплементить настройку канала... Я вот думал о том, чтобы взять кусок текста и искать в нем слова из русского словаря, и, если не находятся, изменять таблицу перекодировки, например сдвигать индексы букв на 1, и снова тестировать. Но что-то мне этот способ не очень нравится. Помимо бесконечного цикла (что решаемо), тут есть какая-то однобокость.
nick, если читал ту статью про магические доски, ссылку на которую дала Мася, то последний выложенный вариант имеет очень похожий принцип. Т.е.выдаваемый результат напрямую зависит от оператора и тут программый резистор не нужен, по-моему.
В первом выложенном варианте дела обстоят иначе - человеческий фактор отсутствует, и вот здесь уже нужна подстройка. Только вот проблема, я практически не знаком с тематикой о медиумах, поэтому что именно изменять для настройки не представляю.
Тут еще вот что, так уж сложилось, что получилось два направления развития программы. Чтоб не путаться, направление где выполняется "человеконезависимый" алгоритм, будем обзывать А. А то направление где прога требует щелканья мышкой, направление - Б.
Я не сильно замудрил?
red_warg,ты можешь попробовать объединить А и Б.Прописать прогу на А и потом добавить к ней шаблон Б.Только делать это надо внимательно и остоорожно,чтобы все параметры и там и там совпадали,а тестить по частям их общую деятельность вылавливая глюки несовместимости произошедшие от невнимательности при добавление шаблона Б.
Vitalika, объединить эти два проекта вопрос пары часов максимум. Но мне вдруг стало интересно какое направление даст лучший результат. Да и пока не разрешаться непонятки с тем, как в программе реализовать в программе элемент для настройки, смыслу в объединении мну пока не видит.
Мася, плиз, намекни каким должен быть элемент для воздействия (конкретики не нужно только свойства какие-нибудь важные), а то глаза разбегаются от возможных вариантов.
red_warg, мне кажется участие человека может быть разным, и не обязательно это прямое действие. Вот в масином примере Винчи и его товарищи записывали символы, в которые лектор попадал указкой. Они же его наверное к этому не побуждали. Если да, то наверное участием человека можно считать сам момент вовлеченности в процесс.
А у меня почему-то возникла ассоциация с "Проектом Р". Особенно после упоминания "магической таблички" и упоминании "настройки". Чел идёт по городу, и ключевые моменты соответствуют определённым картам. Чем не "текстовой листинг" ежедневной программы? А результат её выполнения - определённый отклик сигнала. Но в какой-то момент маршрут меняется. Изменяется "листинг" программы. И отклик идёт другой. В итоге варьируя эти изменения, вносимые в "запрограммированный" ежедневный маршрут можно добиться... чего? Отсуствия отклика или нужного отклика? Первое вполне может соответствовать состоянию ОВД, а второе - какому-то "озарению", нужной "настройке".
что-то получилось. программа перехватывает действия с окнами, вроде активации изменения размера, закрытия, выдавая символы в зависимости от действия и текста окна.
Проблема - слабая формула для символов(возможно будут повторятся при одних и тех же действиях). Плюс - свобода действий юзера.
К слову, антивирусы могут быть против, ибо внедряется dll, система полететь не должна =), на winxp не улетала.
Буду думать над улучшением. red_warg, если интересно могу послать исходники.
что-то получилось. программа перехватывает действия с окнами, вроде активации изменения размера, закрытия, выдавая символы в зависимости от действия и текста окна.
Проблема - слабая формула для символов(возможно будут повторятся при одних и тех же действиях). Плюс - свобода действий юзера.
К слову, антивирусы могут быть против, ибо внедряется dll, система полететь не должна =), на winxp не улетала.
Буду думать над улучшением. red_warg, если интересно могу послать исходники.

Я тож сперва хотел что-нибудь похожее организовать, но как-то сложно показалось, а ты ,Ligth, молодец. Ты случаем не с delphikingdom.ru взял инфу для реализации?

Относительно настройки канала вспомнилось следующее...
Для канала передачи данных требуется:
-Источник сигнала
-Приемник сигнала
-Протокол передачи данных, который кодирует и декодирует данные.
Отсюда, следующая идея. Источник(комп) и приемник(человек) у нас есть, а вот протокол передачи данных отсутствует как таковой. Для организации протокола нужно ввести правила передачи инфы по каналу, но как объяснить правила передачи компьютеру?
Определенный ответ на определенные действия - наш срез потока, главное, чтобы петух не задумался о том, чтобы с точностью до милиметра повторить последовательность действий. но в этом случае нужно просто перемешать буквы. Как вариант вести отсчет от рандомного числа при каждом запуске программы.
Ligth, рандом это детерминированная функция, которая выдает числа из нужного дипазона с заданной плотностью распределения, поэтому рандомная функция будет выдавать одни и те же значения при одинаковых исходных данных, просто программисты хитро подбирают исходные данные из текущего времени. И вообще случайные числа, генерируемые стандартными функциями, чистой воды математика, без всякой магии.
и поэтому мы вводим сюда действия юзверя, которые управляются орлом, чтобы добавить каплю магии=)
Чем-то мне это напоминает гадание на картах.
А еще вариант: берем dzen.yandex.ru и с каждого запроса выписываем одно слово. Потом читаем текст.
чуствую, пошли мы не в ту степь....
Мася просила
И теперь вопрос: а можно ли написать программу, которая фиксировала бы некие элементы обращений процессора к обычным программам компьютера, затем наделяла эти обращения буквенной кодировкой и затем выдавала на экран текст сообщения? 

Как я понимаю, вмешательство нас с вами в этот процесс довольно косвенно. Насчет настройки, по идее, здесь можно только менять соответствие кода=символу, но прикинте только для букв русского языка это будет 33! вариантов.
как я понимаю, чтобы контролировать процесс обращения процессора(а скорее системы) к программам необходимо лезть в нулевое кольцо и тп. Либо как вариант на линуксе пееркомпилировать ядро с учетом наших потребностей(с этим я мало знаком, к сожаленью). К тому же я просто сомневаюсь, что это может дать что-то интересное. Как процессор выбриает какой процесс выполнять? По приоритету, а в группе по очереди? Почему именно обращения процессора нас интересуют? нам же петух нужен, а процессор скорее травай на рельсах.
Представь, процессы - это зерна. Процессор - петух, который хочет склевать эти зерна, у него есть опредленная свобода действий и внутренняя логика для выбора (очереди и приоритеты процессов довольно сложная штука), и фактически он ничем не отличается от петуха живого.

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

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


Слово за слово. И он рассказал мне о древнем искусстве прорицания будущих событий с помощью птиц - обычно петушков. Маги рисовали на земле круг, по периметру расставлялись буквы, на каждую букву ложилось зернышно. Затем выпускали петушка и записывали буквы, с которых он склевывал зерна.
И теперь вопрос: а можно ли написать программу, которая фиксировала бы некие элементы обращений процессора к обычным программам компьютера, затем наделяла эти обращения буквенной кодировкой и затем выдавала на экран текст сообщения?


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

Обычно эти "коды сохранения" неизвестны, хотя и зашиты в игре. Может быть, нам и нужно как-то получить доступ к этим "кодам"? Храняшимся в определённых блоках программы, отвечающих за "точки сохранения". Пусть мы даже не создавали таких точек сами - но коды-то есть! Изначально! Они были УЖЕ прописаны в программе, И, зная их ВСЕ, можно легко "прыгать" по программе. По игре. Переходя в любую точку игры. В любую точку "жизненного пути".

И в итоге получается, что упомянутая "Резидент Эвил" - просто обычная игра-"симка". Симулятор реала. В которой в определённых местах прописаны точки "выбора". А также есть точки входа, где выбор делать не нужно. Но все эти "точки входа" имеют "коды доступа" из определённого набора знаков. Зная которые, мы можем путешествовать по своей "симке" так, как хотим МЫ. А не тот, кто заложил в нас этот листинг и стал ждать, какой же вариант из мультиэндинга выберет на этот раз юзер.

Может быть, именно ЭТО и искали маги, выпуская "петушков"? И именно это и даст пресловутая программа, разрабатываемая здесь?
злоебучие петушки таким образом щелкале клювом не просто абы с рук долой иле там где ближе зернышко! они отбирале наиболее свежие и фкусные зернышки, которые раскидали маги руководимые нивидимой силой синхронности. петушок таким образом усилил ее защет тово што у энтова подлеца внутренний диалог выключен, и сила махом фключила контроль над ево чувством голода Smiley
То есть, кул, ты рекомендуешь, сперва разбросать зернышки, а потом заставить комп клевать их? Спасибо, за идею.
отнюдь нах! йа хочу сказадь шо модель которую вы заложили какайата куцая суко. как-то она не хороктерно для перса жевущево в 21 веки и учившевося в школи. в модели отсутствуед главный момент - какую роль во всем энтом дели играет время и место, какую сознание петушков и прочее. придеца плять рыть свой архив и найти вам точный разъеснение оп и-цзин.

а шоп вы не заскучале пока - почетайти вот пятую лекцию, заценити возможности своево мозга и постарайтесь подвезаться на энтом поприще соответсвующе.
Генерировать буквы методом случайных чисел - не самая лучшая идея. Либо нужно быть очень крутым магом, чтобы сгенерировать таким способом осмысленные фразы (говорят, что тысяча макак за пишущей машинкой - теоретически могут написать сонет Шекспира).
 
Имхо, лучше взять за основу какую-нибудь готовую таблицу мироописания. Скажем, орфографический словарь (Библию, Коран, кулинарную книгу и т.п.).
Случайным образом выбираем первую букву, затем вторую, третью - но уже в пределах тех слов, которые содержит данный словарь (таблица мироописания).
Алгоритм выборки - может быть любой. Смысл в том, чтобы уже первое склёванное зёрнышко - определяло общий контур искомого, а последующие - уточняли и детализировали его (типа, фрактальность и всё такое).
а по мне так эта прога "ProjecO.exe" не плохо работает. Как edition 1 вполне хороша. Дальше это уже интерфейс, дизайн, примочки.
похоже йа маху дал, увлексе. сори
Генерировать буквы методом случайных чисел - не самая лучшая идея. Либо нужно быть очень крутым магом, чтобы сгенерировать таким способом осмысленные фразы (говорят, что тысяча макак за пишущей машинкой - теоретически могут написать сонет Шекспира).

Поэтому, прога и не использует вообще случайных чисел.


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

Вот, это уже интереснее, такие тексты можно использовать в качестве резистора для настройки. Может у кого есть упоминаемые книги в txt формате? Если есть, напишите в личку.
Пока в наличии есть книга перемен, попробую что-нибудь эдакое с ней соорудить.
Пока устроил ликбез для себя в области синхроничности, т.к. как реализовать некоторые вещи пока не понятно.
Вот интересное наблюдение: и прога Лайта, и моя написаны в среде разработки именуемой Дельфи, т.е. какбы эти проги, в натуре, дельфийские оракулы Wink
А можно ещё взять за основу координаты при клике мышкой в разные области экрана. Тут чисто человеческий фактор ) А если ещё на клаву посадить живого петуха - то чисто птичий ) Вот только построить матрицу символов размерностью равной какому-нибудь разрешению экрана я не представляю как. Т.е. как построить преобразователь случайного элемента в символ или слово? Сделать это случайным образом - по-моему не лучшая идея... Да и в других реализациях кажется та же проблема Sad Случайный фактор (петушка) получить нетрудно, а преобразовать правильно едва ли вообще возможно программно.
А можно ещё взять за основу координаты при клике мышкой в разные области экрана. Тут чисто человеческий фактор ) А если ещё на клаву посадить живого петуха - то чисто птичий ) Вот только построить матрицу символов размерностью равной какому-нибудь разрешению экрана я не представляю как. Т.е. как построить преобразователь случайного элемента в символ или слово? Сделать это случайным образом - по-моему не лучшая идея... Да и в других реализациях кажется та же проблема Sad Случайный фактор (петушка) получить нетрудно, а преобразовать правильно едва ли вообще возможно программно.

Фигня.
Перехват движений мыши конечно реализовать можно да и составить таблицу интерпретаций не так уж проблемно, только  ты, наверное, никогда в жизни не гамался, иначе бы знал что мышу можно контролировать с точностью до пикселя.
eugene20237, ты наверно не читал, то что написано в теме. Нам никаких случайных факторов не нужно, нам как раз нужен особый "неслучайный" фактор, который нужно откуда-то выжать. И никаких проблем с преобразованием результата тоже нет, проблема в том чтобы уговорить мир сыграть с нами в эту игру.
>> Нам никаких случайных факторов не нужно, нам как раз нужен особый "неслучайный" фактор, который нужно откуда-то выжать.
Координаты мышки - как раз такой фактор, разве нет? Аналогично преподу с доской и масиного примера.

>> И никаких проблем с преобразованием результата тоже нет, проблема в том чтобы уговорить мир сыграть с нами в эту игру.
Ну а собственно какая разница как выражаться? Если не получаются осмысленные выражения, то преобразование выбрано неправильно.

>> Перехват движений мыши конечно реализовать можно да и составить таблицу интерпретаций не так уж проблемно, только  ты, наверное, никогда в жизни не гамался, иначе бы знал что мышу можно контролировать с точностью до пикселя.
А причём тут точность до пикселя? Зачем перехватывать движения? Я предлагал считывать координаты в произвольные моменты времени. Пришла идея когда гамался в стратежку...
Координаты мышки - как раз такой фактор, разве нет? Аналогично преподу с доской и масиного примера.

Мы можем контролировать этот фактор, именно по этому и было сказано про контроль мышки.
Ну а собственно какая разница как выражаться? Если не получаются осмысленные выражения, то преобразование выбрано неправильно.

А вот тут можно поспорить. Если ты возьмешь книгу на незнакомом тебе языке ты тоже скажешь преобразование не правильное?

Я предлагал считывать координаты в произвольные моменты времени.


Произвольные? Ну по конкретней, мну кажется ты хотел сказать случайные.
И пожалуйста, объясни в чем принципиальная разница того что предлагаешь ты, от того чтоб щелкать мышкой по кнопке
Мы можем контролировать положение указателя, но не нужно пытаться контролировать его. Можно просто играть во что-нибудь, например.

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

>> Произвольные? Ну по конкретней, мну кажется ты хотел сказать случайные.
А какая разница? Это всего лишь слова.

>> И пожалуйста, объясни в чем принципиальная разница того что предлагаешь ты, от того чтоб щелкать мышкой по кнопке.
Принципиальной разницы нет между любыми способами получения исходных данных. Будь то петушок, преподаватель у доски, сообщения операционной системы, команды процессора, время между кликами мышкой, положение указателя. Я предложил простое преобразование из координат в символ. Нужно только задать таблицу символов (символы для всех точек экрана). Эта таблица и есть преобразование, и её неизвестно как построить. Точнее я не могу понять как. Ещё возможно, что преобразование может быть любым, а результат зависит от человека, который всё это тестирует. У одного получаться ответы на вопросы, а у другого белеберда.
char c = 'а' + (mouse_x + mouse_y) mod 33
Это и есть преобразование "от балды". Как я уже сказал, результат может быть разным для разных людей. Может у кого большое намерение получить ответ, его и получит )
eugene20237, ты, наверно, просто хочешь пофлудить? чем тебе не нравится преобразование Ifxor? Ты хоть тему, о которой говоришь, понимаешь?
Проблема не в интерпретации результата, а в получении. Я пока не до конца понял юнговскую синхроничность, но в том алгоритме, который мной был написан, есть приличный пробел. Думаю, что через пару тройку дней придумаю что-нибудь поприличней.
Я уже писал чем не нравится преобразование. Таких преобразований можно придумать бесконечное множество. Почему именно это выбираем?
На флудовые сообщения отвечать не буду.
Программа периодически опрашивает координаты мышки и преобразоввывает в текст. Для запуска необходим .net runtime.
по поводу синхронистичности. в Седьмой Печати есть упоминание о так называемом "методе нарезки" (cut-up technique), котрый с успехом применяли Берроуз, Гайсин и другие гениальные творцы, оказавшие влияние на целые поколения.

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

в процессе поиска практических методов этого дела, наткнулся на так называемую дрим-машину


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

По поводу запросов к оракулу - ежели применить все аналогии с петушками и т.д., то можно предположить, что должно быть: некий массив информации уже имеющийся, запрос (передвижение мышкой и т.п. то есть от пользователя), "петушок" который отфильтрует из массива информации согласно фильтру (запрос пользователя). Получится прямая аналогия с гадательными функциями (1 (массив) круг с буквами, 2 (запрос) маг раскладывающий зёрна, 3 (фильтрация) петушок.
Обработку запроса пользователя, для пущего соответствия можно закрутить, например, на числа Фибоначчи...
П.С. программа * oracl.rar (157.61 Кб - загружено 9 раз.) категорически не работает под моей XP Pro x64 ))
Rizoen поставь .NET Runtime Framework
Стоит. И  orax.rar (3.71 Кб - загружено 7 раз.) работает нормально.
И вот в догонку:
One of the most fascinating aspects of the ancient art of Quabalism is the intrinsic functional possibility to take a word in any language, and on hearing it spoken, then to convert it to whichever matrix suits the form being practised, and then to be able to discern its meanings - without any previous knowledge of that language.

It is detective work of the highest order: the travel through a symbol originated independently of the traveller, involving the integration and orientation of that person in uncharted territory by recourse to their own capabilities, and more importantly, intuition.

Отсюда: http://www.brainwashed.com/h3o/dreamachine/booklet.html#back
А можно сделать чтобы в orax были только русские буквы? и увеличить вероятность часто встречаемых букв? Также можно оставить только большие буквы. И еще одна фишка - выходит что прога пишет по арабски) т.к. первая буква у нас оказывается справа. и текст нужн очитать справа на лево. Но мы же не арабы Smiley
Вот. :нуну:
Запустив прогу вы увидите внизу три бегунка. ВНИМАНИЕ, значение ВТОРОГО бегунка должно быть МЕНЬШЕ ИЛИ РАВНО ПЕРВОМУ бегунку.
Третий бегунок регулирует мощность пустого цикла для загрузки процессора. Двигайте бегунки осторожно, т.к. комп легко подвесить этой прогой. Если что-то не нравиться жмем Ctrl+Alt+Delete и убиваем процесс в диспечере задач. Кроме того эту прогу может блокировать брандмауэр или антивирус.
Приятной работы  *crazy*

Принцип работы следующий:
Берется "хитрая" последовательность символов, смотриться количество букв, которые совпадают, если совпадений нужное количество, берем букву, иначе берем следующую "хитрую" последовательность. Плюс, во время работы выполняется пустой цикл для большей запутанности ситуации.
"В Санкт-Петербурге, в единственном в России Музее сновидений имени Зигмунда Фрейда впервые демонстрируется машина сна. В полумраке музейного зала в огромных витринах инсталляции на тему «сонных» образов Фрейда: силуэты Исиды и Афины, Сфинкс с немигающим взглядом, мудрый белый Павиан Тота – символ гармонии чувств и интеллекта. В центре, на постаменте – машина сна. Мерцающий медный валик с прорезями, довольно медленно, со скоростью до 70 оборотов в минуту, вращается вокруг оси. Валик этот небольшой, около 40 сантиметров в диаметре, изнутри сияет свет.

«На первый взгляд ничего особенного, – пояснил «НИ» директор музея, психолог Виктор Мазин. – Внутри валика просто лампочка на 200 ватт. Но скорость вращения рассчитана таким образом, что частота мерцания машины меняет частоту колебания мозговых волн и приближает человека к состоянию сновидения».

По словам Виктора Мазина, подходя к машине, кто-то видит фантасмагорические образы, картинки, а лично он испытывает заряд энергии и бодрости. «Я убежден, что действие машины сна безвредно для психики. Она просто меняет направление мыслей и развивает образное мышление, что очень важно для творческих людей». Впрочем, вопрос о безвредности машины спорный. Жена скандально известного музыканта Курта Кобейна Кортни Лав считала, что к самоубийству ее мужа подтолкнул фрейдистский механизм, которым музыкант увлекался…

Виктор Мазин привез машину сна в свой Музей сновидений из Берлина. Читая лекции в столице Германии, он познакомился с американским художником Дэвидом Вудардом – создателем машин сна. Об удивительном приборе мистер Вудард когда-то узнал от писателя Вильяма Берроуза. Тот рассказал, что такая машина была изобретена в 1959 году и с тех пор в кругах маргинальной интеллигенции пользовалась небывалым успехом. Как выяснилось, у писателя даже завалялись на чердаке старые чертежи такой машины. Дэвид Вудард, не долго думая, взял чертежи и изготовил из картона свою первую машину сна. Сегодня создание таких приборов – его хлеб. Фрейдистский механизм снова в моде. Если несколько лет тому назад машина сна стоила 500 долларов, то сегодня не менее 15 тыс. евро. Многие из таких машин выполнены из дорогих материалов, инкрустируются ценными породами дерева или драгоценными металлами. "
Вопрос не засыпку - у кого нибуть получилось хоть одно осмысленное слово от этих программ??
Upgrade
ВО! :great: теперь другое дело. можно и поэксперементировать с orax-ом!
а что такое Case, Digits, On Top, и Delay ? можно даже сделать мини инструкцию)

Кстати появилась идея. А что если на текст, который выдает прога накладывать типа шаблончик, выделить каждую вторую букву, каждую третью, четвертую. Или чтимость делать через выставленеи кода который будет повторяться. допустим= 1буква, через 2, через 4, опять через 2. Так ведь можно забить какой-нить ряд фибоначи what?
Альгис я я до этого невидимое сообщение про Фибоначчи писал??
Интерфейс вроде более чем интуитивно понятен - Case выключение разного регистра, Digits циферки, On Top всегда поверх окон, ну и Sybols введение любых символов, Right to Left по арабски.

lfxor, кстати можешь сделать чтобы можно было вводить символы  с несколькими знаками, тоесть например написать туда "да", "нет".
Дальнейший апгрейд не предполагается, пока сама идея не подтвердится практикой.
Альгис я я до этого невидимое сообщение про Фибоначчи писал??

Какое нах невидимое сообщение?
Обработку запроса пользователя, для пущего соответствия можно закрутить, например, на числа Фибоначчи...

Rizoen, ты видел надпись вверху, по-моему, там написано "Творческая мастерская ХС", ТВОРЧЕСКАЯ. Если тебе так охота числа фибоначи, попроси у lfxor исходники, ну или накрайняк я могу свои отдать, и сделай как считаешь правельным.
Биг ЧСВ, а никак нельзя подсмотреть Wink про этот метод нарезки? (Хоть кусочек, можно даже в личку)

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

З.Ы.
Возможно, в силу обстоятельств, я могу неправильно интерпретировать события, но с моей точки зрения (ох как я не люблю этот оборот) ситуация выглядит так:
Мася дала идею, возникло несколько реализаций, дальше нужно было сочинить катушку индуктивности или что-то подобное. Прошло 10 дней, и нифига... только куча незначащей информации в теме.
Обработку запроса пользователя, для пущего соответствия можно закрутить, например, на числа Фибоначчи...



Значит синхроним, я твой топ не читал.  Wink
Такое впечатление, что тема уходит куда-то в сторону создания "компьютерного оракула", о котором говорилось на 1й странице:
И теперь вопрос: а можно ли написать программу, которая фиксировала бы некие элементы обращений процессора к обычным программам компьютера, затем наделяла эти обращения буквенной кодировкой и затем выдавала на экран текст сообщения?

Но уходит как-то странно. Оракул берет количество тактов и далее делает какие-то действия. Но! Есть ли тут "отслеживание обращений процессора"? Другими словами, отслеживание того, что происходит в этот момент в самой программе. Какой запрос делает процессор в определённый момент, к какой программе? И в зависимости от этого уже присваивать какие-то буквы. Кстати, как мне кажется, весьма определённые - в зависимости от того, куда именно будет обращение. Но вот если отслеживать не все обращения, а только выбранные случайно, ну или по тем же числам тактов, то тут уже как раз и может получиться "нужный" набор символов.
Но вот что интересно. По крайней мере мне. Предположим, мы отследим эти самые обращения процессора к программам и получим набор символов? Но чем этот набор символов будет являться? what? Каким-то кодом для вхождения в определённое состояние, вызванное отловленной последовательностью обращений? Но, может быть, тогда нужно пойти с обратной стороны? Нам нужно достичь какого-то состояния (или перенестить в определённое место или время). В тексте программы это место уже существует, и переходу на него соответствует какой-то код. Но для достижения его необходимо выполнить ряд условий. Ряд действий. Которые связаны как раз с прохождением определённых точек программы. Другими словами, обращению к определённым блокам программ. Вопрос-то получается, как мне кажется, в другой плоскости! Как определить, какой точке программы соответствует какой знак! Но для "прошлых" событий мы ещё как-то можем это определить. Просто "окунувшись" в то, что было ранее. А для будущих событий? Или для тех веток программы, которые мы так и не прошли, которые остались в стороне? Видимо, тут может помочь какое-то подобие "кодов доступа" - тех, что известны, и тех, что пока ещё не известны или остались на "параллельных ветках" реальности. Поскольку количество знаков всё-таки ограничено. Что-то типа "медитации" над известным кодом, держа при этом в уме ситуацию, в которую хочешь попасть. Что-то типа "настройки" на нужный, но пока неизвестный код.
Кстати, этод "код вхождения" будет полностью соответствовать текущему состоянию "процессора", его комплексу обращений к определённым выполняемым программам в настоящий момент. Другими словами, комплексу символов, соответствущим комплексу обращений процессора ко вполне определённым программам, которые выполняются в данный момент. Так что зная эти символы, которые будут соответствовать обращениям процессора ко вполне определённым программам, "блокам" одной огромной игры, можно будет, комбинируя их, достичь нужного состояния. Места в пространстве. Или во времени.