Forum.iFiction.Ru

iFiction.Ru · ifHub · FAQ · IFWiki · QSP · URQ · INSTEAD · AXMA

форум об interactive fiction, текстовых приключенческих играх и всём таком...

Вы не зашли.

0    0    #1
21.05.2004 00:06

Olegus t.Gl.
Участник (+1053, -249)
Откуда: Москва
Зарегистрирован: 01.03.2001
Сообщений: 2879
Вебсайт

В общем дело поехало...

12/05/2004 в 00:23 были начаты работы по созданию русской IF-платформы для написания игр с текстовым вводом команд. От DOS'а пришлось отказаться в пользу Win32. Пишется всё на Delphi.

По состоянию на сегодняшний день дела идут удовлетворительно. Вот только вывод информации на экран в консольном приложении под Win95 происходит немного тормознуто (реанимировал для тестов свой старенький компьютер: CPU:486 160МГц/Mem:40MB/S3 Virge DX 2MB/HDD:426MB).

Если кто знает, как в консольном приложении использовать свои шрифты (в полноэкранном режиме), просьба сообщить — буду очень признателен.

Постараюсь по возможности сообщать о ходе работ...

Неактивен

0    0    #2
21.05.2004 22:57

Olegus t.Gl.
Участник (+1053, -249)
Откуда: Москва
Зарегистрирован: 01.03.2001
Сообщений: 2879
Вебсайт

Re: В общем дело поехало...

Помимо низкоуровневых модулей для работы с экраном, клавиатурой, сжатыми данными и т.п. закончен модуль для вывода на экран определённым образом размеченного текста (типа html, но в тексте). Все теги разметки на русском языке, как, впрочем, и весь внутренний язык будущей платформы.
Для примера несколько тегов:
<ПО.ЦЕНТРУ></ПО.ЦЕНТРУ>
<СПРАВА></СПРАВА>
<ПО.ШИРИНЕ></ПО.ШИРИНЕ>
<ЦВЕТ></ЦВЕТ>
а также:
<КЛ.ЛЮБАЯ>
<КЛ.ВВОД>
и многие другие.

Неактивен

0    0    #3
22.05.2004 08:32

Nash
Участник
Зарегистрирован: 22.04.2003
Сообщений: 44
Вебсайт

Придумать, начать и дожить до релиза...

Re: В общем дело поехало...

Olegus t.Gl. написал:

Если кто знает, как в консольном приложении использовать свои шрифты (в полноэкранном режиме), просьба сообщить — буду очень признателен.

А почему консоль на дельфи? Только оттого, что с VCL добавляется лишних 250-300КБ ?  ;D
Тогда посмотри тут:
http://xcl.cj.net
http://kol.mastak.ru
Скачай KOL и MCK. Работаешь с ними как с VCL (или ПОЧТИ как с VCL), а экзешники выходят по 25-50 КБ. Я не шучу!

Неактивен

0    0    #4
22.05.2004 10:27

Olegus t.Gl.
Участник (+1053, -249)
Откуда: Москва
Зарегистрирован: 01.03.2001
Сообщений: 2879
Вебсайт

Re: В общем дело поехало...

Консоль ради текста. Мне нужен текстовый ввод/вывод информации.

Неактивен

0    0    #5
22.05.2004 13:55

Nash
Участник
Зарегистрирован: 22.04.2003
Сообщений: 44
Вебсайт

Придумать, начать и дожить до релиза...

Re: В общем дело поехало...

Постой... Или это я не соображу  ???
Самое примитивное: кидаешь на форму TMemo и TEdit. Через первое выводишь текст, через второе - читаешь команды.
Если нужна "классика" - задаешь форме, memo и edit'у черный цвет, а текст выводишь белым. Убираешь все borders. Делаешь memo readonly=true. Пресекаешь все попытки передать фокус ввода memo.

Неактивен

0    0    #6
22.05.2004 14:51

Olegus t.Gl.
Участник (+1053, -249)
Откуда: Москва
Зарегистрирован: 01.03.2001
Сообщений: 2879
Вебсайт

Re: В общем дело поехало...

А зачем это нужно? Мне ведь нужна работа в текстовом режиме. Вот я и работаю с консольным приложением. Зачем весь этот мудрёж с формами и т.п.?

Неактивен

0    0    #7
22.05.2004 16:40

Nash
Участник
Зарегистрирован: 22.04.2003
Сообщений: 44
Вебсайт

Придумать, начать и дожить до релиза...

Re: В общем дело поехало...

А как тогда ты собираешься изменять шрифт? Выравнивание по центру?

Неактивен

0    0    #8
22.05.2004 17:18

Olegus t.Gl.
Участник (+1053, -249)
Откуда: Москва
Зарегистрирован: 01.03.2001
Сообщений: 2879
Вебсайт

Re: В общем дело поехало...

Под DOS я рисовал свои шрифты и без особых проблем подключал их. Как сделать это под Win32, я не знаю.
Что касается выравнивания и т.п., то это делается просто: либо текст выводится с нужной позиции, либо (если выраванивание "по ширине") промежутки между словами дополняются пробелами...

Неактивен

0    0    #9
22.05.2004 20:44

Nash
Участник
Зарегистрирован: 22.04.2003
Сообщений: 44
Вебсайт

Придумать, начать и дожить до релиза...

Re: В общем дело поехало...

Под DOS я рисовал свои шрифты и без особых проблем подключал их. Как сделать это под Win32, я не знаю.

В ДОС все было по-другому... В консольном приложении под винду в делфи даже нет доступа к классу TApplication sad Короче, нет у меня пока идей на этот счет. Может быть, через WinApi можно?

Что касается выравнивания и т.п., то это делается просто: либо текст выводится с нужной позиции, либо (если выраванивание "по ширине") промежутки между словами дополняются пробелами...

