Форум Игромании
 
Регистрация
Справка

Ответ
 
Опции темы
Старый 30.03.2006, 15:05   #61
Юзер
 
Аватар для ROLF
 
Регистрация: 10.06.2005
Адрес: Мир духов
Сообщений: 156
Репутация: 45 [+/-]
А у меня вопрос как правильн делать аниамцию бега вот я в максе сделал человека вот как он стаит и как он бижит в течение 500 кадров
дальше как вот у меня есть поверхность на ней я помешаю допустим человека и загружаю текстуру стояшего человека потом при нажатие кнопки бег начинаем двигать персонажа и зиаодно загружаем анимацию бега( катарую я в максе сделал 500 кадров)? Я правильно предположил?
__________________
--=THE ONE'S clan=--
Миром правят оптимисты а пессимисты там только зрители.
---------------------------
Intel core 2 Duo E6300
GeForse 7600 GT на 256 mb
2X1=2Gb ОЗУ
ROLF вне форума  
Отправить сообщение для ROLF с помощью ICQ Ответить с цитированием
Старый 31.03.2006, 01:12   #62
Юзер
 
Аватар для Xar
 
Регистрация: 21.01.2006
Сообщений: 114
Репутация: 66 [+/-]
ROLF
Цитата:
А у меня вопрос как правильн делать аниамцию бега
В принципе все так. Только не забудь синхронизировать скорость чела и скорость воспроизведения анимации. Иначе получится эффект, будто чел скользит по земле. Или летит. Пожалуй проще всего найти зависимость этих скоростей опытным путем.
__________________
"I've done the math enough to know the dangers of a second guessing
Doomed to crumble unless we grow and strenghten our communication." MJK
Xar вне форума  
Ответить с цитированием
Старый 31.03.2006, 14:38   #63
Юзер
 
Аватар для ROLF
 
Регистрация: 10.06.2005
Адрес: Мир духов
Сообщений: 156
Репутация: 45 [+/-]
Xar
Спасибо.
__________________
--=THE ONE'S clan=--
Миром правят оптимисты а пессимисты там только зрители.
---------------------------
Intel core 2 Duo E6300
GeForse 7600 GT на 256 mb
2X1=2Gb ОЗУ
ROLF вне форума  
Отправить сообщение для ROLF с помощью ICQ Ответить с цитированием
Старый 31.03.2006, 17:57   #64
Новичок
 
Аватар для Purgator
 
Регистрация: 30.03.2006
Сообщений: 4
Репутация: -1 [+/-]
Я всегда хотел создать игру, ты не знаеш какие нибудь бесплатные движки, где их найти, и как ими пользоваться?
Purgator вне форума  
Отправить сообщение для Purgator с помощью ICQ Ответить с цитированием
Старый 31.03.2006, 21:11   #65
Кандидат наук
 
Аватар для pokibor
 
Регистрация: 13.06.2005
Адрес: 0x00000000
Сообщений: 7,588
Репутация скрыта [+/-]
irrlicht-0.12.0 - очень хороший движок на C++. С ним идет хелп и куча примеров, так что он достаточно просто осваивается. Я сейчас сам делаю игру с его использованием. Обрати внимание, что версии 0.9 и т.п. БОЛЕЕ РАННИЕ, чем 0.12. Насколько я знаю, версий, более поздних, чем 0.12 нет.
А, нет, вру... сейчас сам случайно наткнулся на версию 0.14: http://prdownloads.sourceforge.net/i...cht-0.14.0.zip . Начинаю качать сам...
P.S. Если кто знает версию, более новую, чем 0.14 - пишите! Как с этим в 0.14 - не знаю, но вот в 0.12 не грузились двоичные .x -файлы, а также некоторые .x - файлы, конвертированные PandaDX, неправильно отображались.
P.P.S. Если у кого-то будут вопросы по irrlicht - задавайте. Не могу сказать, что полностью его освоил, но вот игру с его использованием делаю, и вроде пока неплохо получается...
__________________
Товарищ, верь: пройдет она -
Эпоха лживых, злых понятий.
Весь мир очнется ото сна,
И на обломках "демократий"
Напишут наши имена!

