Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Программирование игр, графики и искусственного интеллекта > Движок с нуля.....


Автор: TIRAN 11.10.2005, 11:56
Привет всем игроделам.... smile
сам я пишу на с++ и под OpenGL

когда то написал подобие бомбермена на вижал бацыке, потом написал арканоид на паскале, на борланд с++ накарябал змейку.......



Долго думал и всё таки решил продолжить игрострой......
но сразу же затупил так сказать.......

надеюсь тут на форуме есть люди которые сами написали свой 3Д движок...
тода подскажите с чего начать само писание или дайте ссылку на ресурс где описывается подобное создание движка..........

заранее спасибо smile

Автор: DragonFire 11.10.2005, 13:54
Ну вопервых, создай "пустое" приложение на WinApi без глюков. Тоесть, чтобы выводилось окошко на полный экран и потом при нажатии на какую-нибудь клавишу закрывалось. Потом добавь библиотеку OpenGL, создай ландшавт(самый простой способ - с помощью треугольников). Добейся, чтобы экран поворачивался за мышкой (такая функция наз. "взгляд за мышью"). Далее следует реализовать передвижение по карте твоего персонажа, добавить 3D объекты и вот - движок готов. После этого добавляешь сюжет и игра готова!
З.Ы. Это я расписал в общем плане. По крайней мере так писал я...

Автор: Mad 11.10.2005, 14:38
TIRAN
Основные принципы построения внетреннего движка сильно зависят от того, в каком жанре будет твоя игра. А разная структура, по разному реализуеться (в том числе и порядок реализации).

Ну например, движое под какуюто стратегию (именно стратегию а не тактику), лучше всего начинать с GUI smile

Автор: TIRAN 12.10.2005, 08:08
DragonFire
спасибо именно етого я и ждал.....
ну скажем я заделал(токо скажем я ещё несделал) ландшафт и заделал перемещение.....
но как сделать гравитацию.....ведь ланшафт будет не ровный.....

Mad
это будет не стратегия а шутер, причом чем больше буду узнавать тем больше туда буду пихать!!
хочу на ето прмиере просто обучиться........

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

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

Автор: DragonFire 12.10.2005, 11:05
Гравитацию по законам физики делать надо, если ты имеешь в виду прыжки, а передвиженике по ландшавту, тут есть разные способы. Например считывать высоту карты там, где сейчас находится персонаж и поднимать его на нужную высоту...

Автор: TIRAN 12.10.2005, 12:59
а физику сложно сделать?...
ну не полную как ето правильно сказать костную физику чтоли....
чтобы тела реалистично падали...
а такую тупую........
чтобы предметы просто падали вниз ежели их поставить на высоте...

Автор: DragonFire 12.10.2005, 13:42
Ну это легко сделать. Вот примерный алгоритм, написаный на скорую руку:
1) Определить стоил ли тело на Земле или есть ли у него иная другая опора (например лестница)
2) Если опоры нет, то начинается падение: V=0, Z0=текущая координата тела, по вертикольной оси (обычно это ось Z), т.е. высота, t=0.
3) Далее в каждый последующий шаг расчитываем новую координату тела, по вертикольной оси по такой формуле: Z=Z0-V0*t-(g*t*t)/2, где g=9.8(коэффициент гравитации), t-постоянно возрастающая величана, в соответствии с игровым циклом.
4) Определяем упало ли тело на поверхность, и если да, то прекращаем падение.
Вот вроде и все. Если я где-нибуди в формуле для Z не напутал знаки, то у тебя получится реальная физическая модель, без особых усилий...

Автор: TIRAN 13.10.2005, 07:55
а я задавал вопрос..про движки ..чо никто незнает чтоли?.....НЕВЕРЮ!!

про физику вроде как понятно..но на практике убедюсь.....

кода дело дойдёт до физики....хе..

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

