www.G-2B.com www.G-2B.com
форум сайта проекта "ЮКисП"
 Помощь      Поиск      Участники


 Страниц (12): В начало « ... 3 4 5 6 [7] 8 9 10 11 ... » В конец    

> Описание: Игра про строительство
krre
Отправлено: 24 Июля, 2016 - 06:23:12
ID

компьютерный мультипликатор


Сообщений всего: 2113
Дата рег-ции: Дек. 2008  
Репутация: 28




Готово, дал тебе доступ!
   Top
krre
Отправлено: 24 Июля, 2016 - 12:45:12
ID

компьютерный мультипликатор


Сообщений всего: 2113
Дата рег-ции: Дек. 2008  
Репутация: 28




Размышляя над тем, куда двигаться дальше, я стал гуглить интернет в поисках технологии разрушаемых 3D-моделей. Большинство современных игр имеют ограниченные возможности по части разрушения мира. Разбить можно только то, что предусмотрено программистами, да и то лишь на те осколки, которые заготовлены заранее. Чаще всего разбиваются всякие ящики, чтобы найти там аптечку, патроны или ещё какую-нибудь ерунду. Нельзя, например, раздолбать стену в коридоре и выйти в непредусмотренное игрой пространство.

У меня же игра создаётся в жанре открытого мира, в котором нет заранее заготовленных коридоров, за пределами которых абсолютное ничто. Наоборот, есть планета (или астероид), на ней находится ландшафт, и ты делаешь с ним всё, что хочешь. Так как ландшафт предсказумо состоит из трёхмерных моделей, то надо как-то эти модели дробить, причем, на осколки состоящие из какого-то материала. И вот тут возникает проблема. Трёхмерная графика построена по принципу обтягивания объёма полигональной сеткой. Эта облочка создаёт видимость сплошного объекта, но внутри он, конечно же, пустой. Значит, в момент разрушения объекта надо чем-то его заполнить. Пытаясь выяснить, как это сделать, я наткнулся на любопытную технологию Sparse Voxel Octree, разрежённое воксельное октодерево.

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

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

После такого длинного вступления перехожу к сути. Я решил опередить своё время и попытаться использовать воксели в игре про Гагарина. Есть усовершенствованная технология для их обработки, которая называется, как уже упоминалось выше, Sparse Voxel Octree, на которую я и ориентируюсь. Собственно, выбор-то у меня небольшой. Раз уж я избрал такой хитрый жанр для игры, в котором всё можно разрушать и создавать заново из разломанных материалов, то придётся как-то выкручиваться. Поскольку графику я собираюсь делать попримитивнее, то, надеюсь, тормозить игра у меня будет не сильно.
   Top
Коля Логан
Отправлено: 24 Июля, 2016 - 20:41:08
ID


почетный участник


Сообщений всего: 4379
Дата рег-ции: Июль 2008  
Откуда: Донецк, Украина
Репутация: 30




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

Я поначалу думал, что это у меня что-то не так, но таки да, мышь двигается влево, если ей двигать вправо и наоборот.
krre:
Готово, дал тебе доступ!

Спасибо. Отлично!
Первым делом залез за текстуры, точнее далеко за пределы тестовой площадки. Позабавило, что внутрь объектов вообще можно зайти. :D
   Top
krre
Отправлено: 25 Июля, 2016 - 06:17:15
ID

компьютерный мультипликатор


Сообщений всего: 2113
Дата рег-ции: Дек. 2008  
Репутация: 28




Надо же, у всех с первого раза запустилось и заработало. ЧЯДНТ? гы-гы!
   Top
2B администратор
Отправлено: 25 Июля, 2016 - 09:21:47
ID


администратор


Сообщений всего: 18102
Дата рег-ции: Июль 2004  
Откуда: Ирпень, Украина
Репутация: 56




Воксели - это тема, звучит круто Подмигну-ка
   Top
krre
Отправлено: 25 Июля, 2016 - 09:44:10
ID

компьютерный мультипликатор


Сообщений всего: 2113
Дата рег-ции: Дек. 2008  
Репутация: 28




Ага, правда, сыровато выглядит пока. Если разрешение низкое, то проявляется повышенная мохнатость. Вот, сравните, слева - полигональный заяц, а справа - воксельный, он весь из маленьких заметных кубиков состоит.

VoxelOctree2.jpg

   Top
krre
Отправлено: 25 Июля, 2016 - 09:46:06
ID

компьютерный мультипликатор


Сообщений всего: 2113
Дата рег-ции: Дек. 2008  
Репутация: 28




Но если разрешение увеличить, то и такого эффекта добиться можно (чего трудно для полигонов), но крутиться такое будет отсилы на 5 fps. гы-гы! В общем, надо думать. Придётся, наверное, комбинировать полигоны с вокселями как-то.

atomontage_plrs02.jpg

   Top
Коля Логан
Отправлено: 25 Июля, 2016 - 14:37:18
ID


