Kamrad.ru
 
 
дневники | кабинет | регистрация | календарь | участники | faq | правила | поиск | фотоальбом | каська | выйти
Kamrad.ru Kamrad.ru » Форумы общей тематики » Игры » Klad
новая тема  ответить следующая тема | предыдущая тема
Автор
  << < 1 2 > >>
Mips - offline Mips
12-12-2017 01:31 URL сообщения Дневник     K-Mail    Профиль    Поиск    Контакт-лист   Редактировать
Модератор
Злыдень немрущий



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


__________________
Если у Вас ничего не получается, прочитайте инструкцию - обычно помогает

CEMb - offline CEMb
12-12-2017 05:43 URL сообщения        Профиль    Поиск    Контакт-лист   Редактировать
в поле воин...



стопицот объектов из файлов грузить... брр.
да там 1-2 файла будет.
Ну максимум 10.
Я так уже делал, где-то, вроде всё ок было

Лучша уж в sql запихать
Это ж тащить БД за собой? О_о

Mips - offline Mips
12-12-2017 11:13 URL сообщения Дневник     K-Mail    Профиль    Поиск    Контакт-лист   Редактировать
Модератор
Злыдень немрущий



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

Идёт загрузка зимы. Пожалуйста, ждите...


__________________
Если у Вас ничего не получается, прочитайте инструкцию - обычно помогает

CEMb - offline CEMb
12-12-2017 13:06 URL сообщения        Профиль    Поиск    Контакт-лист   Редактировать
в поле воин...



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

Ненене, это только описалово в xml-ке. Сами чанки отдельно и в бинарниках, ибо в xml-ках сильно дорого, я думаю. Ну и объект будет идентифицироваться по id ("32 бита должно хватить надолго"). В карте хранятся id-ы c позициями (м.б. с состояниями), при загрузке карты игра смотрит на id и берёт его из списка объектов (описание) по нему создаёт и размещает объект в самой игре. Как-то так.
Хотяяя... для compatibility карту можно сохранять и в xml-ку... Но тут у меня была идея про он-лайн: держать карты в он-лайне... там идея ещё дальше попёрла, но я её пока попридержу, тогда гонять xml-ку туда-сюда уже накладно, хоть и один раз. Хрен знает, кстати, как майнкрафт это делает... я у себя играл локально, и то, отрисовка объектов при прохождении в новую область сильно заметна... что же происходит в он-лайне?
Ну и да, он-лайн тут подразумевается без мультиплеера
Сёдня вечером должно быть посвободнее, но картинки ждать всё равно ещё рано подготовка базы всегда занимает много времени

Mips - offline Mips
13-12-2017 08:39 URL сообщения Дневник     K-Mail    Профиль    Поиск    Контакт-лист   Редактировать
Модератор
Злыдень немрущий



32 бита должно хватить надолго
а нужен ли такой размах? по идее и двух байт хватит. Неужели ты сможешь вручную описать все 65к объектов? Ну ладно, допустим они клонируются и создаются автоматом, но трёх то байт точно хватит. В наше время, конечно, +/- мегабайт погоды не делает, но всё же нужно быть поскромнее в запросах.

тогда гонять xml-ку туда-сюда уже накладно, хоть и один раз
при старте лезешь на свой сайт, проверяешь обновление. Если есть дополнительные уровни или изменения в существующих, предлагаешь скачать. Уровни, например, можно по их версии проверять или по CRC, если они в одном файле. Есть такая штука как md5. Как оказалось удобное средство для сжатия ссылок. URL имеет ограничение в 4кб и, например, длиииинную строку на несколько килобайт с перечислением номеров версий можно сжать до 647db01d74f4783806829e1acd8e9cca, а при получении просто сравнить имеющиеся версии. Можно конечно не заморачиваться с get, а передать через post ничего не шифруя, но мы не ищем лёгких путей.

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


__________________
Если у Вас ничего не получается, прочитайте инструкцию - обычно помогает

CEMb - offline CEMb
13-12-2017 10:53 URL сообщения        Профиль    Поиск    Контакт-лист   Редактировать
в поле воин...



а нужен ли такой размах? по идее и двух байт хватит.
Да, я вчера тоже так подумал:
type - byte
subtype - byte
должно хватить

Неужели ты сможешь вручную описать все 65к объектов?
65к - это для двух байт
я изначально думал про 1 байт vs 4 байта
потом вспомнил, что я раньше бил объекты по типам и подтипам (в крайнем случае у меня был ещё один подтип), так и места меньше, и обработка удобнее.

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

URL имеет ограничение в 4кб
Ну если что-то слать на сервер, и при том большое - надо уже сервер поднимать и на него софт делать, который будет принимать данные и раскладывать. Но пока это не планирую. Ну в ближайшие пару недель точно

там мир разделён на чанки по 16*16*256 блоков.
да, и вот эти чанки надо очень быстро подгружать на клиента. Раньше у них один блок был 1 байт, сейчас вроде сделали 2 байта, так как биты в байте у них все кончились
итого один чанк - 64(128 now) килобайт... ну вроде и не так много... фиг знает.

А ещё там есть зерно карты, вот чего тебе не хватает для генерации уровней.
Не, с зерном тоже всё понятно, но тут есть разница большая между минекрафтом и кладом: минекрафт-таки это рандом на 99%, а клад должен быть рандомом на 10-15%, всё остальное должно быть какими-то вполне "разумными" лабиринтами, для прохождения которых нужен мозг В минекрафте же в любую точку можно попасть с помощью кирки и блоков.
Ну и у меня сейчас в голове новая идея для генерации, но пока сам проект пустой, я её не озвучиваю. Потому что мне она нравится, а вероятность её реализации низкая. А подписаться и потом не сделать - крайне обидно
Поэтому я пока подписался только под тем, что могу. Ну, типа.
PS: у меня внезапно вчера кончилась работа, которую надо делать руками, сейчас всё перешло в очередную стадию проектирования, я там могу не участвовать (за это меня могут окончательно выгнать) поэтому времени сейчас должно стать больше Ну, вроде. Сейчас ещё приходится читать документацию по технологиям для следующей стадии.

Текущее время: 14:07 << < 1 2 > >>
новая тема  ответить следующая тема | предыдущая тема
 
Перейти:

версия для печати   отправить эту страницу по e-mail   подписаться на эту тему

 
Powered by: vBulletin Version 2.0.1
Copyright ©2000, 2001, Jelsoft Enterprises Limited.
Любое использование материалов сайта
возможно только с разрешения его администрации.


 

Рейтинг@Mail.ru
Рейтинг@Mail.ru