Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Флейм (http://www.flasher.ru/forum/forumdisplay.php?f=53)
-   -   Писать свою физику vs Использовать готовую (http://www.flasher.ru/forum/showthread.php?t=118381)

mikleb 21.11.2008 19:50

Писать свою физику vs Использовать готовую
 
Тут имеется ввиду, конечно, 2d физика.
Мне очень важна производельность, потому что в игре которую планирую сделать будет очень много столкновений твердых тел, шарниров и т п. Сперва я думал писать свою, но щас уже сомневаюсь, что получится сделать быстрее чем Box2d, или motor2
В общем кто что посоветует?

Division 21.11.2008 19:59

ИМХО заюзать сторонний двиг, так как редко первый(пусть даже и не первый) физический велосипед бывает быстрей сторонних.

mikleb 21.11.2008 20:06

2Division
Ну motor2 быстрее чем box2d (имхо), хотя для автора это был первый физический велосипед:). Правда он его долго делал, мне столько времени не хочется тратить на физику
Я уверен что за счет солвера у меня быстрее чем box2d вряд ли быстрее будет, но есть небольшая надежда выиграть по времени за счет collison detection, т.е. если основное время расчета в физдвижках тратиться на солвер, то смысла писать свой конечно нет

Dima_DPE 21.11.2008 20:13

ИМХО {
Вначале использовать чужой, когда знаний будет хватать написать свой, писать свой, под себя, ради саморазвития и самоутверждения.
}

Division 21.11.2008 20:17

Немного офтопа:
По поводу box2d, я его не смотрел, но может вдруг пригодится. На геймдеве устроили коллективный перевод документации на русский (: Тут можно глянуть: http://docs.google.com/View?docid=dfh3v794_41gtqs6wf4
Тема форума: http://www.gamedev.ru/code/forum/?id=87747
Правда не знаю как сильно флешевый порт от оригинала отличается.

UPD: Слуш, можешь рассказать как ты хочешь делать Collision detection для многоугольников? По методу разделяющих осей? Или как?

mikleb 21.11.2008 21:02

2Division
Ты имеешь ввиду расчет penetration depth для выпуклых мн-ков?
Его я написал получается в среднем 0.035мс для двух 150 угольников (правда для 4х угольников не на много быстрее - где то 0.025мс). В худшем случае будет O(n + m), но в среднем O(1). Разделяющие оси (SAT) слишком медленно имхо (в худшем случае O(nm)), хотя для "мало"-угольников не знаю что быстрее.

Смольный (Smolniy) 21.11.2008 21:45

Я писал свой.
Больше так делать не буду... :)

divinus 21.11.2008 21:56

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

Zik. 21.11.2008 22:26

Народ, а где можно взять эти готовые физики (:D) ???

etc 21.11.2008 22:30

Встречный вопрос: вам разобраться в физике надо или что-то сделать? Если первое, то пишите свой, если второе — используйте готовый.

Волгоградец 22.11.2008 15:35

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

mikleb 22.11.2008 22:38

2__etc
Важнее что то сделать, но написать убийцу box2d былоб крута:)

MrPoma 23.11.2008 05:15

mikleb, если Вы еще неуверенно программируете, то советую отложить на время гранщиозные идеи :)

Fernando Costa 23.11.2008 14:58

бокс2д конечно дико ложит на адобовскую code convention. Привыкнуть к классам с мальенькой буквы и методам с большой непривычно. Да и коллизии на быстрых скоростях бывает не успевает просчитывать

etc 23.11.2008 15:03

box2d вообще сишная библиотека, отсюда и названия классов с методами.

mikleb 23.11.2008 15:12

2MrPoma
Что значит неуверенно программировать?:)
2Fernando Costa
Как раз привычно когда методы с большой буквы (и классы тоже)
Для коллизий на больших скоростях в box2d есть continuous collision detection

Fernando Costa 23.11.2008 15:14

Ну да, все же ребята не удосужились переименовать все, чтобы флешерам удобно было

VovkaMorkovka1 24.11.2008 02:50

Имхо, писать свой движок нужно в двух случаях:
1. нужно сделать что - нибудь уникальное, такое под что существующие двиги не подходят.
2. хочется написатьсвою физику 2d - шную

Добавлено через 1 минуту
Имхо, писать свой движок нужно в двух случаях:
1. нужно сделать что - нибудь уникальное, такое под что существующие двиги не подходят.
2. хочется написать свою библиотеку. Для этого нужно четко знать что в ней будет такого, чего нету в других.

Division 24.11.2008 11:10

Цитата:

Для этого нужно четко знать что в ней будет такого, чего нету в других.
ИМХО, если хочется написать свою библиотеку, нужно брать и писать (:


Часовой пояс GMT +4, время: 01:55.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.