Как стать автором
Обновить

Клонирование игры Lode Runner с первого ПК в СССР «БК-0010» плюс несколько слов о программировании игр в конце 80-х

Время на прочтение12 мин
Количество просмотров31K
Всего голосов 68: ↑67 и ↓1+66
Комментарии146

Комментарии 146

Лучшая игра того времени — King's Valley от Конами на MSX, на мой взгляд. А Тетрис сам запрограммировал, как увидел :)
King's Valley да хороша — я её когда-то проходил.

А Тетрис сам запрограммировал, как увидел :)

Одобряю :-)
А по какому алгоритму, фигурки в тетрисе вертели?

http://krushelnitsky.narod.ru/progs/kv/
здесь. лабиринты похожи на оригинал, но есть и новые. можно убить несколько часов, а то и день.
сайт зарекламлен, чистая ссылка на EXE для PC http://krushelnitsky.narod.ru/progs/kv/zip/sk_kings_valley_2k_1_00.zip

Запускается и работает. Надо будет поиграть… :-)
Станислава Крушельницкого, в свое время, портирование игр с БК очень сильно зацепило. Собственно, порт Load Runner-а у него тоже есть. Возможно вы о нем и говорили в соей статье. Также у него есть еще несколько игр с БК 0010:
Load Runner
Circler
King's Valley 2K
Mars
А все началось с того, что он увидел мой порт Boulder Dash с БК-шки, связался со мной и попросил помочь ему сделать аналогичную вещь с King's Valley.
Кстати, для портирования уровней 1 к 1 для этих игрушек мне тогда пришлось написать эмулятор БК, который и сейчас здравствует и продолжает поддерживаться.
Кстати, для портирования уровней 1 к 1 для этих игрушек мне тогда пришлось написать эмулятор БК, который и сейчас здравствует и продолжает поддерживаться.

Это, кстати, очень круто! У меня есть очень «задняя мысля» тоже когда-нибудь сделать эмулятор. Вроде бы как делать мне понятно, но работа не маленькая, так что пока руки не доходят.

Собственно, порт Load Runner-а у него тоже есть. Возможно вы о нем и говорили в соей статье.

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

А все началось с того, что он увидел мой порт Boulder Dash с БК-шки, связался со мной и попросил помочь ему сделать аналогичную вещь с King's Valley.

Я скачал ваш Boulder Dash. И действительно… вижу, что у вашей программы и у King's Valley похожее меню. Очевидно, что ваш совет помог Станиславу :-)
Вы извините меня, конечно, но игра-то называется Lode Runner.
Это я знаю достоверно, я с этой ошибкой уже больше 10 лет в интернете живу :)
:)) ну да, конечно, вы правы. Видимо это профессиональная деформация уже.
Молодец! С удовольствием поиграю.
Приятно слышать. Спасибо!
Получил огромное удовольствие от прочитанной статьи, видно настоящий энтузиазм!
Получил огромное удовольствие от прочитанной статьи, видно настоящий энтузиазм!

Благодарю за отзыв! Энтузиазм пока еще остался — это да. Не знаю, насколько меня хватит, но пока держусь :-)
Круто, спасибо за статью. Ух, как мила сердцу старая черно-белая пиксельная графика и как отвратно смотреть на весь этот современный мармелад в мобильных сторах :(
Круто, спасибо за статью.

Рад, что вам понравилось!

Ух, как мила сердцу старая черно-белая пиксельная графика и как отвратно смотреть на весь этот современный мармелад в мобильных сторах :(

Насчет мобилок я согласен — всё же это «попса» для выкачивания денег из подростков. Я вот насчет черно-белости… я не уверен, что оригинал был черно-белым. Просто почти у всех были черно-белые телевизоры :-) Цветные стоили очень дорого и у них всегда красный цвет пропадал в течение года, и в результате они показывали всё в зелено-синем цвете. По крайней мере, цветной вариант этого Lode Runner-а я точно видел, но… на БК-0010 цветность была подстать эпохе — 4 цвета на пиксель. Обычно это выглядело достаточно ядовито.
На БК0010 цветной режим (256 пикселов в строку) был аппартно одновременно с чернобелым (512 пикселов в строку), смотря к какому видеовыходу цепляться.
У БК два отдельных видеовыхода? Не знал…
два 5-штырьковых дин-порта: цветной и ч/б,
причём при несложной перепайки (через резисторы) цветного в черно/белый, можно добиться приятной (имхо) 4 градиетной ч/б графики на 256 пикселей на строку
Я просто всегда считал, что отдельный чб выход не сильно нужен, так как R, G, B можно объединить в один выход через резисторы. Результатом как раз и был этот чб выход. Хотя… БК-0010 был серийным компом, поэтому, наверное, сделали как фичу заранее.

Посмотрел. Вы молодец! Однако у всех ностальгия чуть разная… Я играл в Lode Runner на PC как раз в тот, где надо было стрелять по бокам, а провалившиеся в пол преследователи вмуровывались в пол и после этого появлялись в левом верхнем углу, что заметно меняло геймплей. Кстати, стрельба под себя, с моей точки зрения — "читерство" :) потому что позволяет тупо пробиться сквозь пол вниз. В оригинале приходилось снимать слой за слоем и делать лесенку, чтобы добраться до сокровищ, расположенных в толще. Это вносило дополнительный элемент головоломки. Вот в него то я бы поиграл, однако нигде не могу найти… :(

Поищите Lode Runner 2 от сиерры — оно было под винду, но уровни 1-в-1 ну и на old games вроде был оригинальный DOS овский…

Посмотрел. Вы молодец!

Спасибо!

Однако у всех ностальгия чуть разная…

С этим не поспоришь :-)

Кстати, стрельба под себя, с моей точки зрения — «читерство» :) потому что позволяет тупо пробиться сквозь пол вниз. В оригинале приходилось снимать слой за слоем и делать лесенку, чтобы добраться до сокровищ, расположенных в толще. Это вносило дополнительный элемент головоломки.

