Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

ODE-бильярдик Простенький Демка


Страницы:   1 2

Куу ©   (2005-03-09 01:41:00) 

Гляньте кому интересно. Экзэшник :
http://dcegame.narod.ru/billiyard.html
Смысл игры - гонять шары пока все не забьёшь. Как сделать игру по сети, я просто не очень понимают. Надеюсь, пока не очень.


Куу   (2005-03-17 05:57:00) [1]

Мне вроде помогли с тенями. И вроде стало лучше.


Куу   (2005-03-17 01:38:00) [2]


> Ну поставь тогда плиз DepthPrecision в dp16bits и возможность
> выбрать режим VisibilityCulling. Можно например это сделать
> в каком нибудь подменю, типа "отладка".

Я поигрался с ними поставив у себя 16 бит, но это ничего не дало.
Я в ньюсгруппе пытаюсь прояснить этот вопрос. Возможно они мне помогут.


> Alek Aaz   (16.03.05 11:13) [29]
> Утяжели шары. Первые бильярдные игры - сплошняком чистая
> геометрия.

А что изменится то ? Если бьёш в край шара, то он будет закручиваться независимо от массы.

И потом не геомертия ещё и потому, что на отскок влияет и сила удара. Если по своему шару ударить сильно, то он как-бы увлекает шары по которым бьёт за собой.
Понажимай Ctrl+Z в игре, и в одной и той же позиции попробуй бить с разной силой.


Alek Aaz   (2005-03-16 11:13:00) [3]

Да я даже не знаю где лунки находятся.
По уму - обязан знать. Ты ж не с закрытыми глазами играешь.

Это всё на словах легко, а на деле шары крутятся и потому геометрией не обойдёшься.
Утяжели шары. Первые бильярдные игры - сплошняком чистая геометрия.

И если удар не прямой, да ещё и далёкий то не попадёшь из-за этого.
Ну так и интерес появится :)


Куу   (2005-03-16 06:37:00) [4]


> Alek Aaz   (16.03.05 04:26) [27]
> Выбираешь шар, лунку в которую хочешь его загнать

Да я даже не знаю где лунки находятся. Просто если шар находится на столе и ниже ватер-линии, то значит попал в лунку.


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

Это всё на словах легко, а на деле шары крутятся и потому геометрией не обойдёшься. И если удар не прямой, да ещё и далёкий то не попадёшь из-за этого.

Была у меня идея саму ODE использовать для искусственного интеллекта. Чтобы AI сначала сам для себя поударял немного по шарам, не отображая это. И самый удачный удар потом показывал. Но это отожрёт слишком много времени. Наверно столько же, сколько и реальный удар.


Alek Aaz   (2005-03-16 04:26:00) [5]

>Может из-за того, что карта не 32 бита ? ...
>В общем жалко.

Жила :)Ну поставь тогда плиз DepthPrecision в dp16bits и возможность выбрать режим VisibilityCulling. Можно например это сделать в каком нибудь подменю, типа "отладка".

Теперь я стал думать об искусственном интеллекте, и прихожу к выводу, что врядли удасться его сделать. Ведь тут же реальная физика, по формулам точный удар не просчитаешь. Прямые удары компьютер ещё можно научить забивать, но что делать с не прямыми ? Ведь их большинство.
Почему? Бильярд - это больше геометрия. Ничего сложного. "Финты" с возвратом шара, его закручиванием - геометрия+физика, но как только биток ударит по шару дальше опять работает геометрия.
Выбираешь шар, лунку в которую хочешь его загнать, способ "от борта" или "чисто" вычисляешь положение, где должен оказаться бьющий шар и угол, под которым он должен там быть. Выбираешь бьющий шар - биток или третий шар.
И т.д.


Куу   (2005-03-16 02:03:00) [6]


> Alek Aaz   (15.03.05 08:24) [25]
> Видимо у меня почему-то глючно отображается объекты. Дальние
> отображаются как ближние.