А как вычислять ширину окна? Заранее просчитать кол-во символов, которые умещаются в одну строку при разных разрешениях экрана? Хотя и разрешение не определишь...

Вообщем, даже не знаю  :-/
По-моему, использование моего варианта - не мудрёж, а обоснованный уход от большинства проблем. А про большой размер исполняемых файлов я уже рассказал.

P.S.  6 постов в теме за один день! Просто чат какой-то выходит  wink

Неактивен

0    0    #10
22.05.2004 23:17

Olegus t.Gl.
Участник (+1053, -249)
Откуда: Москва
Зарегистрирован: 01.03.2001
Сообщений: 2879
Вебсайт

Re: В общем дело поехало...

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

Что касается процесса, то в настоящее время идёт работа над транслятором-компилятором (или типа того — я не особо силён в терминологии), который будет переводить исходники игры в некий промежуточный код, который будет проигрываться отдельной программой. Не могу не выразить восхищение методом обратной польской записи, предложенного миру математиком (само собой польским) Я. Лукашевичем. Столь компактные правила, реализущие столь стройную и гибкую систему!.. Разве что в бухгалтерском учёте я встречал нечто подобное.

Неактивен

0    0    #11
22.05.2004 23:37

Nash
Участник
Зарегистрирован: 22.04.2003
Сообщений: 44
Вебсайт

Придумать, начать и дожить до релиза...

Re: В общем дело поехало...

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

Почему же? Приходилось, но совсем немного smile Для простых задач, вроде "прочитать файл - обработать данные - записать результаты в файл". А для работы с текстом - тут ты прав.
Сейчас вот пересмотрел хелп по WinApi. Кажется, шрифт в консоли поменять никак нельзя. Цвет можно, кодовую страницу - можно.
Что скажут другие?..

Что касается процесса, то в настоящее время идёт работа над транслятором-компилятором (или типа того — я не особо силён в терминологии), который будет переводить исходники игры в некий промежуточный код, который будет проигрываться отдельной программой. Не могу не выразить восхищение методом обратной польской записи, предложенного миру математиком (само собой польским) Я. Лукашевичем. Столь компактные правила, реализущие столь стройную и гибкую систему!.. Разве что в бухгалтерском учёте я встречал нечто подобное.

Очень интересно!  big_smile
Проблема компиляции - это то, что волнует меня сейчас превыше всего. Не подскажешь ли какую ссылку на ресурс, с которого ты брал правила метода обратной польской записи, пожалуйста?  smile Или это книга?

Неактивен

0    0    #12
23.05.2004 00:02

Olegus t.Gl.
Участник (+1053, -249)
Откуда: Москва
Зарегистрирован: 01.03.2001
Сообщений: 2879
Вебсайт

Re: В общем дело поехало...

Гениальное в своей лаконичности изложение основных принципов метода обратной польской записи: http://algolist.manual.ru/syntax/revpn.php
Главное пропустить первые абзацы. Суть начинается со слов "Во-втоpых, получение обpатной польской записи из исходного выpажения...". Прилагаемый там исходник не смотрел.

Неактивен

0    0    #13
23.05.2004 00:55

Nash
Участник
Зарегистрирован: 22.04.2003
Сообщений: 44
Вебсайт

Придумать, начать и дожить до релиза...

Re: В общем дело поехало...

Спасибо большое! smile

Неактивен

0    0    #14
23.05.2004 12:21

Nash
Участник
Зарегистрирован: 22.04.2003
Сообщений: 44
Вебсайт

Придумать, начать и дожить до релиза...

Re: В общем дело поехало...

Кстати, о компиляции.
Можешь посмотреть здесь http://compilers.iecc.com/crenshaw/
Очень хороший гайд (кстати, где-то там лежит весь цикл статей в одном архиве, ~300Кб. Если инет повременный wink).
Собственно, весь ресурс очень неплох. Жаль, вопросы, которые там рассматриваются, по большей части: как компилировать один из имеющихся языков в exe.

Неактивен

0    0    #15
23.05.2004 13:27

GrAndrey
папа RTADS и Бяка (+49, -2)
Откуда: Москва
Зарегистрирован: 15.09.2002
Сообщений: 1198
Вебсайт

меньше слов

Re: В общем дело поехало...

Я все-таки не понимаю, вы пишите игры или движки?

Неактивен

0    0    #16
23.05.2004 14:12

Nash
Участник
Зарегистрирован: 22.04.2003
Сообщений: 44
Вебсайт

Придумать, начать и дожить до релиза...

Re: В общем дело поехало...

Движки, я так понимаю  :-/
Извини, Гранд, я очень ценю твою работу по русификации TADS'а, но полноценного IF по-русски так ведь не получишь sad
Проблем тут две:
1) за нашу работу никто не платит (иначе она была бы закончена эдак лет 5 назад)
2) все мы стремимся натянуть на себя лавровый венок, поэтому работаем по одиночке или малыми группами...
Olegus
Держись!
Такие люди, как ты, и сдвигают дело с мертвой точки. К сожалению, помочь не могу, учеба... sad

Неактивен

0    0    #17
23.05.2004 19:26

Gottlieb_Leberecht
Участник
Зарегистрирован: 18.08.2003
Сообщений: 52

"And after the Apocalypse, things got real bad."&&--Robot Holocaust.

Re: В общем дело поехало...

Nash написал:

Извини, Гранд, я очень ценю твою работу по русификации TADS'а, но полноценного IF по-русски так ведь не получишь sad(

Почему?

Неактивен

0    0    #18
23.05.2004 20:22

Olegus t.Gl.
Участник (+1053, -249)
Откуда: Москва
Зарегистрирован: 01.03.2001
Сообщений: 2879
Вебсайт

Re: В общем дело поехало...

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

Неактивен

0    0    #19
23.05.2004 22:16

Nash
Участник
Зарегистрирован: 22.04.2003
Сообщений: 44
Вебсайт

Придумать, начать и дожить до релиза...

Re: В общем дело поехало...

Gottlieb_Leberecht написал:

Почему?

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

На повестке дня остается вопрос: можно ли в консольном приложении (скомпилированном в делфи) менять ШРИФТ текста?

Olegus
С трудом сдерживаю себя...Цитата А.Новичкова из статьи о Rational Rose:
"Тут на ум приходит еще одно традиционное для России высказывание разработчика: “мне проще все написать заново”. И ведь пишут…"
Вот вам и вся фабула эпохи русского IF. В цитате - это упрек, здесь - нет. Лично я ЗА то, чтобы кто-то из нас написал платформу, которая будет иметь нормальный парсер, понимать падежи, иметь русский синтаксис etc.
Ждем игру!

Неактивен

0    0    #20
23.05.2004 23:04

Gottlieb_Leberecht
Участник
Зарегистрирован: 18.08.2003
Сообщений: 52

"And after the Apocalypse, things got real bad."&&--Robot Holocaust.

Re: В общем дело поехало...

Я извиняюсь, за то что-то вклиниваюсь с офф-топиком, но действительно интересно.

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

1) Почему придётся всё заново переводить? Тебя что-то не устраивает в текущей версии, которая (не перевод библиотек, а оригинал, естественно) доводилась до ума в течение десяти лет?
2) TADS2 УЖЕ не поменяется — его разработка завершена. Разрабатывается дальше только TADS3.

Вот вам и вся фабула эпохи русского IF. В цитате - это упрек, здесь - нет. Лично я ЗА то, чтобы кто-то из нас написал платформу, которая будет иметь нормальный парсер, понимать падежи, иметь русский синтаксис etc.

А чем конкретно тебя не устраивают русифицированные Inform и TADS2? Обе системы понимают нормальный русский язык и выдают ответы на нормальном русском языке. Возможно, парсинг падежей/ещё что-то выполнены не очень элегантно, но есть ли лучшие способы? И потом, нужны ли они, если всё и так нормально работает?

Неактивен

0    0    #21
23.05.2004 23:07

GrAndrey
папа RTADS и Бяка (+49, -2)
Откуда: Москва
Зарегистрирован: 15.09.2002
Сообщений: 1198
Вебсайт

меньше слов

Re: В общем дело поехало...

Nash: "Кажется, мы удаляемся от главной темы."

Тема у нас заявлена как: "В общем, дело поехало...". По-моему, она настолько общая, что от неё черезвычайно трудно отклониться smile

Nash: "Вкратце, если TADS вдруг кардинально поменяют, придется все заново переводить."

ТАДС кариданльно не поменяется. Он и раньше менялся с сохранением обратной совместимости, а теперь вообще почти не обновляется. Автор занят разработкой новой версии (уже около 4 лет, причем, он - профессиональный программист ).

Nash: "Лично я ЗА то, чтобы кто-то из нас написал платформу, которая будет иметь нормальный парсер, понимать падежи, иметь русский синтаксис etc."

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

Неактивен

0    0    #22
24.05.2004 00:24

Nash
Участник
Зарегистрирован: 22.04.2003
Сообщений: 44
Вебсайт

Придумать, начать и дожить до релиза...

Re: В общем дело поехало...

Тема у нас заявлена как: "В общем, дело поехало...". По-моему, она настолько общая, что от неё черезвычайно трудно отклониться

smile
Шутки - шутками, а тема-то была создана, для того, чтобы Олегус информировал нас о ходе работ над своим движком.
Сомневаюсь, что он одобрит наши очередные плачи по поводу нежелания нас самих писать игры...

Как я понял, Олегус, от которого зависит организация конкурса, делает игру для участия в нем. И я тревожусь: дождемся ли мы этого события?

Надеюсь, все у него получится. Пускай не сразу, но выйдет. (трижды стучу по дереву)

Olegus
Я понимаю, ты решил писать трансляцию исходника с нуля? Не переводить синтаскис твоего языка, скажем на Паскаль, и  трансляции его с помощью Pascal Web Script'a или Innerfuse Pascal Script?

Неактивен

0    0    #23
24.05.2004 00:25

Olegus t.Gl.
Участник (+1053, -249)
Откуда: Москва
Зарегистрирован: 01.03.2001
Сообщений: 2879
Вебсайт

Re: В общем дело поехало...

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

Неактивен

0    0    #24
24.05.2004 00:27

Olegus t.Gl.
Участник (+1053, -249)
Откуда: Москва
Зарегистрирован: 01.03.2001
Сообщений: 2879
Вебсайт

Re: В общем дело поехало...

Nash написал:

Olegus
Я понимаю, ты решил писать трансляцию исходника с нуля? Не переводить синтаскис твоего языка, скажем на Паскаль, и  трансляции его с помощью Pascal Web Script'a или Innerfuse Pascal Script?

Я не настолько крут. Будет компилятор для получения кода игры в определённом формате, и будет виртуальная машина (так это вроде называется) для проигрывания этого кода.

Неактивен

0    0    #25
24.05.2004 09:11

Nash
Участник
Зарегистрирован: 22.04.2003
Сообщений: 44
Вебсайт

Придумать, начать и дожить до релиза...

Re: В общем дело поехало...

Я не настолько крут. Будет компилятор для получения кода игры в определённом формате, и будет виртуальная машина (так это вроде называется) для проигрывания этого кода.

Я же не имел в виду, собираешься ли ты приводить исходник к exe, а именно схему работы с интерпретатором. И что, ты считаешь - это не круто? smile
Анализ исходника ты пишешь сам. А значит должен сам проверять уровни вложенности открывающих и закрывающих операторов, вести таблицы переменных и функций, вычислять те же арифметические выражения (Лукашевича ведь еще надо как-то на паскале написать!). Поверь мне - это более чем круто.

