Пятница, 22 Ноября 2024, 07:14

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 2
  • 1
  • 2
  • »
несколько комнат
zaicev9797Дата: Суббота, 23 Февраля 2013, 17:49 | Сообщение # 1
AbRaKaDaBrA
Сейчас нет на сайте
можно ли сделать в гамаке так:
я нахожусь в комнате 1
есть еще комнаты 2 и 3
во всех этих комнатах есть какиенибуть штуки, которые делают какуюнибуть фигню.
можно ли чтоб ОДНОВРЕМЕННО во ВСЕХ комнатах эти штуки делали какуюнибуть фигню?


проект Mysterious Space. The losted moment
MR_BorgДата: Суббота, 23 Февраля 2013, 18:02 | Сообщение # 2
участник
Сейчас нет на сайте
Нет, обновление идет только активной комнаты.

Изучаю C++ попутно пишу игру.
zaicev9797Дата: Суббота, 23 Февраля 2013, 18:08 | Сообщение # 3
AbRaKaDaBrA
Сейчас нет на сайте
блин вот кака то sad

проект Mysterious Space. The losted moment
GameMixДата: Суббота, 23 Февраля 2013, 18:15 | Сообщение # 4
старожил
Сейчас нет на сайте
zaicev9797, а для чего тебе это надо? Скорее всего, можно по-другому реализовать задуманное.

Steel Standoff - 2D аркада.
Мои статьи
zaicev9797Дата: Суббота, 23 Февраля 2013, 18:21 | Сообщение # 5
AbRaKaDaBrA
Сейчас нет на сайте
Цитата (GameMix)
для чего

в икс три играли?


проект Mysterious Space. The losted moment
MR_BorgДата: Суббота, 23 Февраля 2013, 18:36 | Сообщение # 6
участник
Сейчас нет на сайте
Цитата (zaicev9797)
в икс три играли?

Делай все в одной комнате, ничего сложного там небудет.


Изучаю C++ попутно пишу игру.
zaicev9797Дата: Суббота, 23 Февраля 2013, 18:57 | Сообщение # 7
AbRaKaDaBrA
Сейчас нет на сайте
ну ужешь был разговор:
ВИСНЕТ


проект Mysterious Space. The losted moment
MR_BorgДата: Суббота, 23 Февраля 2013, 19:04 | Сообщение # 8
участник
Сейчас нет на сайте
Конкретно что виснет и вообще гм нагрузить так талант нужен

Изучаю C++ попутно пишу игру.
GameMixДата: Воскресенье, 24 Февраля 2013, 08:05 | Сообщение # 9
старожил
Сейчас нет на сайте
Цитата (MR_Borg)
Конкретно что виснет и вообще гм нагрузить так талант нужен

Талант нужен, чтобы заставить не виснуть хорошую игру на ГМ ^^


Steel Standoff - 2D аркада.
Мои статьи
zaicev9797Дата: Понедельник, 25 Февраля 2013, 10:32 | Сообщение # 10
AbRaKaDaBrA
Сейчас нет на сайте
если обьектов в комнате больше милиона(игра реально очень масштабной должна получиться) даже мощный комп дымиться начнет (у меня 2.7 ггц-не очень мощный ,но всеже)

проект Mysterious Space. The losted moment
GameMixДата: Понедельник, 25 Февраля 2013, 14:13 | Сообщение # 11
старожил
Сейчас нет на сайте
zaicev9797, для таких случаев существует такая отличная штука, как деактивация экзмепляров - instance_deactivate(). Также, есть функции для деактивации объектов в определённой области. Их тоже можно использовать smile

Steel Standoff - 2D аркада.
Мои статьи
zaicev9797Дата: Понедельник, 25 Февраля 2013, 14:24 | Сообщение # 12
AbRaKaDaBrA
Сейчас нет на сайте
не, фишка в том что все обьекты(которые далеко находятся) должны работать ,но какбы в облегченной форме (в них должны содержаться только переменные о место положении повороте спрайта и несколько других переменных и они должны постоянно изменяться) без визуализирования

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


проект Mysterious Space. The losted moment

Сообщение отредактировал zaicev9797 - Понедельник, 25 Февраля 2013, 14:25
MR_BorgДата: Понедельник, 25 Февраля 2013, 15:32 | Сообщение # 13
участник
Сейчас нет на сайте
Ну и что сложного то? У тебя как организованны просчеты всех объектов?
Если делать так как в X3 то нужно обрабатывать все группами а не общей кучей. Много можно приводить примеров, погугли в инете хватает алгоритмов оптимизации.


Изучаю C++ попутно пишу игру.
USeR14Дата: Понедельник, 25 Февраля 2013, 16:48 | Сообщение # 14
RUSOriginal Studio
Сейчас нет на сайте
В Икс 3 не играл, играл в Космических рейнджеров. Но суть вроде понял.
Такая система довольна сложна в исполнении, где по большей мере происходит все рандомно. Можно попробовать все организовать через скрипты, глобальные и локальные переменные - возможно что-то подобное получиться.

Например, объект "Звездолет" (со своими переменными "Броня", "Деньги", "Оружие", "Инвентарь" и пр., которые записываются по ходу игры), летит из одного сектора в другой, исчезает из поля зрения и деактивируется. Далее в дело вступают скрипты. С кораблем может произойти все что угодно: активируется скрипт "рандомности", потом из выпавшего набора событий выбирается одно (к примеру, "Атака другого звездолета"), вычисляется итог боя из записанных ранее данных о корабле, и, уже исходя из итога, выполняется другое событие.
И так для каждого "активного" объекта.

