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

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

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

   Страница 5 из 20
На страницу: Пред.  1, 2, 3, 4, 5, 6 ... 18, 19, 20  След.    Перейти:   Все страницы
Поиск в этой теме:
Канал Игры Мечты: «Принципы создания игровой вселенной»
Какой должна быть "игровая вселенная"?
1. В основе - принцип псевдорандомной генерации ("бесконечный мир")
30%
 30%  [ 47 ]
2. Мир детально разработан, огромен, всё прописано, много вариантов действий.
23%
 23%  [ 36 ]
3. Небольшой игровой мирок, в котором можно заниматься разнообразными видами деятельности.
7%
 7%  [ 12 ]
4. Сочетание предложенный вариантов.
30%
 30%  [ 46 ]
5. Свой вариант.
7%
 7%  [ 11 ]
Всего проголосовало : 152
Digited
 271 EGP


Рейтинг канала: 4(99)
Репутация: 49
Сообщения: 932

Зарегистрирован: 24.08.2004
Если вселенная сразу огромная и при этом детально проработаннная, зачем разработчику что-то дописывать и выпускать патчами?
    Добавлено: 10:54 12-01-2007   
NRG
 2526 EGP


Рейтинг канала: 3(32)
Репутация: 435
Сообщения: 10010
Откуда: Odessa, Ukraine
Зарегистрирован: 07.02.2001
Ivory :
Вселенная должна быть изначально ограомной и детально прописанной.

Это в идеале
на самом деле такая работа займет огромное количество человеко-часов, да и число различных ошибок будет стремиться к увеличению
_________________
Единица измерения равнодушия - один хер.
    Добавлено: 23:01 14-01-2007   
Ivory
 1096 EGP


Репутация: 251
Сообщения: 3533
Откуда: Ростов-на-Дону
Зарегистрирован: 10.01.2007
Вся беда в том, что "огромное" - понятие относительное. Если это будет действительно ОГРОМНОЕ (скажем 5000 локаций), то можно ничего не дописывать...Можно выпустить игру, скажем с детально проработанными 100 локациями. Пока народ будет в них играть, можно добавлять локации, предметы, корабли, товары. Мне к примеру надоели одни и те же новости в BBS на Х3. Создаётся впечатления "бутафорности" мира? Хотя всё субъективно.
А что касается числа ошибок, так они не обязательно должны множиться, ведь речь идёт всёго лишь об увеличении массива данных, а не переработке и усложнения движка?
_________________
I am not a complete idiot. Some parts are missing...
    Добавлено: 14:19 16-01-2007   
Jerry Rezet
 581 EGP


Рейтинг канала: 5(113)
Репутация: 86
Сообщения: 3365
Откуда: Санкт-Петербург.
Зарегистрирован: 01.04.2005
Ivory :
Мне к примеру надоели одни и те же новости в BBS на Х3. Создаётся впечатления "бутафорности" мира? Хотя всё субъективно.
Да, я тоже с подобным намаялся, хотя и не могу понять в чём причина - неоднократно пробовал придумывать "цепочки" квестов для Иксов, благо всё можно впихнуть в .xml, да только никак не мог впихнуть этот .xml в игру - знания скриптинга и кодига не хватило Улыбка В принципе чем можно заниматься в космосиме? Набор действий хоть и ограничен, но всё равно богат - контрабанда/доставка, эскорт, патрулирование, свободная "охота за головами", да и "заказная охота" - тоже не сильно-то невозможна в таком случае, торговля, строительство станций и производственных комплексов, исследование и поиск всяческих артефактов (что с ними делать - уже другой вопрос), плюс к тому можно устроить множество "мини-игр" - бои на истрибителях на арене на потеху букмейкерам, бои насмерть и "не очень" Подмигиваю , какой-нибудь "космический гандбол", с пинанием контейнера носом истрибителя в ворота противника, гонки, в конце концов - можно и на выживание, и на скорость, да ещё устроить легальные/нелегальные, за которые можно и любимого корабля лишиться в качестве штрафа... ну чем не простор для деятельности? Если всё это реализовать в большом и псевдорандомном мире - его привлекательность возрастёт даже не в разы, он (мир) станет на порядки более привлекателен по сравнению с играми, имеющими всего несколько вариантов действий. Разве нет? И если будет возможность в каждом из видов деятельности "сделать карьеру" - чем не свобода? И "всего-то" что надо: алгоритм генерации "от Элиты" ("от кутюр" Ой, не могу!.. ), да прописанные скрипты поведения противников, в зависимости от "уровня" игрока. "Всего-то"... Сложно, что ли? Я, вот, пытаюсь, освоить этот чёртов ОпенГЛ, да всё как-то через Задница у меня получается - то "глюта" в борланде нет, а ставить его опять же "пер ректально" надо, то в линуксе без мейк-файла хрен чё скомпилишь... Жесть сплошная... И тему-то эту затем и замутил, чтобы накорябать да выложить демку с чем-нибудь "псевдорандомно генерируемым", а потом если кому понравилось бы - дополнить "чем-нибудь ещё", и ещё, а потом и ещё... А потом, глядишь - и вырисовывается что-то "вполне себе ничего вещица"... Хотя я и не оставляю надежды что мне это таки-удастся... Рано или поздно.. Правда лучше рано..