Мы были волшебницами (оригинальное фентези)
Тень Войны (фанфик по ГП)

Последний раз редактировалось pokibor; 31.03.2006 в 21:19.
pokibor вне форума  
Отправить сообщение для pokibor с помощью ICQ Ответить с цитированием
Старый 18.04.2006, 20:46   #66
Новичок
 
Аватар для SkyLine
 
Регистрация: 08.06.2005
Сообщений: 0
Репутация: 6 [+/-]
Цитата:
Сообщение от pokibor
P.P.S. Если у кого-то будут вопросы по irrlicht - задавайте. Не могу сказать, что полностью его освоил, но вот игру с его использованием делаю, и вроде пока неплохо получается...
А его без разницы куда ставить? На borland builder или MSVS.
А че за игрушку пишешь??
__________________
ICQ: 78 141 29
+1 postcount
SkyLine вне форума  
Ответить с цитированием
Старый 18.04.2006, 21:31   #67
Кандидат наук
 
Аватар для pokibor
 
Регистрация: 13.06.2005
Адрес: 0x00000000
Сообщений: 7,588
Репутация скрыта [+/-]
Цитата:
Сообщение от SkyLine
А его без разницы куда ставить? На borland builder или MSVS.
А че за игрушку пишешь??
В irrlicht есть библиотеки для Visual Studio 2003/2005, gnu c++ и linux (видимо, для того же gnu c++). Поэтому под Builder,скорее всего,работать не будет. Под VS 2003 или 2005 - проверено,работает. Есть даже версия для 64-х разряднной.
Игра - стратегия по типу Heroes of M&M.
__________________
Товарищ, верь: пройдет она -
Эпоха лживых, злых понятий.
Весь мир очнется ото сна,
И на обломках "демократий"
Напишут наши имена!

Мы были волшебницами (оригинальное фентези)
Тень Войны (фанфик по ГП)
pokibor вне форума  
Отправить сообщение для pokibor с помощью ICQ Ответить с цитированием
Старый 20.04.2006, 18:09   #68
Новичок
 
Аватар для SkyLine
 
Регистрация: 08.06.2005
Сообщений: 0
Репутация: 6 [+/-]
Дайте пожалуйста линк или сами распишите как устанавливать UnDelphiX на Borland Delphi 7.
SkyLine вне форума  
Ответить с цитированием
Старый 24.04.2006, 02:25   #69
Юзер
 
Аватар для Xar
 
Регистрация: 21.01.2006
Сообщений: 114
Репутация: 66 [+/-]
У меня довольно сложный вопрос, и я не уверен, что точно смогу его сформулировать. Есть некий проект (с использованием DirectDraw), в котором объекты движутся с определенной скоростью. Движение объектов (изменение их координат) и их отрисовка осуществляется в бесконечном цикле (Do-Loop). Дело в том, что в зависимости от загруженности видео памяти (FPS) этот цикл выполняется быстрее или медленнее и, следовательно, сами объекты движутся быстрее или медленнее. Как сделать скорость объектов постоянной, независимой от FPS? Без использования Timer.
__________________
"I've done the math enough to know the dangers of a second guessing
Doomed to crumble unless we grow and strenghten our communication." MJK
Xar вне форума  
Ответить с цитированием
Старый 24.04.2006, 09:31   #70
Кандидат наук
 
Аватар для pokibor
 