Автор: DragonFire 13.10.2005, 09:12
Знаешь, купи себе книгу:
А. Ламот
"Програмирование трехмерныи игр для Wundows"
Там все написано, тока учти, что она толстая...
Добавлено @ 09:21
Кстати, в разделе
Форум программистов -> Разное -> Разыскивается
Я создал тему, по поиску этой книги в электронном виде. Может, если кто подскажет где ее скачать, тебе и покупать не придется... smile
Хотя всеравно бумажный вариант лучше.
Но книга очень хорошая - просто супер!

Автор: DENNN 13.10.2005, 10:21
Цитата(TIRAN @ 13.10.2005, 07:55)
а я задавал вопрос..про движки ..чо никто незнает чтоли?.....НЕВЕРЮ!!

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

Автор: TIRAN 13.10.2005, 11:44
[b]DragonFire[\b]
пасибо!!с удовольствием почитаю!!!


[b]DENNN[\b]
я не хочу делать чего то навароченного!!!
я почучуть юзаю OpenGL...вот практически надумал как сделать ландшафт.....

я читал то что нашол...а из всех ссылок на странички которые я находил немногие оказались полезными!!
ещё моя ошибка в том что я некачал учебники по OGL...

Автор: DragonFire 13.10.2005, 12:23
Есть книга:
М. Краснов
"Графика в проектах Си"
Хотя я ее не читал, зато читал его же книгу "Графика в проектах Delphi". Так что можешь попробовать ознакомится. Там объясняется OpenGL, ничиная с основ...

Автор: TIRAN 13.10.2005, 12:50
пасыб и за это....

Автор: DragonFire 13.10.2005, 14:26
Вот надыбал книгу Ламота! Советую почитать!!!http://www.natahaus.ru/2005/10/02/programmirovanie_trehmernyh_igr_dlya_windows_.html

Автор: Ryoga 13.10.2005, 21:09
TIRAN, вам бы на http://www.gamedev.ru/, и им подобные сайты. smile Зайди, не пожалеешь.
А по физике в игровых проектах, есть такая книга - O'Reilly - Physics for Game Developers. Название говорит само за себя. smile Правда, там, конечно, для геймдизайнеров (есть, даже, код), но всё-таки физика, так что, для простых проектов всё это, может, и не надо. Но, никто не просит реализовывать всё, что там написано. ;)
З.Ы. Посмотрел на творение Ламота... 1424 страницы... smile какой ужас. Как сказал один мой друг - "я слишком стар, чтобы читать такие толстые книги по програмированию". smile
З.З.Ы. Это - не антиреклама, нет. smile Это - всего лишь моё личное мнение.

Автор: DragonFire 13.10.2005, 21:22
FА се читать не надо. Открываешь, скажем алгоритм построения ландшавта, читаеши 2 страницы и пишошь программу... smile

Автор: TIRAN 14.10.2005, 03:41
короче нарыл я себе доки до попы.......прмиер ещё больше......
теперя у меня есть всё.....

DragonFire !!
я конечно несомневаюся что ето наиполезнейшая книга для меня сейчас...но ёмаё она весит едрёных почти 60 метров.....
блин а надо!!!
эх придётся денюжку потратить


Автор: DragonFire 14.10.2005, 06:53
Тока сразу продупреждаю, там примеры на Си для DirectX. Но там объясняются основы и целая куча алгоритмов - физики как это сейчас стало модно называть. Я, когда писал игру на OpenGL и Delphi вовсю ее использовал. smile Тебе будет легче. Будешь понимать коды листингов. Удачи тебе. Если что пиши, постараюсь помочь чем могу... smile
А, чуть не забыл. Тебе всетаки лучше достать еще какую-нибудь книжечку по OpenGL. Таких много, можешь скачать из нета, если зайжешь в раздел
Форум программистов -> Разное -> Компьютерная литература -> Программирование графики, DirectX, OpenGL smile