Я, думаю, что могу объяснить, почему на БК-0010 был реализован именно такой вариант. Дело в том, что там, по-моему мнению, просто ужасно была реализована работа клавиатуры. Нельзя было нажимать 2 кнопки одновременно. Сначала надо было обязательно отпустить первую, а потом уже нажать вторую, иначе вторая бы просто проигнорировалась. Эта, на мой взгляд, глупость существовала на аппаратном уровне, и отделаться от нее было невозможно. Поэтому, а предполагаю, что автор оригинала реализовал именно такой вариант. Но меня он вполне устраивает :-)
помню после BK-0010 во дворце пионеров на своем спектруме ( когда он появился ) запустил и некоторое время никак не мог понять — что, тут, собственно, происходит !? :)
На БК, на мой взгляд, гораздо интереснее вариант был :-)
я об этом и говорю :)
Мне тоже запомнилась версия от Sierra On-Line — в ней можно было прожигать пол, разливать липкий клей (мёд?) и анимация персонажей на то время (1998) казалась очень живой:

image

Lode Runner: The Legend Returns
Мне тоже запомнилась версия от Sierra On-Line

Определенно выглядит она значительно красивее, чем оригинал и то, что получилось у меня. Я её тоже видел и по скрину сразу вспоминается.
Почему в этой ситуации девочку не сожрали?
Почему в этой ситуации девочку не сожрали?

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

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

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


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

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

Теоретически, конечно, привидение вообще падать не должно :-)
В оригинале там человечки, а не приведения.
В оригинале там человечки, а не приведения.

Это, конечно, верно. Но игра просто должна быть игрой и реализм тут иногда бывает излишен. Например, всем известный Counter Strike… в человека попали из калашника, а он бегает себе как ни в чем не бывало с 3% жизни. Логично? Нет, но зато вполне играбильно.
В той версии, что на «Агатах» залипали в детстве мы — суммарная скорость монстров была чуть меньше скорости персонажа. Соотв. если на уровне монстр был один — то это был практически другой уровень, чем если их там было пять — полностью другие тактика и стратегия прохождения, от него убежать очень трудно, но зато он не окружает и почти не срезает.
И да — редактор уровней был в комплекте игры с самого первого оригинального исходника всегда на всех платформах, куда он был боль-менее прилично портирован.

Вообще алгоритм поведения монстров — очень разный на всех платформах что встречал — что очень сильно меняет игру даже на тех же уровнях. Ну и (не)возможность поставить на паузу.
Эххх «где мои 15лет»…
Добавлю, что некоторые уровни и без монстров очень непросты — и годятся как весьма неплохие головоломки.
В той версии, что на «Агатах» залипали в детстве мы

Агат не видел, к сожалению.

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

Естественно. Там от игры одно название остается.

Ну и (не)возможность поставить на паузу. Эххх «где мои 15лет»…

Save/Load — вот что делает игру по настоящему простой :-)
Агат — это немного изувеченный Apple ][ с дисководом. Со всеми вытекающими…
Ну, я и Apple 2 тоже не видел :-) Но он был очень успешный, насколько мне известно.
НЛО прилетело и опубликовало эту надпись здесь
Это бага или фича — когда под собой копаешь, то не падаешь в эту яму?

Это геймплей. Именно так работает оригинал и я, естественно, сделал также. Согласен, что выглядит странновато, но все оригинальные лабиринты заточены именно под этот вариант. К слову говоря, у меня в отличии от оригинала можно резко поменять направление движения на противоположное — я посчитал, что это удобно и не сильно портит правила игры. Но для ситуаций, когда под девочкой пустота я специально отключил эту возможность, т.е. мельтешить вправо-влево в этом случае не получится.
Во-первых, весьма круто! :)
Я в одно время тоже занимался воссозданием на ПК игры с другой платформы (чтобы человек, который любит эту игру, освободил девайс от регулярных баталий длительностью в пол-дня) — так что могу понять, как иногда сложно воспроизвести действия AI, анализируя их шаблоны поведения «на глазок».
А, во-вторых, Вы случайно написали заново Qt :) Он как раз и рождён с задумкой, чтобы дать программисту возможность натыкать кнопочек без забот, как внутри оно реализуется средствами платформы :)
По сути, весь этот кроссплатформенный интерфейс с лёгкостью и долей удовольствия в пол-пинка делается с использованием Qt, а потом также в пол-пинка собирается и везде работает одинаково. Осваивается Qt на уровне «сделать интерфейс» за пару недель не очень активного копания, удобен, вредных привычек не вырабатывает. Как сказал один товарищ, «жизнь слишком коротка, чтобы писать велосипеды».
В третьих, немного удивительный способ рисования содержимого экрана. Можно и так, конечно, но… почему именно так? В объектной парадигме оно нынче как-то привычнее (и, после того, как я попробовал оба варианта, то, ИМХО, удобнее).
Во-первых, весьма круто! :)

Спасибо на добром слове!

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

Да уж… приходится повозиться :-)

А, во-вторых, Вы случайно написали заново Qt :) Он как раз и рождён с задумкой, чтобы дать программисту возможность натыкать кнопочек без забот, как внутри оно реализуется средствами платформы :)

Честно говоря, я этот Qt в глаза не видел :-) Я предполагал, что смысл там примерно как у меня, но, думаю, что у них всё гораздо более продвинуто. У меня же это пока на уровне «самопользования», хотя… работает и это уже хорошо. Возможно, что со временем я проработаю свой GUI более детально, так как потенциал в нем, на мой взгляд, имеется. По крайней мере, с нуля я бы с этой игрой возился гораздо дольше.

Как сказал один товарищ, «жизнь слишком коротка, чтобы писать велосипеды».

Это понятно, но в моем случае я писал свою оболочку для вот этой игры. И мне был нужен именно свой вариант, так требовался полный контроль. Там к тому же графика 16-битная и всё работает под это. В результате я сделал всё сам, так как присутствовало слишком много тонкостей, включая визуализацию спрайтов ассемблером. А сейчас… ну, просто эта штука у меня уже есть. И мне с ней куда приятнее, чем с Qt, так как она «моя родная» :-)
У БК0010 не было проблем с ассемблером. Просто архитектура PDP-11 позволяла очень удобно прграммировать сразу в машинных кодах.
У БК0010 не было проблем с ассемблером. Просто архитектура PDP-11 позволяла очень удобно прграммировать сразу в машинных кодах.