Регистрация: 13.06.2005
Адрес: 0x00000000
Сообщений: 7,588
Репутация скрыта [+/-]
Использовать таймер. Тебе же нужно, чтобы объекты двигались с учетом реального времени. в любом языке должна быть функция, возвращающая время в миллисекундах, прошедшее с определенного момента в прошлом. обычно это время имеет тип unsigned long, т.е. 32-х байтовое беззнаковое целое (на 32-х битных системах). Только учти, что это время порой может переходить из своего максимального значения в 0 (раз в 49 дней, по-моему), и, по-хорошему, нужно уметь это дело обрабатывать.
---
Ага, в Windows API есть функция GetTickCount(), возвращающая время в миллисекундах, прошедшее с начала работы системы. Вот ее-то и используй. Ну и стандартную формулу физики путь = скорость * время. Только я не уверен, что эта функция по прошествии 49 дней непрерывной работы системы сбрасывается в 0, поэтому (по-хорошему) пиши на своем проекте: "не запускать на системе, непрерывно работающей более 49 дней!"
---
Вот цитата из MSDN (а в 0, оказывается, сбрасывается!):
GetTickCount

The GetTickCount function retrieves the number of milliseconds that have elapsed since the system was started. It is limited to the resolution of the system timer. To obtain the system timer resolution, use the GetSystemTimeAdjustment function.


DWORD GetTickCount(void);

Parameters
This function has no parameters.
Return Values
The return value is the number of milliseconds that have elapsed since the system was started.

Remarks
The elapsed time is stored as a DWORD value. Therefore, the time will wrap around to zero if the system is run continuously for 49.7 days.

If you need a higher resolution timer, use a multimedia timer or a high-resolution timer.

To obtain the time elapsed since the computer was started, retrieve the System Up Time counter in the performance data in the registry key HKEY_PERFORMANCE_DATA. The value returned is an 8-byte value. For more information, see Performance Monitoring.

Example Code
The following example demonstrates how to use a this function to wait for a time interval to pass. Due to the nature of unsigned arithmetic, this code works correctly if the return value wraps one time. If the difference between the two calls to GetTickCount is more than 49.7 days, the return value could wrap more than one time and this code will not work; use the system time instead.

DWORD dwStart = GetTickCount();

// Stop if this has taken too long
if( GetTickCount() - dwStart >= TIMELIMIT )
Cancel();
Example Code
Note that TIMELIMIT is defined as the time interval of interest to the application, in milliseconds.

Requirements
Client: Requires Windows XP, Windows 2000 Professional, Windows NT Workstation, Windows Me, Windows 98, or Windows 95.
Server: Requires Windows Server 2003, Windows 2000 Server, or Windows NT Server.
Header: Declared in Winbase.h; include Windows.h.
Library: Use Kernel32.lib.
__________________
Товарищ, верь: пройдет она -
Эпоха лживых, злых понятий.
Весь мир очнется ото сна,
И на обломках "демократий"
Напишут наши имена!

Мы были волшебницами (оригинальное фентези)
Тень Войны (фанфик по ГП)

Последний раз редактировалось pokibor; 24.04.2006 в 09:38.
pokibor вне форума  
Отправить сообщение для pokibor с помощью ICQ Ответить с цитированием
Старый 07.05.2006, 01:21   #71
Юзер
 
Аватар для Xar
 
Регистрация: 21.01.2006
Сообщений: 114
Репутация: 66 [+/-]
У меня имеется следующий вопрос по поводу создания игры.
Хотя тут нужно хорошее знание физики.
Я собираюсь сделать некое подобие реальной физической модели в простой 2D аркаде. То есть у меня имеются, скажем, два объекта с разными массами (m и M) и начальными скоростями V1 и V2 (то есть, не скоростями, а их проекциями на оси). Эти объекты движутся и сталкиваются друг с другом. Непосредственно вопрос: по каким формулам можно вычислить скорости (то есть проекции скоростей) объектов после соударения.
Заранее благодарен.
__________________
"I've done the math enough to know the dangers of a second guessing
Doomed to crumble unless we grow and strenghten our communication." MJK
Xar вне форума  
Ответить с цитированием
Старый 07.05.2006, 01:34   #72
Operator
 
Аватар для Рэд Шухарт
 
Регистрация: 20.02.2006
Адрес: address unknown
Сообщений: 2,161
Репутация: 1091 [+/-]
ох, если правильно помню:
m*v1+M*V2=m*V1'+M*V2',
где V1' и V2' - скорости после соударения.
ИМХО, так.
__________________
Mirrors are more fun than television.
Рэд Шухарт вне форума  
Отправить сообщение для Рэд Шухарт с помощью ICQ Ответить с цитированием
Старый 07.05.2006, 09:15   #73
Кандидат наук
 
Аватар для pokibor
 
Регистрация: 13.06.2005
Адрес: 0x00000000
Сообщений: 7,588
Репутация скрыта [+/-]
Приведеное выше - закон сохранения импульса (вообще он звучит как "импульс замкнутой системы материальных точек постоянен, т.е. СУММА(Mi*Vi) = const в любой момент времени (равенство - векторное!)"), в нем (в данном случае) 2 неизвестных - собственно V1' и V2', так что одним им не обойдешься. Обычно его дополняют законом сохранения кинетической энергии: (СУММА)MiVi^2 / 2 = const (считаю, что тут момент времени непосредственно перед соударением, а значит изменения потенциальной энергии не происходит). Но учти, что это идеальный случай абсолютно упругого соударения. При абсолютно неупругом (частицы слиплись) закон сохранения импульса будет СУММА(Mi*Vi)=((СУММА)Mi)*V (V - одна, нового тела), а при реальных будут потери энергии, переход ее в тепло и прочие малоприятные вещи.
P.S. Кстати, можно пользоваться также законом "угол падения = углу отражения (по отношению к нормали)" - он действует для материальных частиц также, как для лучей света . А еще не забывай про влияние притяжения, если у тебя оно есть. Впрочем, непосредственно на удар притяжение практически не влияет.
__________________
Товарищ, верь: пройдет она -
Эпоха лживых, злых понятий.
Весь мир очнется ото сна,
И на обломках "демократий"
Напишут наши имена!

Мы были волшебницами (оригинальное фентези)
Тень Войны (фанфик по ГП)
pokibor вне форума  
Отправить сообщение для pokibor с помощью ICQ Ответить с цитированием
Старый 07.05.2006, 16:00   #74
Юзер
 
Аватар для Xar
 
Регистрация: 21.01.2006
Сообщений: 114
Репутация: 66 [+/-]
pokibor
Светлый Геймер
Всем спасибо, конечно.
Но законы сохранения импульса и энергии я знаю. Дело в том, что если решать систему с этими законами, то... Короче мне такую систему не решить. Я хотел узнать лишь готовую формулу.
Ладно... Скажите мне тогда следующее. В законе сохранения энергии можно отдельно использовать проекции скоростей на координатные оси или обязательно надо использовать именно модуль вектора скорости. Ну я надеюсь, вы меня поняли.

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

P.S.: Всем заранее спасибо. Да, в физике я не очень-то силён...
__________________
"I've done the math enough to know the dangers of a second guessing
Doomed to crumble unless we grow and strenghten our communication." MJK
Xar вне форума  
Ответить с цитированием
Старый 08.05.2006, 22:44   #75
Кандидат наук
 
Аватар для pokibor
 
Регистрация: 13.06.2005
Адрес: 0x00000000
Сообщений: 7,588
Репутация скрыта [+/-]
Энергия есть величина скалярная, так что разумеется нужно использовать только модуль вектора. Для решения сложных систем уравнений есть куча численных методов, например я вот выложил наши лекции по ЧМ (1.79 MB ): www.webfile.ru/939574
__________________
Товарищ, верь: пройдет она -
Эпоха лживых, злых понятий.
Весь мир очнется ото сна,
И на обломках "демократий"
Напишут наши имена!

