|
|
|
Канал Игры Мечты: «Принципы создания игровой вселенной» |
|
Какой должна быть "игровая вселенная"? |
1. В основе - принцип псевдорандомной генерации ("бесконечный мир") |
|
30% |
[ 47 ] |
2. Мир детально разработан, огромен, всё прописано, много вариантов действий. |
|
23% |
[ 36 ] |
3. Небольшой игровой мирок, в котором можно заниматься разнообразными видами деятельности. |
|
7% |
[ 12 ] |
4. Сочетание предложенный вариантов. |
|
30% |
[ 46 ] |
5. Свой вариант. |
|
7% |
[ 11 ] |
|
Всего проголосовало : 152 |
|
|
|
Jerry Rezet
581 EGP
  Рейтинг канала: 5(113) Репутация: 86 Сообщения: 3365 Откуда: Санкт-Петербург. Зарегистрирован: 01.04.2005
 |
|
Shirson : |
А вообще, попытки сделать бесконечное разнообразие очень смахивают на нежелание придумывать самому. Написали генератор миров и они такие разнообразные и интересные...
|
Ну, собственно, ради этого всё и громоздится.
БулерМэн : |
так может и играть в это будет генератор?
|
И он тоже Наравне с игроком - в реале же не только ты живёшь, ещё и другие люди есть!
БулерМэн : |
но где гарантия, что игрок попадет в ту же самую локацию при повторном запуске игры?
|
Для этого есть ПСЕВДОслучайная генерация - имея начальное число, далее последовательность хоть и будет образовывать "белый шум", но будет строго той же, если задали то же самое число "зерна".
_________________ - Вы не представляете, как вам повезло, что я здесь. Вы об этом еще пожалеете. [c] |
|
|
Shirson
1605 EGP
           Рейтинг канала: 7(626) Репутация: 219 Сообщения: 16511 Откуда: 79°W 44°N Зарегистрирован: 29.01.2002
 |
|
Jerry Rezet : |
Shirson БулерМэн : |
А вообще, попытки сделать бесконечное разнообразие очень смахивают на нежелание придумывать самому. Написали генератор миров и они такие разнообразные и интересные...
|
|
_________________ У меня бисера не доxеpа.
Последний раз редактировалось: Shirson (16:28 16-09-2015), всего редактировалось 1 раз |
|
|
Minx
1011 EGP
        Рейтинг канала: 6(332) Репутация: 139 Сообщения: 10548 Откуда: Gomel, Belarus Зарегистрирован: 19.11.2005
 |
|
БулерМэн : |
Это почему это вдруг игровой мир вдруг становится непрерывным?
|
Модель в компьютере строится исходя из непрерывности. А так как дискретность большая, то игроку кажется, что все непрерывно. И он тоже пользуется непрерывной моделью в своем сознании.
БулерМэн : |
То есть, обращаясь к названию темы - можно сказать, что данные вопросы (проблемы) разрешаются у каждого автора игры по разному и с разной степенью успеха.
|
Никогда о таких вопросах не задумывался и не знаю зачем это делать..
_________________ μηδείς αγεωμέτρητος εισίτω |
|
|
БулерМэн
420 EGP
   Рейтинг канала: 2(21) Репутация: 68 Сообщения: 1580 Откуда: Гороховец Зарегистрирован: 07.02.2006
 |
|
Minx : |
Никогда о таких вопросах не задумывался и не знаю зачем это делать..
|
Я не в курсе занимались ли вы непосредственно созданием игр с нуля?(или с готового движка)
Лично я когда начинал свой проект "Миссия МЧС" передо мной стояла дилемма: использовать реалистичные отрендеренные модели самолетов и техники или же нарисованные(условные). Для наиболее быстрой реализации идеи - сделал вид сверху, нарисовал примитивный самолетик и в качестве фона использовал гуглокарты:
Cкрытый текст (кликните здесь для просмотра)
|
Дал потестить сообществу.
Сообщество сказало - мда, гуглокарты не гуд.
Вместо гуглокарт нарисовал полноценный фон, нарисовал более привлекательный самолет:
Cкрытый текст (кликните здесь для просмотра)
|
Сообщество сказало - количество предметов сбрасываемых на землю можно хакнуть - просто жать клавишу сброса и разница между заработанными очками и вычетом промахов с лихвой окупается.
То есть на данном этапе - графика уже всех устраивала, условность достаточна.
Но в физике данной игры, в следствии того, что использован вид сверху - появилась проблема распознавания высоких предметов, в которые можно врезаться на большой скорости. А если скорость низкая - то можно больше заработать очков.
В общем, проблема была решена при помощи изометрии и как следствие - рендеренные модели:
Cкрытый текст (кликните здесь для просмотра)
|
Замечу, что этот переход от простого к сложному - решал в том числе задачу - "как сделать игру более реалистичной?"
Я не стал делать 3D игру, так как это был бы уже чистой воды симулятор.
Вместе с 3D - обычно приходит заявка на фотореализм, чего мне очень не хотелось, так как условность графики уже превышала оптимальный уровень.
Решено было остановиться на изометрии и прорабатывать игру дальше:
Cкрытый текст (кликните здесь для просмотра)
|
Дальше пошли: вопрос огромности и бесконечности.
Для данной игры нет смысла делать бесконечную локацию, следовательно был выбран масштаб локации равный 3 минутам полета на максимальной скорости.
На посадочной скорости - данный самолет будет лететь через всю локацию минут 6-7, что вполне адекватно, я считаю.
Но ничего не мешает сделать локацию более крупной, особенно в случае мультиплеера. Проблема в данном случае - рендеринг тайлов фона, который без алгоритма автозаполнения - отнимает много ресурсов памяти компьютера.
Следовательно супер-огромные локации мне не сделать без выгрузки и загрузки на лету самих тайлов в нужных местах вьюпорта игрока.
Jerry Rezet : |
ради этого всё и громоздится
|
Последний раз редактировалось: БулерМэн (19:34 16-09-2015), всего редактировалось 1 раз |
|
|
Minx
1011 EGP
        Рейтинг канала: 6(332) Репутация: 139 Сообщения: 10548 Откуда: Gomel, Belarus Зарегистрирован: 19.11.2005
 |
|
БулерМэн : |
Я не в курсе занимались ли вы непосредственно созданием игр с нуля?
|
Ещё в детстве настолки геймдизайнили.
БулерМэн : |
решал в том числе задачу - "как сделать игру более реалистичной?"
|
Мне эта задача в вакууме не понятна.
Гм..
Моя позиция по поводу реалистичности тут достаточно известна:
Игре как геймплею монопенисуален уровень реализма. Реализм определяет только скорость вхождения в геймплей.
Поэтому когда ставится задача "сделать игру более реалистичной" - мне она с точки зрения игры не понятна. В игре главное фан, а не реализм.
---
Хотя в истории известны случаи, когда уход в реализм давал большие дивиденды. Но здесь явно не тот случай или не та тема (генерация).
_________________ μηδείς αγεωμέτρητος εισίτω
Последний раз редактировалось: Minx (19:47 16-09-2015), всего редактировалось 2 раз(а) |
|
|
БулерМэн
420 EGP
   Рейтинг канала: 2(21) Репутация: 68 Сообщения: 1580 Откуда: Гороховец Зарегистрирован: 07.02.2006
 |
|
Minx : |
В игре главное фан, а не реализм.
|
Вроде бы я не противоречил данному высказыванию, так как я не стремлюсь сделать максимально реалистично.
Я даже последнее время задумываюсь над тем - а не лишняя ли в такой простой по задумке игре - симуляция взлета, посадки, набора высоты и прочего?
С постом ознакомился, во многом согласен.
Угадать, что будет интересно (т.е. "фан")
а) большому числу игроков - отдельный вопрос
б) небольшому числу игроков, "гурманов" - тоже отдельный вопрос.
|
|
|
Minx
1011 EGP
        Рейтинг канала: 6(332) Репутация: 139 Сообщения: 10548 Откуда: Gomel, Belarus Зарегистрирован: 19.11.2005
 |
|
БулерМэн : |
а) большому числу игроков - отдельный вопрос
б) небольшому числу игроков, "гурманов" - тоже отдельный вопрос.
|
Это как разница между AAA-играми и инди. У них принципиально разные пути.
_________________ μηδείς αγεωμέτρητος εισίτω |
|
|
БулерМэн
420 EGP
   Рейтинг канала: 2(21) Репутация: 68 Сообщения: 1580 Откуда: Гороховец Зарегистрирован: 07.02.2006
 |
|
Minx : |
разница между AAA-играми и инди
|
не совсем понятно, что такое "ААА-игры". По аналогии с ААА-командами в хоккее?(юниоры)
|
|
|
Minx
1011 EGP
        Рейтинг канала: 6(332) Репутация: 139 Сообщения: 10548 Откуда: Gomel, Belarus Зарегистрирован: 19.11.2005
 |
