ПроектыФорумОцените

world^3 (рабочее название, очередной клон MineCraft C++) (3 стр)

Страницы: 1 2 3 4 5 6 7 Следующая »
#30
14:37, 14 фев 2013

Virl
> 1. Рынок у венды отъедает не макось, а прежде всего ипад, т.к. казуальные
> игроки переходят с ПК на него.
Факт в том, что таки отъедают. Про iPad согласен, сам уже там.

Virl
> 2. C++ чрезвычайно усложняет разработку сколько-нибудь сложных проектов.
Я его сам недолюбливаю, но согласиться с этим не могу.

#31
14:37, 14 фев 2013

Virl
> Как тогда делается сжатие при сохранении на диск и расжатие при чтении с него?

я вроде написал в топике, что свопа _нет_
ничего не сжимается и не разжимается, для хранения изменений пользователя(ей) , грубо говоря, используется octtree которой отлично живется в RAM (посмотри рамер save файл на выходе) также такое дерево иожно и распихать по файлам, если возникнет такая необходимость.


Virl
> Когда идут скажем подряд 10 каменных блоков, чтобы их грани рисовались с каждой
> стороны 2 полигонами

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

#32
14:42, 14 фев 2013

RomanGen
> ничего не сжимается и не разжимается, для хранения изменений пользователя(ей) ,
> грубо говоря, используется octtree которой отлично живется в RAM

Игроки перекопали все чанки в области видимости или построили гигантские здания. Как для хранения/передачи этого обойтись без сжатия и разбивки мира на чанки (чтобы подгружать по частям)?

#33
15:25, 14 фев 2013

Virl
> Игроки перекопали все чанки в области видимости или построили гигантские
> здания. Как для хранения/передачи этого обойтись без сжатия и разбивки мира на
> чанки (чтобы подгружать по частям)?

любую ноду любой глубины из octtree можно слить на диск/в сеть  если такое понадобиться, у меня в рантайме это не предусмотрено, проблем здесь не вижу, т.к. не считая оверхэда на ноды ( ~ +1 байт)  стоимость срытого бокса 1 бит, поставленного 1 байт,  100млн. не пересекающихся блоков в надо будет целенаправленно ставить/рыть ~40 человекомесяцев _непрерывно_, что конечно возможно, и опять же не вызовет архитектурных проблем их сливать на диск

#34
16:23, 14 фев 2013

RomanGen
>работает и выглядит опрятно, я так понимаю ты ее забросил ? по каким причинам, если не секрет ?
Перестала устраивать производительность... аппаратного 3д ускорения.

#35
19:55, 14 фев 2013

RomanGen
Проблема в том, что если ты меняешь параметры генератора, то существующие миры летят к чертям.

#36
21:39, 14 фев 2013

Virl
> Проблема в том, что если ты меняешь параметры генератора, то существующие миры
> летят к чертям.

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

#37
21:48, 14 фев 2013

RomanGen
> Проблема  в том что здесь нет никакой проблемы, параметры генератора лежат
> вместе с  изменениями относительно них.

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

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

> Также подумай как будет выглядить твой случай для чанков, когда часть будет
> сохранена а часть сгенерится по другим правилам

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

Собственно, именно поэтому Можанг и выбрали чанковый (а не алгоритмический) подход к сохранению - Jeb об этом в интервью на minecon говорил.

#38
22:13, 14 фев 2013

RomanGen
Кстати, как показывает опыт (в том числе мой), при достаточно сложном генерируемом мире операция генерации куска мира гораздо более затратна по CPU, чем его же подгрузка с диска и распаковка. Так что использование octtree еще и увеличивает тормоза (причем - и на сервере, и на клиенте).

#39
23:50, 14 фев 2013

Опыт это здорово, мнение тоже хорошо, но еще есть реальность , в моем случае мир скроллится со скоростью 30 м/с
Для меня лишний траффик чанков на диск и в сети не нужен,  для других случаев наверно будет лучше другое решение.
Ну а тип алгоритма , равно как его параметры, элементарно также хранить в сэйве.
Если резать алгоритм по живым уровням неизбежны разные забавные баги, мне они тоже не нужны ;)

#40
0:00, 15 фев 2013

RomanGen
> в моем случае мир скроллится со скоростью 30 м/с

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

> Если резать алгоритм по живым уровням неизбежны разные забавные баги, мне они тоже не нужны ;)

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

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

#41
11:36, 15 фев 2013

Virl
> Octtree, кстати, еще сильно медленнее чанков в плане коллижен детекшона (в том
> числе при поиске пути) и нахождения пересечения луча с миром
1. иногда даже сортировка пузырьком оказывается быстрее, утверждение без контекста бессмысленно
2. утверждение не имеет никакого отношения к нашему случаю


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

наверно ты прав, лучше хранить несколько тысяч чанков, чем параметры и версию алгоритма

Virl
> Кроме того, чем больше у тебя игроки будут строить - тем больше окттри будет
> вырождаться в хранение чанков, только с тормозами.

все можно написать с тормозами, было бы желание.

Virl
> Думаю, дискуссия на тему алгоритмов исчерпана - поэтому больше их не буду
> обсуждать.

ok

#42
12:23, 15 фев 2013

по сравнению с обычным шахтёромастерством, довольно шустро. radeon 7470m без лагов.

#43
13:30, 20 фев 2013

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

#44
14:49, 20 фев 2013

samrrr
> я программист
А пишешь как директар :)

Страницы: 1 2 3 4 5 6 7 Следующая »
ПроектыФорумОцените

Тема в архиве.