Автор: TIRAN 15.10.2005, 07:00
скачал я етот учебник...блин денег улетело...
но книга та матёрая!!! стоит того...........

а учебников у меня много!!я их из инета сдул.....


Автор: DragonFire 15.10.2005, 09:48
Вот и хорошо, пиши здесь, если что...
Мож с алгоритмом каким помогу... smile

Автор: TIRAN 16.10.2005, 07:18
уРА!!!научился ваять ландшафт....
блин стоко мароки с этим ландшафтом..................


ак нигу я читнул чуток.....
ну блин книга та матёрая едрён батон!!!! жалко что она под директ ...............

Автор: DragonFire 16.10.2005, 08:04
Ты как лондшавт создавал? С помощью треугольников, или какой-нибудь заумный алгоритм использовал???

Автор: TIRAN 16.10.2005, 08:44

а ландшафт я сделал ..ну посомтрел примерчик и доку к нему....
считывание карты высот...

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


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

а таким макаром моно сделать чтобы по земле ходил?

Автор: DragonFire 16.10.2005, 16:42
я тоже щас маюсь с наталкиванием на стыны... Еще не решил эту задачу оптимально, а насчет движения - сначала расчитываешь угол поворота персонажа, а потом перемещаешь его по осям соответственно на (Sin<угол поворота>*<расстояние перемещения>) и (Cos<угол поворота>*<расстояние перемещения>). Примерно так.
Насчет ландшавта, есть более грамотный способ построения его с помощью приема сlipmap, но к сожалению я не смог пока найти описание этого приема на русском языке, так что пока - треугольники форевер smile .

Автор: TIRAN 17.10.2005, 07:38
ну движение камеры та я сделал....
кстати оказалося гораздо проще чем я думал.....
я просто тоже пример глянул.....

а вот блин чо то неполучается доконца догнать как реализовываются столкновения путём применения етих самых абстрактных прямоугольников.............
чисто теорию понял прекрасно..а вот как сделать фиг его знает..........


хотя наверное сначала надо подгрузить модель в етот виртуальный мир......

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

а есть каки-енибуть учебники похожие на тот который ты мне предложил скачать..но токо примеры на OpenGL аааа?

И ещё наткнулся на весьма полезный ресурс по коллизиям
http://gdlinks.hut.ru/cdfaq/

Автор: DragonFire 17.10.2005, 13:17
За ресурс спасибо, а вот насчет других учебников не знаю, извини... Этот учебник - универсальный...

Автор: TIRAN 17.10.2005, 13:38
а я стоко этих ресурсов понаходил...........
восновном пишут одно и тоже.......
а прмиера нигде нету.....
ЗЛО.............................

Автор: DragonFire 17.10.2005, 13:47
да уж...

Автор: Gram 17.10.2005, 14:55
Цитата

З.Ы. Посмотрел на творение Ламота... 1424 страницы...  какой ужас. Как сказал один мой друг - "я слишком стар, чтобы читать такие толстые книги по програмированию". 
З.З.Ы. Это - не антиреклама, нет.  Это - всего лишь моё личное мнение.

Офигенная книга достал в бумажном варианте уже 1,5 месяца читаю тока половину прочитал smile
тока это вторая книга есть еще и первая, а и в книге есть обещение написать третью

Автор: DragonFire 17.10.2005, 19:47
Цитата(Gram @ 17.10.2005, 14:55)
есть обещение написать третью

Третию? Когда??? КРУТО!!!!
smile smile smile

Автор: TIRAN 18.10.2005, 10:51
блин...задрался лазить в инете......
немогу найти толкового объяснения реализации коллизий

Автор: DragonFire 18.10.2005, 12:22
Цитата(TIRAN @ 18.10.2005, 10:51)
реализации коллизий

Что за "Коллизии"?

Автор: TIRAN 18.10.2005, 12:34
ну смысле столкновения...
ето я немногонекоректно написал............

