Добавляю айтемы и появился вопрос, как лучше делать айдишники для вещей?
Вариант в ручную прописать с одной стороны хорош тем что при изменениях ниче никуда не уедет. Но можно забыть чего и попасть.
Вариант автоматически генерить вроде лучше, но после изменений состава могут поехать индексы и совок станет битым.
emptiness_rain
> Добавляю айтемы и появился вопрос, как лучше делать айдишники для вещей?
а как у тя данные то организованы ?
если данные итемов храняться в каких нибудь таблицах (что бы было удобно править) - то и id итемов логичнее прописать там же (там же и прочие характеристики типа цены, веса, дамаджа и прочего)
patsanchik3
> а как у тя данные то организованы ?
Набор конфигов с произвольным количеством параметров.
Вопрос стоит скорее писать вручную или генерировать айдишник.
emptiness_rain
у меня вот так собраны все статичные объекты, все ручками, но если больше 100 то уже без сортировки просто добавляю в конец запись.
Татарин
Я пока тоже пришел к подобной схеме, каталог конфигов и таблица со ссылками на них, но если добавлять в середину руками - в индексах можно запутаться.
Татарин
emptiness_rain
> Я пока тоже пришел к подобной схеме, каталог конфигов и таблица со ссылками на
> них, но если добавлять в середину руками - в индексах можно запутаться.
вы странные :) - если данные влияют на баланс игры и могут/должны быть настраеваемые тем кто в этом шарит (геймдизом ну или самим разработчиком в роли геймдиза) - то и подавать их надо ему в привычной среде (гугл щетсы) а не в виде малочитабельного json

patsanchik3
зачем мне рукожопый гейидиз который не может в json но может гоогле сшитс?
patsanchik3
Про удобство и читабельность вопрос спорный
item_config = {
Name = "regen heath potion",
Desc = "regen heath",
Icon = "Test2",
Type = "REGEN_HEALTH",
Value = 5, --regen in 1 second
Time = 10, --duration in second
}нее... гугл щитсы очень мощный инструмент геймдизайна, там и формулы и графики и еще куча всякой хрени необходимой для нормальной работы геймдиза, да и совместно удобно работать, конечно возникает вопрос запихнуть на сервер все эти таблицы - но это уже другой вопрос :)
а по сабжу - имхо если данные формируются "человеком" то и id можно осмысленные давать (проще потом отлаживать), а если генерируются то можно и uid'ами
patsanchik3
> а если генерируются то можно и uid'ами
Все ништяк работает до сохранения и загрузки с обновленными uid'ами, либо хранить пути до конфигов, либо делать таблицу соответствия на момент сохранения.
emptiness_rain
> Все ништяк работает до сохранения и загрузки с обновленными uid'ами, либо
> хранить пути до конфигов, либо делать таблицу соответствия на момент
> сохранения.
ты щас непонятно написал
по классике:
- есть "статичные" данные игры - условно всякие таблицы с данными : итемы магазина, предметов игровых и прочего (что может периодически меняться/добавляться)
- есть профиль игрока который собственно в том числе содержит поля значения которых связаны со "статичными" данными
пример: есть магазин итемов (игровых предметов) - суть таблица с перечислением итемов и их характеристик, при заполнении таблицы гемдизом каждому итему присваевается уникальный id
а в профиле игрока есть массив (список) купленных итемов с id которые соответвуют таблицы статичных данных
и когда надо применить логику и клиент и сервер знают сем собственно владеет игрок в плане итемов и получает развернутую информацию о конкретном итеме из статичных данных
или у тя как то другому ?
patsanchik3
Все так.
Upd.
Решил завести общую таблицу со списком всех предметов и динамически выдавать иды при старте приложения.
emptiness_rain
> и динамически выдавать иды при старте приложения.
зачем динамически ? если они уже прописаны в статичных данных
patsanchik3
> зачем динамически ? если они уже прописаны в статичных данных
Это условно, изначально есть список без идов, в момент загрузки конфигу назначается ид исходя из номера строки в списке.
По сути получается статика и не нужно вручную присваивать иды.
месье знает толк в извращениях :)
удобнее же когда id прописаны и можно на клиенте и сервере отлогировать и сравнить что в таблицах а что по факту и где глюки - имхо чем проще тем надежнее, попробуй стальной лом сломать :)
Тема в архиве.