Думаю, что так и построена система игровой вселенной. Хотя могу ошибаться.




zaicev9797Дата: Вторник, 26 Февраля 2013, 10:28 | Сообщение # 15
AbRaKaDaBrA
Сейчас нет на сайте
вот это уже ближе к делу biggrin

проект Mysterious Space. The losted moment
GammezaДата: Вторник, 26 Февраля 2013, 10:38 | Сообщение # 16
постоянный участник
Сейчас нет на сайте
Все что могу сказать использую construct, переменные, типа 0 или 1.
if 0 then ... else ...
Только понадобится оч. много переменных. можно и запутаться
При переходе на определенную локацию, типа start to layout, читается переменная, по таймеру можно задать повтор проверки.


Сообщение отредактировал Gammeza - Вторник, 26 Февраля 2013, 10:43
zaicev9797Дата: Четверг, 21 Марта 2013, 11:49 | Сообщение # 17
AbRaKaDaBrA
Сейчас нет на сайте
а у меня появилась идея.
может быть просто создать объект в котором хранятся все данные о всех игровых объектах записанные в переменных (координаты,состояние брони, груз который они перевозят,и.т.д.) и изменять по определенным законам.
(по моей логике должно получиться так:
есть три сектора-комнаты.игрок находится в первом. из третьего во второй летит пират т.е.его координаты приближаются к координатам портала ведущего в сектор 2. в момент когда координаты пирата становятся равны координатам портала переменная отвечающая за то в каком секторе находится пират изменяется. дальше координаты пирата рандомно изменяются (летает туда сюда). в секторе 2 также летает транспортный корабль (его координаты записаны в том самом обьекте хранящем все данные о игровых обьектах) и когда координаты становятся наиболее приближенными к координатам транспорта пират выбирает нападать или не нападать.по оприделенным законам учитывая мощность пушек пирата и транспорта и мощность их защиты от переменных отвечающих за их жизнь отнимаются числа (идет бой).в ходе боя игрок прилетает в сектор и данные об обьектах бирутся из того самого обьекта который отвечает за все игровые обьекты и в соответствии с ними создаются обьекты пирата и транспорта с заданными параметрами.)
помоему все получиться должно идеально.
может быть в рейнджерах(кстати на днях в них поиграл) и в икс три/два сделано именно так .


проект Mysterious Space. The losted moment

Сообщение отредактировал zaicev9797 - Четверг, 21 Марта 2013, 11:51
nonameДата: Четверг, 21 Марта 2013, 19:53 | Сообщение # 18
заслуженный участник
Сейчас нет на сайте
Цитата (zaicev9797)
вы вобще играли в икс три ,икс два , икс беянд зэ фронтер,
ну или элит вроде .вот там сошлепана экономическая система (в играх серии икс) которая работает всегда и во всей вселенной

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

цены на товары на конкретной планете могут зависеть от текущего игрового времени:

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

2. когда игрок влетает в очередную звёздную систему, цены на каждый товар на каждой планете вычисляются по формуле типа y=a+b*sin(c*x+d)+r
x- текущее игровое время
a- средняя цена на данный товар
b- максимальный разброс цен на товар
d- доп число сдвига, нужное для того, чтобы сдвинуть синусоиду вправо или влево. то есть, чтобы пики и спады цен происходили не синхронно, а как угодно.
c- доп число, влияющее на частоту пиков и спадов.
r- какое-то случайное число, генерящееся при входе в сектор. может быть как положительным так и отрицательным.

по-моему так.

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

число b не должно быть слишком большим, чтобы игрок не сидел на одной планете. его роль в том, чтобы имитировать экономические процессы, а не в том, чтобы игрок наживался сидя на одном месте(хотя и предотвратить такое тоже сложно. но можно добиться того, чтобы дальние перелёты были выгоднее).

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

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

Добавлено (21.03.2013, 19:53)
---------------------------------------------

Цитата (zaicev9797)
может быть в рейнджерах(кстати на днях в них поиграл) и в икс три/два сделано именно так .

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

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

а в современных играх...

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

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

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

в-общем, имитация жизни большой вселенной имеет свои ньюансы. но обычно это бывает именно имитацией.


все правила форумной игры Дуэль Программистов

Сообщение отредактировал noname - Четверг, 21 Марта 2013, 19:30
zaicev9797Дата: Пятница, 22 Марта 2013, 07:47 | Сообщение # 19
AbRaKaDaBrA
Сейчас нет на сайте
но фактически данные об обьектах можно записывать в отдельный обьект предназначеннай для этого и в нужный момент брать эти данные из этого самого обьекта и на их основе создавать обьекты в нужном месте в нужном полжении?
верть верно?


проект Mysterious Space. The losted moment
nonameДата: Пятница, 22 Марта 2013, 11:40 | Сообщение # 20
заслуженный участник
Сейчас нет на сайте
Цитата (zaicev9797)
но фактически данные об обьектах можно записывать в отдельный обьект предназначеннай для этого и в нужный момент брать эти данные из этого самого обьекта и на их основе создавать обьекты в нужном месте в нужном полжении?
верть верно?

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

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

и как будешь просчитывать поведение объектов?


все правила форумной игры Дуэль Программистов

Сообщение отредактировал noname - Пятница, 22 Марта 2013, 11:47
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг