| .::Russian Blood Community Forum::. »Life Is Real » Флейм » 3D двига будующего |
| Страниц (2): [1] 2 » |
| 1. LifeKILLED - 15 Марта, 2010 - 16:18:41 |
| Создавая эту тему, обращаюсь прежде всего, к тебе, jm Хочу поделиться мыслями по поводу своего движка и игр, которые можно будет на нем делать. В той или иной степени рендер написан, редактор тоже в основной части рабочий. Другое дело, что все это полно глюков, и не хватает самой важной графической составляющей - шейдеров Просто помечтаем Итак, план такой: я на полном серьезе планирую сделать движок, который способен обрабатывать огромный город со всеми домами, чтобы была возможность их разрушать. Но это еще не самое Наполеоновское. В этом движке будет возможно зайти в ЛЮБУЮ квартиру через любую дверь или окно. Т.е. кроме самих улиц будет неограниченное колличество помещений, комнат, и т.д. и т.п.. А это уже заява каанкретная (кароч копите на Blu-Ray привод Звучит дико. Теперь о реализации. Рендерить город будет не так уж и сложно. Улицы - как в GTA4 или ей подобной, а отдельные квартиры можно подгружать с жесткого диска. Причем снаружи на дальнем расстоянии в окнах дома можно будет увидеть не непосредственные комнаты квартир, а paralax mapping текстуру, на которой будет она нарисована Хорошо, может быть, не так уж и муторно будет все это отрисовывать. КАК ЭТО СОЗДАВАТЬ? Это будет самая главная фишка моего движка. Редактор - очень легкий в освоении и крайне мощный в действии. В его основе лежит моя методика "зас*рания" уровня геометрией - Trash Mesh, которую я придумал года 3 назад Out-door пространство будет традиционным - карта высот, текстуры, подгрузка деталей, Lod-уровни и т.д. и т.п.. Дома будут создаватья, как кубы или более сложные по форме фигуры. In-door - это секторная система типа Build. Т.е. основная работа - в виде сверху рисовать план здания. Затем указывать высоты комнат, выбирать текстуры... короче то, что мы все здесь умеем и любим делать больше всего Ключевым элементом Trash Mesh будет СТЕНА. Каждой стене назначается свой стиль - не просто текстура, а геометрические данные. Т.е. форма стен, косяки, трехмерные окна и прочее будет появляться автоматически, как только ты выберешь стиль для этой стены из списка. Я планирую сделать свой редактор этого "геометрического" стиля с возможностью лофтинга, создание прилепленных брашей и т.д.. Однако на данный момент эта функция еще не реализована, и пока эти стили нужно изготавливать в 3ds max. За основу берется прямоугольный plane с Y=0 (можно просто нарисовать в Left-проекции, любого размера), и уже на него накладываются плинтуса или окошки. Такая геометрия уже отлично позиционируется в билде движка без малейших прорех и щелей. Осталось реализовать "разрезание" этой модельки для стен, которые уже, чем эта самая моделька. Если разместить источник света (пока что статичный vertex-light), то в результате очень простой в изготовлении (буквальнр за 15 секунд) уровень смотрится вполне неплохо. В будущем этот же редактор будет генерировать текстуры, на которых будет "спроецирована" такая стена (color, normal map и т.д.), этой текстурой будет заменяться стена на большом расстоянии. Вот вам и готовый LOD И еще один плюс секторной системы. Ведь это уже готовое BSP-дерево с порталами! Если сектор (дверь или окно из комнаты в комнату) легко можно создать в редакторе, почему бы не дать игроку возможность создавать их в самой игре? В результате - можно будет не только вышибать любые двери, но и громить стены неподалеку рядом с этими дверьми! Последний вопрос. Как же создать такой большой мир, как город? Неужели, я соизволю нанять 1000 дизайнеров, сколько же на это нужно баксов... Еще одна фишка редактора (нереализованная, но реализовать ее будет легче всего перечисленного) - возможность доверить создания квартир компьютеру. Не надо забывать, что все этажи у домов имеют один и тот же план. Т.е. чтобы создать 16 этажный дом, нужно будет нарисовать план для одного этажа! (правда при этом я не сосчитал подвал и чердак, но как складно прозвучало Да, конечно, будет необходима огромная база различной мебели и прочей утвари. Но это всего лишь дело времени. Можно каждый день делать по диванчику или тарелочке, а уж компьютер найдет, куда все это поставить. Причем, к каждому дивану он будет выбирать случайную цветовую гамму (в разумных пределах), таким же образом он будет раскрашивать стены домов. Разумеется, нужна будет большая база "стилей" стен, но редактор который я создам будет очень прост и быстр, таких стенок можно будет плодить хоть по 100 в день Какие игры можно будет сделать на таком пакете? Правдоподобные! ОЧЕНЬ правдоподобные Вот я и перечислил основные принципы разрабатываемого мной движка. Просто надоело носить в себе, хочется поделиться наболевшим |
| 2. jm - 16 Марта, 2010 - 05:34:39 |
| Доработка не имеет конца От меня толку мало. Я давно "вне игры" Если серьезно, я не уверен, что создание подобной темы здесь хорошая идея. Ее следовало создавать на форумах того же www.gamedev.ru Впрочем, какая там сейчас атмосфера я не знаю. Не вижу связи "секторной схемы" с bsp. Например в том же build'е bsp не используется. Об этом говорил в интервью сам Кен. С тотальным разрушением всего и все ты по моему тоже погорячился Кстати о тотальном разрушении и уже упомянутом Кене: http://advsys.net/ken/voxlap.htm Рекомендуется к ознакомлению хотя бы потому, что в топике темы ты что-то упомянул про будущее Вопрос, конечно, как это будет реализовано. У Кена вот это программная реализация на CPU. Создание уникальных комнат не проблема. Проблема в том, чтобы сохранить весь этот мир и при необходимости подгружать нужные части. Какие это будут объемы ? Если использовать некие шаблоны не будет ли все выглядеть однообразно ? Главный вопрос - что именно ты собираешься создавать на таком "моторе" ? Все "претензии" озвучивать не буду (Отредактировано автором: 16 Марта, 2010 - 06:04:40) |
| 3. LifeKILLED - 16 Марта, 2010 - 18:18:21 |
| >> bsp Ну да, я не так выразился. Скорее не бинарное, а просто портальная система, но тоже фактически дерево. Его вообще не надо оптимизировать - гораздо легче вычислить видимость в реальном времени. Т.е. есть узлы - комнаты, и если комната видна, рисовать все объекты внутри нее. Не исключаю, что далекие порталы буду заменять картинками ))) >> разнообразие Если подумать, в помещениях не так много разнообразия в любой игре. Максимум - трещины и дыры в потолке. Я сделаю инструмент по созданию трещин. Сами по себе комнаты могут быть любой формы, ничто не мешает дизайнеру сделать каждый этаж отдельно и обставить несколько комнат, важных в сюжете. Я имею в виду многоэтажные дома, которые не реализованы на данный момент ни в одной игре. Да и не в красоте тут скорее дело, а в возможностях >> Ее следовало создавать на форумах того же www.gamedev.ru Да ну, украдут еще идею >> С тотальным разрушением всего и все ты по моему тоже погорячился Думаю, нисколько. Дыра в стене - тупо сделать дверь в ближайшую комнату, а внутрь посадить модель каких нибудь корявых кусков. Я не считаю, что физически правильный подход обязателен >> воксели Я кстати играл в демку Нет, мой движок будет не настолько продвинутым )))) Тоже будущее, но не такое далекое Я читал. Кармак совместно с еще одним чуваком (не помню имени, но точно не с Кеном) делает воксельный двиг, это id tech 6. Я видел в интернете видеоролик, где была модель монстра. Да, согласен, выглядит офигенно, но какие вычислительные мощности нужны, чтобы отрисовать не только этого монстра, но и весь окружающий мир! Сам Кармак сказал, что на имеющейся процессорной архитектуре рассчитывать долго. Аппаратура, способная на быстрое отображение вокселей, недорога в изготовлении уже сейчас, но кто за это возьмется? Добавлю от себя за Кармака - ускорение 3d графики фактически было реализовано именно под Кармака, как я слышал, под GLQuake ))))) Возможно такое, что под воксельные двиги тоже будет создано железо - сначала дорогое и штучное, а потом................ А возможно, такая поддержка сразу войдет в обычные видео карты, типа как всякие там CUDA и подобные инструменты... |
| 4. jm - 17 Марта, 2010 - 04:29:53 |
| Уже много раз тебе говорил - надо выражаться "так" Когда то и плоскостной рендеринг выглядел так же. Важно то, что Кен развивает что-то более или менее уникальное. Про тотальное разрушение спорить не буду. Тебе виднее С далеко идущими планами в России никогда проблем не было. Не повтори судьбу GSC с их Сталкером Ну ты задвинул. Ускорение графики было реализовано и до Кармака Просто Кармак пожалуй единственный, кто активно продвигает твой любимый OpenGL на PC Да и вообще, не нужно демонизировать Кармака Если уж и искать гениев среди сотрудников (уже бывших) id то на мой взгляд это скорее будет Майк Абраш. |
| 5. LifeKILLED - 17 Марта, 2010 - 15:01:59 |
| От кена новостей за все 10 лет не густо. Да и придумщик он такой же, как Кармак - Build ведь по сути сделан по принципам движка Doom, хоть и с большим числом фишек. А воксели разве изобретение Кена? Насколько я знаю, все принципы и алгоритмы 3D изобретают задолго до того, как они попадают в игрушки...... ИМХО, но GSC реабилитировалась после Зова Припяти. Пусть они и превратили ТЧ в коридорный шутер (кстати, однозначно ради бабла, потому что подстраивались под железо большинства и из-за этого загубили идею). Уже в ЧН наблюдается некая свобода (а также целый адд-он глюков и сервис пак тормозов). А уж в ЗП, хорошенько его отладив, с 3-й попытки они добрались-таки до "нормальных" размеров локаций и сделали наконец "каанкретную" Припять (точнее 1/2 Припяти... но хоть так) |
| 6. jm - 17 Марта, 2010 - 17:13:14 |
| Build это sector based engine опять таки по заявлениям самого Кена. Doom использует BSP. Так что по сути это разные движки Я не о коридорности. Я о том, какой был размах изначально и о том, как стухли под конец |
| 7. LifeKILLED - 17 Марта, 2010 - 21:52:02 |
| Просто задачу поставили невыполнимую. Иногда так и нужно делать, чтобы совершенствоваться, но зачем трендеть всем и каждому о своих задумках... (окружающие изумленно посмотрели на автора этих строк и подумали: превед Медвед, а ты как будто не это щас делаешь) За мегатекстуру Кармака не надо ругать. Это всего лишь его попытка выбраться из коридорности так, как он считает лучшим. Весь пиар мегатекстуры - дело прессы: вот, сам Кармак придумал новую афигенную технологию... А каждый журналюга хочет написать про новую технологию Кармака, вот и раздули. При этом сам же Кармак сказал, что его методика не такая уж и гениальная, как все считают, просто никто еще не пробовал пользоваться таким подходом. Вспоминается IGI Project, чем тебе не мегатекстура... И вообще что это за "мегатекстура", когда там куча файлов. Тогда уж "мега-куча-текстур" ))))))) По поводу вокселей и тотального разрушения. Помнишь, какие воронки от взрывов оставались в первом Delta Force? Я, кстати, тоже планирую воронки, но буду корректировать карту высот и текстурой земли закрашивать. |
| 8. Slava - 17 Марта, 2010 - 22:02:17 | |
Цитата:
Чего-чего??? Может я невнимательно играл, но такого не припомню. Благодаря вокселям там было реализовано огромное открытое пространство, но не более. |
| 9. jm - 18 Марта, 2010 - 06:17:09 | |
| То есть они задачу поставили не выполнимую, в отличие от тебя ? Не понимаю причем тут попытки выбраться из 'коридорности'. 'Коридорность' это имхо болезнь исключительно: - первоначальной разработки движка - дизайнеров Если ты изначально 'учел', что тебе придется рендерить открытые пространства никаких проблем не должно возникнуть. Только если все не испортят дизайнеры. Я хочу сказать, что вот например Doom3 такой коридорный не потому, что до этого 'не было' 'мегатекстуры', которую 'придумал' Кармак, а потому, что Кармак поленился/не пытался реализовать аутдор в Doom3. И до появления 'мегатекстуры' очень легко было этой самой коридорности избегать. Примеры приводить не буду. Ты уже вспомнил одну игру. Еще раз - не Кармак придумал эту технологию, афаик это не его 'методика': Цитата:
Почитай, прежде чем спорить http://blog.gamedeff.com/?p=50 В IGI тем не 'мегатекстура', что там используется иной подход. Не помню, потому как в первую df не играл. Зато во второй никаких воронок не было. Так что я думаю, Слава прав. Что до открытых пространств я не думаю, что это присуще именно вокселям. Здесь все упирается в вычислительные мощности и точности представления чисел, но никак не в саму технологию. Единственная игра с изменяемой геометрией уровня и воксельным движком которую я помню это Российский ZAR от Maddox games. |
| 10. LifeKILLED - 18 Марта, 2010 - 16:47:26 | ||
Цитата:
Это от нас не зависит. Зато от нас зависит то, как мы напишем программы. Мегатекстура, думаю, была создана благодаря распрастранению двухъядерников. Стало возможным подгружать с диска отдельным потоком. С некоторых пор все игры подгружают данные с диска, включая тот же UE3, и самое главное рекордсмен по размеру карт FUEL. В последнем мне почему-то картинка больше по нраву, чем в том же ETQW. Кармак действительно ничего не изобретал в этом плане, он просто сделал очередной двиг в своем стиле, опираясь на уже имеющиеся алгоритмы. Также как стенсильные тени, и BSP (последний алгоритм появился вообще н-десятков лет назад). Его заслуга в том, что у него талант к оптимизациям и всяким мелким "изобретениям" типа Carmack's Reverce. И то, как он создал Catacomb3D на компах того времени (позже Doom, позже первую Кваку). Да тот же id tech 4 - чем не венец оптимизаций? Ближайший конкурент с тоеми же технологиями Jupiter EX (двига FEAR), созданный крупной, опытной и всеми нами любимой компанией Monolith гораздо медленнее работает, чем Doom3. На одной и той же версии шейдеров, НО! Сколько деталей и источников освещения в Doom3 и как мало их в FEAR - сплошные коробки, изредка освещенные крупные комнаты, и при том последний неслабо тормозил на тех же компах, на которых Doom3 летал. Вот за это я люблю Кармака и ставлю его в пример. А какая-то интрига с Мегатекстурой, которую раздули журналисты, а отнюдь не сам Кармак, моего мнения по поводу его личности не изменит. Именно с Кармаком и связан главный миф, что OpenGL быстрее чем DirectX. А вообще то это не так, и дело тут в людях... P.S.: Воронки в DF были, только видимо они были не очень заметные. Земля немного темнела под гранатами и там высота изменялась. Не помню правда, в первом или во втором это было, но я точно видел такую картину. (Добавление) Цитата:
Я выпал |
| 11. jm - 18 Марта, 2010 - 17:22:53 |
| Еще раз, это зависит от вычислительных мощностей Я исхожу из того, что люди умеют писать программы. Как бы ты хорошо не писал программы, в далеком 96 году создать играбельный Doom3 ты не мог бы. Какая связь мегатекстуры и двуядерников ??? Не сочиняй. Причем тут подгрузка отдельным потоком ? А раньше по твоему не подгружали ? Ты видимо до конца не понял чем так хороша мегатекстура. Да и на одном ядре используя многопоточность можно добиться прироста. Я думаю, рекордсменом может быть и Just Cause 2 и учитывая тот факт, что там можно еще и летать, а не только гонять на машинах, то он им и будет. Я только не очень понимаю к чему эти разговоры о рекордсменах ? Кто там и где что раздул меня мало волнует То изобретал, то не изобретал. Вы уж определитесь юноша. А то виляете как маркитанская лодка Про первую кваку заливать не надо. В те времена с ним работал Абраш. Есть большое подозрение, что его вклад в рендер ку гораздо больше. И про idtech4 тоже брехня Лично мое видение - его заслуга только в том, что он трудоголик. А тем, кто по настоящему вкалывает всегда воздастся. (Отредактировано автором: 18 Марта, 2010 - 17:24:28) |
| Powered by ExBB 1.9.1 Original Style v1.5a2 created by Daemon.XP |