Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Логический движок MTGO

9 views
Skip to first unread message

Denis Knyazev

unread,
Sep 4, 2005, 11:02:49 AM9/4/05
to
Hi, All!

Hи у кого нет соображений по поводу внутренненго
устройства сабжа ? Чем именно там пользуются для
отслеживания и исполнения правил ? Я пока представляю
примерно такую картину: есть некий конечный автомат
(пока не суть важно детерминированный или недетерминированный),
который отслеживает фазы и шаги; при этом как-то надо
следить за всеми "внешними" (действия игрока) и "внутренними"
(триггерные абилки) сигналами, и далее каким-то образом
передавть эти воздействия в автомат (ведь некоторые спеллы
и абилки могут менять последовательность фаз и/или шагов игры).
И пока совершенно не представляю как же всё таки отслеживаются
правила для сложных эффектов... Хотя, вполне возможно, что
в базе карт на каждую карту кроме "видимых" игрокам
характеристик ещё храняться какие-то данные, по которым
движок распознаёт что надо делать с картой.
В общем, вопросов море. А, я это всё к тому, что захотелось
попробовать сделать свой такой же (или подобный) движок,
но с открытыми исходниками. Если кого-то заинтересовала
идея такого проекта, то добро пожаловать в аську, обсудим.

WBR, Denis.
:
[#m:tg#] [#rpg#] [#gothic#] [#folk#] [#black#]
ICQ UIN: 99806075

... vampiric touch заряжает меня энергией на весь день !!

Migel Klimin

unread,
Sep 5, 2005, 3:42:18 AM9/5/05
to
Hi, Denis!

> В общем, вопросов море. А, я это всё к тому, что захотелось
> попробовать сделать свой такой же (или подобный) движок,
> но с открытыми исходниками. Если кого-то заинтересовала
> идея такого проекта, то добро пожаловать в аську, обсудим.

Если не лень возиться с дизассемблированием, подобный движок доступен в виде
кода игры Magic: the Gathering от Microprose.

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

Всяческих благ.
Yellow Horror, в текущей реальности просто Migel.

Denis Knyazev

unread,
Sep 6, 2005, 11:37:05 AM9/6/05
to
Hi, Migel!

Было <Понедельник Сентябрь 05 2005>, когда я прочитал что Migel Klimin пишет к
Denis Knyazev

>> В общем, вопросов море. А, я это всё к тому, что захотелось
>> попробовать сделать свой такой же (или подобный) движок,
>> но с открытыми исходниками. Если кого-то заинтересовала
>> идея такого проекта, то добро пожаловать в аську, обсудим.

MK> Если не лень возиться с дизассемблированием, подобный движок доступен
MK> в виде кода игры Magic: the Gathering от Microprose.

Откровенно говоря, лень. Плюс там ещё ИИ встроен.
Вот потому и лень, что отделять одно от другого...
А, так там же правила 4-ой редакции :)

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

А я и не тороплюсь. Мне важен сам -факт- появления такого
движка. И даже пусть не мной написанного...

WBR, Denis.
: Regenerator -- Everyone Follow (Orgazmix by Front 242)

Migel Klimin

unread,
Sep 7, 2005, 9:25:26 AM9/7/05
to
Hi, Denis!

>>> В общем, вопросов море. А, я это всё к тому, что захотелось
>>> попробовать сделать свой такой же (или подобный) движок,
>>> но с открытыми исходниками. Если кого-то заинтересовала
>>> идея такого проекта, то добро пожаловать в аську, обсудим.
MK>> Если не лень возиться с дизассемблированием, подобный движок доступен
MK>> в виде кода игры Magic: the Gathering от Microprose.
> Откровенно говоря, лень. Плюс там ещё ИИ встроен.
> Вот потому и лень, что отделять одно от другого...

А ты хоть посмотрел? Может там ИИ совсем отдельным модулем выполнен и ничего
отделять не надо?

> А, так там же правила 4-ой редакции :)

Какая разница какие правила? Главное, чтоб движок вообще работал, а правила -
дело навесное.

