Elite Games - Свобода среди звезд!
.
ВНИМАНИЕ!
Наша конференция посвящена космической тематике и компьютерным играм.
Политические вопросы и происходящие в мире события в данный момент на нашем сайте не обсуждаются!

  » Желающим внести вклад в проект! | страница 2
Конференция предназначена для общения пилотов. Для удобства она разделена на каналы, каждый из которых посвящен определенной игре. Пожалуйста, открывайте темы только в соответствующих каналах и после того, как убедитесь, что данный вопрос не обсуждался ранее.

Поиск | Правила конференции | Фотоальбом | Регистрация | Список пилотов | Профиль | Войти и проверить личные сообщения | Вход

   Страница 2 из 4
На страницу: Пред.  1, 2, 3, 4  След. | Все страницы
Поиск в этой теме:
Канал Игры Мечты: «Желающим внести вклад в проект!»
<Катаманга>
 





Я думаю что надо немного потерпеть ... очень трудно помогать каждому персонально, следовательно раздел нужен, но нужно хорошенько подумать как его устроить.

Опять таки, такой раздел это полноценный коммунити, надобы чтоб этим всем еще кто нить и управлял ...
    Добавлено: 10:54 03-07-2002   
<AleLuk>
 





Насчет генерации ландшафтов.
Может кто помнит в давние времена в эру минимизации исполняемого кода программ - была такая программка в несколько сотен БАЙТ генерирующая довольно реалистичный ландшафт (Марса по-моему), так вот, все это шло на двойке очень резво (там вроде даже можно было самостоятельно передвигаться по этому ландшафту).
И если устройство планет и всей звездной системы будет зависеть от нескольких случайных величин, то я за это двумя руками.
Это же круто когда прилетая в новую звездную систему видишь что-то новенькое...
    Добавлено: 19:18 03-07-2002   
*Dron
 139 EGP


Репутация: 4
Сообщения: 210
Откуда: МО, Юбилейный
Зарегистрирован: 24.05.2001
Что-то не верится мне, что можно в несколько сотен байт уложить генерацию реалистичного ландшафта. Тем паче, то что казалось реалистичным в начале 90х сейчас и за мультик не сойдет
    Добавлено: 21:28 12-07-2002   
SparkS
 1703 EGP


Рейтинг канала: 1(3)
Репутация: 350
Сообщения: 8585
Откуда: Киев, Украина.
Зарегистрирован: 26.01.2002
quote
Цитата:
Может кто помнит в давние времена в эру минимизации исполняемого кода программ - была такая программка в несколько сотен БАЙТ генерирующая довольно реалистичный ландшафт (Марса по-моему),

Я помню такую прогу. Действительно я очень удивился тогда как можно впихнуть столько информации в такой обьём памяти. Хотя сейчас этот ландшафт смотрелся бы примитивно,но впечятления остались.
    Добавлено: 14:58 13-07-2002   
[=COM=]
 90 EGP


Репутация: 1
Сообщения: 194
Откуда: Санкт-Петербург
Зарегистрирован: 09.02.2002
Я тоже помню... Занимало все это 14Kb если не ошибаюсь.

Это при том что тогда всяких акселераторов еще не наблюдалось. А с текущим развитием 3D ускорителей да скоростью компов можно по тому-же принципу выстроить и более качественный ландшафт...
    Добавлено: 16:47 13-07-2002   
<sedoy>
 





угу, была такая прога mars.com
процедурно! генерила воксельный ландшафт (писано понятно на асме)
    Добавлено: 23:38 15-07-2002   
*Dron
 139 EGP


Репутация: 4
Сообщения: 210
Откуда: МО, Юбилейный
Зарегистрирован: 24.05.2001
Ну была...
Толку то, покажите програмку или хотя бы скрин ее работы
    Добавлено: 02:54 16-07-2002   
<VM>
 





MARS.ASM , a eshe est generator voxelnih peizazhei na standartnom algoritme - PLASMA.
chitat source ego na asme tiazhelo. Poroites v FIDO starih - tam polno takogo ili diski starie HACKER CD prosmotrite. A voobshe to u vseh nas internet est
Kstati, esli kakaia pomosh nuzhna po 3D phisiks-mathematiks in C++ --- mogu pomoch.
    Добавлено: 14:16 19-07-2002   
Alex Wild
 475 EGP


Репутация: 97
Сообщения: 1711
Откуда: Россия, Москва
Зарегистрирован: 06.03.2002
Толку с этой прогрмамки как с козла молока.
Ну сгенерила она ланшафт на ходу, дальше-то что? А дальше она про него и забыла.
Вот прикольно летать над горами, которые каждую секунду модифицируются...
    Добавлено: 01:30 23-07-2002   
[=COM=]
 90 EGP


Репутация: 1
Сообщения: 194
Откуда: Санкт-Петербург
Зарегистрирован: 09.02.2002
quote:
Отправил: Alex Wild:
Толку с этой прогрмамки как с козла молока.
Ну сгенерила она ланшафт на ходу, дальше-то что? А дальше она про него и забыла.
Вот прикольно летать над горами, которые каждую секунду модифицируются...


Ну а кто сказал забыла...?
Видимо ты чей-то не понимаешь... Разговор о том что нужно на каждой планете делать свой ландшафт. Так вот один раз сделала и сохранила... Дальше если человек обратно на планету прилетит то она достает из файла ландшафт.
Тоесть человек видит планету он на ней еще не был. Подлетает к планете и генерируется ландшафт. Сохряняется в файл...

Только вот еще продумать нужно такую фишку.
Если планета пустынная к примеру то и ландшафт соответствовать должен.

[ 22-07-2002: Сообщение отредактировано: [=COM=] ]
    Добавлено: 01:52 23-07-2002   
<sedoy>
 





на самом деле все несколько проще

есть такое понятие seed
число, строка символов или цифробуквенный код на основе которого по специальному алгоритму (все дело какраз в нем) генерируется ПСЕВДО случайная последовательность данных (к примеру ланшафт)
причем данный алгоритм генерирует по одному и томуже seed'у одну и туже последовательность псевдослучайных данных. но от разных seed'ов получаются разные последовательности.

если брать например порядковый номер планеты (или что более разумнее классификатор планеты + порядковый номер) как seed для генератора ланшафта то данные по нему не надо будет хранить в долговременной памяти.

ты прилетаешь первый раз на планету ланшафт генерится. улетаешь данные стираются, прилетаешь через год заново генерится ТОТ ЖЕ ланшафт (ни классификатор ни номер планеты неизменны)
в данном случае достаточно хранить только изменения совершонные над ланшафтом даннойпланеты
к примеру в прошлый прилет игрок сбросил бомбу на эту планету, сохраняем только данные о разрушениях и при следующей генерации накладываем их на заново сгенеренный ланшафт - все