почетный участник


Сообщений всего: 4379
Дата рег-ции: Июль 2008  
Откуда: Донецк, Украина
Репутация: 30




krre:
Надо же, у всех с первого раза запустилось и заработало. ЧЯДНТ?

Не знаю. Ты не волнуйся, я собираюсь ещё полазить по этому снэпшоту и найти какой-нибудь глюк на ровном месте. гы-гы!
krre:
Ага, правда, сыровато выглядит пока. Если разрешение низкое, то проявляется повышенная мохнатость. Вот, сравните, слева - полигональный заяц, а справа - воксельный, он весь из маленьких заметных кубиков состоит.

Что нынешняя графика игры, что примеры с зайцами крайне нравятся мне схожестью с компьютерной графикой 1980-х и 1990-х, когда это дело было реально себе искусством, а не визуальным эффектом. Помнится, стоит у меня замечательная книженция в Донецке с сюровыми иллюстрациями - "Мир компьютера", кажется, называется. Вот в раннем детстве, года так в три-четыре она однозначно сформировала мое представление о компьютерной графике именно как о крайне странном изобразительном искусстве... Короче, продолжай в том же духе! Отлично!
   Top
krre
Отправлено: 25 Июля, 2016 - 18:20:49
ID

компьютерный мультипликатор


Сообщений всего: 2113
Дата рег-ции: Дек. 2008  
Репутация: 28




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

Продолжаем. Сейчас я сделал в своей голове, выражаясь языком компьютерной графики, переключение контекста и отложил на некоторое время работу над 3D, а взялся за 2D. За GUI, точнее говоря. Пусть мозг отдохнёт немного, а, как мы знаем, лучший отдых для организма - это смена рода деятельности.

Так вот. Захотелось мне сделать всё-таки меню. Чтоб там кнопки были типа Play, Settings, Exit. И чтоб это меню появлялось не только в начале игры, но и на паузе, когда ESC нажимаешь. Там ещё будет добавляться кнопка Continue, если после паузы я хочу продолжить игру, а не окончательно выйти.

Самая большая проблема на этом этапе - это лайауты. Нужны эти лайауты для того, чтоб можно было автоматически размещать контролы в столбец, строку или в сетку, не хардкодя их координаты вручную для каждого контрола. В общем, задача хоть и непростая, но теорию по этой части мне изучать уже не надо. Я каждый день на работе с программированием гуёв вожусь и знаю, на что они способны. Осталось только копнуть чуть поглубже и заглянуть в их внутренности на примере какого-нибудь открытого фреймворка.
   Top
Коля Логан
Отправлено: 25 Июля, 2016 - 21:09:13
ID


почетный участник


Сообщений всего: 4379
Дата рег-ции: Июль 2008  
Откуда: Донецк, Украина
Репутация: 30




krre:
И чтоб это меню появлялось не только в начале игры, но и на паузе, когда ESC нажимаешь.

Как в "Doom"! Отлично!
   Top
krre
Отправлено: 27 Июля, 2016 - 13:47:19
ID

компьютерный мультипликатор


Сообщений всего: 2113
Дата рег-ции: Дек. 2008  
Репутация: 28




Сделал лайауты, но пока это предварительный вариант, лишь бы по-быстрому заработало. Потому буду ещё не раз переделывать. Ну, и раз уж я взялся за GUI, то пришлось заодно разобраться со стейтами и довести их до ума. Теперь у меня при нажатии ESC включается стейт паузы. В это время игра останавливается, но продолжает отрисовываться. Поверх неё должно появиться меню с вариантами Continue и Exit. Первое вернёт управление в игру и продолжит её выполнение, а второе игру полностью закроет.

Далее мне надо разработать вот это самое меню с двумя пунктами. Для этого нужны кнопки, которых ещё пока нет. Сделаю их, состряпаю меню попроще, чтоб как-то работало, и тогда уже вернусь, наверное, обратно к 3D графике.
   Top
2B администратор
Отправлено: 27 Июля, 2016 - 21:10:38
ID


администратор


Сообщений всего: 18102
Дата рег-ции: Июль 2004  
Откуда: Ирпень, Украина
Репутация: 56




А пострелять в игре можно будет? (Потом, разумеется :D )
   Top
krre
Отправлено: 28 Июля, 2016 - 06:10:59
ID

компьютерный мультипликатор


Сообщений всего: 2113
Дата рег-ции: Дек. 2008  
Репутация: 28




Из плазмагана, что ли? Эх, дожить бы. гы-гы! Но в принципе, для защити от агрессивного зверья и всяких летающих птеродактилей плазмаган, возможно, и понадобится.
   Top
2B администратор
Отправлено: 28 Июля, 2016 - 09:05:16
ID


администратор


Сообщений всего: 18102
Дата рег-ции: Июль 2004  
Откуда: Ирпень, Украина
Репутация: 56