Если вы программировали на БК-0010, то вам, конечно, виднее. Я тут теоретик. Программировал на процессорах КР580ВА80 и Z-80. Но, честно говоря, брать чистые коды против ассемблера я бы не стал. Хотя… может быть тут дело вкуса и привычки.
Но, честно говоря, брать чистые коды против ассемблера я бы не стал.
Понятно что ассемблер удобнее. Но для PDP-11 действительно несложно писать в кодах. Сложение — 06, вычитание — 16, чего тут сложного? Если писать в восьмеричной системе — всё очень просто.

Но вот кстати не думаю, что у автора оригинального Lode Runner-а были какие-то сильно отличающиеся от моих возможности — тут вы глубооооко ошибаетесь. Свой знаменитый BASIC Билл Гейтс с Алленом писали на PDP-10, а оригинальный Lode Runner — на Prime Computer 550 и VAX'е и использовались для этого вполне (по тем временам) современные FORTRAN и PASCAL.

Да, были умельцы, которые всё делали на персоналках (тот же Мекнер), но я думаю лет через 30-40 люди будут программировать разговаривая со своим телефоном и тоже будут офигевать от того, как можно что-то было сделать на телефонах начала нулевых, когда какой-нибудь Mobile C даже системы сборки приличной не умеет. Здесь — то же самое. Все почему-то считают, что игры начались где-то в 70е с примитивнейшего Pongа в 70е. Да нифига подобного! Посмотрите на Spacewar! — одну из популярйнеших игр 60х! Люди летали по реальному оцифрванному звездному небу до того, как большинство здешних посетителей родились. А потом — потом был регресс с переходом на миникомпьютеры и ещё раз — при мереходе на персоналки и приставки… скоро мы переживём очередной раз подобное с переходом на телефоны…
Для меня переход с ассемблера К580 на ассемблер К1801 был «вывихом мозга» (хотя на тот момент мне было столько же, сколько и автору статьи).
Для меня переход с ассемблера К580 на ассемблер К1801 был «вывихом мозга»

Архитектура другая. Регистры другие. Хотя… принцип тот же самый.
Честные рон в отличии от специализированных К580, ортогональная система команд (все команды по 16 бит), произвольные коды адресации в составе команды, а не отдельными командами, возможность операций память-память. Отличия значительные.
По-моему, ассемблер везде одинаковый — регистры по разному называются, да и методов адресации может быть больше или меньше. Но сути это не меняет. Я на Intel когда-то с Z-80 перепрыгнул без проблем.
Z80 — это просто доработанный Zilog процессор i8080 (К580).
Понятно что ассемблер удобнее. Но для PDP-11 действительно несложно писать в кодах. Сложение — 06, вычитание — 16, чего тут сложного?

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

тут вы глубооооко ошибаетесь.

Вполне возможно. Я в то время всё делал на том железе, на котором потом это и работало.

я думаю лет через 30-40 люди будут программировать разговаривая со своим телефоном и тоже будут офигевать от того, как можно что-то было сделать на телефонах начала нулевых

Я думаю, что это уже будет не программирование, а что-то другое. Сейчас нечто подобное получилось в области музыки, благодаря появлению синтезаторов, которые, по сути, могут издавать вполне себе приятное музыкальное сопровождение без участия человека. Также появилось много программ, которые помогают писать музыку. Как результат сильно понизился порог входа в данную область — многие что-то там играют не зная нот. И это неплохо, если это не начинает «подниматься на знамена», как признак «продвинутости».

Все почему-то считают, что игры начались где-то в 70е с примитивнейшего Pongа в 70е. Да нифига подобного!

Ну, естественно! Но в СССР этого не было, поэтому я как-то привык к тому, что первые игры появились начиная с БК-0010. Правда, были игровые автоматы типа «Морской бой», но это, скорее, механика.

мы переживём очередной раз подобное с переходом на телефоны…

Ну, пока телефоны — это, скорее, игрушки. Работать на нем нельзя, даже подходящего управления для игр нет — тыканье пальцем в экран не охватывает весь спектр возможностей по управлению. Ну и размеры… мелко всё очень. Т.е. перед таким рывком в сторону телефонов должно еще что-то произойти, например, массовое внедрение голографических мониторов или что-то подобное. Но я согласен, что вектор движения в направлении «мыльниц» присутствует.
НЛО прилетело и опубликовало эту надпись здесь
Держитесь подольше, Алексей Павлович. Когда-нибудь не-кто-нибудь тоже напишет: «Лично не знал, но благодарен тов.Седову за пробуждение страсти к созиданию.»

Хорошо, буду ожидать этого знакового для человечества события :-) А если серьезно, то спасибо на добром слове!

При запуске в Ubuntu 16.04 получил «error while loading shared libraries: libSDL2-2.0.so.0: cannot open shared object file:». Доустановил libsdl2-2.0-0, libbass. Запускается, чертяка. И затягивает ведь.

Я не спец в Unix-ах. Сделал так… нужны либы положил в папку с игрой, положил саму игру в папку resources, а рядом с папкой положил скрипт game.sh, который должен был призапуске устанавливать переменную окружения LD_LIBRARY_PATH, а потом запускать игру. Установка этой переменной окружения должна была заставить ОС искать либы в папке с игрой. Проверял на Fedora — там сработало. Если знаете, как сделать лучше и универсальнее, то всегда готов выслушать.

Запускается, чертяка. И затягивает ведь.

Рад слышать, что играть интересно — я сам игрался, когда закончил.
Такая же ошибка в Fedora 26: "error while loading shared libraries: libbass.so: cannot open shared object file: No such file or directory".

При этом файл лежит «под ногами», с правами всё в порядке. И не запускается игра… :(
Не дали тряхнуть стариной. :)

Доведёте — пойду свой первый самодельный «Специалист», лет с 30 пылящийся на полке, восстанавливать ради игры! :))
При этом файл лежит «под ногами», с правами всё в порядке. И не запускается игра… :(
Не дали тряхнуть стариной. :)

На всякий случай напоминаю, что запускать надо game.sh, а не LodeRunner.
Можно еще либы скопировать в папку /lib64, /usr/lib64 или /usr/local/lib64. Уж где-то они должны найтись :-)

Доведёте — пойду свой первый самодельный «Специалист», лет с 30 пылящийся на полке, восстанавливать ради игры! :))

У меня, кстати, Специалист должен работать (по крайней мере, я его пару лет назад включал). Только магнитофона нет :-)
Можно еще либы скопировать в папку /lib64, /usr/lib64 или /usr/local/lib64. Уж где-то они должны найтись :-)