|
БулерМэн : |
не совсем понятно, что такое "ААА-игры". По аналогии с ААА-командами в хоккее?(юниоры)
|
https://en.wikipedia.org/wiki/AAA_(video_game_industry)
_________________ μηδείς αγεωμέτρητος εισίτω |
|
|
Shirson
1605 EGP
           Рейтинг канала: 7(626) Репутация: 219 Сообщения: 16511 Откуда: 79°W 44°N Зарегистрирован: 29.01.2002
 |
|
Допустим есть процедурная галактика из 100500 звёзд.
Встаёт вопрос - как их именовать?
Если делать это как в элите, то встаёт другой вопрос - каков принцип создания алгоритма, способного генерить уникальное имя из зерна и делать это "благозвучно" (пусть будет только аглицкий, так проще и не суть).
Интересует сам принцип, на пальцах / алгоритмически (конкретные реализации не интересуют). Есть пара своих идей, но требуется внешний пинок
добавлено спустя 18 минут:
Уточнение:
Я знаю over 9000 способов генерации имён. Но меня интересует генерация гарантированно неповторяющихся имён. Когда имя чётко привязано к зерну, например, и два одинаковых имени не могут сгенерироваться с двух разных зёрен. Это ключевой момент.
_________________ У меня бисера не доxеpа.
Последний раз редактировалось: Shirson (18:40 05-11-2015), всего редактировалось 1 раз |
|
|
ТехноМаг
360 EGP
     Рейтинг канала: 2(19) Репутация: 93 Сообщения: 2516 Откуда: Кронштадт Зарегистрирован: 09.04.2007
 |
|
Ну чтобы были благозвучные имена, то нужны захардокоженые слоги (пример Elite 1,2,3). Второй этап определенеие возможной длины слова в слогах. Он определяется путем анализа кол-ва совместимых слогов и расчетного кол-ва систем. Так получается определенный диапазон имен, с достаточно малой вероятностью повторения. А вот как полностью исключить повторения конечно вопрос.
_________________ (Л)"Алекс, я живу уже почти 200 лет. но как видишь, выгляжу я всего на 20. И это не единственное отличие меня от людей."
Последний раз редактировалось: ТехноМаг (19:00 05-11-2015), всего редактировалось 1 раз |
|
|
Minx
1011 EGP
        Рейтинг канала: 6(332) Репутация: 139 Сообщения: 10548 Откуда: Gomel, Belarus Зарегистрирован: 19.11.2005
 |
|
В E: D генерится имя сектора по слогам и координатам.
Сектор 1000х1000х1000 ly. Его имя есть в большинстве случаев XYZ, где X,Y,Z слоги в зависимости от координаты.
Потом идет положение внутри сектора, где что-то типа AB-C, где каждая буква есть координата при делении сектора на кубики в 100х100х100.
И последнее уже ID внутри сектора.
Например система с именем
SYNUEFUE SI-A D1-10
SYN, UEF, UE - суффиксы XYZ (соседний сектор например SYNUEFE)
SI-A - кубик внутри сектора
d1-10 - ID внутри кубика
Слоги могут быть с пробелами, т.е. слова (например система "HYPIO PRI FM-C D13-9636", последний суффикс PRI).
При чем в сектор вбрасываются некоторыми популяциями, например d1-* это одно множество похожих звезд, a1-* другое множество. Первое множество может быть 100 редких, а второе 10 000 обычных.
X,Y,Z очень плавают (не строго по всей галактике), но зависимость прослеживается. Видимо плавания из-за вкрапления каталожных звезд.
SI-A - меняются не отдельно, но линейно (типа (p*X+q*Y+k*Z) mod 26 = буква). Т.е. там какая-то линейная формула (мне было лень делать полный reverse-engineering), но например при увеличении по X в кубиках 100х идет например как
SI-A TJ-A UK-A
По Y может например SI-A SI-B SI-C
Записи где-то лежат, тут не точно, но идея именно такая.
Имена все разные, есс-но.
Мотивация понятна. Т.е. игрок видит имена только когда масштаб просмотра достаточно мал. И не надо показывать много звезд. И в этом случае все звезды близки друг другу, и соответственно легко вычислимы и генерируемы.
Если быстро на просмотре бегать от сектора к сектору, то видно, что система не успевает обновлять. Т.е. есть некоторая синхронизация онлайн. А коннект к онлайну нужен чтобы народ не смог нахаляву вычислять звезды и перебирать вкусные без ручного или близкого к нему перебора.
_________________ μηδείς αγεωμέτρητος εισίτω
Последний раз редактировалось: Minx (19:33 05-11-2015), всего редактировалось 2 раз(а) |
|
|
Shirson
1605 EGP
           Рейтинг канала: 7(626) Репутация: 219 Сообщения: 16511 Откуда: 79°W 44°N Зарегистрирован: 29.01.2002
 |