Пожелайте мне удачи... в бою! Алл райт, копирайт!
_________________
- Вы не представляете, как вам повезло, что я здесь. Вы об этом еще пожалеете. [c]
    Добавлено: 18:49 16-02-2007   
Jurec
 348 EGP


Ведущий раздела
Рейтинг канала: 4(76)
Репутация: 102
Сообщения: 1441 Заблокирован
Откуда: Seattle
Зарегистрирован: 25.02.2006
Jerry Rezet :
"глюта" в борланде нет

ну и не юзай Глют! Гы-гы В чем трабл?

Jerry Rezet :
Пожелайте мне удачи... в бою!

Удачи то удачи, но всё упираеться не в везение, а в нашу ЛЕНЬ! Расстроен
_________________
MOV topka, C++
    Добавлено: 20:38 16-02-2007   
Vitaliy
 55 EGP


Репутация: 10
Сообщения: 43

Зарегистрирован: 04.02.2007
У меня есть свой вариант.

Ну вопервых. Почему все считают, что сгенеренное компом хуже дизайнерского? Я конечно согласен, что компьютер не может заменить дизайнеров, художников и другую геймдевовскую братию. Но ведь это и не обязательно делать. Можно создать такой себе симбиоз. На данный момент я разрабатываю небольшую (по размерам) игру, которая будет генерировать ГИГАНТСКИЙ игровой мир. Но все тут понимают, что ниодин алгоритм генерации не сможет самостоятельно, без посторонней помощи, сгенерить мир не хуже (по красоте и детализации) чем в третьих иксах (учитывайте так же то, что текстуры тоже отсутствуют... на винте). Но ведь генерация вселенной с нуля и не обязательна. Можно помочь алгоритму. Вот тут и появляеться работа для дизайнеров и художников.

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

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

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

PS моё личное мнение.
    Добавлено: 20:41 16-02-2007   
Pavlon
 80 EGP


Репутация: 15
Сообщения: 107
Откуда: Киев
Зарегистрирован: 18.06.2006
Vitaliy :
На счёт сюжета - при развитом ИИ это тормозящий возможности игры фактор. Короче не нужен он.


Ну почему же? Высказывалась идея создания метасценария. Т.е. сценарий будет представлять из себя скрипт вроде такого:
1. через 10 лет после начала где-то на окраиной планете появляется новая расса где-то на окраине - там где игрок ещё не бывал.
2. через 15 лет после начала начинается экспансия в наш мир, война не распространяется дальше определённой границы.
3. через 18 лет после начала кризис. Пик силы врага.
4. через 20 начало оттеснения врага.
5. через 25 лет победа.

Это сценарий войны какой-то. Если ИИ достаточно продвинут, то таких общих сценариев можно написать кучу. Так играть интереснее должно быть, т.к. простой набор квестов не создадут иллюзию целостности мира.

Vitaliy :
На данный момент я разрабатываю небольшую (по размерам) игру, которая будет генерировать ГИГАНТСКИЙ игровой мир.


Интересно. А на каком стадии игра? Что за игра? 3Д или нет? Можно поподробнее?
    Добавлено: 14:58 17-02-2007   