Однозначно понадобится! Сразу продумывай этот момент! И чтобы можно было всё им разнести Подмигну-ка
   Top
krre
Отправлено: 28 Июля, 2016 - 10:21:51
ID

компьютерный мультипликатор


Сообщений всего: 2113
Дата рег-ции: Дек. 2008  
Репутация: 28




Постараюсь не забыть. Стрельба из плазмагана по всему, что движется и не движется, с последующим разрушением - это адски сложно и вряд ли будет возможно в течение как минимум ближайшего года. Тут даже такие простые вещи, как меню, уже несколько дней приходится делать. И сейчас удалось лишь нарисовать два белых прямоугольника - это прообразы будущих кнопок Continue и Exit.

2016-07-28_10-19-46.png

   Top
krre
Отправлено: 28 Июля, 2016 - 12:00:43
ID

компьютерный мультипликатор


Сообщений всего: 2113
Дата рег-ции: Дек. 2008  
Репутация: 28




Неожиданно быстро закончил с кнопками. И рисуются, и нажимаются, и действия по нажатию выполняют. Это потому, что я не слишком старался и не гнался за совершенством. Внешне вроде бы выглядит терпимо, но косяков в коде уйма. Займусь ими, как будет вдохновение. Сейчас я уже устал от меню, и пора снова сделать переключение контекста в мозге. Выравнивание надписи по центру не работает по банальной причине - для этого нужно знать ширину самого текста, а она мне тупо неизвестна. Фтопку её, попизже.

2016-07-28_11-57-18.png

   Top
Коля Логан
Отправлено: 28 Июля, 2016 - 14:22:47
ID


почетный участник


Сообщений всего: 4379
Дата рег-ции: Июль 2008  
Откуда: Донецк, Украина
Репутация: 30




krre:
Неожиданно быстро закончил с кнопками.

Выглядит хорошо. Отлично!
   Top
krre
Отправлено: 29 Июля, 2016 - 12:35:18
ID

компьютерный мультипликатор


Сообщений всего: 2113
Дата рег-ции: Дек. 2008  
Репутация: 28




Пока думаю, как лучше рисовать мир, пришли такие идеи.

Мир будет состоять из атомов - минимальных неделимых частиц, которые уже невозможно дальше разрушить. Только они будут не такие мелкие, как в жизни, а гораздо крупнее. В связи с этим в мире будет своя таблица Менделеева со своими атомами и их свойствами (цвет, плотность и так далее). Некоторые из атомов совпадают с нашими, а некоторые выдуманные. Комбинация атомов в одном материале создаёт новый материал.

Все ресурсы на планете состоят из этих материалов. Из ресурса можно изготовить предмет, а потом разрушать его столько раз, пока предмет не раздробится до уровня атомов. Потом их можно собрать, соединить с другими и получить новый ресурс или предмет. Таким образом, комбинируя атомы друг с другом в различных пропорциях и комбинациях, можно будет получать огромное разнообразие материалов.

Как рисовать эти мелкие кубики, я ещё до конца не понял. Похоже, что на близком расстоянии все предметы будут шершавыми, то есть состоять из трёхмерных пикселей, но начиная с нескольких метров мир будет выглядеть нормально, как я надеюсь. Насколько мелкими удастся сделать атомы, ещё неясно. Это надо экспериментировать, смотреть по производительности и FPS.
   Top
Коля Логан
Отправлено: 29 Июля, 2016 - 16:19:37
ID


почетный участник


Сообщений всего: 4379
Дата рег-ции: Июль 2008  
Откуда: Донецк, Украина
Репутация: 30




krre:

Мир будет состоять из атомов - минимальных неделимых частиц, которые уже невозможно дальше разрушить. Только они будут не такие мелкие, как в жизни, а гораздо крупнее. В связи с этим в мире будет своя таблица Менделеева со своими атомами и их свойствами (цвет, плотность и так далее). Некоторые из атомов совпадают с нашими, а некоторые выдуманные. Комбинация атомов в одном материале создаёт новый материал.

Для игры - классно, думаю как раз самое то. Отлично!
   Top
2B администратор
Отправлено: 29 Июля, 2016 - 19:21:54
ID


администратор


Сообщений всего: 18102
Дата рег-ции: Июль 2004  
Откуда: Ирпень, Украина
Репутация: 56




Это уже какая-то андроидная "Алхимия". Поначалу интересно, но чем дальше - тем сложнее что-то с чем-то объединить, чтобы получить новое.. Но надо пробовать, конечно Отлично!
   Top
Страниц (12): В начало « ... 3 4 5 6 [7] 8 9 10 11 ... » В конец
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« флуд »


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




www.g-2b.com


Powered by ExBB. ExBB FM 1.0 RC1 by TvoyWeb.ru. InvisionExBB Style converted by Markus®, edited by 2B. Smiles by Aiwan, Connie and others. Hosted by Peleng.

[Script Execution time: 0.0407]     [ Gzip Disabled ]