|
ТехноМаг : |
Ну чтобы были благозвучные имена, то нужны захардокоженые слоги (пример Elite 1,2,3). Второй этап определенеие возможной длины слова в слогах. Он определяется путем анализа кол-ва совместимых слогов и расчетного кол-ва систем. Так получается определенный диапазон имен, с достаточно малой вероятностью повторения. А вот как полностью исключить повторения конечно вопрос.
|
Ну вот как раз "вопрос" меня и интересует
Как делать остальное я знаю, причём кучей разных способов
Витает мысль никак не именовать звёзды изначально Те.е есть каталожный номер и всё. Как игрок до звезды добрался, он либо сам её называет (как вариант - выбирает из списка), либо берётся название, используемое аборигенами.
В этом раскладе, уникальность отслеживается перебором уже названых систем, что полюбасу будет меньше, чем все звёзды галактики.
Пока самый здравый вариант. Но хочется надеяться на возможность генерации имён из зерна на лету.
Пойду алгоритм E:F покурю, для вдохновления
_________________ У меня бисера не доxеpа.
Последний раз редактировалось: Shirson (19:33 05-11-2015), всего редактировалось 1 раз |
|
|
Shirson
1605 EGP
           Рейтинг канала: 7(626) Репутация: 219 Сообщения: 16511 Откуда: 79°W 44°N Зарегистрирован: 29.01.2002
 |
|
Minx : |
В E: D генерится имя сектора по слогам и координатам.
Сектор 1000х1000х1000 ly. Его имя есть в большинстве случаев XYZ, где X,Y,Z слоги в зависимости от координаты.
|
Да, это как раз одна из идей была. В плане привязки слогов к координатам. Надо будет её поварить побольше, но результат слишком... изотропен, чтоли.
_________________ У меня бисера не доxеpа.
Последний раз редактировалось: Shirson (19:48 05-11-2015), всего редактировалось 2 раз(а) |
|
|
ТехноМаг
360 EGP
     Рейтинг канала: 2(19) Репутация: 93 Сообщения: 2516 Откуда: Кронштадт Зарегистрирован: 09.04.2007
 |
|
Shirson : |
Те.е есть каталожный номер и всё
|
В Лиме я к этому же пришел. Именовать только харкоженные системы. А нумерицию на откуп генератора отдать.
_________________ (Л)"Алекс, я живу уже почти 200 лет. но как видишь, выгляжу я всего на 20. И это не единственное отличие меня от людей." |
|
|
Minx
1011 EGP
        Рейтинг канала: 6(332) Репутация: 139 Сообщения: 10548 Откуда: Gomel, Belarus Зарегистрирован: 19.11.2005
 |
|
Shirson : |
Но хочется надеяться на возможность генерации имён из зерна на лету.
|
А в чем проблема с этим?
_________________ μηδείς αγεωμέτρητος εισίτω |
|
|
Shirson
1605 EGP
           Рейтинг канала: 7(626) Репутация: 219 Сообщения: 16511 Откуда: 79°W 44°N Зарегистрирован: 29.01.2002
 |
|
Minx : |
А в чем проблема с этим?
|
В том (очевидно), что я пока незнаю как это сделать
_________________ У меня бисера не доxеpа. |
|
|
Minx
1011 EGP
        Рейтинг канала: 6(332) Репутация: 139 Сообщения: 10548 Откуда: Gomel, Belarus Зарегистрирован: 19.11.2005
 |
|
Shirson : |
В том (очевидно), что я пока незнаю как это сделать
|
Зерно есть уникальное множество {x,y,z}?
Проблема сделать мэппинг {x,y,z}->"NAME" ?
_________________ μηδείς αγεωμέτρητος εισίτω |
|
|
Shirson
1605 EGP
           Рейтинг канала: 7(626) Репутация: 219 Сообщения: 16511 Откуда: 79°W 44°N Зарегистрирован: 29.01.2002
 |
|
Да. Можно без z.
_________________ У меня бисера не доxеpа. |
|
|
Minx
1011 EGP
        Рейтинг канала: 6(332) Репутация: 139 Сообщения: 10548 Откуда: Gomel, Belarus Зарегистрирован: 19.11.2005
 |
|
Например простейший вариант
берем например функцию f(n)->suffix
n число
suffix - фиксированный размер символов, уникальный для n
NAME = f(x) + f(y)
не подходит?
_________________ μηδείς αγεωμέτρητος εισίτω
Последний раз редактировалось: Minx (20:50 05-11-2015), всего редактировалось 1 раз |
|
|
|
|
|
Канал Игры Мечты: «Принципы создания игровой вселенной» |
|