Vitaliy
 55 EGP


Репутация: 10
Сообщения: 43

Зарегистрирован: 04.02.2007
2Pavlov

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

Почему я так считаю? Ну рассмотрим ситуацию, когда мы имеем две игры, отличающихся только ИИ (не низкого уровня, а глобального). Первая использует метасценарии, вторая пользуеться только своими "мозгами". Что мы видим? В первой игре через десять лет после начала войны возникает раса. Ещё через пять - она начинает вторжение. Ещё через пять - человечество на коленях. Ещё через пять - тесним врага. И ещё через пять - полная победа. Представим себе теперь, что с помощью игрока в начале войны из разразнённых колоний собираеться коалиция, которая может дать отпор врагам... Но нет. Этого не может быть! Рано. Всё. Коалиция проиграёт. Второй вариант: за пятнадцать лет игрок зарабатывает целое состояние, колонизирует планету и имеет самый мощный флот в галактике. Что? И в этом случае он проиграет? Возможно... Разве что враги будут неуязвимыми для человеческого оружия. Ну тогда не понятно почему они так долго добивают человечество.

Вторая игра. Позволяет создать мощную коалицию, которая не позволит состояться вторжению. Личный флот игрока вырубит врагов. Да врагов может в конце концов настигнуть более сильная раса и тогда они будут искать союза у нас. Сколько раз ни проходи - всё по-новому.

Согласитесь второй вариант лучше.
    Добавлено: 23:19 17-02-2007   
Jerry Rezet
 581 EGP


Рейтинг канала: 5(113)
Репутация: 86
Сообщения: 3365
Откуда: Санкт-Петербург.
Зарегистрирован: 01.04.2005
Jurec :
Удачи то удачи, но всё упираеться не в везение, а в нашу ЛЕНЬ!
Кто бы с тобой спорил! Боремся помаленьку. Один шаг (за много лет!) сделан... Сегодня ночью...
2 Vitaliy Полностью с тобой согласен! Я тоже думаю над чем-то в этом роде...
_________________
- Вы не представляете, как вам повезло, что я здесь. Вы об этом еще пожалеете. [c]
    Добавлено: 16:40 18-02-2007   
Jerry Rezet
 581 EGP


Рейтинг канала: 5(113)
Репутация: 86
Сообщения: 3365
Откуда: Санкт-Петербург.
Зарегистрирован: 01.04.2005
Было тут, помнится, предложение про обсчёт в игре гигантского количества кораблей в игре - что-то около от 10 000 до лимона штук. Правда не помню в какой теме. Поэтому идею кину в эту, благо подходит по тематике. Итак. Основное - это когда ты крутишься в некотором ограниченном круге систем в игре типа Элиты то хочется чтобы "искусственная жизнь" вокруг игрока была хоть немного близка к реальной - то есть чтобы были корабли которые так же как и ты крутятся вокруг известных торговых маршрутов, а не чтобы каждый раз, когда приходишь в систему всё заново случайным образом генерилось. Так вот - всё гораздо проще, чем создавать для каждого корабля структуру типа

структура{
имя_пилота;
тип_корабля;
установленные_пушки;
установленные_движки;
типы_навешанных_ракет;
исчо_всякая_хрень_понавешанная;
} Пейлотская_Структура;

Что мы первым делом апгрэйживаем когда появляются бабки? Я, например, покупаю новую пушку, потом (если это предусмотрено игрой) - движок получше ставлю, когда ещё деньжат подкоплю - вообще новый корапь покупаю, получше, повместительней, или ещё по каким параметрам более совершенный. Алгоритм можно сделать такой:

всего имеем три поля у структуры - идентификатор_пилота, координаты_во_вселенной, и ко всему этому прикручиваем ещё один параметр имеющий вид десяти- (или более) значного десятичного числа (например). Так как первыми при апгрэйде подвергаются изменению пушки то строим их "по ранжиру" (например число 00 - нет пушек, 99 - соответствует какой-нибудь акрутенной BFG (как расшифровывается знаем Гы-гы)), и последние два знака от этого числа определяем под оружие. следующие пару цифр можно под движки определить (хотя типов движков может быть и поменьше чем 99... ну ничего - если игровая вселенная развивается - со временем и они понадобятся), ещё три следующие - под тип корабля. Три - потому что в существуют несколько классов кораблей - типа есть торговые (грузовики всякие), боевые (истрибители/штурмовики/корветы/эсминцы/крейсера/линкоры), полицейские (менты, конечно могут и на истрибках гонять, но у них же тоже могут быть и свои типы кораблей), исследователи-разведчики (а почему бы и нет? Они тоже разные могут быть - от лёгкого скаута, до напичканного оборудованием линкора - особо не постреляешь, но детальную инфу о планете получить на любом другом типе вряд ли получится Подмигиваю ) и... чего бы ещё такого придумать... ну вобщем много придумать можно. Итак из выделенных трёх цифр первая (сотни) означает класс корабля, а вторые две (десятки и единицы) - собственно тип корабля внутри класса. И последние штуки четыре - на имя пейлота. Потому как если по 50-60 вариантов имён и столько же вариантов фамилий дают... вобщем результирующих имён много получается.

В результате у меня получилось где-то двенадцать цифр - но да ничего, - тип double вроде такое стерпит.

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

Итого - одно число решает все проблемы, лень считать, чколько в мегабайтах займёт 10 000 таких чисел - но обсчитывать их все и в реалтайме нет никакой необходимости. Когда повстречался "знакомый" - выуживаем его "идентификатор_пилота" который тянет за собой этот десяти- или более ..значную цифру и в зависимости от прошедшего со времени начала игры (или другой "контрольной точки" времени) прибавляем к его идентификатору число основанное на его "удачливости". А "случайных НПЦ" никто не отменял - как летали мимо - так и пусть летают, из ниоткуда в никуда безо всяких идентификаторов. И на вопрос "Привет! Как дела?!!" привычно могут послать "по матушке".

Такой, вот, трактат... Теперь буду думать как бы его облечь в програмный код... Если дело с моими "тренировочными прогами" дойдёт хотябы до стадии демки... И не пенайте если я открыл Велосипипед Подмигиваю - я это к тому, что таким и подобным образом и подобными же алгоритмами можно много чего сделать.
_________________
- Вы не представляете, как вам повезло, что я здесь. Вы об этом еще пожалеете. [c]
    Добавлено: 17:11 21-02-2007   
Jurec
 348 EGP


Ведущий раздела
Рейтинг канала: 4(76)
Репутация: 102
Сообщения: 1441 Заблокирован
Откуда: Seattle
Зарегистрирован: 25.02.2006
Хранить хоть 1 000 000 структур, т.е пайлотоф - делаем структуры по экономичнее и размер кратный 8 (против фрагментации памяти), т.е. например 64 или 128 - главное ужаться до такого размера.

При полном хранинии в оперативке (что нам, впринципе и не нужно) это занимает 61 мб или 122 мб (для 64 и 128 битных структур соответственно).

Тут есть несколько НО в вопросе хранения

1) Это нужно сжимать Гы-гы
Технологий сжатия дофига.

2) Нужно свапить это на винт
Зависит от кол-ва оперативки

Теперь насчет апдейта пилотов. Тут просто. Каждий кадр нас никто не заставляет это делать. Скажем раз в 10 секунд - вполне. Причем не раз в 10 секунд прорабатывать массив в миллион элементов разом, а по немногу, растягивая как раз на эти же 10 секунд.

Но имхо, нужно не количество, а качество..

Те же 10 000 пилотов - вполне отлично! И занимает какие то 5 мб при размере в 512 байт.

Но это всё теория - как на практике - неизвестно Расстроен Реально ли ужать инфу о пилоте в 64/128/512 байт?
_________________
MOV topka, C++
    Добавлено: 21:40 21-02-2007   
Jerry Rezet
 581 EGP