Мы были волшебницами (оригинальное фентези)
Тень Войны (фанфик по ГП)
pokibor вне форума  
Отправить сообщение для pokibor с помощью ICQ Ответить с цитированием
Старый 14.05.2006, 03:04   #76
Юзер
 
Аватар для Xar
 
Регистрация: 21.01.2006
Сообщений: 114
Репутация: 66 [+/-]
Всем доброго времени суток!
В процессе создания игры у меня возник следующий глобальный вопрос. Как реализовать перемещение бота по игровому полю, основанному не на "клеточном" типе (не на матрице), а на ... как бы это сказать ... ... Короче, есть поле и на нём объекты (прямоугольные), заданные координатами x1, y1, x2, y2. Как сделать так, чтобы бот смог добраться из начальной точки в конечную, не натыкаясь на стены и т.п?
Первый жизненный пример, пришедший в голову: как боты в Counter Strike ищут пути? Насколько я знаю, там генерируются некие waypoint'ы, и боты ходят по ним. Может вы знаете, в чём сущность этого алгоритма.
Я думал и о другом варианте. Разбить поле на большое количество квадратных секторов и тем самым свести вопрос к прохождению бота по матрице. По крайней мере, тут я лучше смогу ориентироваться (наверное).
Ладно, надеюсь вы разобрались в моих каракулях и сможете дать дельный ответ. Хотелось бы узнать самый простой и удобный алгоритм.
Заранее спасибо.

P.S:
pokibor
Цитата:
Для решения сложных систем уравнений есть куча численных методов, например я вот выложил наши лекции по ЧМ (1.79 MB )
Тебе стоило сделать приписку к своему посту: "Простые смертные! Не пытайтесь понять эти записи! Они - для докторов математических наук!" По крайней мере, я ничего не понял. Совсем. Но всё равно, спасибо.
__________________
"I've done the math enough to know the dangers of a second guessing
Doomed to crumble unless we grow and strenghten our communication." MJK
Xar вне форума  
Ответить с цитированием
Старый 14.05.2006, 16:26   #77
Новичок
 
Аватар для P0rn0|MAN
 
Регистрация: 20.02.2006
Адрес: Украина,мать
Сообщений: 65
Репутация: -10 [+/-]
Дайте ссылку (в ЛС) на учебник по созданию игр на С++ и движок от cs 2d очень нада!
__________________
So what if i sweat
Put it in your report Bill
Evil evil boy.

My PIP-BOY is now turned on...
P0rn0|MAN вне форума  
Отправить сообщение для P0rn0|MAN с помощью ICQ Отправить сообщение для P0rn0|MAN с помощью Yahoo Ответить с цитированием
Старый 14.05.2006, 22:47   #78
Кандидат наук
 
Аватар для pokibor
 
Регистрация: 13.06.2005
Адрес: 0x00000000
Сообщений: 7,588
Репутация скрыта [+/-]
Цитата:
Сообщение от Xar
Всем доброго времени суток!
В процессе создания игры у меня возник следующий глобальный вопрос. Как реализовать перемещение бота по игровому полю, основанному не на "клеточном" типе (не на матрице), а на ... как бы это сказать ... ... Короче, есть поле и на нём объекты (прямоугольные), заданные координатами x1, y1, x2, y2. Как сделать так, чтобы бот смог добраться из начальной точки в конечную, не натыкаясь на стены и т.п?
Первый жизненный пример, пришедший в голову: как боты в Counter Strike ищут пути? Насколько я знаю, там генерируются некие waypoint'ы, и боты ходят по ним. Может вы знаете, в чём сущность этого алгоритма.
Я думал и о другом варианте. Разбить поле на большое количество квадратных секторов и тем самым свести вопрос к прохождению бота по матрице. По крайней мере, тут я лучше смогу ориентироваться (наверное).
Ладно, надеюсь вы разобрались в моих каракулях и сможете дать дельный ответ. Хотелось бы узнать самый простой и удобный алгоритм.
Заранее спасибо.
Короче, задача поиска пути в графе. Ну тут есть несколько вариантов решения:
1) В играх типа Action, где от бота требуется мгновенная реакция на ситуацию и грамотное поведение, действительно по карте расставляются waypoint'ы и прописывается вероятность, что от текущего waypoint'а бот пойдет к конкретному близлежащему. Waypoint'ы обычно расставлены так, что путь от одного к другому можно найти, просто обходя препятсвия по простейшим алгоритмам, вроде алгоритма левой/правой руки и т.п. Про эти алгоритмы и рассказывать-то неудобно - бот просто идет по прямой к препятсвию, и, если натыкается на стенку, поворачивает направо/налево и идет вдоль стенки.
2) В стратегиях обычно используются более продвинутые алгоритмы вроде поиска в ширину/глубину (в чистом виде используются редко) и их производных. Самым популярным считается алгоритм A*. Про эти алгоритмы в сети очень много информации, ищи по таким ключевым словам:
поиск в глубину
поиск в ширину
лучевой алгоритм посика
двунаправленный поиск
алгоритм A и A*
алгоритм Дейкстры

Цитата:
Сообщение от Xar
P.S:
pokibor

Тебе стоило сделать приписку к своему посту: "Простые смертные! Не пытайтесь понять эти записи! Они - для докторов математических наук!" По крайней мере, я ничего не понял. Совсем. Но всё равно, спасибо.
Не въезжаю... для понимания этих записей достаточно знать матан на уровне школы!!! Там даже слово "производная" встречается редко!
Ну а если есть проблемы, то забей на вывод - смотри результат! Там куча примеров! А без знания, что такое "Матрица" (поклонникам всяческих Избранных не сюда) тебе сложно будет толковую игру сделать... Про трехмерную графику я вообще не заикаюсь - там матрица на матрице сидит и матрицей погоняет.

P.S. Лично я в своей игре использовал алгоритм поиска в ширину - он неплохо работает на прямоугольных и даже гексовых полях, если нет типов местности разной проходимости, а есть только препятсвия.
__________________
Товарищ, верь: пройдет она -
Эпоха лживых, злых понятий.
Весь мир очнется ото сна,
И на обломках "демократий"
Напишут наши имена!

Мы были волшебницами (оригинальное фентези)
Тень Войны (фанфик по ГП)
pokibor вне форума  
Отправить сообщение для pokibor с помощью ICQ Ответить с цитированием
Старый 10.06.2006, 23:52   #79
Новичок
 
Регистрация: 27.05.2006
Адрес: Мордор, Барад Дур
Сообщений: 10
Репутация: 2 [+/-]
Народ помогите.
Дайте толковую ссылку (желательно в ЛС), на хорошие сайты по Borland Delphi, или написание своего движка на Delphi C НУЛЯ.
Заранее всем спасибо.
__________________
I can control you,
You're not my Destiny.
-----Godsmack-----


В своем доме в Р'лайх мертвый Ктулху проснется в назначенный час
cHupa вне форума  
Ответить с цитированием
Старый 16.06.2006, 20:58   #80
Юзер
 
Регистрация: 07.06.2006
Адрес: this
Сообщений: 162
Репутация: 112 [+/-]
Цитата:
Сообщение от cHupa
Народ помогите.
Дайте толковую ссылку (желательно в ЛС), на хорошие сайты по Borland Delphi, или написание своего движка на Delphi C НУЛЯ.
Заранее всем спасибо.
В принципе вот тебе ссылочка: http://www.delphi.narod.ru . Там есть линки может там че найдешь.
razor21 вне форума  
Отправить сообщение для razor21 с помощью ICQ Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


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


Powered by vBulletin® Version 3.8.0
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Rambler's Top100 Яндекс цитирования