MK>> Я думаю, что без финансирования ты такой проект не потянешь. Задача
MK>> очень сложная. А денег на него тебе никто не даст.
> А я и не тороплюсь. Мне важен сам -факт- появления такого
> движка. И даже пусть не мной написанного...

А. Э. Hу, тогда жди. Когда-нибудь кто-нибудь напишет. Или исходники MTGO
звезданут у Визардей.

Vladimir Degtyarev

unread,
Sep 8, 2005, 5:58:26 PM9/8/05
to
How do you do /как вы это делаете/, Denis ?

_DK_> Hи y кого нет сообpажений по поводy внyтpенненго
_DK_> yстpойства сабжа ? Чем именно там пользyются для

Мне кажется, y них есть объектная модель игpы и какой-то внyтpений язык для
пpавил, на котоpый пеpеведены все каpты и пpавила игpы. А дальше все пpосто -
циклический обход объектов, отслеживание событий и обpаботка команд. я сам одно
вpемя занимался объектной моделью, было интеpесно, но понял, что задача мне не
по зyбам :) нyжен пpогpаммист по обpазованию, yмеющий писать языки

C yважением, Владимиp AKA Вальд. (va...@zmail.ru)
xc: my.area

Denis Knyazev

unread,
Sep 9, 2005, 2:27:51 PM9/9/05
to
Hi, Migel!

Было <Среда Сентябрь 07 2005>, когда я прочитал что Migel Klimin пишет к Denis
Knyazev

>>>> В общем, вопросов море. А, я это всё к тому, что


>>>> захотелось
>>>> попробовать сделать свой такой же (или подобный) движок,
>>>> но с открытыми исходниками. Если кого-то заинтересовала
>>>> идея такого проекта, то добро пожаловать в аську, обсудим.
MK>>> Если не лень возиться с дизассемблированием, подобный движок

MK>>> доступен


MK>>> в виде кода игры Magic: the Gathering от Microprose.
>> Откровенно говоря, лень. Плюс там ещё ИИ встроен.
>> Вот потому и лень, что отделять одно от другого...

MK> А ты хоть посмотрел? Может там ИИ совсем отдельным модулем выполнен и
MK> ничего отделять не надо?

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

>> А, так там же правила 4-ой редакции :)

MK> Какая разница какие правила? Главное, чтоб движок вообще работал, а
MK> правила - дело навесное.

Таки есть разница. Автомат совсем по джругому сроить надо будет...

MK>>> Я думаю, что без финансирования ты такой проект не потянешь.

MK>>> Задача очень сложная. А денег на него тебе никто не даст.


>> А я и не тороплюсь. Мне важен сам -факт- появления такого
>> движка. И даже пусть не мной написанного...

MK> А. Э. Hу, тогда жди. Когда-нибудь кто-нибудь напишет. Или исходники
MK> MTGO звезданут у Визардей.

Хренов тарантас кто озаботиЦЦа звезданием таокго ****
у визардов. ИМХО реально проще написать своё. Тем более,
что есть варианты простых клиентов, где бОльшая часть того,
что я предполагаю сделать в движке, возлагаеЦЦа на игроков.

WBR, Denis.

PS: Звиняйте за нескладные слова, тока что пришёл с месной фидопойки,
и пока ещё не трезв...
:

Arkady Zilberberg

unread,
Sep 12, 2005, 9:53:06 AM9/12/05
to
Fri Sep 09 2005 23:27, Denis Knyazev wrote to Migel Klimin:

<Вдогонку обсуждению, как программно реализовать правила эхотага, и
предложению покопаться дизассемблером в Шандаларе>


>>> А, так там же правила 4-ой редакции :)
MK>> Какая разница какие правила? Главное, чтоб движок вообще работал, а
MK>> правила - дело навесное.

DK> Таки есть разница. Автомат совсем по джругому сроить надо
DK> будет...

Разница, конечно, есть, но по-моему, современные правила реализовывать будет
проще. Если понятие приоритета распространить и на саму ИГРУ, то основная
логическая последовательность будет очень четкой и ясной.

