Головна сторінка
Top.Mail.Ru Яндекс.Метрика
Форум: "пошарпану";
Поточний архів: 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а) гра- SOM сервер

найпростіше - коли контейнер звичайний файл,
який (вміст) сканується за таймером наприклад кожних 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]);
кінець
// втрой корабель пливе на один квадрат
// в старому напрямку
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]

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



сторінки: 1 вся гілка

Форум: "пошарпану";
Поточний архів: 2002.01.08;
Завантажити: [xml.tar.bz2];

наверх









Пам'ять: 0.69 MB
Час: 0.164 c
14-22351
nikols
2001-10-31 18:55
2002.01.08
Опитування: Хто займається (знає, цікавиться CORBA)


3-21910
Володимир
2001-12-04 08:01
2002.01.08
Кількість записів в таблиці?


4-22512
Ярослав
2001-10-31 13:17
2002.01.08
Як на АПИ створити спливаюче меню (popup)


7-22437
Парадокс
2001-09-25 18:48
2002.01.08
WAV


1-22004
KhLexa
2001-12-17 17:57
2002.01.08
глюки





африкаанс албанський арабська вірменин азербайджанець баскський білоруський болгарська каталонський Китайська (спрощене письмо) Китайський традиційний) хорватський чеська данську мову нідерландський Ukranian естонець Філіппінська фінську мову французький
галісійська грузинський німецький грецький гаїтянський креольський давньоєврейську хінді угорський ісландський індонезієць ірландський італійський японський корейський латиська литовець македонець малайський мальтійський норвежець
перс полірування португальська румунський російська сербський словацький словенський іспанська суахілі шведську мову тайський турецька український урду в'єтнамський валлійський ідиш бенгальський боснійський
кебуано есперанто гуджараті хауса хмонг ігбо яванський каннада кхмерская Лао латинь маорі маратхі монгольський непальська панджабі сомалійський тамільська телугу йоруба
зулуський
Англійська Французький Німецький Італійський Португальська Русский Іспанська