В /usr/lib64
Странно, что вчера не нашлась… :(
Наверное, по ночам экспериментировать не надо. :))
И ещё странно, что все библиотеки, кроме этой, спокойно берёт из своего каталога, а эту «в упор не видит»…

У меня, кстати, Специалист должен работать (по крайней мере, я его пару лет назад включал). Только магнитофона нет :-)

Есть всё — и «Специалист», который должен заработать после замены «электролитов» на плате и в блоке питания, и магнитофон, и кассеты все «живы». Нет только желания заниматься этим. :)
Сейчас, десятилетия спустя, когда могу и аппаратную, и программную часть таких компьютеров разработать самостоятельно, в голове только один вопрос — «Зачем?!..». :))

А вот на рабочем компьютере под Linux игрушку старую запустить иногда и отвлечься от дел — это годится. :)
Странно, что вчера не нашлась… :(
Наверное, по ночам экспериментировать не надо. :))

Ну, «магия внутри компьютера» — это дело распространенное :-)

И ещё странно, что все библиотеки, кроме этой, спокойно берёт из своего каталога, а эту «в упор не видит»…

Я к сожалению, в этих Unix-ах новичок. Но я уже понял, что здесь как на Windows не прокатывает положить динамическую библиотеку рядом с exe. Надо бы всё в статике пересобрать, но libBASS.so я не вижу на сайте в статическом варианте, по крайней мере, в свободном доступе.

и кассеты все «живы».

Вот в жизни кассет я бы не был так уверен. «Загрузочный скрип» издавать-то они будут, а вот прочитает ли это компьютер — это вопрос.

Сейчас, десятилетия спустя, когда могу и аппаратную, и программную часть таких компьютеров разработать самостоятельно, в голове только один вопрос — «Зачем?!..». :))

Пожалуй, это самый сложный вопрос в жизни :-) Но себя мне удалось мотивировать на какое-то время.

А вот на рабочем компьютере под Linux игрушку старую запустить иногда и отвлечься от дел — это годится. :)

И удобно, и комфортно, и электролиты менять не надо :-)
Но я уже понял, что здесь как на Windows не прокатывает положить динамическую библиотеку рядом с exe
А бинарник-то к этому готов? По умолчанию считается, что библиотека должна быть частью операционки, а не поставляться с бинарником…
А бинарник-то к этому готов?

Не вижу препятствий.

По умолчанию считается, что библиотека должна быть частью операционки, а не поставляться с бинарником…

Честно говоря, мне правила Linux-ов пока кажутся странными. Библиотеки же частенько обновляются, и программа может работать с одной версией и не работать с другой. Соответственно, самое разумное решение — это позволить класть библиотеку рядом с пусковым файлом. Ну, либо статику линковать, раз уж с динамикой такие проблемы.
Да вот, таки и нет. Программы в Linux пересобираются с той версией библиотеки, которая есть в системе. Иметь туеву хучу версий одной и той же библиотеки в системе, вряд ли можно назвать разумым решением.
Программы в Linux пересобираются с той версией библиотеки, которая есть в системе.

Так я же про so говорил. Они вообще не собираются.

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

Ну, это же не в системе, а в папке с собственной программой. На Windows это вполне логично.
На Windows это вполне логично.
В Windows вообще много «грязи». Если хотите воспроизвести — задайте в rpath просто $ORIGIN без дополнительных уточнений. Хотя обычно полезно складывать библиотеки в подкаталог «lib», чтобы не засорять каталог с бинарниками…
Если хотите воспроизвести — задайте в rpath просто $ORIGIN без дополнительных уточнений.

Секунду… разве Linux ищет либы по умолчанию в папке с запускаемым файлом? Он же любит искать в lib64 и /usr/lib64, а в папку с пусковым файлом он вообще не ходит по таким делам, насколько я понимаю.
Секунду… разве Linux ищет либы по умолчанию в папке с запускаемым файлом?
По умолчанию — нет. Но если вам это очень нужно — можно добавить $ORIGIN в rpath. Ссылку на статью я давал.

Он же любит искать в lib64 и /usr/lib64, а в папку с пусковым файлом он вообще не ходит по таким делам, насколько я понимаю.
Правильно понимаете. Это сделано специально. Не должны разделяемые библиотеки быть частью бинарника — для этого статические библиотеки есть! Но если вам очень хочется такого поведения — это тоже возможно.
По умолчанию — нет. Но если вам это очень нужно — можно добавить $ORIGIN в rpath.

Всё, дошло до меня, что я никак понять не мог — есть rpath внутри пускового файла.

Но если вам очень хочется такого поведения — это тоже возможно.

Очень хочется — это решает все проблемы с запуском.
Так я же про so говорил. Они вообще не собираются.

Э-э-м… А откуда берутся .so? Существуют с начала времён? Этакие протобиблиотеки.
Ну, это же не в системе, а в папке с собственной программой. На Windows это вполне логично.

Это не логично нигде. Это костыль проприетарного софта, и только.
Э-э-м… А откуда берутся .so? Существуют с начала времён? Этакие протобиблиотеки.

Я имел в виду, что они не собираются в состав моего пускового файла.

Это не логично нигде. Это костыль проприетарного софта, и только.

Хорошо. Тогда как мне скопировать эти so в нужное место на компьютере пользователя? (мне же их надо поместить в то место, где ОС их найдет). Я так подозреваю, что придется тогда программу оформлять в виде пакета, который будет грузиться из каталогов в интернете. Так?
Хорошо. Тогда как мне скопировать эти so в нужное место на компьютере пользователя? (мне же их надо поместить в то место, где ОС их найдет). Я так подозреваю, что придется тогда программу оформлять в виде пакета...

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

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

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

Этот вопрос мне уже удалось решить — версию для Linux на сайте я заменил. По крайней мере, у меня этот вариант работает правильно и находит библиотеки в папке с игрой.
С тем же успехом костылями можно назвать использование ldd, locate и ln, чтобы foo.bar.so попало в /lib (/lib64) или в /usr/lib (/usr/lib64) из /bin (/usr/bin).
А чтобы костылей не было нужно всего лишь следовать правилу: «Не надо тянуть Windows-style программирование в Linux, а Linux-style программирование в Windows».
«Не надо тянуть Windows-style программирование в Linux, а Linux-style программирование в Windows».

