Компания Microsoft объявила об открытии под лицензией MIT исходного кода текстовых квестов серии Zork, выпущенных в 1978 (Zork I), 1981 (Zork II) и 1983 (Zork III) годах. В 2019 году код данных игр уже был опубликован проектом Internet Archive под изначальной лицензией, которая не являлась открытой. Сейчас Microsoft перевёл код на лицензию MIT. Местонахождение кода не изменилось и он как раньше доступен в репозиториях Internet Archive (Zork I, Zork II, Zork III), но под новой лицензией...Подробнее: https://www.opennet.ru/opennews/art.shtml?num=64293
почему не на форте? >:(
опенсорснутый, не видишь чтоли?
Афигеть! Вот это новость. Майкрософт лучший друг опенсорса
https://opensource.microsoft.com
С такими друзьями врагов не надо.>Разработчики X решили всем навязать, что их проект теперь будет Rust-bloatware
Не сами разработчики, а их спонсоры.
Геймдев на лиспе суровая штука.
Ты не поверишь, работает и ещё как! https://www.dosbox.com/wiki/GAMES:Abuse
Этот ZIL совсем нечитаемый как по мне, вот Inform 7 другое дело
Ребята продукт жизнидеятельности мамонта откопали. Щедрость филантропа Билла просто зашкаливает.
зато под MIT. Сейчас игры на этих "движках" попрут… Не то, что всякие Nival
Опять всё не так, как ты хотел. Да чтож такое! Что тебе должны были открыть то, windows 11?
Эти программы старше чем я. А русификация будет?
Типа ты играть в них сейчас будешь? Да ладно.
В такое старьё даже Кинаман с Пиксель Девилом играть не будут. :)
>Типа ты играть в них сейчас будешь?А я поиграю. Это как интерактивная книга - можно следить за развитием сюжета и паралельно подтягивать знание английского языка. Эх, жаль, что жанр текстовых игр умер(как и жанр стратегий).
Пипл бугуртит на 5 баксов за книжку отдавать, а Ты-молодец 80 вечнозеленых на стол из широких штанин готов покласть. И не любо шута строить, визновелы живее всех на рынке стоят и проникают во все, даже в приложение банка или опсоса.
Ну а если православненького и вот прям того самого - космофентезийного, то присмотрися к INSTEAD. В самый раз по сабжу и на GPL лицухе
Полно текстовых игр. Как ремейков / переносов на компы старых игр-книг (Sorcery!, Forest of Doom, etc), так и новые, типа Choice of the Vampire от Choice of Games и их конкурентов (не помню уже название).
Абсолютно ненавижу парсерные игры, никогда не угадаешь как именно надо команду ввести, чтобы игра её распознала. К ним бы большие языковые модели прикрутить, норм тогда было бы.
https://github.com/UlfarErl/lampgpt
## Initialization1. The script starts by importing various Python modules, including `argparse`, `toml`, `subprocess`, and `curses`, and various LLM binding libraries.
2. It defines a `GlobalState` class, which stores various global variables and settings, such as the game configuration, LLM configuration, and debug logging settings.
3. The script parses command-line arguments using `argparse`, which includes options for specifying the configuration file, transcript output file, and other settings.
4. It loads the configuration file (in TOML format) and sets up the game and LLM configurations using the `toml` module.
5. It creates an instance of the `GlobalState` class and sets up the global variables and settings.## Game Loop
1. The script launches a ZIL interpreter (using the `bocfel` command) and sets up a subprocess to interact with it using the `subprocess` module.
2. It sends initialization commands to the game and ignores the output.
3. The script enters a loop where it:
* Reads user input (either from the terminal or from a splitscreen interface) using the `sys.stdin.readline()` function.
* Sends the input to the ZIL interpreter using the `process.stdin.write()` function.
* Gets the response from the ZIL interpreter using the `non_blocking_read()` function, which reads from the subprocess's stdout pipe.
* Checks if the response indicates a parser error; if so, it attempts to fix the error by trying alternative commands using the `try_to_fix_parser_error()` function.
* If the response is valid, it uses the LLM to rewrite the response in a more descriptive and engaging style using the `rewrite_response()` function.
* Outputs the rewritten response to the user, along with any relevant debug information, using the `show_output_to_user_etc()` function.## LLM Interaction
1. The script uses the `get_llm_response()` function to interact with the LLM, which takes a prompt and returns a response.
2. The prompt is constructed by combining various elements, such as the game's current state, the user's input, and any relevant context, using the `add_to_llm_prompt()` function.
3. The script uses the LLM's response to generate a rewritten version of the game's response using the `process_rewritten_response_of_room()` function.
4. The rewritten response is then output to the user, along with any relevant debug information.## Splitscreen Mode
1. If the `--splitscreen` option is specified, the script uses the `curses` library to create a splitscreen interface, where the game's output is displayed on one side and the user's input is displayed on the other.
2. The script uses the `get_command()` method to read user input from the splitscreen interface.## Debugging and Logging
1. The script uses various logging mechanisms, including debug logs, transcripts, and error messages, to provide information about its operation.
2. It uses environment variables and command-line options to control the level of debugging and logging.## Functions
Here's a brief explanation of some of the key functions used in the script:
* `add_to_llm_prompt()`: Adds a prompt to the LLM's input.
* `get_llm_response()`: Gets a response from the LLM.
* `rewrite_response()`: Rewrites the game's response using the LLM.
* `try_to_fix_parser_error()`: Tries to fix parser errors by attempting alternative commands.
* `show_output_to_user_etc()`: Outputs the rewritten response to the user, along with any relevant debug information.
* `non_blocking_read()`: Reads from the subprocess's stdout pipe without blocking.
* `configure_non_blocking_reads()`: Configures the subprocess's stdout pipe to be non-blocking.## LLM Configuration
The script uses a TOML configuration file to specify the LLM configuration, which includes settings such as the LLM model, API key, and temperature. The script uses this configuration to interact with the LLM and generate rewritten responses.
## Game Configuration
The script uses a TOML configuration file to specify the game configuration, which includes settings such as the game path, syntax, and background information. The script uses this configuration to interact with the ZIL interpreter and generate rewritten responses.
Говно в общем.
Они распознают слова по 3-4 первым буквам и ожидают порядок слов глагол-существительное. Ничего сложного нет.
Откуда ты узнаешь, какой глагол игра ожидает, если она не даёт список глаголов, доступных в данной ситуации для предметов (и не все глаголы со всеми предметами совместимы, а в большинстве случаев глаголы идут между двумя предметами и порядкозависимы)
А сами предметы ... если бич point and click - это пиксельхантинг, то тут часто незначительная деталь, о которой можно только догадаться, по наличию одного незначительного слова в тексте. Понимаешь как-бы, в реальной жизни проблемы решаются многими способами, а в игре - вот конкретно одним заскриптованным, и ты этот заскриптованный способ должен угадать. При этом иногда этот заскриптованный способ скрыт, и ты просто вслепую перебираешь все деревья, которые в жизни шли бы к цели, в надежде на то, что там окажется заскриптованное. Это даже со словарём доступных глаголов и объектов трудоёмко, а в парсерах - это вообще без предоставленного игроку словаря часто (есть игры с автодополнением, там в словарь можно подзаглянуть, написав префикс, но это на платформе inSTEAD (Пётр, к сожалению, оказался перепрошитым, не ожидал от него, раньше вроде очень позитивно взаимодействовали, но после определённой даты у него словно крышу снесло, очень жалко) + метапарсер (категорически рекомендую "Переход" и "Лидия"). А часто логика в квестах бывает извращённая, и здравый смысл вообще не поможет, только доскональное знание американского культурного кода и чутьё на игру слов.
Да не так уж много глаголов помещалось в 64 кб. Или вовсе в 8.
Zork были рекордсменами по числу слов в те годы. Поэтому игру пришлось разбить на 3 — полная версия не умещалась на существовавшие тогда дискеты.
Лидия - не самый лучший пример с совершенно отвратительной концовкой, вернее, с её отсутствием. "Кнопка" и "Профессия следователь" лучше и интересней.
Важна не столько концовка, сколько целостное впечатление.
Тут ещё от того же автора https://github.com/vorov2/cabiria вышла, но там логика хромает на обе ноги:
1. ненужные действия везде и всюду, разумеется, полностью автоматизируемые, как будто это психологический эксперимент.
2. всё через зеленоватые тервиналы, разумеется только чтобы игрок задолбался
3. многие вещи выбираются "сервисными ключами", ключ там не для контроля доступа, а просто на верёвочке рядом висит. То есть там бы кнопка была и проще, и дешевле, и надёжнее, но нет, нужен "сервисный ключ"
4. в главе, где выясняется, что отравление намеренно устроило КГБ, чтобы прекратить опасные эксперименты, логика хромает на все 4 конечности:
а) если КГБ в сеттинге настолько могущественно, что в каждом экипаже корабля есть сексот, то на станции этих сексотов вообще не менее 5 человек должно было быть.
б) если КГБ в сеттинге настолько могущественно, то прекратить опасные исследования оно могло бы просто продавив закон о гуманном обращении с разумными инопланетными формами, после чего отдав главу исследований под суд
в) раз счёт времени шёл на часы ... то надо было корабль отправить, который 2 недели шёл... и после чего там всё ещё около недели творилось.
г) если инопланетная форма жизни представляла такую опасность, то наоборот не требовалось исследования свёртывать, при этом все исследователи знали надёжный способ создавать этой форме жизни невыносимые условия (от которых она поспешить покинуть хоста)
5. если КГБ полагало, что при телепортации астронавигаторов черви стали в них телепортироваться и их убивать, и сами в результате подыхать (из-за чего по словам сексота весь сыр-бор и устроили, очень КГБ не хотелось остаться без навигаторов на космофлоте, потому что желающих становиться овощем и так были считанные единицы), то почему они кинули на корабль только одного навигатора, если там была пустая каюта, кинули бы запасного? Остаётся только предположить, что возвращение не было предусмотрено изначально. Но как тогда убедить сексота вообще участвовать в экспедиции?
6. почему черви заражали только навигаторов при выходе
7. форма жизни определённо была разумная, и даже пыталась выйти на контакт. Есть большие сомнения, что главой исследований мог оказаться идиот, который вместо того, чтобы выйти на контакт, додумался просто пытать представителей этой формы жизни с хайвмайндом изощрёнными способами, при этом посмеиваясь в усы. Отсюда нет никакого удивления, что форма жизни озлобилась и наваляла как следует, не разбираясь, кто прав, а кто виноват.
8. есть большие сомнения, что биохимия червей совместимы была с биохимией земной жизни.
9. нафига изучать червей на отдалённой станции на орбите без визитов на поверхность, если можно было их куда-нибудь поближе к Земле затащить на станцию, которую снабжать попроще?
10. одно из главных обоснований существования гебни, которые кормят быдлу - это внешний враг, потому что если рассказывать быдлу про внутреннего, они могут и сообразить, что под ними они самые имеются в виду. А там судя по всему совок всю Землю захватил, внешних врагов попросту нет, а колонии полностью от Земли зависят. В таком сеттинге довольно трудно обосновать существование КГБ как всемогущего государственного агентства, которое в открытую существует (а в сеттинге его существование никто не отрицает как теорию заговора). А поскольку корабли бороздят, то и про вредителей рассказывать - только себе вредить.
11. вишенка на торте: делая неправильный шаг в ночном кошмаре протагонист умирает по-настоящему от инсульта.Самая неудачная игра автора. Гораздо лучше было бы вместо этого написали что:
1. черви - это неразумное биооружие по типу чужих для уничтожения межпланетных цивилизаций. Планета - это просто одна из жертв их применения.
2. гебня это поняла изначально при анализе результатов первой же экспедиции. В целях безопасности обратную дорогу запретили. Но исследовать же как-то надо? Поэтому станцию держать и кораблями с одним навигатором и автоматикой снабжать.
3. корабли с экипажем туда отправляли заведомо в один конец (без ведома экипажа, ибо кто же согласится?), укомплектовывая их специалистами, необходимыми для станции, а корабли программируя на выход из строя по прибытии.
4. а навигаторы просто дохнут после 20 дней, на Земле этот факт особо не афишируется, навигаторы просто "в полёте, очень заняты". В условиях тоталитарного государства подсчитать количество навигаторов и сравнить с количеством кораблей проблематично ведь, обе части могут быть засекречены.
5. черви были в standby-состоянии, но по ошибке учёные их включили и натравили на себя, то есть землян
6. пытаясь сбежать печальной участи их занесли на Землю
7. ну и хэппиэнд: чтобы за миллионы лет черви всё-таки стали разумными с хайвмайндом, а поглощённые мясные мешки не померли, а оказались в этот хайвмайнд загруженными
В этом и была прелесть тех игр, что нужно было с ней найти общий язык. Но потом для масс был придуман Maniac Mansion… и прелесть потерялась.
maniac mansion ужасно сложный, без прохождения не проходится. Кирандия в принципе тоже, но кирандия на порядки более качественная игра (вторая часть - вообще шедевр, третья - просто эксплуатация фран-шизы).
Я не про сложность, а про то, что все действия на виду. Кстати, большинство текстовых адвенчюр были вполне логичными, это вот после идиотизм пошёл.
Ну шрапнель и фотопия логичные, а вот endless не очень. Все три рекомендую. Varicella не зашла. h2g2 - тоже не зашла.
Шрапенель и Endless не знаю, фотопию играл. Догадываюсь, что и остальные новодел. Но я про старьё инфокомовских времён. А уже потом пошло — догадайся о логике автора, как применить штопор на пачку сигарет.
Так они все от одного и того же автора, причём написаны ещё в 90х на конкурсы.
Респект за Кирандию. Люто зашла в свое время.
Странно что до сих пор не додумались сделать ремейк.
Ящетаю, VGA-квесты самодостаточны. А когда делают римейк… ну посмотрите, что там с Simon The Sorcerer планируется. https://idpixel.ru/news/3269-razrabotchiki-simon-the-sorcere.../
Нафига ремейк оригинала, они же ещё cliffhanger второй части так и не разрешили. В прочем поделом Саймону, антагонисты там - единственные положительные персонажи, пусть антагонисты наслаждаются своей победой, поживут хоть как люди, они это заработали.
Проблема-то не в Саймоне, а в «художниках». Которые в категориях флеша рисуют, каляка-маляка.
Лучше без римейка, а то если копирасты начнут делать римейк - то все пиратские копии будут из сети просто выпилены, а кто не выпилит, сядут, а альтернативные движки тоже в суд потащат, как re3 потащили.
+1, особенно учитывая, что с английским у русских вообще швах.
Английский там нужен буквально в пределах первых двух классов, лондон из кэпитал оф грейт бритейн.
А некоторые даже учили английский по Latty и SpaceQuest :-D
*Larry же !"Leisure Suit Larry"
Ландон
Зря вы так. Infocom-овские игры "расколоть" достаточно непросто.
Жанр "текстовых квестов" был классикой для 1980-х, и многие игры того времени вошли в "золотой фонд компьютерных игр".
Но тут игры не просто игры, тут соображать надо. Да и язык знать на приличном уровне. В общем, не для зумеров и поколения "смузи".
> Зря вы так. Infocom-овские игры "расколоть" достаточно непросто.Непросто? Да. За то их и любим. Начался ли идиотизм с них (который и погубил квесты в итоге)? Определённо не с них.
> лондон из кэпитал оф грейт бритейнИз зе кэпитал.
Долгое время, когда интернет в этой стране был редкостью - вплоть до середины 90-х - ходила легенда, что некими умельцами Зорк был русифицирован. И кто-то даже или видел сам, или знакомый какого-то знакомого рассказывал, что сам лично играл...но увы, легенда так и осталась легендой. Перевести квест оказалось невозможно.А еще выдающаяся в плане интерактивных текстовых квестов была английская "Level 9". Ее игры были еще сложнее. Попадались у нас редко. Дай бог вспомню трилогию "Silicon Dreams".
IMHO: сложность головоломок квесты только портит. Смысл игр - давать личный опыт, который вы ещё долго вспоминать будете, а не меряться хитровыдолбанной логикой.
Смотря что понимать под сложностью. Насчёт сложных головоломок в Myst вот не припомню претензий (знали, на что шли). Насчёт очередных пятнашек — ну тут надо было изначально пинать ногами.
Русифицировали некоторые варианты Colossal Cave Adventure. Был даже порт на Спектрум.
Вот и выросло поколение, которое даже MUD'ы не застало.
так уже полно текстовых игр с llm
> текстовых квестов* facepalm * А там "змейку" или "угадай число" никто не собирается отFOSSить? гггг
Ваше `гггг` по внешнему виду подозрительно напоминает `гпт`: те же вертикальнып палочки, соединённые горизонтальными, только пропорции немного не соблюдены. Фрейд ни причём, но вы посыл поняли.
Спасибо, очень надо.
Майкрософт, чтоб тебе дети на старости лет так же еду подавали, как ты вкладываешься в опенсорц.
пытался в эту тему въехать, но "играть" в это оказалось.. нет, спасибо.
Слабак.
Играл в нее еще на СМ-1420. И да... она была русифицирована и на фортране.
А в машзале висела ба-а-а-льшая карта локаций этой игры с комментариями. Проблема была одна - там сохраниться нельзя было. Поэтому специально разрабатывали оптимальное прохождение, что бы можно было быстро вернуться к точьке смерти. Потом уже, много лет спустя, нашел исходники в инете и дописал выход с сохранением.
Эх... молодость... ностальгия...
> И да... она была русифицирована и на фортране.Жаль, что ложь.
Или путает с Colossal Cave Adventure. Которая тоже была на фортране, и которую успешно русифицировали.
Рекомендую ознакомиться с https://ifwiki.ru/Zork
Для ленивых цитата:
Zork - одна из первых текстовых игр и ранних подражаний Colossal Cave Adventure. Первая версия была написана в 1977–1979 годах на языке MDL под систему DEC PDP-10. Авторы, все из Массачусетского технологического университета: Tim Anderson, Marc Blank, Bruce Daniels и Dave Lebling.
Personal Software в 1980 году опубликовал то, что станет первой частью трилогии под именем Zork, но дистрибьюцией этой и последующих игр занимался только Infocom. Причина разбиения оригинальной игры на три части отчасти была в том, что в отличии от PDP, где она изначально шла, домашние системы не обладали достаточными объемами памяти и дискового пространства для обработки всего игрового пространства. Постепенно, в каждую часть добавлялось что-то свое, чтобы придать им самоценности.
В продолжение вышесказанного, цитата с рувики:
В ноябре 1980 года вышла игра Zork I: The Great Underground Empire для PDP-11, разработанная компанией Infocom. Для этой игры было разработано специальное программное обеспечение (считающееся одним из первых игровых движков) под названием ZIL (англ. Zork Implementation Language, Язык реализации игры Zork), с помощью которого специальная виртуальная машина (Z-machine) могла запускать стандартизированные «файлы историй» практически на различных платформах. Благодаря широкому распространению на различных платформах серия Zork стала одной из самых популярных серий текстовых приключенческих игр.
С Colossal Cave Adventure не путаешь?
Что там насчет MS-DOS и Windows 3.11 еще не пора?
Несколько досов уже открыли. Ссылка под новостью. https://github.com/microsoft/MS-DOS
даже хр32 первых редакций где-то уже валяется