Рейтинг канала: 5(113)
Репутация: 86
Сообщения: 3365
Откуда: Санкт-Петербург.
Зарегистрирован: 01.04.2005
2 Jurec:
Думаю реально. Ибо пушек ещё ни в одной игре не встречал по количеству даже близко к сотне, скорее уж где-то 20-30 максимум. Корабли - тоже в каждом типе (пираты/исследователи/боевые/торговые корабли) не больше десятка, так что если от "идентификатора" отминусовать сначала количество пушек, потом количество кораблей (их тоже не три сотни обычно, и классов не 10 а где-то 3-4... кораблей в каждом классе по пять максимум встречал...) потом ещё какие-нибудь параметры отминусуем - и можно добраться до "имени пилота", например... Хотя с десятичными цифрами проще - делим число на 10, оставляем дробную часть (целую - фтопку... пока), потом снова умножаем на 10 - и откидываем уже дробную - получаем одно-значное число... Можно, конечно и всё сделать гораздо проще, но об этом надо подумать на досуге...

Я сейчас долблюсь над "алгоритмом псевдорандомной генерации"... пока кое-что получается... Фибоначчи рулит. Главное потом донести это до ГЛ'я...
_________________
- Вы не представляете, как вам повезло, что я здесь. Вы об этом еще пожалеете. [c]
    Добавлено: 17:33 22-02-2007   
TpuCTaH
 63 EGP


Рейтинг канала: 1(4)
Репутация: 8
Сообщения: 128
Откуда: Харьков
Зарегистрирован: 12.06.2006
A Real-Time Procedural Universe, Part One: Generating Planetary Bodies
http://www.gamasutra.com/features/20010302/oneil_01.htm

A Real-Time Procedural Universe, Part Two: Rendering Planetary Bodies
http://www.gamasutra.com/features/20010810/oneil_01.htm

A Real-Time Procedural Universe, Part Three: Matters of Scale
http://www.gamasutra.com/features/20020712/oneil_01.htm

программерам очень рекомендую почитать

По поводу сжатия инфы о пилоте, юзать битовые поля в сишке и будет ужим.
2. разархивировать Архивировать данные о пилотах всетаки накладно. лудеше просчитывать данные на вылетах влетах в систему и так далее а в реальном времени генерировать данные пилотов находящихся в непосредственно близости :).
Еще бы неплохо чтобы можнобыло в каклмнибудь планетарном архиве найти данные о пилоте куда летал список рейсов кого убил где помер и тд :).
_________________
Если вы считаете, что C++ труден, попытайтесь выучить английский.(с)Bjarne Stroustrup
С++&&DirectX
    Добавлено: 21:07 22-02-2007   
Vitaliy
 55 EGP


Репутация: 10
Сообщения: 43

Зарегистрирован: 04.02.2007
2ТриСТаН

На счёт архива - молодец. Кстати надо такую мульку будет реализовать.

С пилотами то тут вполне понятно. Моё мнение такое: лучше сделать 1000 пилотов, но так, что это будут ИНДИВИДУАЛЬНОСТИ, а не рендоми с именами.

Тут возникает другой вопрос: и сколько будут сейвы весить? Посчитаем... Информацию по пилотам сохранить + информацию по ценам, обстановкам на рынке и тд сохранить + информацию о заданиях, планах руководства государств и тд сохранить + в инфу о пилотах необходимо включить их текущие цели (полететь туда-то, сделать то-то). И того... Круче чем в иксах (не пропатчиннные сжирают около 30 метров на сейв).
    Добавлено: 00:29 25-02-2007   
Jerry Rezet
 581 EGP


Рейтинг канала: 5(113)
Репутация: 86
Сообщения: 3365
Откуда: Санкт-Петербург.
Зарегистрирован: 01.04.2005
Политику, задания, планы и прочую сюжетную лабуду можно и не хранить - фибоначчи рулит Ой, не могу!.. Их-то, в отличие от игрового мира, не надо просчитывать в реале, а только при загрузке и при выполнении/провале задания или прочего. Вот флоты всякие - те потребуют сохранения (пилоцкая инфа+некоторые другие вещи... пока не знаю какие, но наверняка потом всплывёт Гы-гы ), благо без флота игроку глобально мыслить будет сложно. Хотя... Если мы из двух чисел будем развивать всю сюжетную линию - вся эта фигня будет слабо кореллировать с действиями игрока. Но зато при переигровке (Нью Гейм) НУ можно задавать другие. Будем иметь и другие условия...
Так что имеем два варианта - малый сэйв и плохая управляемость сюжетом, и наоборот, большой сэйв - владение ситуацией.