Это понятно, но лучше сделать хоть как -то чем вообще не сделать. Зато потом можно показать и исправить недочеты.
Не вижу препятствий.
Что значит «не вижу препятствий?»

Вы при сборке указывали rpath? А если нет — то с какого перепугу библиотеки должны искаться где-то, кроме системных каталогов?

Соответственно, самое разумное решение — это позволить класть библиотеку рядом с пусковым файлом.
Ну зачем же мусор-то разводить? Обычно бинарники живут в одном каталоге, библиотеки — в другом, связь — через rpath, можно указывать абсолютный путь или через $ORIGIN относительный…
Вы при сборке указывали rpath? А если нет — то с какого перепугу библиотеки должны искаться где-то, кроме системных каталогов?

Я не могу собрать тот же libBASS.so самостоятельно, так как на него нет исходников. Иначе бы я сразу всё сделал через статику.

Ну зачем же мусор-то разводить?

Не вижу никакого мусора в том, чтобы всё что относится к одной программе лежало в одной папке. С rpath знаком немного по MAC-у и не уловил в нем практического смысла — внутрь либы совать путь, где она может работать — это как-то странно, так как если уж либа нашлась программой, то зачем её еще и проверять на соответствие пути я не очень понимаю. Хотя я понимаю другое, что когда-то были придуманы какие-то стандарты, от которых теперь невозможно отказаться, хотя удобства в них я не вижу. Но может быть это просто взгляд со стороны Windows.
Вы при сборке указывали rpath? А если нет — то с какого перепугу библиотеки должны искаться где-то, кроме системных каталогов?
Я не могу собрать тот же libBASS.so самостоятельно, так как на него нет исходников. Иначе бы я сразу всё сделал через статику.
Причём тут сборка libBASS.so? rpath задаётся при сборке бинарника. Прочтите же, наконец, статью. Она — как раз для таких, как вы…

Не вижу никакого мусора в том, чтобы всё что относится к одной программе лежало в одной папке.
А саму программу как вы при этом найдёте? В Linux принят подход при котором программы живут в /usr/bin и в /usr/local/bin — а вот уж там вашим библиотекам делать точно нечего. Это поведение по умолчанию. То, чего вы хотите — тоже возможно, но это — нестандартное поведение.

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

Хотя я понимаю другое, что когда-то были придуманы какие-то стандарты, от которых теперь невозможно отказаться, хотя удобства в них я не вижу.
Они реально удобны — если вы собираете свою программу как «пакет» под соответствующую операционку. А если хотите чего-то другого — ручки соответствующие тоже есть.

Но может быть это просто взгляд со стороны Windows.
Это попытка придти со своим уставом в чужой монастырь… Обычно это кончается слезьми…
До меня наконец-то дошло, что я тупил с rpath, который можно поменять прямо в пусковом файле.
Признаю своё поведение ослиным и благодарю за подсказку!

Правда, статья всё же не совсем полная — я часа 4 угрохал, чтобы это-таки повторить. Но в результате всё же засунул в этот rpath значение $ORIGIN.

Обновил файл linux-версии на сайте и надеюсь, что теперь будет запускаться у всех.
До меня наконец-то дошло, что я тупил с rpath, который можно поменять прямо в пусковом файле.
А до меня только сейчас дошло что вы вообще пытались сделать. Мдаа… Ну то есть интеллектуально я понимал и понимаю, что rpath можно добавить и в библиотеку тоже — но ситуации, когда это может понадобиться настолько экзотические, что я как-то никогда не осознавал, что это кто-то может реально попробовать сделать!
А до меня только сейчас дошло что вы вообще пытались сделать.

Главное, что разобрались :-)

Ну то есть интеллектуально я понимал и понимаю, что rpath можно добавить и в библиотеку тоже — но ситуации, когда это может понадобиться настолько экзотические, что я как-то никогда не осознавал, что это кто-то может реально попробовать сделать!

Дело в том, что Mac OS и его XCode по умолчанию собирают либы так, что их нельзя запустить из папки с проектом. И надо туда вписывать специально @executable_path, иначе Mac покажет большую фигу. И вот про это я как раз и знал.
А меня в свое время очень впечатлила игра KLAD на компьютере КОРВЕТ. Это тоже что-то вроде Lode Runner, но немного по другому, мне эта версия гораздо больше нравилась, прошел ее всю. Человечек там пробивает не пол, а стены сбоку, выпуская пульки по ходу движения, а еще там есть вода, если в нее упасть, то человечек утонет, в остальном все похоже.
Вот даже видео геймплея нашел, если интересно: www.youtube.com/watch?v=7mDifWNj7Nw
Скрин

Компьютер КОРВЕТ

А меня в свое время очень впечатлила игра KLAD на компьютере КОРВЕТ.

Да, это тоже клон с БК-0010. Причем графика с виду такая же, только оттенки цветов изменены.

Это тоже что-то вроде Lode Runner, но немного по другому, мне эта версия гораздо больше нравилась, прошел ее всю.

Она скорее не на Lode Runner, а на Land похожа. Некоторые стены простреливаются и через некоторое время зарастают. Но Land, как мне казалось, был поинтереснее — там можно было «воду слить» и она была подвижная, а в Клад вода статичное.
У этого Клада на БК-0010 было аж 3 части — видимо людям нравилась эта игра.

в остальном все похоже.

На Lode Runner не совсем похоже. В Lode Runner охранники постоянно бегают, а в Клад на ту же позицию по X и Y. Практически, они часто находятся в неподвижном положении, ориентируясь на главного героя. Как раз такие правила в Land.
В комментариях пишут, что это клон Rise Out
В комментариях пишут, что это клон Rise Out

А ведь и правда.
Если я правильно понял, то оригиналом в вашем случае был Lode Runner на БК-0010 от «Markov A» AKA «Action Corp». Над этой игрушкой я тоже поработал — geektimes.ru/post/261074
Если я правильно понял, то оригиналом в вашем случае был Lode Runner на БК-0010 от «Markov A» AKA «Action Corp».

Вы совершенно правы.

Над этой игрушкой я тоже поработал — geektimes.ru/post/261074

Я вашу статью даже читал :-) Единственно что… я не знаком с УКНЦ. Даже не слышал такое название. Но как бы это не важно, а важно, что вы это сделали.
Разве процесс выкапывания ямы и ее исчезновения — были мгновенными?
Разве процесс выкапывания ямы и ее исчезновения — были мгновенными?