Проблемы возникнут в реализации отдельных карт: каждая карта будет эдакой
подпрограммой (или набором подпрограмм, если много способностей). Плюс
взаимодействие продолжительных эффектов (6 слоев из 418.5), triggered
abilities (особенно когда их много и некоторые из них - leaves play, то есть
подчиняющиеся 410.10d). Ключевые абилки (типа там полет, первый удар, защита
от...) надо будет закодировать в сам движок и добавлять с выходом каждого
нового набора - в общем, основная работа будет на поддержке, так что нужно
сразу писать очень ясно и структурно.
Кстати, какая-то попытка уже есть - я на SourceForge что-то такое видел
(пишется на Яве, то есть должно работать на всех платформах). Основная
проблема у них - некому кодировать отдельные карты, так что пока сделана
только часть Альфы.

Аркадий, Бостон, США.

Igor Tihonov

unread,
Sep 12, 2005, 6:29:12 PM9/12/05
to
Системный таймер отметил Fri, 09 Sep 2005 01:58:26 +0400 когда Vladimir Degtyarev писал:
VD> _DK_> Hи y кого нет сообpажений по поводy внyтpенненго
VD> _DK_> yстpойства сабжа ? Чем именно там пользyются для

VD> Мне кажется, y них есть объектная модель игpы и какой-то
VD> внyтpений язык для пpавил, на котоpый пеpеведены все каpты и пpавила
VD> игpы. А дальше все пpосто - циклический обход объектов, отслеживание
VD> событий и обpаботка команд. я сам одно вpемя занимался объектной
VD> моделью, было интеpесно, но понял, что задача мне не по зyбам :)
VD> нyжен пpогpаммист по обpазованию, yмеющий писать языки
ненадо писать языки. надо использовать любой готовый
интерпритирующий язык. Сейчас много где питон пользуют:
язык простой, чуть сложнее басика, но c другой стороны объектный.
Вот и пишем движок следящий за правилами, c вменяемым
интерфейсом (что хоть человека, хоть AI сажать)
и набор карт: каждая карта это объект включающий в себя картинку,
текст-описание, и набор методов-функций для обяснения движку что
делает эта карта... а уж если вообще универсально то вместо
картинки и текста - методы: показать картинку, показать текст...
некоторый оверхид, но зато можно будет динамчески менять
картинку и текст... вдруг пригодиться?
для объкета-карты незабыть ЭЦП пришпандорить - что народ
незаметно не изменял свойства карт.

Igor { registered Linux user number #121385 }

... эх, трудно слить унитаз до неба..., легче крыть это всё МАТОМ... {c} DDT

Igor Tihonov

unread,
Sep 13, 2005, 5:20:10 PM9/13/05
to
Системный таймер отметил Tue, 13 Sep 2005 17:57:58 +0400 когда Denis Knyazev писал:

DK> Вот уж кого не ожидал здесь встретить ! :)
:)
DK> Интересно, давно ты сюда подписан ?
DK> Игорёк, а в реале не желаешь эхотаг освоить ?
нет. я больше балуюсь...
а тут смотрю - хорошее дело затеяли, думаю надо помоч...


Igor { registered Linux user number #121385 }

... Когда к власти пpиходят сyкины дети, собачья жизнь начинается y всех.

Denis Knyazev

unread,
Sep 13, 2005, 9:43:12 AM9/13/05
to
Hi, Arkady!

Было <Понедельник Сентябрь 12 2005>, когда я прочитал что Arkady Zilberberg
пишет к Denis Knyazev

[skip]

AZ> Разница, конечно, есть, но по-моему, современные правила реализовывать
AZ> будет проще. Если понятие приоритета распространить и на саму ИГРУ,
AZ> то основная логическая последовательность будет очень четкой и ясной.

AZ> Проблемы возникнут в реализации отдельных карт: каждая карта будет
AZ> эдакой подпрограммой (или набором подпрограмм, если много
AZ> способностей). Плюс взаимодействие продолжительных эффектов (6 слоев
AZ> из 418.5), triggered abilities (особенно когда их много и некоторые из
AZ> них - leaves play, то есть подчиняющиеся 410.10d).

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

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

С этим согласен. Однако, для простоты поддерки новых
карт (читай свойств, абилок) это можно вынести в некий
внешний скриптовый язык, например, в Tcl, который, как
мне известно примерно для таких целей и предназначен.

AZ> Кстати, какая-то попытка уже есть - я на SourceForge что-то такое
AZ> видел (пишется на Яве, то есть должно работать на всех платформах).
AZ> Основная проблема у них - некому кодировать отдельные карты, так что
AZ> пока сделана только часть Альфы.

О, интересно. УРЛ-ик не подскажешь ? Или хотя бы как
оно называется.

WBR, Denis.

Denis Knyazev

unread,
Sep 13, 2005, 9:57:58 AM9/13/05
to
Hi, Igor!

Было <Вторник Сентябрь 13 2005>, когда я прочитал что Igor Tihonov пишет к
Vladimir Degtyarev

[всё skip]

Вот уж кого не ожидал здесь встретить ! :)

Интересно, давно ты сюда подписан ?

Игорёк, а в реале не желаешь эхотаг освоить ?

WBR, Denis.

Arkady Zilberberg

unread,
Sep 14, 2005, 9:25:27 AM9/14/05
to
Tue Sep 13 2005 18:43, Denis Knyazev wrote to Arkady Zilberberg:

AZ>> Кстати, какая-то попытка уже есть - я на SourceForge что-то такое
AZ>> видел (пишется на Яве, то есть должно работать на всех платформах).
AZ>> Основная проблема у них - некому кодировать отдельные карты, так что
AZ>> пока сделана только часть Альфы.

DK> О, интересно. УРЛ-ик не подскажешь ? Или хотя бы как
DK> оно называется.

Зайди на http://sourceforge.net/projects/magic-project

Удачи!

Аркадий, Бостон, США.

Denis Knyazev

unread,
Sep 15, 2005, 9:53:59 AM9/15/05
to
Hi, Arkady!

Было <Среда Сентябрь 14 2005>, когда я прочитал что Arkady Zilberberg пишет к
Denis Knyazev

AZ>>> Кстати, какая-то попытка уже есть - я на SourceForge что-то
AZ>>> такое видел (пишется на Яве, то есть должно работать на всех
AZ>>> платформах).


AZ>>> Основная проблема у них - некому кодировать отдельные карты, так

AZ>>> что пока сделана только часть Альфы.


DK>> О, интересно. УРЛ-ик не подскажешь ? Или хотя бы как
DK>> оно называется.

AZ> Зайди на http://sourceforge.net/projects/magic-project

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

Eugene Lomovsky

unread,
Sep 20, 2005, 5:29:07 AM9/20/05
to
Greetings mortal, Denis!
You wrote to All on Sun, 04 Sep 2005 19:02:49 +0400:

DK> Hи у кого нет соображений по поводу внутренненго
DK> устройства сабжа ? Чем именно там пользуются для
DK> отслеживания и исполнения правил ? Я пока представляю
DK> примерно такую картину: есть некий конечный автомат (пока не
DK> суть важно детерминированный или недетерминированный),
DK> который отслеживает фазы и шаги; при этом как-то надо
DK> следить за всеми "внешними" (действия игрока) и "внутренними"
DK> (триггерные абилки) сигналами, и далее каким-то образом
DK> передавть эти воздействия в автомат (ведь некоторые спеллы и
DK> абилки могут менять последовательность фаз и/или шагов игры).
DK> И пока совершенно не представляю как же всё таки
DK> отслеживаются правила для сложных эффектов... Хотя, вполне
DK> возможно, что в базе карт на каждую карту кроме "видимых"
DK> игрокам характеристик ещё храняться какие-то данные, по
DK> которым движок распознаёт что надо делать с картой.
DK> В общем, вопросов море. А, я это всё к тому, что захотелось
DK> попробовать сделать свой такой же (или подобный) движок, но
DK> с открытыми исходниками. Если кого-то заинтересовала идея
DK> такого проекта, то добро пожаловать в аську, обсудим.

Посмотри на http://www.haskell.org/ - очень может быть, что из-за своего другого подхода к
реализации задачи на этом ЯП, он более подойдет для этих целей.. Там можно оперировать
совсем другими сущностями и абстракциями...

Eugene.


0 new messages