Неактивен

0    0    #26
29.05.2004 12:15

Olegus t.Gl.
Участник (+1053, -249)
Откуда: Москва
Зарегистрирован: 01.03.2001
Сообщений: 2879
Вебсайт

Re: В общем дело поехало...

Вроде как получилось реализовать работу с массивами, пока предусмотрено только три вида массива: одномерный ("Список"), двумерный ("Таблица"), трёхмерный ("Кирпич", название рабочее, если кто придумает что-то подходящее — сообщите).

Неактивен

0    0    #27
29.05.2004 23:57

Nash
Участник
Зарегистрирован: 22.04.2003
Сообщений: 44
Вебсайт

Придумать, начать и дожить до релиза...

Re: В общем дело поехало...

Olegus t.Gl. написал:

Вроде как получилось реализовать работу с массивами, пока предусмотрено только три вида массива: одномерный ("Список"), двумерный ("Таблица"), трёхмерный ("Кирпич", название рабочее, если кто придумает что-то подходящее — сообщите).

Если трехмерный - то "Куб". ИМХО, мненонически самое правильное название...

Неактивен

0    0    #28
30.05.2004 00:35

GrAndrey
папа RTADS и Бяка (+49, -2)
Откуда: Москва
Зарегистрирован: 15.09.2002
Сообщений: 1198
Вебсайт

меньше слов

Re: В общем дело поехало...

Nash написал:

Если трехмерный - то "Куб". ИМХО, мненонически самое правильное название...

Тогда уж параллелепипид, он, в отличие от куба, может иметь разную длину сторон smile
Хорошо звучит - параллелепипид данных. Только написать его правильно многим будет непросто smile

Неактивен

0    0    #29
31.05.2004 00:24

Unreal
Участник (+3)
Зарегистрирован: 13.09.2002
Сообщений: 170

Re: В общем дело поехало...

Olegus t.Gl. написал:

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

Все это, естественно, отсутсвует в RTADS и Русском Inform.

Честно скажу, я не ожидаю от "системы" многого. О сроках разработки я уж не говорю — _годы_ покажут.

Т.о. мое отношение к разработке (и трате на это сил) негативное.

Неактивен

0    0    #30
31.05.2004 23:00

Nash
Участник
Зарегистрирован: 22.04.2003
Сообщений: 44
Вебсайт

Придумать, начать и дожить до релиза...

Re: В общем дело поехало...

GrAndrey

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

Трехмерный массив с разной длиной сторон? А зачем он будет нужен в IF? (я вот даже сомневаюсь, будет ли вообще востребован трехмерный массив, но если автору не трудно его реализовать - пускай будет на всяк случай wink).
А куб звучит попроще smile

Только написать его правильно многим будет непросто

Да ну, написать (объявить, я понимаю?) несложно. Это ж не динамические массивы...

Stas Starkov

Все это, естественно, отсутсвует в RTADS и Русском Inform.

??? А что тогда из себя представляет файл *.gam, например?

Честно скажу, я не ожидаю от "системы" многого. О сроках разработки я уж не говорю — _годы_ покажут.

Т.о. мое отношение к разработке (и трате на это сил) негативное.

А альтернатива?

Неактивен

0    0    #31
01.06.2004 00:58

GrAndrey
папа RTADS и Бяка (+49, -2)
Откуда: Москва
Зарегистрирован: 15.09.2002
Сообщений: 1198
Вебсайт

меньше слов

Re: В общем дело поехало...

Nash:
>>Да ну, написать (объявить, я понимаю?) несложно. Это
>>ж не динамические массивы...

Нет, правильно написать слово параллелепипид smile

Stas Starkov
Quote:Все это, естественно, отсутсвует в RTADS и Русском Inform. 

>> ??? А что тогда из себя представляет файл *.gam,
>> например?

Памятка: сарказм - это не старческая болезнь, и не опухоль. Это такие реплики, которые будучи записанными на форуме, часто неправильно воспринимаются. Вспоинается давнишняя тема  roll:
https://forum.ifiction.ru/viewtopic.php?pid=7289#p7289

Неактивен

0    0    #32
01.06.2004 09:22

Nash
Участник
Зарегистрирован: 22.04.2003
Сообщений: 44
Вебсайт

Придумать, начать и дожить до релиза...

Re: В общем дело поехало...

Дважды неверно понять собеседника - это еще надо постараться  big_smile
Да, "параллелепипед" - это очень сложное слово, а потому "куб". Спасение для развращенных мышкой пользователей.

Памятка: сарказм - это не старческая болезнь, и не опухоль

Ну хорошо. Вот покажете мне, как без лишней головной боли воплотить РЕАЛЬНУЮ многообъектность в RTADS, да еще чтоб отдельные экземпляры ОДНОГО объекта можно было перекидывать из контейнера в контейнер...придется согласиться, что разработка русской платформы никому не нужна.

Неактивен

0    0    #33
01.06.2004 13:03

WildWizard
Участник
Откуда: Россия, Красноярск
Зарегистрирован: 01.03.2001
Сообщений: 450
Вебсайт

Nobody expects the Spa.. Oh, never&&mind.

Re: В общем дело поехало...

Nash написал:

Ну хорошо. Вот покажете мне, как без лишней головной боли воплотить РЕАЛЬНУЮ многообъектность в RTADS, да еще чтоб отдельные экземпляры ОДНОГО объекта можно было перекидывать из контейнера в контейнер...придется согласиться, что разработка русской платформы никому не нужна.

Все это без проблем делается в Python/Hydra wink

Неактивен

0    0    #34
01.06.2004 20:44

GrAndrey
папа RTADS и Бяка (+49, -2)
Откуда: Москва
Зарегистрирован: 15.09.2002
Сообщений: 1198
Вебсайт

меньше слов

Re: В общем дело поехало...

Nash написал:


Ну хорошо. Вот покажете мне, как без лишней головной боли воплотить РЕАЛЬНУЮ многообъектность в RTADS, да еще чтоб отдельные экземпляры ОДНОГО объекта можно было перекидывать из контейнера в контейнер...придется согласиться, что разработка русской платформы никому не нужна.

И покажу:

Код:

myachik : item
    sdesc = "мячик"
    rdesc = "мячика"
    ddesc = "мячику"
    vdesc = "мячик"
    tdesc = "мячиком"
    pdesc = "мячике"
    adjective = 'небольшой' 'резиновый#t' 'небольшого' 'небольшому' 'небольшому#d' 'небольшим' 'небольшим#t' 'небольшом' 'резиновый' 'резиновый#t' 'резинового' 'резиновому' 'резиновому#d' 'резиновым' 'резиновым#t' 'резиновом'
    noun = 'мячик' 'мячика' 'мячику' 'мячиком' 'мячике' 'мячику#d' 'мячиком#t'
    ldesc = "Небольшой резиновый мячик."
    isHim = true
;

/* Внутри какой-либо из процедур, создаем экземпляры объекта. В данном примере, внутри процедуры осмотра стартовой комнаты, если она произодится впервые */

startroom: room
ldesc = {
   if (!startroom.issen)
  {
   local myachik1 = new myachik;
   myachik1.moveInto(startroom);
   /* Далее можно поменять его свйоства. Например, добавить новые имена, позволяющие различать созданные объекты */
  }
}
;

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

P.S. Мячик описан за 10 секунд при помощи все того-же легендарного "Генератора"  ;D

Неактивен

0    0    #35
01.06.2004 22:38

Nash
Участник
Зарегистрирован: 22.04.2003
Сообщений: 44
Вебсайт

Придумать, начать и дожить до релиза...

Re: В общем дело поехало...

Погодите, но вот же отрывок из мануала по RTADS:

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

Однако, поскольку TADS требует индивидуального набора лексических свойств для каждого объекта, нам придется-таки наложить некоторые ограничения на действия игрока. В частности, в каждый конкретный момент времени игрок сможет держать в руках только одну спичку - все остальные спички должны оставаться в коробке.

А если у меня есть патронташ и я хочу брать произвольное кол-во патронов, чтобы зарядить их в мой боевой пистолет? Дальше в мануале идет страница исходного кода решения со спичками. И это если позволено брать только одну спичку из коробка. Мне придется городить вдвое больше?
ЗЫ. Не судите слишком строго, RTADS я знаю действительно поверхностно...

Неактивен

0    0    #36
02.06.2004 00:35

GrAndrey
папа RTADS и Бяка (+49, -2)
Откуда: Москва
Зарегистрирован: 15.09.2002
Сообщений: 1198
Вебсайт

меньше слов

Re: В общем дело поехало...

Nash написал:

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

В TADS есть понятие неразличимых объектов (они имеют флаг isEquivalent и общий суперкласс). Только что динамически создал 25 патронов. Брать их получается только по одному. Буду писать анализ для числительных.

Неактивен

0    0    #37
02.06.2004 01:00

Olegus t.Gl.
Участник (+1053, -249)
Откуда: Москва
Зарегистрирован: 01.03.2001
Сообщений: 2879
Вебсайт

Re: В общем дело поехало...

"Куб" так "куб". Трехмерный массив может пригодится для моделирования пространства.

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

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

P.P.S. Различные примеры из других платформ весьма интересны и познавательны, однако не стоит превращать эту тему в FAQ по этим платформам. В то же время, я ни в коем случае не запрещаю некоторую отвлечённость в разговоре. Но придерживайтесь меры...

Неактивен

0    0    #38
02.06.2004 08:57

Nash
Участник
Зарегистрирован: 22.04.2003
Сообщений: 44
Вебсайт

Придумать, начать и дожить до релиза...

Re: В общем дело поехало...

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

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

Неактивен

0    0    #39
02.06.2004 10:34

Olegus t.Gl.
Участник (+1053, -249)
Откуда: Москва
Зарегистрирован: 01.03.2001
Сообщений: 2879
Вебсайт

Re: В общем дело поехало...

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

Неактивен

0    0    #40
02.06.2004 21:50

Unreal
Участник (+3)
Зарегистрирован: 13.09.2002
Сообщений: 170

Re: В общем дело поехало...

Nash написал:

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

(Так вот что ты имел в виду... Точнее надо формировать техническое задание. :-) )

То, чего ты хочешь, не реализовано ни в одной (насколько я знаю) системе IF кроме TADS3! Это просто объяснимо — это весьма сложно сделать и при этом сделать "правильно". Плюс к тому, необходимость в подобной функциональности возникает не часто и, как ты сам видел, это ограничения _можно_ обойти.

А можно узнать, имеется ли данная вещь хотя бы в списке желаемого в "IF платформе"? А в RTADS это _уже_ возможно, пусть и не без труда (чужого, кстати, — код-то уже написан добрыми иностранцами).

Неактивен

0    0    #41
02.06.2004 22:36

Nash
Участник
Зарегистрирован: 22.04.2003
Сообщений: 44
Вебсайт

Придумать, начать и дожить до релиза...

Re: В общем дело поехало...

То, чего ты хочешь, не реализовано ни в одной (насколько я знаю) системе IF кроме TADS3!

А в RTADS это _уже_ возможно, пусть и не без труда (чужого, кстати, — код-то уже написан добрыми иностранцами).

Так "не реализовано" или "возможно"? smile

Плюс к тому, необходимость в подобной функциональности возникает не часто

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

Неактивен

0    0    #42
22.06.2004 12:36

Olegus t.Gl.
Участник (+1053, -249)
Откуда: Москва
Зарегистрирован: 01.03.2001
Сообщений: 2879
Вебсайт

Re: В общем дело поехало...

Дело хоть и медленно, но продвигается. Пока всё на стадии проектирования с программными "набросками" реализации некоторых алгоритмов. Так, вроде удалось разобраться и спроектировать работу со свойствами и методами объектов платформы...

В настоящее время работаю над реализацией в платформе работы как с типизированными переменными, так и с переменными без типа.

Изрядное количество хлопот доставляет реализация операций присваивания и сравнения на равенство через один знак "=". Обозначать эти операции по-разному (как в C или Delphi/Pascal'е) на мой взгляд не очень разумно.

Неактивен

0    0    #43
24.06.2004 12:50

dennis
Участник
Зарегистрирован: 10.06.2003
Сообщений: 159

Re: В общем дело поехало...

Использование РАЗНЫХ символов для присваивания и сравнения в C/C++/Inform — отнюдь не роскошь. Это бинарные операции, могут использоваться в любых контекстах, и иначе различить их нельзя.

Неактивен

0    0    #44
24.06.2004 13:39

Olegus t.Gl.
Участник (+1053, -249)
Откуда: Москва
Зарегистрирован: 01.03.2001
Сообщений: 2879
Вебсайт

Re: В общем дело поехало...

dennis написал:

Использование РАЗНЫХ символов для присваивания и сравнения в C/C++/Inform — отнюдь не роскошь. Это бинарные операции, могут использоваться в любых контекстах, и иначе различить их нельзя.

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

Неактивен

0    0    #45
09.08.2004 00:16

Olegus t.Gl.
Участник (+1053, -249)
Откуда: Москва
Зарегистрирован: 01.03.2001
Сообщений: 2879
Вебсайт

Re: В общем дело поехало...

Работа идёт, хотя лето, солнце и т.п. несколько снижают темп...

Неактивен

0    0    #46
31.08.2004 13:05

Uten
Гость

Re: В общем дело поехало...

По поводу консоли в Win32:
В 98 окнах изменение шрифта консоли - только извне,  ручками.
В Вин2000 и ВинХР - таких возможностей не предусмотрено вообще. На то она и консоль.

0    0    #47
31.08.2004 14:39

Olegus t.Gl.
Участник (+1053, -249)
Откуда: Москва
Зарегистрирован: 01.03.2001
Сообщений: 2879
Вебсайт

Re: В общем дело поехало...

Жаль, что нельзя менять шрифт. Хотя и несколько странно...

Неактивен

0    0    #48
31.08.2004 15:28

GrAndrey
папа RTADS и Бяка (+49, -2)
Откуда: Москва
Зарегистрирован: 15.09.2002
Сообщений: 1198
Вебсайт

меньше слов

Re: В общем дело поехало...

Uten написал:

По поводу консоли в Win32:
В 98 окнах изменение шрифта консоли - только извне,  ручками.
В Вин2000 и ВинХР - таких возможностей не предусмотрено вообще. На то она и консоль.

Как это нельзя? Свойства, шрифт. Правда только два (наверно, можно ещё установить), но размеры на любой вкус.

Неактивен

0    0    #49
31.08.2004 16:46

Uten
Гость

Re: В общем дело поехало...

GrAndrey написал:


Как это нельзя? Свойства, шрифт. Правда только два (наверно, можно ещё установить), но размеры на любой вкус.

Да, сорри, с Вин2к/ХР я погорячился.
Но это ничего не меняет, поскольку шрифт является свойством самой консоли, а не консольного приложения.
Насколько я помню в том же ДОСе небыло возможности изменить шрифт (не начертание, а размер), да и начертание - только обходными методами, которые не применимы к винде по определению.

0    0    #50
31.08.2004 20:27

GrAndrey
папа RTADS и Бяка (+49, -2)
Откуда: Москва
Зарегистрирован: 15.09.2002
Сообщений: 1198
Вебсайт

меньше слов

Re: В общем дело поехало...

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

Неактивен

0    0    #51
01.09.2004 00:12

Olegus t.Gl.
Участник (+1053, -249)
Откуда: Москва
Зарегистрирован: 01.03.2001
Сообщений: 2879
Вебсайт

Re: В общем дело поехало...

Под DOS я и сам использовал самодельные шрифты. Написал даже редактор шрифтов. Под винды это, увы, непременимо.

Неактивен

0    0    #52
01.09.2004 12:41

Uten
Гость

Re: В общем дело поехало...

GrAndrey написал:

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

Под ВинХР работает?


И все таки я не пойму. Зачем менять начертание шрифта в консоли, неужели цвета недостаточно?
С другой стороны есть тот же RichEdit, если так хочется "продвинутого" форматирования и прочих прибамбасов.

0    0    #53
01.09.2004 14:57

Uten
Гость

Re: В общем дело поехало...

Кстати в HKEY_CURRENT_USERConsole лежат настройки консоли.

Менять из программы их нужно ДО открытия консольного окна.

0    0    #54
02.09.2004 11:36

Adramelek
Участник (+1)
Зарегистрирован: 07.07.2006
Сообщений: 193

Re: В общем дело поехало...

Uten написал:

Кстати в HKEY_CURRENT_USERConsole лежат настройки консоли.

Менять из программы их нужно ДО открытия консольного окна.

А если программа открывается уже в консоли? Например, в FAR'e?

Неактивен

0    0    #55
02.09.2004 14:24

Olegus t.Gl.
Участник (+1053, -249)
Откуда: Москва
Зарегистрирован: 01.03.2001
Сообщений: 2879
Вебсайт

Re: В общем дело поехало...

В любом случае это совсем не то, что я мне нужно.

Неактивен

0    0    #56
15.09.2004 15:49

Uten
Гость

Re: В общем дело поехало...

Недавно, копаясь в kernel32.dll нашел следующие функции:
SetConsoleFont
SetConsolePalette
SetConsoleIcon
в Win32Sdk о них ни слова.
Это то что нужно?

0    0    #57
15.09.2004 19:58

Olegus t.Gl.
Участник (+1053, -249)
Откуда: Москва
Зарегистрирован: 01.03.2001
Сообщений: 2879
Вебсайт

Re: В общем дело поехало...

Не знаю. Но вряд ли.

Неактивен

0    0    #58
07.11.2004 16:42

NGBD
Гость

Re: В общем дело поехало...

Ну как у вас там? Месяц прошел, а новостей не слышно... ??? :-/

0    0    #59
12.03.2005 18:10

Olegus t.Gl.
Участник (+1053, -249)
Откуда: Москва
Зарегистрирован: 01.03.2001
Сообщений: 2879
Вебсайт

Re: В общем дело поехало...

Как это ни удивительно, но дело идёт...

Неактивен

0    0    #60
21.03.2005 00:00

Olegus t.Gl.
Участник (+1053, -249)
Откуда: Москва
Зарегистрирован: 01.03.2001
Сообщений: 2879
Вебсайт

Re: В общем дело поехало...

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

Неактивен

0    0    #61
03.04.2005 00:28

Olegus t.Gl.
Участник (+1053, -249)
Откуда: Москва
Зарегистрирован: 01.03.2001
Сообщений: 2879
Вебсайт

Re: В общем дело поехало...

Кое-что вырисовывается...
Минимальный (и традиционный) текст программы выглядит так:

Код:

{Программа}
{НачалоРаботы}
  НаЭкран("Привет, мир!");
{КонецРаботы}
{КонецПрограммы}

Объектный файл (типа ассемблерного представления байт-кода) получается такой:

Код:

; Объектный файл создан компилятором xXxxxxxx.Xx (c) 2004-2005 Olegus t.Gl.
; Дата компиляции: 03.04.05 00:22:18
;
; ТАБЛИЦА СТРОКОВЫХ РЕСУРСОВ
STRING 0 , Привет, мир!
;
;СТАРТОВЫЙ МОДУЛЬ
;Тело модуля
1: FUNC_NEWSTACK
2: PUSHS 0
3: ADD_PARAM 
4: FUNC_CALL_INT 23001
;КОНЕЦ СТАРТОВОГО МОДУЛЯ

Работа на этом останавливаться не собирается...

Неактивен

0    0    #62
04.04.2005 10:22

Korwin
Гоблин, зеленый от недосыпа (+188, -16)
Откуда: Екатеринбург
Зарегистрирован: 27.11.2007
Сообщений: 796
Вебсайт

У трав, растущих на мягкой земле - слабые корни. (с)Korwin

Re: В общем дело поехало...

Olegus, I am glad to see you work!

Это выглядит понятно! А как будет смотреться что-то посложнее?

Неактивен

0    0    #63
04.04.2005 15:16

Olegus t.Gl.
Участник (+1053, -249)
Откуда: Москва
Зарегистрирован: 01.03.2001
Сообщений: 2879
Вебсайт

Re: В общем дело поехало...

А что именно интересует?
В настоящее время завершается рзработка базового уровня: арифметические, логические и строковые операции и функции, операторы ветвления, операторы циклов, работа с процедурами и функциями.
Работа с объектами: локациями, предметами, персонажами, словарём и т.п., будет начата в ближайшее время.

Неактивен

0    0    #64
10.04.2005 00:51

Olegus t.Gl.
Участник (+1053, -249)
Откуда: Москва
Зарегистрирован: 01.03.2001
Сообщений: 2879
Вебсайт

Re: В общем дело поехало...

Потихонечку работа движется. Не так быстро, как хотелось бы, но всё же... Базовый язык — это всё-таки основа.

Неактивен

0    0    #65
10.04.2005 14:44

Olegus t.Gl.
Участник (+1053, -249)
Откуда: Москва
Зарегистрирован: 01.03.2001
Сообщений: 2879
Вебсайт

Re: В общем дело поехало...

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

Неактивен

0    0    #66
17.04.2005 23:25

Olegus t.Gl.
Участник (+1053, -249)
Откуда: Москва
Зарегистрирован: 01.03.2001
Сообщений: 2879
Вебсайт

Re: В общем дело поехало...

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

Неактивен

0    0    #67
18.04.2005 09:36

Korwin
Гоблин, зеленый от недосыпа (+188, -16)
Откуда: Екатеринбург
Зарегистрирован: 27.11.2007
Сообщений: 796
Вебсайт

У трав, растущих на мягкой земле - слабые корни. (с)Korwin

Re: В общем дело поехало...

Мы ждем и надеемся, Olegus t.Gl. wink

Неактивен

0    0    #68
22.04.2005 23:58

ifn00b
Участник
Откуда: Москва
Зарегистрирован: 29.12.2004
Сообщений: 118
Вебсайт

Re: В общем дело поехало...

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

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

Неактивен

0    0    #69
23.04.2005 09:49

Olegus t.Gl.
Участник (+1053, -249)
Откуда: Москва
Зарегистрирован: 01.03.2001
Сообщений: 2879
Вебсайт

Re: В общем дело поехало...

ifn00b написал:

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

А причём здесь нумерация строк? Они пронумерованы в объектном файле (для контроля и только), в исходниках для goto ("перейти") будут использоваться метки.

Неактивен

0    0    #70
24.04.2005 22:39

Olegus t.Gl.
Участник (+1053, -249)
Откуда: Москва
Зарегистрирован: 01.03.2001
Сообщений: 2879
Вебсайт

Re: В общем дело поехало...

Переделка объектной (или как там её) модели на "Глобальный контекст — Модуль объекта — Модуль процедуры/функции" занимает очень много времени и сил. Однако в результате как-то само собой решились вопросы использования констант, а также предупреждения о неиспользовании тех или иных переменных. К тому же сдвинулась с места работа с созданием процедур и функций. Отшлифовался немного вопрос видимости переменных, а также процедур и функций. Доработан вопрос возможности перекрытия переменных, процедур и функций Глобального (общего) модуля переменными, процедурами и функциями локальных модулей.

Рутина, но без её реализации подойти к самому интересному: объектам игрового мира, невозможно...

Неактивен

0    0    #71
25.04.2005 08:23

ifn00b
Участник
Откуда: Москва
Зарегистрирован: 29.12.2004
Сообщений: 118
Вебсайт

Re: В общем дело поехало...

Мда, че-то я в ночи не то прочитал, похоже.  :-[

Неактивен

0    0    #72
12.05.2005 06:38

Olegus t.Gl.
Участник (+1053, -249)
Откуда: Москва
Зарегистрирован: 01.03.2001
Сообщений: 2879
Вебсайт

Re: В общем дело поехало...

Прошёл год с объявления о начале работ. Дел было сделано не так уж мало, но и недостаточно для каких-либо демонстраций. В 2004 году по ряду причин (часто личного характера) работа топталась на одном месте. Основной прорыв был сделан в начале 2005 года, после чего можно с уверенностью говорить о том, что результат всё-таки будет.

Неактивен

0    0    #73
08.11.2005 16:52

Vlag0n
Гость

Re: В общем дело поехало...

Ну как дела? Требуем отчёт о проделанной работе!  roll

0    0    #74
09.01.2006 11:54

Olegus t.Gl.
Участник (+1053, -249)
Откуда: Москва
Зарегистрирован: 01.03.2001
Сообщений: 2879
Вебсайт

Re: В общем дело поехало...

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

Неактивен

0    0    #75
13.01.2006 22:46

Grue
Участник (+1)
Откуда: Пермь
Зарегистрирован: 22.11.2001
Сообщений: 83
Вебсайт

-- &&And a ballista is in no way a "crossbow" firing "bolts".  It's a "Huge&&Siege Engine Of Death" firing "trees".&&-John Rowat at rec.games.roguelike.adom

Re: В общем дело поехало...

Не сочтите за неуважение к Вашей разработке, просто продложение:

Может быть, попробовать реализовать простое подмножество языка Смолток? Там есть все, что нужно. Кроме того, еще в начале 90х под ДОС был создан русский интерпретатор, с переведенными на наш язык ключевыми словами/библиотекой класов, можно на на этот вариант Смолтока и соориентироваться.

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

Успехов!

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

Неактивен

0    0    #76
22.02.2006 04:45

HM
Гость

Re: В общем дело поехало...

Про Смолтолк - идея хорошая.

Меня лично удручают процедурные (де факто, хотя номинально они вроде как ООП) движки типа ТАДСа.
Расстраивает их многословность для описания простых вещей. И библиотеки поддержки (парсеры, объекты мира) раздуваются до невероятных пределов. От библиотеки TADS3 я вообще в шоке. А автору ИЛ это, вроде как, предлагается освоить (хотя бы часть), прежде чем что-то писать.

В этом смысле Смолтолк был бы кстати. С парадигмой Смолтолка (чистого ООП), как показала практика, и школьники разбираются играючи.

Но нужен фреймворк, потому как в Смолтолке средств для парсинга русского языка нету :-)

> еще в начале 90х под ДОС был создан русский интерпретатор

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

Проблема в одном - кто займётся? Софтом под сквик, который школьники осваивают так просто, Алан Кей сотоварищи занимаются. А он Смолтолк знает хорошо. Как-никак, авторство обязывает :-)

0    0    #77
18.04.2007 11:55

Smalltalker
Участник
Зарегистрирован: 18.04.2007
Сообщений: 1

Re: В общем дело поехало...

Касательно использования Смолтока для interactive fiction. По-моему, это замечательная идея, причем даже не потому, что Смолток более "объектно-ориентированный". Главное, за что я люблю Смолток -- это отсутствие цикла перекомпилляции -- вы "просто меняете методы"; возможность исправить ошибку и немедленно отправить программу выполнять дальше; возможность "поговорить" с любым объектом через Инспектор. Кроме того, на Смолтоке очень здорово "начинать" проекты. Скажем, создавая мир вы можете вначале обойтись без базы данных, а хранить мир с которым вы работаете прямо в рабочем пространстве. Он будет сохраняться и восстанавливаться вместе с образом виртуальной машины.

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

(1) VisualWorks -- промышленного качества платформа, свободная для некоммерческого использования. Живет под самыми разными операционками. Очень мощная виртуальная машина с JIT и прочими наворотами.
(2) Squeak -- бесплатный, тоже переносимый, и с большим сообществом готовых помочь пользователей. Squeak, причем, является платформой для Croquet -- системы распределенной виртуальной реальности. Я понимаю, что IF -- это немного другое, но, возможно, стоит посмотреть на то, как в Croquet делается распределение объектов (архитектура TeaTime).

Пара заключительных слов. В этот топик я попал потому, что мониторю через Google Alerts упоминания Смолтока. Отвечать на годовой+ давности сообщения я стал в надежде, что "кто-нибудь поймет, кто-нибудь услышит". Кроме того, я неравнодушен к IF. Чтобы было понятно мое отношение к Smalltalk -- я член команды, которая пишет на нем авиационные тренажеры (и, на общественных началах -- активный пропагандист этого языка)

Всем творческих успехов!

Grue написал:

Может быть, попробовать реализовать простое подмножество языка Смолток? Там есть все, что нужно. Кроме того, еще в начале 90х под ДОС был создан русский интерпретатор, с переведенными на наш язык ключевыми словами/библиотекой класов, можно на на этот вариант Смолтока и соориентироваться.

Неактивен

Powered by PunBB
© copyright 2001–2024 iFiction.Ru