Именно так. Lode Runner на КБ-0010 обладает высоким темпом игры — тут нельзя долго стоять на месте и раздумывать — требуется постоянно движение.
Я имею ввиду — мгновенным с точки зрения главного героя, да. Копаешь на бегу.

Но с точки зрения анимации в той версии, что я видел — яма исчезала постепенно.
Но с точки зрения анимации в той версии, что я видел — яма исчезала постепенно.

Я в начале думал над тем, чтобы анимировать яму, но потом решил что и так вполне хорошо. Да и в оригинале также нет анимации.
Хороший повод передать привет всем БКшечникам. :) Привет!

Я тоже не так давно занимался восстановлением игры с БК 1 в 1.
Miner Bold на БК-0010 был довольно самобытным, а качество портов на тот момент меня не устроило… Порт писал на Lua, с использованием своего движка INSTEAD.

Код оригинала пришлось дизассемблировать, зато алгоритмы удалось повторить 1 в 1. :) Связывался с автором, с удивлением узнал, что код оригинала записывался непосредственно в машинных кодах (а я то еще удивлялся пустым пространствам между функциям). Забыл уже, что не всегда использовался ассемблер. :)

В общем, в копилку портов. Онлайн версия Bolder Dash Мелентьева А.В. (заставка, выбор уровней и happy end оформлены по другому):
instead-games.ru/instead-em/instead-em.html?/games/instead-minerbold-1.3.zip
Язык интерфейса можно выставить внутри игры нажав esc/ настройки…

Для нативной версии под разные ОС можно скачать INSTEAD: instead.syscall.ru
И саму игру тут: instead-games.ru/game.php?ID=197
Код оригинала пришлось дизассемблировать, зато алгоритмы удалось повторить 1 в 1. :)

Очень круто! Я вот ленюсь дизассемблером пользоваться :-)
Онлайн версия Bolder Dash Мелентьева А.В. (заставка, выбор уровней и happy end оформлены по другому):
instead-games.ru/instead-em/instead-em.html?/games/instead-minerbold-1.3.zip

Ну, надо же… Emscripten… интересное применение.

Поиграл немного. Очень нервно — убивают постоянно. Тут навык нужен :-)
Смущает еще вопрос копирайтов — а законно ли использовать старые карты уровней.
Смущает еще вопрос копирайтов — а законно ли использовать старые карты уровней.

На мой взгляд, вопрос копирайтов волнует только торгашей (т.е. правообладателей имущественных прав). Авторов этот вопрос никогда особенно не волновал. Например, человек написал книгу — ему важно чтобы кто-то её прочел и даже бесплатно. Вопрос с правами возникает, когда в цепочку между автором и читателем вклиниваются торгаши — вот для них да… важно заработать.
Оценку дал исходя из собственного мироощущения. Формально может быть вы и правы, но по-человечески, я не вижу, что кого-то обманул или обокрал.

под Маком не работает пробел, или я не знаю, как его использовать

под Маком не работает пробел, или я не знаю, как его использовать

Хм… сейчас специально проверил еще раз. Всё работает. Надо его применять над желтыми кирпичами.

Спасибо, получилось )

Пожалуйста :-)

Вместо этого:


        // для Linux
    pid_t pid=fork();
    if (pid>=0)
    {
            if (pid==0)
        {
            CMagicString param="xdg-open ";
            param+=link;
            system(param);
            _exit(0);
        }
    }

Можно было бы сделать что-то вроде, если просто:


CMagicString param = "xdg-open ";
param += link;
param += " &";
system(param);

Или же делать уже правильно через fork/vfork + exec или posix_spawn. Пример первого можно глянуть тут, только ловить сигнал смерти потомка SIGCHLD вместо непосредственного вызова waitpid, что бы не плодить новых "охранников" лабиринта процессы-зомби.

Можно было бы сделать что-то вроде, если просто:

Я делал также, но без param += " &"; и у меня игра зависала, пока браузер не закроешь. Дело в этом " &"?
Изящное решение, но… самостоятельно никогда не догадаешься.

Да собственно как о доброй части магии BAT и CMD файлов :) В Windows, к примеру, что бы не блокировать FAR или просто консоль нужно использовать start в комбинации с /K или /C (пишу по памяти).

Да собственно как о доброй части магии BAT и CMD файлов :)

да, всё верно :-)
Классный совет, спасибо!
С это строкой param += " &"; работает правильно и не надо fork() делать. Меня так вполне устраивает.

Главное, в более серьёзном проекте чуть более детально разберите нюансы, а то может случиться как у меня недавно: в основном приложении открывалась камера /dev/video0, потом делался QProcess::startDetached() для простенькой утилитки, которая про камеру и работу с ней знать не знает… Основное приложение закрывалось, а утилита нет. После чего к камере никто не может получить доступ к камере… пока утилиту не закроют. Всё дело, что устройство открыто без флага CLOEXEC, а я почему-то надеялся, что QProcess об этом как-то позаботится (да и сам забыл про этот нюанс, каюсь). В результате открытый дескриптор оставался в приложении, которому он и нужен не был, а держать оно его продолжало. Как собака на сене.

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

Ну, если мне эти Unix-ы в жизни будут требоваться, то, естественно, что я буду в них лучше ориентироваться. А это так было… первый опыт. Мне было интересно попробовать насколько эта идея сработает. Идея-то вроде сработала, а вот с самим запуском игры на Linux-ах оказалось, что имеется проблема.

В результате открытый дескриптор оставался в приложении, которому он и нужен не был, а держать оно его продолжало. Как собака на сене.

Я понимаю, о чем вы говорите.

В свое время я пытался освоить все игры для ZX Spectrum — тоже было непросто. А вот для 3DO задача оказалась выполнима, но полгода выпало из жизни.

В свое время я пытался освоить все игры для ZX Spectrum — тоже было непросто.

Да их же просто дохрена :-) Играми на Spectrum часто коммерческие компании занимались — там всё серьезно было.

Ага, тысячи их. У меня был дармовой доступ к самой большой коллекции в Питере.