...А можно и наоборот сделать - имея дофигу "кирпичей" из которых складывается сюжет-квесты каждый раз заново просчитывать, какой из "псевдорандомных вариантов" в данный момент больше подходит (на момент сэйва). Минус - перед сейвом надо перебрать огромный диапазон значений НУ, и из них выбрать тот, который будет кореллировать с действиями плэера.
Vitaliy :
С пилотами то тут вполне понятно. Моё мнение такое: лучше сделать 1000 пилотов, но так, что это будут ИНДИВИДУАЛЬНОСТИ, а не рендоми с именами.
Добавь к моему определению ещё пару чисел (знаков) - и получишь "индивидуальность" - в них можно заложить и характер поведения, и "болтливость", и предпочтения в грузах/методах/маршрутах...
Кстати, о "болтливости" - помнится в ВегаСтрайк'е была такая фича, как эдакий чат с мимопролетающими - на клавишах от 0 до 9 "забиндены" "вопросы-ответы", с меткой "дружелюбный - враждебный". ответ номер 1 соответствовал "самому дружелюбному ответу/вопросу", №9 - соответственно подобен посылу по матушке... А ведь дофигу о чём можно поговорить если на каждый такой "вопрос" иметь по 10 вариантов ответов - а ну попробуй предскажи, куда кривая из этого "древа разговора" вытянет Ой, не могу!.. ! И сочинить из уж за год можно более чем на сотню метров Подмигиваю Ой, не могу!..
TpuCTaH :
Еще бы неплохо чтобы можнобыло в каком-нибудь планетарном архиве найти данные о пилоте куда летал список рейсов кого убил где помер и тд Улыбка.
Вполне реально, имхо, только хранить их в отдельном файлЕ, который подгружать только при необходимости (например пейлот решил работать на какую-нибудь имперскую СБ, и у него появился доступ к такой базе...)... Хм... Тогда надо будет ещё ввести и "параметр достоверности данных" - ибо судовые журналы подделывали наверняка во все времена Подмигиваю .
_________________
- Вы не представляете, как вам повезло, что я здесь. Вы об этом еще пожалеете. [c]
    Добавлено: 20:43 25-02-2007   
TpuCTaH
 63 EGP


Рейтинг канала: 1(4)
Репутация: 8
Сообщения: 128
Откуда: Харьков
Зарегистрирован: 12.06.2006
Jerry Rezet :
Вполне реально, имхо, только хранить их в отдельном файлЕ, который подгружать только при необходимости (например пейлот решил работать на какую-нибудь имперскую СБ, и у него появился доступ к такой базе...)... Хм... Тогда надо будет ещё ввести и "параметр достоверности данных" - ибо судовые журналы подделывали наверняка во все времена Подмигиваю .

У меня в принципе практика очень простая. В заголовке файла описываться где и что лежит. потом просто смещением по нему в процессе прыгаем и все.
Псевдорандом рулит ура псевдорандом! Улыбка
_________________
Если вы считаете, что C++ труден, попытайтесь выучить английский.(с)Bjarne Stroustrup
С++&&DirectX
    Добавлено: 11:15 26-02-2007   
DedMazaj
 68 EGP


Репутация: 4
Сообщения: 152
Откуда: Красноярск
Зарегистрирован: 25.05.2005
Jerry Rezet,
понравилась твоя теория о множестве кораблей - компьютерных игроков. А как на счет битвы, например, двух корабликов в далеком от игрока месте? В ругой солнечной системе, например. Будет как то отдельно считаться или это всё входит тоже в коэффициент удачи? Лучше конечно в коэффициент удачи, для быстродействия )
_________________
спасаю зайцев с подбитых космических кораблей
    Добавлено: 17:31 27-02-2007   
Jerry Rezet
 581 EGP


Рейтинг канала: 5(113)
Репутация: 86
Сообщения: 3365
Откуда: Санкт-Петербург.
Зарегистрирован: 01.04.2005
DedMazaj :
А как на счет битвы, например, двух корабликов в далеком от игрока месте?

