Я создаю RPG-игровое веб-приложение и хотел бы хранить заранее определенную информацию о навыках и особенностях.Т.е. массив объектов, определяющих такие вещи, как «Закаленный в боях, дает +2 силы» и «Безжалостное прошлое дает -1 соц.».
Я создаю это, используя Express и NodeJS для моего приложения, Mongoose и MongoDB длямоя база данных и HTML в качестве внешнего интерфейса.Я относительно новичок в этом, поэтому извиняюсь, если это простой вопрос!
Первоначально я думал о создании схемы Mongoose для соответствующих атрибутов, то есть:
const attributeSchema = new Schema({
type: String, //i.e. trait, skill, background
description: String, //flavortext
modifiers: {
stats: {
strength: Number,
social: Number,
//etc...
},
skills: {
melee: Number,
ballistics: Number,
//etc...
}
}
});
Затем я бысоздайте файл .js для запуска, который создает и сохраняет всю информацию в MongoDB через вышеуказанную схему, тем самым «заполняя» базу данных.Если мне когда-нибудь понадобится добавить новые черты / навыки (например, в будущем я введу новую черту «Вонючие подмышки» или что-то, что вызывает -3 социальную связь), мне придется создавать новые сценарии, чтобы добавить их.... если нет лучшего способа сделать это, которого я не изучил!
Моя другая идея состояла в том, чтобы просто поместить все это в статический файл .js как один объект, который я мог бы require
при необходимостиили как переменная app.locals
.Например,
const attributes = {
traits: [
{
name: 'Coffee Breath',
description: 'Try brushing your teeth sometime!',
modifiers: [{social: -1}]
},
{
name: 'Echoes of the Void',
description: 'The voices, they whisper to you...',
modifiers: [{sanity: -999}, {intelligence: +2}]
}
],
//etc...
}
Пожалуйста, дайте мне знать, если есть рекомендуемый способ сделать это, или если что-то мне не хватает / может быть лучше!