Думаю, что как минимум тысяч 10 существует. Но реально классных игр, конечно, не так много.
Чуть больше 10 тысяч.
Я в эту игру а так же Land, Клад, Клад2 проиграл все лето 1990 года (мне в мае того года родители купили БК-0010.01, как раз я заканчивал 9-ый класс). За лето разобрался с бейсиком (до этого вообще не знал ни чего о программировании), а осенью сел за ассемблер — вся инфа только из инструкции, что шла с бэкашкой. Потом у знакомого увидел Раио-86РК и там была игра типа Lode Runner, но там человек мог прыгать и перепрыгивать через приведений. Я загорелся и написал аналог на БК. Графику честно стырил с Lode Runner, только вместо приведений у меня были пузыри, которые скакали, при этом при ударе о пол, они немного деформировались. Логика была как в Lode Runner + еще человек мог прыгать. Игру назвал Lode Jumper.
БК уже давно нет, и игра тоже не сохранилась.
Я в эту игру а так же Land, Клад, Клад2 проиграл все лето 1990 года (мне в мае того года родители купили БК-0010.01, как раз я заканчивал 9-ый класс).

Свой компьютер — это почти как заветная мечта была. Ко мне весь двор ходил играть.

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

Я по статьям в журналах пытался разбираться. В журнале «Радио» каждый раз что-нибудь печатали. А с БК… да… там книжка была с перечисленными командами и пояснениями.

Потом у знакомого увидел Радио-86РК и там была игра типа Lode Runner,

Скорее всего, это не Радио-86РК. Если я ничего не путаю, то Радио-86РК вообще не умел показывать обычную точечную графику — только символы/буквы. Хотя… могу ошибаться, но я всегда был в этом уверен.

Я загорелся и написал аналог на БК.

Я тем же самым занимался в то время :-)

> Игру назвал Lode Jumper. БК уже давно нет, и игра тоже не сохранилась.
А у меня может быть что-то и сохранилось — кассеты до сих пор лежат. Но шансов на то, что они прочитаются мало.
Нет, точно Радио86РК, там в игре все символами было нарисовано :)
Нет, точно Радио86РК, там в игре все символами было нарисовано :)

Если символами, то точно Радио86РК :-)
Отличная теплая ламповая статья, ностальгия по старым добрым временам.
Мое первое знакомство с компьютерами началось с «Микроши». )
Вспомнился еще набор ручками программ из журналов на Бейсике…
Автору большое спасибо и удачи!
Отличная теплая ламповая статья, ностальгия по старым добрым временам.

Благодарю на добром слове!

Мое первое знакомство с компьютерами началось с «Микроши». )

Микроша в свое мне очень помог тем, что про него была статья, где были перечислены все команды ассемблера КР580ВА80 — это мне наконец-то позволило «въехать» в этот Ассемблер.

Вспомнился еще набор ручками программ из журналов на Бейсике…

Точно. Я тоже ассемблер так набрал и пару игр.
Обновил на сайте версию для Linux — надеюсь, что теперь она будет нормально запускаться.
> По-моему, на БК-0010 были еще и какие-то проблемы с ассемблером, так как один мой знакомый программировал на БК-0010 просто «в кодах».

«Проблема» в том, что на PDP-11 всех разновидностей и клонов было настолько легко писать всё прямо в кодах, что ассемблер часто не использовали :)
«Проблема» в том, что на PDP-11 всех разновидностей и клонов было настолько легко писать всё прямо в кодах, что ассемблер часто не использовали :)

Я, конечно, такое не понимаю, но раз не использовали, то, наверное, действительно эта PDP-11 какой-то божественный продукт :-)
Да, до сих пор тысячи людей её вспоминают совершенно ностальгически. Хотя для трезвого взгляда в её дизайне было таки огромное количество ляпов, не говоря уж про общую неэффективность по сравнению с «вылизанными» аналогами — ностальгию это не отменяет :)

Из современных приёмов — её следует считать если не зачинателем, то хотя бы очень эффективным популяризатором little endianness, NZVC логики флагов условий…
Да, до сих пор тысячи людей её вспоминают совершенно ностальгически.

Ностальгия — интересная штука. Часто она заменяет логику. Например, очевидно же, что новые игры гораздо красивее, навороченнее и с кучей прибамбасов. А всё равно часто человека тянет к тому, что понравилось когда-то давно. Я, например, в новые игры вообще не играю. Пробовал, но быстро становится неинтересно. А вот старые… я до сих пор иногда в спектрумовский «UFO» поигрываю. Бесит, что мышь там не работает, а так… отличная игра.
Ностальгия — интересная штука. Часто она заменяет логику.


Да не так всё просто.
Я на «Спектруме» в «Элиту» любил, а когда в начале 90-х обзавёлся первым 286-м и добыл переделанную на AT версию игры, то посмотрел на всю эту красоту, попробовал немного, плюнул — и не стал. Графику нарисовали, а игру — испортили.
А это «проволочную» графику-то и на «Спектруме» в первые же минут игры замечать переставали, так игра захватывала…
Я на «Спектруме» в «Элиту» любил, а когда в начале 90-х обзавёлся первым 286-м и добыл переделанную на AT версию игры, то посмотрел на всю эту красоту, попробовал немного, плюнул — и не стал.

Да, есть такой момент. Меня самого Элита не зацепила, но мой приятель от неё был в полном восторге. Нашел там какое-то супер-оружие (кажется называлось что-то типа «Клоакин Митен» — не помню короче), которое врагов «замораживало» во время боя. И с этой штукой в течение, наверное, года он одерживал славные победы :-) От игры не оторвать было.
Не зря же она в Европе была признана лучшей игрой десятилетия (80-х)… :)
Помню, писали, что многие в неё по 6-8 и более лет играли (sic!). И я их понимаю… :))
Не зря же она в Европе была признана лучшей игрой десятилетия (80-х)… :)

Да, было дело. Мне, правда, кажется, что разработчики всех надули — в описаниях я читал, что там есть всякие «космические заводы» и необычные корабли, но их, типа, трудно встретить. Но, по-моему, это просто рекламный трюк был — не было такого. Хотя… может быть кто-то и видел.
Про заводы и корабли уже не помню, за давностью лет, а вот то, что никто её за многие годы не «прошёл до конца» — факт. :)

Игра была просто шедевром программистской мысли…
никто её за многие годы не «прошёл до конца» — факт. :)

Я думаю, что там просто нет никакого конца :-)
Я думаю, что там просто нет никакого конца :-)