Может из-за того, что карта не 32 бита ? Кстати, я заметил, что тормоза на малой битности из-за теней. Если их отключить, фпс становится нормальным.


> Мож исходник дашь?

Не дам. Я старался делал. ... В общем жалко.


> Играйся с коэффициентом сцепления шара с сукном стола. Как
> он там в ODE обзывается... Нужно увеличить "массу" шара
> и уменьшить сцепление...  

Я уже поигрался, и подобрал подходящий коф. сцепления. Вчера только закачал http://dcegame.narod.ru/billiyard.html( уже четвёртый вариант ). Теперь шары закручиваются только так.
Кстати, играть стало слишком легко. Если правильно подкрутить шар, то можно и по 3 штуки за раз в лузу загонять. И вообще без анду и без миссов все полностью в лузы укладывать.


> Лично я намеревался прикладывать силу не к бьющему шару(битку).
> К кончику кия "прикрепить" "маленький" шар и им бить по
> битку

А я сделал через функцию dBodyAddForceAtPos . Удар приходится в светящееся пятнышко, по ноправлению от центра камеры.
Кий в принципе нужен только, чтобы "видить" по нему силу удара.

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


Alek Aaz   (2005-03-15 08:24:00) [7]

Видимо у меня почему-то глючно отображается объекты. Дальние отображаются как ближние. Мож исходник дашь?

Куу   (14.03.05 01:21) [19]
Кстати, в бильярде есть такой удар, когда бьют под низ, и свой шар после удара назад отказывается. Непойму как его сэмулировать. Не откатываются назад и всё тут. Хотя сила прикладывается в самый его низ. Может тут ещё какая хитрость есть ?


Играйся с коэффициентом сцепления шара с сукном стола. Как он там в ODE обзывается... Нужно увеличить "массу" шара и уменьшить сцепление...  

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


Куу   (2005-03-15 01:36:00) [8]


> parovoZZ ©
> Мона тупеёший вопрос: что такое ODE ?
> А что такое движёк? Это код игры или библиотека?

Это библиотека ode.dll, коготая прилагается к бильярду, на случай, если у кого её нету.

Ты её указываешь какие создать объекты, и какую сделать гравитацию, и вызываешь её переодически, а она тебе возвращает текущие положения этих объектов. Куда упали, как столкнулись, куда сдвинулись.

Ты со своей стороны можешь эти объеткы двигать, или прикладывать к ним силы, да скорости. Удар по шару - это просто к шару прикладывается сила. А когда выбираешь начать новую игру, шары ставятся на начальную позицию.


parovoZZ   (2005-03-14 09:52:00) [9]

А что такое движёк? Это код игры или библиотека?


DeadMeat   (2005-03-14 09:34:00) [10]

Open Dymanic Engine
Физический движек.. Отдельная DLLка.


parovoZZ   (2005-03-14 08:09:00) [11]

Мона тупеёший вопрос: что такое ODE ?


Alek Aaz   (2005-03-14 07:04:00) [12]

>Куу   (14.03.05 01:21) [19]
>Чтож на заказ и плохо текстурированный ?
Моделлер новичек. Моделька классная, а с текстурами он на тот момент не разбирался. Стекстурировал "по-детски", это-зеленое, это коричневое...


Куу   (2005-03-14 01:21:00) [13]


> Alek Aaz   (11.03.05 04:44) [17]
> Эхх... был у меня стол... На заказ деланный... Правда не
> очень хорошо текстурированный

Чтож на заказ и плохо текстурированный ?

Я нашёл, кстати, стол. И кий. Вставил в бильярд. Стало покрасивше. Теперь ищу комнату с интерьером, чтобы играть не в космосе, а в помещении. Есть ли комната на примеете ?


> Sphinx ©   (11.03.05 15:21) [18]
> У меня вообще не было...пол часа "терзал" но не словил этого
> зверя :)

Хорошо.

Кстати, в бильярде есть такой удар, когда бьют под низ, и свой шар после удара назад отказывается. Непойму как его сэмулировать. Не откатываются назад и всё тут. Хотя сила прикладывается в самый его низ. Может тут ещё какая хитрость есть ?


Sphinx   (2005-03-11 15:21:00) [14]

> То есть у тебя Access Voilatoin было на чём то другом, или
> вообще небыло ?

У меня вообще не было...пол часа "терзал" но не словил этого зверя :)


Alek Aaz   (2005-03-11 04:44:00) [15]

Эхх... был у меня стол... На заказ деланный... Правда не очень хорошо текстурированный, но зато с "шаросборником" :) Для "американки"... поищю в закромах, кажись не удалил еще...


Куу   (2005-03-11 01:56:00) [16]


> dimodim_REAL   (10.03.05 09:50) [10]
> Как сделать
> > игру по сети, я просто не очень понимают. Надеюсь, пока
>
> > не очень.
> А она нужна?

А как же ? Интересно же по интернету с кем нибудь поиграть. Только вот я не знаю, как осуществлять связь с кем нибудь по ip-адресу. И как синхронизовывать ODE на разных компьютерах. Боюсь, что один и тот же удар, на разных компах может дать разные результаты.


Куу   (2005-03-11 01:50:00) [17]


> DeadMeat ©   (10.03.05 09:50) [11]
> За все время пока у меня ни разу не моросили

У меня много где. Например, демка, где Тринити с плащом. Я думал, что это стандартный глюк.


> Вот как раз мышью и не удобно... Слишком резко камера сменяется,
> когда кликаешь на шар.

Если честно, то даже не задумывался обэтом. Можно будет потом плавность поворота добавить.


> Да и надо какой нить гаудж сделать.. Для удара.

Что за гаудж ?


> Я про то, что нельзя снизу посмотреть на доску

В смысле сверху ? Тоже не проблема сделать.


> Alek Aaz   (10.03.05 12:07) [12]
> 16 бит. На 815 максимум 24.

Я попробовал, при 16 бит - действительно жуткие тормоза.
Демка TheBall, кстати, даже не запускается если меньше 32 бит. Так, что это вопрос к GLScen'ьщикам. Или надо будет поэксперементировать.


> Sphinx ©   (10.03.05 16:21) [13]
> Я про то что Access Voilatoin у меня не выскакивало, специально
> несколько шаров за стол выбросил...в чем-то другом может
> ошибка ?

То есть у тебя Access Voilatoin было на чём то другом, или вообще небыло ?

Я обновил программу.
http://dcegame.narod.ru/billiyard.html
Теперь есть звук ( правда левый, ну какой нашёл ), есть Undo, и закрутка. То есть смотря в какой бок шара бьёшь, в ту сторону он и закручивается.

Поиски стола и игровой комнаты продолжаются. :)


DeadMeat   (2005-03-10 19:28:00) [18]

Ну дык на то оно и AV.. Что не всегда выскакивает... ;)
У меня тоже не всегда... Пару раз всего.. Да и запускал не много.

---
...Death Is Only The Begining...


Sphinx   (2005-03-10 16:21:00) [19]

> Это если мимо лунки. А если в лунку, то засчитывается.

Блин :) ну ясно дело что если мимо - то "пропавший" а если в лунку - то в очки :)

Я про то что Access Voilatoin у меня не выскакивало, специально несколько шаров за стол выбросил...в чем-то другом может ошибка ?


Alek Aaz   (2005-03-10 12:07:00) [20]

Куу   (10.03.05 03:37) [8]

>> Alek Aaz   (09.03.05 05:46) [1]
>> У меня конечно карта глючнутая (815 чипсет), но шары не
>> отображаются
>Странно. А сколько цветов выставлено ? 32 бита ?

16 бит. На 815 максимум 24.

Кстати. у тебя работает демка из "AdvDemos\TheBall" из GLScene ?
Нет ее у меня... пока...


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо