Форум: "Потрепаться";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.01.08;
Скачать: [xml.tar.bz2];




Вниз

Соревнования программ - МОРСКОЙ БОЙ 


Дремучий   (2001-10-26 13:55) [0]

кто за ?

1)тип игры - стратегия
2)правила классыческие с дополнениями (корабли могут двигаться,подводные лодки, авиация и т.п.)
дополнения к правилам приниются от участников проекта
(и не только от них)
3)клиет-серверная технология
а)игра-сервер
следит за правилами-интерпретация ходов,контролирует ходы
графика и звук
б)игроки(алгоритмы)-клиенты
пишется транслятор встроенного языка с функцией дешифрования
алгоритма(ответственность за ехе на организаторах)
в)контейнер данных для обмена
г)наличие встроенного языка для работы с контейнером

*)сервер - open source - пишется сообща - исходники открыты
клиент - транслятор - open source - пишется сообща - исходники открыты,
алгоритм клиента разрабатываются лично каждым желающим, шифруется

4) написание функции шифрования-дешифрования алгоритма?
она должна быть в трасляторе, а транслятор - open source...
какое-нить шифрование с открытым ключом? или как?

главная задача 4)! чтобы не выдавать <<врагам>> алгоритмы.


если желающих будет совсем немного, проект, возможно, продолжит жизнь на
моей страничке...
;))

ну и ?
кому проект будет интересен?
голосуем... только те кто "за".



SergeyVP   (2001-10-29 07:54) [1]

Мне идея нравится.
Только подробнее, пожалуйста про пункт 3.б и про контейнер.



Дремучий   (2001-10-29 10:40) [2]


с контейнером можно мудрить сколько угодно.
самое красивое создать
3а)игра- СОМ сервер

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


3б)игроки(алгоритмы)-клиенты
алгритмы пишетутся например в таком формате

//чтение даных из контейнера
//выполняется перед очередным ходом вне алгоритма
//в трансляторе
ReadContainer;

сам алгоритм
//програма сканирует карту
ScanMap;
....
//первый корабль анализирует ячейку
if OwnShip[1].View(MapCell[i,j])= moAlienShip
then begin
//развернуть втрой корабль направо
OwnShip[2].Move(mvRight);
//втрой корабль плывет на один квадрат
OwnShip[2].Move(mvMove);
//втрой корабль стреляет по вражескому кораблю
OwnShip[2].Fire(MapCell[i,j]);
end
//втрой корабль плывет на один квадрат
//в старом направлении
else OwnShip[2].Move(mvMove);
....

в зависимости от условия в контейнер попадет

OwnShip[2].Move(mvRight);
OwnShip[2].Move(mvMove);
OwnShip[2].Fire(MapCell[i,j]);

или
OwnShip[2].Move(mvMove);


для такого алгоритма пишется свой транслятор этого языка

а функция де/шифрования алгоритма нужна чтобы свой алгоритм
можно было выставить без исходников для соревнования с другими
алгоритмами
она должна быть в трасляторе, а транслятор - open source...
проблемка...
по крайней мере сначала можно реализовать все предыдущее,
а потом и до этого руки дойдут.

;))



Дремучий   (2001-10-29 16:46) [3]


2 all
первые наработки можно посмотреть здесь
http://www.sopilko.boom.ru/seafight/index.htm

товарищи, активней подключаемся...
пишите мне на мыло
;))


2 Merlin
желающих пока маловато, посему открыл раздел
у себя на сайте ...



Китаец Хо Ро Шо   (2001-10-30 12:10) [4]

ну так как с игрой то?
кто-то хоть чего-нить будет писать?
или потрпались и хватит. ;)

2Дремучий,
на меня можешь рассчитывать.
по крайней мере идейки буду подбрасывать.



McSimm   (2001-10-30 12:44) [5]

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

2Китаец При Вет
А нет идеек по безопасности использования DLL?
(ветка http://delphi.mastak.ru/cgi-bin/forum.pl?look=1&id=1003834600&n=3)



Дремучий   (2001-10-30 21:44) [6]

2 McSimm
проблема двузначна -
скрыть алгоритм - дыра в безобасности
хорошая безопасность - трудно скрыть алгоритм

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

анализировать длл или ехе - считаю делом практически нереальным,
а тот кто это таки сделает - бесспорно крут.
в этой области особенно не силен, потому и бреду своей тропой.
если что, подключайся.
;))



McSimm   (2001-10-31 10:53) [7]

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

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



Wetnose   (2001-10-31 13:55) [8]

Есть такое предложение:

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



Wetnose   (2001-10-31 13:57) [9]

To Дремучий
Ссылка не работает



McSimm   (2001-10-31 14:21) [10]

2Wetnose.
Это предложение уже прозвучало (см. выше - псевдокод). Однако при небольшом множестве команд и при наличии исходных текстов транслятора и интерпретатора (даже одного из них) - задача декомпиляции просто примитивна.



Дремучий   (2001-10-31 15:46) [11]

2 Wetnose
>>Ссылка не работает
счас гляну, может регистр букв не тот

2 McSimm
ты конечно прав.
и с этим я был согласен с самого начала.

без доверия оказывается не обойтись.
самый простой выход -
пишется несколько длл де/шифрации псевдокода -
но самое интересное они пишутся несколькоми людьми.
если этим людям можно доверять - проблема шифрации решена.

одна длл вызывает другую, вторая третью...
как для шифрации так и для дешифрации псевдокода

автор шифрует алгоритм такой системой
по идее не зная алгоритма одного из длл -
расшифровать нельзя


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


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

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

в результате
транслятор - open source
уго может скомпилировать каждый на своей машине.
длл пишутся людями которым можно доверять.
в длл прошиты проверки на достоверность транслятора

вроде все красиво...
не тут то было - можно запускать траслятор под отладчиком.

как можно обойти такой финт?
идеи есть?



Tosov   (2001-10-31 22:05) [12]

А транслятор - это что???



panov   (2001-10-31 22:17) [13]

Да что вы все про защиту?

Дайте вы исходники организатору, да и дело с концом.

Так уж прямо за свой код все держатся.
Ладно бы - что-то типа "GameSoft MustDie" с возможностью бесконечного высасывания денег. А то всего лишь алгоритм.
Даже если уйдет - много потеряете?



Tosov   (2001-10-31 22:39) [14]

2 panov
так все сразу разбежались и отдали исходники. Не дождетесь!! :)



Дремучий   (2001-10-31 23:08) [15]

2 Tosov © (31.10.01 22:05)
>>А транслятор - это что???
в моем понимании то же что и интерпретатор - програма которая выполняет
код написаный на каком-нибудь языке (или его псевдокод) без компиляции т.е. прямого перевода в машинные коды.

2 panov
а защита - вещь нужная, только нужно сначала чтобы было что защищать...
никто ведь не заставляет свой алгоритм шифровать, дело добровольное.
но без скрытия алгоритма теряется спортивный интерес.

;))



Tosov   (2001-10-31 23:51) [16]

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

По моему тоже.. и как его использовать в данной ситуации - чтобы и исходников небыло и компы не попортили и при этом писать на Delphi?



Дремучий   (2001-11-01 00:13) [17]

2Tosov ©
на Делфи пишется все кроме алгоритмов клиента
проект открыт для всех желающих ;))

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

по поводу защиты чтоб не повторятся....
см. Дремучий © (31.10.01 15:46)
со слов
2 McSimm
ты конечно прав.
и с этим я был согласен с самого начала...





Tosov   (2001-11-01 00:57) [18]

2Дремучий ©
>на Делфи пишется все кроме алгоритмов клиента - это которые управляют ходами?? Если да, то что тогда останется писать??

>проект открыт для всех желающих ;))
Клиента для форума тоже все писали :)) Написали ...

Можно еще раз поподробнее как все будет выглядеть . Раньне все понятно было - участник пишет Dll и т.д.




Дремучий   (2001-11-01 01:33) [19]

2 Tosov
если язык интерпретатора сделать максимально схожим с Паскалем -
тогда алгоритмы клиента - получается пишутся тоже на Делфи.

>>Клиента для форума тоже все писали :)) Написали ...
Sir Alex только-только исходники собырается выкладывать...
посмотрим, вещь ведь тоже непростая

>>Можно еще раз поподробнее как все будет выглядеть . Раньне все понятно
>>было - участник пишет Dll и т.д.
повторюсь,
написание алгоритмов для интерпретатора -
вторая часть марлезонского балета.

для начала давайте напишем просто игрушку.
а потом уже и наворачивать можно - трансляторы, алгоритмы...
неужели не интересно как рождается игрушка?

как будет выглядеть игрушка?
сами правила и придумаем и запрограмируем.
наработки можно посмотреть здесь
http://www.sopilko.boom.ru/seafight/index.htm



Tosov   (2001-11-01 18:51) [20]

2 Дремучий ©
если язык интерпретатора сделать максимально схожим с Паскалем -
тогда алгоритмы клиента - получается пишутся тоже на Делфи.

А может еще FreeDelphi напишем :)) -это скорее нереально или будет минимум функций,а потом Help напишем, подобие MSDN сделаем наконец книжку напишем "Морской бой для даунов"...

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



Дремучий   (2001-11-01 20:37) [21]

2Tosov © (01.11.01 18:51)
>>А может еще FreeDelphi напишем :)) -это скорее нереально или будет
>>минимум функций...
1)
в интепретаторе достаточно чтобы было самое необходимое(т.е. минимум функций), остальное по желанию...
если такой тулс в програмировании Вы считаете непотребным (типа для даунов), тогда этот проект не для Вас...
2)
Вас интересует проект вцелом или только написание алгоритмов?

3)
>>Тоже желательно на сайте обьяснить..
1)проект только начат, не все ж сразу
2)каким он будет в такой же мере зависит и от Вас
>>компилируется(проблемы безопастности)...
3)по последним соображениям алгоритм де/шифруется сертифицированными длл, но остается проблема с отладчиком... (см. выше)



Tosov   (2001-11-01 22:22) [22]

(типа для даунов)
1. Пожалуйста не надо мои слова переделывать. Я хотел узнать что за новый язык будет: Стандартные функции Pascal или вида HrenPoiMeChto(KORABL @oid^,MMM $$koj$):KDKF; для которых нужен help.

2. В целом.
3. Уже готов скриншот игры, но нет ее описания. Сделай чтото вроде http://delphi.mastak.ru/klient.txt "см. Как я это вижу"



Tosov   (2001-11-01 22:23) [23]

2 Дремучий ©
(типа для даунов)
1. Пожалуйста не надо мои слова переделывать. Я хотел узнать что за новый язык будет: Стандартные функции Pascal или вида HrenPoiMeChto(KORABL @oid^,MMM $$koj$):KDKF; для которых нужен help.

2. В целом.
3. Уже готов скриншот игры, но нет ее описания. Сделай чтото вроде http://delphi.mastak.ru/klient.txt "см. Как я это вижу"



Дремучий   (2001-11-01 23:44) [24]

2 Tosov ©
>>2 Дремучий ©
>>(типа для даунов)

я могу и обидеться, гражданин Tosov...
правда, жестокой мести не обещаю.
;)

>>3. Уже готов скриншот игры, но нет ее описания. Сделай чтото вроде >>"см. Как я это вижу"
скоро будет, но Вы кажись, так и не поняли, что это
Open Source Project, который создается коллективно...
>>"см. Как мы это видим"






Tosov   (2001-11-02 01:30) [25]

Дремучий ©
Это ->(типа для даунов)<- Была цитата, не относящаяся к кому нибудь лично.

>>"см. Как я это вижу" - А это было название раздела текста

скоро будет, но Вы кажись, так и не поняли, что это
Open Source Project, который создается коллективно...
А имхо лучше "Как я(т.е. ты) это вижу" т.к."видеть" должен один(в смысле не все) человек,а то будет как в басне про лебедя, рака и щуку=> далеко не уедем.
ЗЫ. Видеть, учитывая мнение других...



Дремучий   (2001-11-02 16:26) [26]

2 Tosov © (02.11.01 01:30)
>>Open Source Project - Видеть, учитывая мнение других...
согласен на 100%, по крайней мере на начальных этапах

нашел прикольную картинку,
добавилась заставка/about
;) и как?



Tosov   (2001-11-03 00:55) [27]

Картинка нормальная.. Интерфейс есть, внутренностей проги нет :( описания тоже




Форум: "Потрепаться";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.01.08;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.81 MB
Время: 0.056 c
1-22063           Art                   2001-12-18 15:12  2002.01.08  
А можно заблокировать доступ к папке,что-то типа fmShareExclusive ,но для папки???


14-22384          Alien                 2001-11-07 08:13  2002.01.08  
Поклонникам TV-6 и шоу


1-22177           Corte                 2001-12-21 09:38  2002.01.08  
Почему не работют бряки в


3-21968           olban                 2001-12-05 11:20  2002.01.08  
QuantumGrid


14-22342          Дремучий              2001-11-05 18:52  2002.01.08  
Конкурс! Обои для игры (сайта) Sea Fight!