Добавлено @ 12:39
я тута глянул ещё..
возможно тебе пригодится.........
http://pmg.org.ru/nehe/nehe39.htm

и исходник...
http://nehe.gamedev.net/data/lessons/vc/lesson39.zip

вот сижу юзаю........
авось чо получится...

ты тама найди 30-ый урок....и юзай

Автор: DragonFire 18.10.2005, 19:36
Спаибо , вообще тебе можно учить OpenGL по этим урокам. Как я сразу не доградался... smile
Мне же это не особо поможет, я же не на Си пишу, а на Delphi, хотя спасибо, может формулы оттуда какие выужу... smile

Автор: TIRAN 18.10.2005, 21:14
ааааааааа.........а я думал ты тоже как и я на с++ ваяешь..
мда...я недумал что создать практически примитивную физику так сложно......

Автор: DragonFire 19.10.2005, 13:34
ну не так уж ис сложно... smile

Автор: TIRAN 19.10.2005, 13:53
ну вроде всё понятно..но на практике чо т туго........

я просто непредставлял что так много писать надо...

Автор: DragonFire 19.10.2005, 16:56
писать да много... =)))

Автор: chipset 19.10.2005, 17:46
Лучше возьми опен-сорсный движок и поковыряйся, поковыряйся в нём как следует. Чтение чужого кода очень эффективно smile

Автор: DragonFire 19.10.2005, 19:21
Ну не знаю, не знаю... Во-первых где его взять, особонно мне под Delphi. Разумеется я не беру в расчет GlScense. Во-вторых помоему можно и из книг все нужные алгоритмы подчерпывать. Другое дело реализация графики...

Автор: DENNN 20.10.2005, 16:21
Цитата(DragonFire @ 19.10.2005, 19:21)
где его взять, особонно мне под Delphi.

ИМеет смысл уже перейти на более правильный язык smile
(знаю знаю! ногами не бейте smile )

Автор: DragonFire 20.10.2005, 18:03
И на кокой же? Уж не на Си ли случайно? ***Ржет*** smile

Автор: arilou 20.10.2005, 18:58
DragonFire
На C# smile
Цитата(DENNN @ 20.10.2005, 16:21)
знаю знаю! ногами не бейте

Присоединяюсь smile

Автор: DragonFire 20.10.2005, 19:03
Если чесно C# не занимался... А что, прикольно???

Автор: TIRAN 21.10.2005, 07:29
блин ето же наскоко я знаю замена java...
честно говоря я с# неюзал...очень хочу посмотреть чо ето...
но углубляться нет желания........

Автор: DENNN 21.10.2005, 08:27
Цитата(DragonFire @ 20.10.2005, 18:03)
И на кокой же? Уж не на Си ли случайно? ***Ржет***

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

P.S. Религиозные войны у нас в другом разделе, а я рекомендовал бы задуматься над тем, что каждый язык преследует свои цели и решает свои задачи.

Автор: TIRAN 21.10.2005, 10:02
правильно написал.....
и продолжим мою тему............
Кстати DENNN ты же писал свой двидок да?
в нём была обработка столкновений?
ежели да то пришли мне пример плз!!..а то я доки начитался а реализоватьпока сложно........
да и прмиер какойто ....немогу разобраться...


Но впринцыпе все основы понял...осталося токо накарябать....


и ещё я затупи надо проблемой ...сделать чтобы непроваливаться сквозь ландшафт....
DENNN у тя есть пример реализации хождения по ландшафту...?...
плз!!!дай...
Заранее пасыбо!!

Автор: DENNN 21.10.2005, 13:19
Движки давать не буду, потому как не я один их делал.
А если по вопросам: ты создай конкретный топик и перечисли все подробно. Иначе на вопрос "как сделать чтобы непроваливаться сквозь ландшафт" можно ответить только "анализировать на какой точке ландшафта находится персонаж".

Автор: arilou 21.10.2005, 13:24
TIRAN, почитай форум по http://forum.vingrad.ru/index.php?showforum=47, и все станет ясно ;)

Автор: TIRAN 21.10.2005, 13:28
а движок я у тя и нерпошу.........
хотя и вправду ето глупо...
отдуда пример так и невыдернуть....надо всё и зразу..хе......ладно
тода проехали....


а по чатси ландшафта
создавать новый топик ето сека....

ето тема очень даже подходит..............


а ты случаем неможеш мне пример реализации дать?
буду нескончаемо рад..........
Добавлено @ 13:31
arilou
пасыбо обязательно постмрю....

Автор: TIRAN 21.10.2005, 13:40
хм............
посмотрел я форумы по .NET
чо то тама ничего хорошего неподчеркнул....

Автор: DragonFire 21.10.2005, 13:53
Цитата(DENNN @ 21.10.2005, 08:27)
Религиозные войны у нас в другом разделе, а я рекомендовал бы задуматься над тем, что каждый язык преследует свои цели и решает свои задачи.

Да, ты прав. Извини, погоричился... smile

Автор: TIRAN 26.10.2005, 12:59
DragonFire
Ну чо написла уже свою игру та?.....

Автор: DragonFire 26.10.2005, 15:18
Да нет. Еще пишу =)))
А ты?

Автор: TIRAN 27.10.2005, 11:47
хе....тоже нет..
но маленькими ударными темпами пытаюся накорябать..............

я застрял на текстурировании...нохотела текстуру натягивать и всё тут....
но вот токо токо решил проблему....

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

Автор: DragonFire 27.10.2005, 13:08
Круто, а ссылочку на эту библиотеку не кинешь?? Если там русское описание...

Автор: TIRAN 27.10.2005, 14:57
http://www.gamedev.ru/articles/?id=70125
и
почитай пригодится...
http://www.gamedev.ru/articles/?id=30110


и вообще полазий на gamevede...весьма весьма полезный сайтец...

Автор: DragonFire 27.10.2005, 18:36
Пасибо =)))

Автор: TIRAN 28.10.2005, 10:45
ты юзал Open IL?

Автор: DragonFire 28.10.2005, 14:55
Неа, я доку к нему найти не могу =(((
Тоже задавался этим вопросом. Темки на этом форуме создавал, но никто не отвечает... =(((((

Автор: TIRAN 29.10.2005, 02:31
ну дык я на gamevede нашол маленькую статейку.....
http://www.gamedev.ru/articles/?id=70123

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

а я загружал текстуру в память при помощи етой самой библиотеки.........


Автор: DragonFire 29.10.2005, 06:12
Ну да текстурировал. Тока я текстурировал с помощью самого OpenGL и собственно загружал текстуру средствами Delphi...
А та статейка тока для Си и мне нихрена не помогла...

Автор: TIRAN 29.10.2005, 07:41
всё починил я своё текстурирование...........

ета Open IL глюк ходячий.....

я загрузил при помощи Open GL и всё работет....ну чуток поправил и цветная....


ща вот думаю попробовать физику реализовать...токо ета цель какаето нереальная................
НЕЗНАЮ ДАЖЕ С ЧЕГО НАЧАТЬ....
да и понятия неимею как делатьету физику.................

Автор: DragonFire 29.10.2005, 11:27
Ну не знаю, попробуй смену дня и ночи реализовать для начала...

Автор: TIRAN 29.10.2005, 14:03
да какая смена дня и ночи........
физику хочу...
щас вот сижу пыхчу...............

Автор: DragonFire 29.10.2005, 18:51
А, ну давай.
Просто движение солнца вокруг нашего виртуального мира - тоже физика. Я именно с этого начинал...

Автор: mr.DUDA 30.10.2005, 09:27
М
 
Давайте не будем превращать эту тему в личный чат, уважаемые участники. Переписывайтесь по ПМ, пжлста. В теме должен быть 1 вопрос и много ответов на него (см. Правила форума).

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)