правда если хочется внести еще и сезонные и временнЫе изменения в ланшафт планеты то мона ввести в seed еще и текущее время, по крайней мере времена года сделать довольно просто (а вот разрушение ланшафта, эррозию и т.п. сделать довольно непросто

как бы вот

РЕМ по данному методу мона генерить не только ландшафты но много еще чего...
    Добавлено: 17:56 23-07-2002   
Alex Wild
 475 EGP


Репутация: 97
Сообщения: 1711
Откуда: Россия, Москва
Зарегистрирован: 06.03.2002
quote:
Отправил: [=COM=]:

<...>
Ну а кто сказал забыла...?
Видимо ты чей-то не понимаешь...

Видимо ты сам чегой-то не понимаешь.
Речь шла о конкретной проге, а не том как ейные алгоритмы применяются на практике. А вот последнего-то никто и не описал. Только идеи, которые "может кто реализует".
    Добавлено: 01:32 24-07-2002   
N0
 145 EGP


Репутация: 7
Сообщения: 509
Откуда: Санкт-Петербург
Зарегистрирован: 01.07.2002
quote:
Отправил: <sedoy>:
на самом деле все несколько проще


Я видел только MARS и еще программку под названием VistaPro (тоже, кстати небольшая и древняя). Так вот в это Viste все так и происходило seed -> карта -> расчет причиндалов (облачка там, деревья...) -> картинка. Тока ту картинку она больно медленно рисовала(правда даже с моими скудными знаниями я видел, что процесс можно значительно ускорить). Во если бы так вот, да только побыстрее... Можно ли?
    Добавлено: 04:10 24-07-2002   
Katamanga
 





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

Теперь вернемся к фракталам, все перечисленные проги используют фрактальные расчеты для построения ландшафта небольшого участка, нам же необходимо сгенерить ландшафт для целой планеты! Не детальный, а общий ... детальными будут только посещаемые участки.
    Добавлено: 20:13 24-07-2002   
<sedoy>
 





2Katamanga

угу, ну итоги по программам, старым, в принципе верны.
но сами алгоритмы генерации толком не расковырен ИМХО

если бы надо было создать ланшафты для нескольких планет (нескольких десятков) тогда я бы сделал для них базовые карты высот/текстур и выбрал алгоритм генерации уровня детализации (ИМХО результат был-бы неплохой с учетом предсказуемости ланшафта, для расстановки построек, динамическим LOD и небольшии затратими долговременной памяти)

но у вас речь, на скока я врубаюсь, идет какраз не о нескольких планетах а о возм. многих миллионах
тут естественно придется бОльшую часть (кроме самых важных) генерить полностью "на лету" (речь естественно о ландшафте)
а раз так то ни о какой расстановке заранее зданий по поверхности не может быть и речи (пока не сгенеришь не увидишь куда ставить а все генерить чтоб проверить куда ставить - замучаешся)
поэтому кроме генерации чисто ланшафта нужен генератор инфраструктуры планетарных поселений/построек (если их ваще делать)

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

для получения по всей планете более менее реалистичного ланшафта придется учитывать кол-во получаемой солнечной энергии наклонение орбиты геологическую активность и т.п.
для получения бесшовного ланшафта на поверхности сферы либо придется генерить в прямоугольной системе координат с учетом коэффициентов кривизны либо сразу в полярной системе координат (тока тут надо еще провести исследования ИМХО потому как энтого я еще не пробовал

типа вот.

но всеже для начала хорошоб чтобы вы дали список параметров планет готорые должны учитыватся в генерилке

пасибо за внимание
    Добавлено: 21:50 24-07-2002   
Shirson
 1605 EGP


Модератор
Рейтинг канала: 7(626)
Репутация: 219
Сообщения: 16511
Откуда: 79°W 44°N
Зарегистрирован: 29.01.2002
Эта програмка действительно не запоминала того, что рисовала. Прорисовка шла только в пределах видимости.Если пройти секунду вперед, а затем вернуться на секунду назад, ланшафт будет разным. Толку с такой программы ровно 0 целых 0 десятых.
Сохранять то, что она моделит - толку еще меньше. Хотя бы потому, что одна планета будет занимать в памяти метров 500.
Вот другой вариант.
Для каждой планеты, при её посещении, генерится текстура поверхности, с небольшим разрешением. По мере приближения к поверхности, на основе данной текстуры генерятся всё более детализированные текстуры. Это можно назвать вариантом фрактализации, но в отличии от классического множества Мандельборта, алгоритм можно построить не не "убегании в бесконечность", которое действительно жрет ресурсы от пуза, а на более простых методах - например 5 новых точек (0) строятся на основе корреляции 4 существующих (х)
хх
хх
->
х0х
000
х0х
Таким образом получаем новую текстуру для данного приближения к планете, которая в полтора раза четче исходной, причем может быть повторена при последующих посещениях, при этом саму текстуру хранить ненужно - она высчитывается на ходу с минимальными затратами времени. Следующим этапом, берем уже новую текстуру и применяем алгоритм уже к ней. И так до бесконечности. Объем хранения - только базовая текстура (+ алгоритм, а он один для всех планет)

[ 24-07-2002: Сообщение отредактировано: Shirson ]
    Добавлено: 00:07 25-07-2002   
<sedoy>
 





вот вот, именно про это я и писал
для расчета промежуточных точек нужен псевдо случайный алгоритм (иначе каждый раз получим разные промежуточные точки) а расчет идет на основе seed алгоритма для которого исходными (для детализации битмапа) являются эти самые 4 опорных точки. только получается разрешение не в 1.5 раза а ровно в 2 раза больше


2Shirson
я так понял ты над этим работал.
детализирвать карту довольно просто, а вот как генерить карту континентов гор на сферической карте - есть мысли ?!

приятно встречать толковых людей !
ведь нас так мало .....
    Добавлено: 00:55 25-07-2002   
Shirson
 1605 EGP


Модератор
Рейтинг канала: 7(626)
Репутация: 219
Сообщения: 16511
Откуда: 79°W 44°N
Зарегистрирован: 29.01.2002
quote:
Отправил: <sedoy>:
вот вот, именно про это я и писал
для расчета промежуточных точек нужен псевдо случайный алгоритм (иначе каждый раз получим разные промежуточные точки) а расчет идет на основе seed алгоритма для которого исходными (для детализации битмапа) являются эти самые 4 опорных точки. только получается разрешение не в 1.5 раза а ровно в 2 раза больше




В полтора раза четче А вот больше, раз на то пошло, не ровно в два, а ровно в 2*N-1 Кроме того, больше или нет - вопрос тот еще. Не обязательно же всю карту алгоритмить, достаточно только часть, видимую с корабля. А чем он ближе к планете, тем меньше кусок карты можно обсчитывать.


quote:

2Shirson
я так понял ты над этим работал.
детализирвать карту довольно просто, а вот как генерить карту континентов гор на сферической карте - есть мысли ?!



Мысли были, когда свой Лунолет писал. Там мне требовалось сделать рельефную карту Луны (не обязательно реалистичную.) Правда прога была не 3D и решал я это в векторном виде...

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


quote:

приятно встречать толковых людей !
ведь нас так мало .....


Спасибо. От скромности мы не помрем

[ 24-07-2002: Сообщение отредактировано: Shirson ]
    Добавлено: 01:25 25-07-2002   
*Dron
 139 EGP


Репутация: 4
Сообщения: 210
Откуда: МО, Юбилейный
Зарегистрирован: 24.05.2001
Одними тестурами не обойдешься. Они хорошо выглядят только когда планета занимает не более трети площади экрана. Далее уже необходимо генерить геометрию. Здесь тоже не все так просто. Для большого филрейта вертексы должна хранится в видеопамяти и по возможности не менятся. Перегрузка геометрии на каждом кадре приведет к огромному падению фпс.
    Добавлено: 01:36 25-07-2002   
<sedoy>
 





2Shirson
ладно уговорил черт красноречивый пусть будет 1,5 и n*2-1 (хотя как считать
не суть.

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

2Dron
во первых. ланшафт битмапный можно использовать основой для воксельного енжина (битмап не обязательно считать только текстурой - это может быть и карта высот)
а если делать через полигональный энж.
то тут я думаю алгоритмы динамик LoD или ROAM (кстати исп. последний у меня друг написал дему которая выдает при 7500 полигонов более 48 фпс на ГеФорсе 3 200 это причем без вертексных и пиксельных шейдеров и без нормальной оптимизации кода, так что ИМХО резерв есть)
    Добавлено: 02:26 25-07-2002   
Канал Игры Мечты: «Желающим внести вклад в проект!»
На страницу: Пред.  1, 2, 3, 4  След. | Все страницы
  
Показать: 
Предыдущая тема | Следующая тема |
К списку каналов | Наверх страницы
Цитата не в тему: Я не с Марса. Не с Марса я. Точно тебе говорю. (MeLeK)

  » Желающим внести вклад в проект! | страница 2
Каналы: Новости | Elite | Elite: Dangerous | Freelancer | Star Citizen | X-Tension/X-BTF | X2: The Threat | X3: Reunion | X3: Terran Conflict | X Rebirth | X4: Foundations | EVE Online | Orbiter | Kerbal Space Program | Evochron | VoidExpanse | Космические Миры | Онлайновые игры | Другие игры | Цифровая дистрибуция | play.elite-games.ru | ЗВ 2: Гражданская война | Творчество | Железо | Игра Мечты | Сайт
   Дизайн Elite Games V5 beta.18