В принципе, есть, но… Он, скажем так, находится далековато… ;) :))

Повсеместное использование генератора псевдослучайных последовательностей позволило в столь малых объёмах памяти построить разнообразную вселенную со множеством приключений, что до сих пор заставляет удивляться любителей игры со всего мира. Авторам игры удалось вместить в 22 кб программного кода целую вселенную с 248 галактик, в каждой из которых по 256 звёздных систем. Так как в игре может присутствовать только 8 галактик, то, соответственно, количество вариаций составляет около 35 триллионов.

ru.wikipedia.org/wiki/Elite
В принципе, есть, но… Он, скажем так, находится далековато… ;) :))

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

Я так и думал, что многое было просто выдумано и в реальности не существовало.
Вроде в википедии пишут, что кто-то таки стал Elite, т.е. формально выиграл.

Похоже, Вы путаете достижение определённого «высшего звания» в игре ­набора заданного количества «очков», по сути — и прохождение игры «до конца».
Первое оказалось достаточно выполнимым ­-неожиданно для разработчика, которы просто задал слишком малую разрядность счётчика этих самых «очков». :)
А вот второе, будучи достижимым теоретически, не реализуемо на практике вследствие ничтожной, по сравнению с требуемым на это временем, продолжительностью жизни игроков. :))

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

Вот и я с самого начала подозревал, что игра не совсем документальная… ;) :))
Первое оказалось достаточно выполнимым ­-неожиданно для разработчика, которы просто задал слишком малую разрядность счётчика этих самых «очков». :)

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

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

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

Наверное всегда так было… всю эволюцию всего, просто сейчас на примере быстрой смены этого «всего» это нагляднее, выпуклее, наблюдаемее.

Попробую ответить на той же философской волне. На мой взгляд, наш мир — это очень навороченная компьютерная игра. Отсюда фильмы типа «Матрица», которые, естественно, просто привели древние знания к понятному для современного общества виду, да заодно и денег заработали. А так… я думаю, что мы живем в компьютере :-)
На мой взгляд, наш мир — это очень навороченная компьютерная игра.

Ну да… :)
Как когда-то где-то писали: «Сюжет — дерьмо, зато графика — обалденная!». :))
Как когда-то где-то писали: «Сюжет — дерьмо, зато графика — обалденная!». :))

Я, кстати, даже не уверен, что «сюжет — дерьмо» :-) Самое хорошее для нас объяснение, что это просто такая «школа», в которой не так легко учиться. Лично я хочу верить именно в этот вариант. Есть еще версия, что это «тюрьма», но это не сильно отличается от варианта «школа» по своей сути, так как в идеале также должна служить для воспитания личности. Ну, и самый хреновый для нас вариант — это сюжет фильма Матрица (я имею в виду ситуацию «человек-батарейка»), который, естественно, не был выдуман как сценарий к фильму, а взят как одна из моделей устройства нашего мира и популяризирован в виде «фантастического боевика» на радость населения.
В любом случае сравнивая компьютерные игры 30-летней давности и современные хиты, можно увидеть просто невероятное развитие в данной области. Уже есть шлемы виртуальной реальности или можно, например, махать руками, а твой главный герой будет делать на экране то же самое. А если представить, что будет через 1000 лет при таких темпах, то вполне можно допустить, что симуляцию невозможно будет отличить от реальности. И я думаю, что такая модель нашей реальности хорошо объясняет всё, что происходит вокруг нас, в том числе и религиозные концепции.
Я, кстати, даже не уверен, что «сюжет — дерьмо»

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

«И я думаю, что такая модель нашей реальности хорошо объясняет всё, что происходит вокруг нас, в том числе и религиозные концепции.»

Сдаётся мне, что найдётся достаточно много моделей, «хорошо всё объясняющих», но ничего так толком и не доказывающих… :)
Сдаётся мне, что найдётся достаточно много моделей, «хорошо всё объясняющих», но ничего так толком и не доказывающих… :)

Вы правы. Поэтому человек просто выбирает для себя то, что ему ближе.
На мой взгляд, наш мир — это очень навороченная компьютерная игра.
В такой модели самое интересное — это даже не чит-коды и карта уровней, а консоль (разработчика). Точнее, есть ли у персонажа доступ туда… И иногда кажется, что таки есть… Вот только мануала нет :(
Точнее, есть ли у персонажа доступ туда…

Существуют отдельные товарищи, у которых-таки есть, но их, скажем так, очень немного и они не рекламируют себя в качестве «оказывателей магических услуг». Но, насколько я понимаю, для них тоже не всё ясно — многие видят «свой кусок», но не видят всей картины.
у меня есть ощущение, что есть у всех, но она… «ассемблерная», что ли… если не вообще в кодах — что-то боль-менее сложное там сотворить — даже зная как, адский труд, а уж тем более методом тыка… Да хоть, допустим, сменить цвет одного пикселя в одом канале, так, что бы самому увидеть результат…
И вот прорва народу (хотя это и ничтожный % от населения) — долбят наугад команды, которые даже не факт, что в их клиенте исполняются, а не вообще «на сервере».
Ну и — при такой потребности в мануалах — неудивительно, что в предложениях нет недостатка… каждый, конечно «самый/единственный правильный». (Примерно как карты островов сокровищ)

Сама такая модель «всего» для рассмотрения на мой взгляд вполне годная. Ничуть не хуже прочих.
у меня есть ощущение, что есть у всех, но она… «ассемблерная», что ли… если не вообще в кодах — что-то боль-менее сложное там сотворить — даже зная как, адский труд, а уж тем более методом тыка…

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

Ну и — при такой потребности в мануалах — неудивительно, что в предложениях нет недостатка… каждый, конечно «самый/единственный правильный». (Примерно как карты островов сокровищ)

Владение умами толпы всегда давало «бонус» в виде денег и власти. Так что пугать всех «адом» и предлагать «спасение» — всё это старо как мир. По сути, между разными конфессиями всегда шла битва «за пользователей», а побеждает тот, кого поддерживает государство, а государство поддерживает того, кто позволяет максимально эффективно удерживать власть.
Это мы всё ещё о клонировании игр сейчас?.. ;) :))
Это мы всё ещё о клонировании игр сейчас?.. ;) :))

Думаю, что пора эту тему закрывать, а то все мы попадем под какую-нибудь статью об экстремизме :-).
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории