Forum.iFiction.Ru

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

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

Вы не зашли.

   #1
21.05.2004 00:06

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

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

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

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

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

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

Неактивен

 

   #2
21.05.2004 22:57

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

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

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

Неактивен

 

   #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 КБ. Я не шучу!

Неактивен

 

   #4
22.05.2004 10:27

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

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

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

Неактивен

 

   #5
22.05.2004 13:55

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

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

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

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

Неактивен

 

   #6
22.05.2004 14:51

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

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

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

Неактивен

 

   #7
22.05.2004 16:40

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

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

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

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

Неактивен

 

   #8
22.05.2004 17:18

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

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

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

Неактивен

 

   #9
22.05.2004 20:44

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

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

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

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

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

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

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

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

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

Неактивен

 

   #10
22.05.2004 23:17

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

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

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

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

Неактивен

 

   #11
22.05.2004 23:37

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

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

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

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

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

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

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

Неактивен

 

   #12
23.05.2004 00:02

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

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

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

Неактивен

 

   #13
23.05.2004 00:55

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

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

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

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

Неактивен

 

   #14
23.05.2004 12:21

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

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

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

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

Неактивен

 

   #15
23.05.2004 13:27

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

меньше слов

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

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

Неактивен

 

   #16
23.05.2004 14:12

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

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

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

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

Неактивен

 

   #17
23.05.2004 19:26

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

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

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

Nash написал:

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

Почему?

Неактивен

 

   #18
23.05.2004 20:22

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

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

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

Неактивен

 

   #19
23.05.2004 22:16

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

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

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

Gottlieb_Leberecht написал:

Почему?

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

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

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

Неактивен

 

   #20
23.05.2004 23:04

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

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

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

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

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

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

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

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

Неактивен

 

   #21
23.05.2004 23:07

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

меньше слов

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

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

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

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

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

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

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

Неактивен

 

   #22
24.05.2004 00:24

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

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

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

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

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

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

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

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

Неактивен

 

   #23
24.05.2004 00:25

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

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

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

Неактивен

 

   #24
24.05.2004 00:27

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

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

Nash написал:

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

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

Неактивен

 

   #25
24.05.2004 09:11

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

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

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

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

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

Неактивен

 

Powered by PunBB
© copyright 2001–2017 iFiction.Ru