А в ХЗ/Х2/ХТ в "удалённых секторах" бой просчитывается по системе "у кого дубина больше - тот и прав!" - и ничего. И даже без вариантов - М6 vs М3 будет всегда в пользу М6. Так что думаю РПГ'шный просчёт с "вероятностями" будет вполне себе нормально рулить. А вот в "зоне плотного оптического контакта" - вполне возможно и манёвры просчитывать. Ради того же быстродействия. Ну если хочешь - можно сделать отдельный "коэффициент боевой удачи", или вообще не просчитывать бой - в большинстве случаев без разДницы кто там от пиратов отбивается в отдалённой системе - со своими бы проблемами разобраться. Если встретил чувака - значит все бои тот провёл успешно. Если не встретил - значит тот успешно провёл все бои, кроме последнего Ой, не могу!.. А определять "жив пейлот / мёртв пейлот" можно при встрече с игроком - по рандому от коэффициента удачи танцевать, жив - рисуем кораблик, нет - удаляем идентификатор, рисуем новый. Хотя если речь идёт об "удалённом флоте игрока" - тогда да, лучше это как-то просчитывать - например каждому кораблю ещё и "опыт" набирать - при взаимодействии с "коэффициентом удачи" вполне "ничего себе" картинка вырисовывается... По большому счёту "живая вселенная" обычно в играх присутствует только вокруг игрока, а там, где его нет никто не собирается рисовать корабли и тратить ресурсы компа зазря Подмигиваю (хотя с рисованием кораблей - это может и перебор, потому как некоторые "менее ресурсозатратные вещи" вполне можно бы и обсчитывать - рынок например, политику, конфликты и прочий "интерактифф").

О! "Круглая" цифра - 512 сообщений! Дожили! Супер!
_________________
- Вы не представляете, как вам повезло, что я здесь. Вы об этом еще пожалеете. [c]

Последний раз редактировалось: Jerry Rezet (18:17 27-02-2007), всего редактировалось 2 раз(а)
    Добавлено: 18:13 27-02-2007   
DedMazaj
 68 EGP


Репутация: 4
Сообщения: 152
Откуда: Красноярск
Зарегистрирован: 25.05.2005
Я думаю надо еще добавить пару цыферок к каждому кораблику. Это его перемещение. Я думаю не интересно будет, если какой нибудь кораблик полетел направо в соседнюю систему, а ты например налево. Прилетел, а там из рандома появился тот кораблик, который направо полетел. Нелогично. Так что придется просчитывать еще перемещение всех корабликов по всей галактике. Или начально задать свою функцию для кажлого пилота, подставляя в которую время, определяется где находится тот или иной пилот. Или не где находится, а куда собирается, т.е функция будет показывать направление (это имеется в виду не ближнее расстояние видимости, а более абстрактное перемещение, например, прыжки по системам).
_________________
спасаю зайцев с подбитых космических кораблей
    Добавлено: 06:34 28-02-2007   
TpuCTaH
 63 EGP


Рейтинг канала: 1(4)
Репутация: 8
Сообщения: 128
Откуда: Харьков
Зарегистрирован: 12.06.2006
Ага неба нету это скайбокс Улыбка)))) не вижу проблемы чтобы просчитывать данные о пилотах на влетах вылетах из системы например. Или что еще более благоразумно выполнять ее каждый раз когда процессор простаивает естественно это должна быть функция по времени. Еще желательно их(пилотов) увязать в какойнибудь связанный список отсортированный по удалению от игрока, чтобы пилоты находящиеся в непосредственно близости жили в реалтайме. В итоге получиться что изменения состояния ближайших пилотов будет просчитываться в 10-20 раз детальнее чем тех что болтаться на краю галактики. Имхо крутить каждый раз большой цикл на миллион итераций неразумно.
_________________
Если вы считаете, что C++ труден, попытайтесь выучить английский.(с)Bjarne Stroustrup
С++&&DirectX
    Добавлено: 09:59 28-02-2007   
Канал Игры Мечты: «Принципы создания игровой вселенной»
На страницу: Пред.  1, 2, 3, 4, 5, 6 ... 18, 19, 20  След.    Перейти:   Все страницы
  
Показать: 
Предыдущая тема | Следующая тема |
К списку каналов | Наверх страницы
Цитата не в тему: Надо было затевать тему во время крупного пилотостояния! (CooL_SnipeR)

  » Принципы создания игровой вселенной | страница 5
Каналы: Новости | 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