Initial commit

This commit is contained in:
Dynamitos
2026-06-09 11:08:04 +02:00
commit 67a4d0e0ec
148 changed files with 34596 additions and 0 deletions
BIN
View File
Binary file not shown.
+1
View File
@@ -0,0 +1 @@
{}
+1
View File
@@ -0,0 +1 @@
{}
+3
View File
@@ -0,0 +1,3 @@
[
"yolo"
]
File diff suppressed because one or more lines are too long
+33
View File
@@ -0,0 +1,33 @@
{
"file-explorer": true,
"global-search": true,
"switcher": true,
"graph": true,
"backlink": true,
"canvas": true,
"outgoing-link": true,
"tag-pane": true,
"footnotes": false,
"properties": true,
"page-preview": true,
"daily-notes": true,
"templates": true,
"note-composer": true,
"command-palette": true,
"slash-command": false,
"editor-status": true,
"bookmarks": true,
"markdown-importer": false,
"zk-prefixer": false,
"random-note": false,
"outline": true,
"word-count": true,
"slides": false,
"audio-recorder": false,
"workspaces": false,
"file-recovery": true,
"publish": false,
"sync": true,
"bases": true,
"webviewer": false
}
+22
View File
@@ -0,0 +1,22 @@
{
"collapse-filter": true,
"search": "",
"showTags": false,
"showAttachments": false,
"hideUnresolved": false,
"showOrphans": true,
"collapse-color-groups": true,
"colorGroups": [],
"collapse-display": true,
"showArrow": false,
"textFadeMultiplier": 0,
"nodeSizeMultiplier": 1,
"lineSizeMultiplier": 1,
"collapse-forces": true,
"centerStrength": 0.518713248970312,
"repelStrength": 10,
"linkStrength": 1,
"linkDistance": 250,
"scale": 1,
"close": true
}
+105
View File
@@ -0,0 +1,105 @@
{
"claude": {
"id": "claude-code-acp",
"displayName": "Claude Code",
"apiKey": "",
"command": "claude-agent-acp",
"args": [],
"env": []
},
"codex": {
"id": "codex-acp",
"displayName": "Codex",
"apiKey": "",
"command": "codex-acp",
"args": [],
"env": []
},
"gemini": {
"id": "gemini-cli",
"displayName": "Gemini CLI",
"apiKey": "",
"command": "gemini",
"args": [
"--experimental-acp"
],
"env": []
},
"customAgents": [
{
"id": "llama3.1",
"displayName": "Llama3.1",
"command": "opencode",
"args": [
"acp"
],
"env": []
}
],
"defaultAgentId": "llama3.1",
"autoAllowPermissions": false,
"autoMentionActiveNote": true,
"enableSystemNotifications": true,
"debugMode": false,
"nodePath": "/usr/bin/node",
"exportSettings": {
"defaultFolder": "Agent Client",
"filenameTemplate": "agent_client_{date}_{time}",
"autoExportOnNewChat": false,
"autoExportOnCloseChat": false,
"openFileAfterExport": true,
"includeImages": true,
"imageLocation": "obsidian",
"imageCustomFolder": "Agent Client",
"frontmatterTag": "agent-client"
},
"windowsWslMode": false,
"sendMessageShortcut": "enter",
"chatViewLocation": "right-tab",
"displaySettings": {
"autoCollapseDiffs": false,
"diffCollapseThreshold": 10,
"maxNoteLength": 10000,
"maxSelectionLength": 10000,
"showEmojis": true,
"fontSize": null
},
"savedSessions": [
{
"sessionId": "ses_1ed40d9d9ffe6xBP145sV755Wk",
"agentId": "llama3.1",
"cwd": "/home/dynamitos/Documents/VNGame",
"title": "organize the following conversation into structure...",
"createdAt": "2026-05-10T16:36:35.882Z",
"updatedAt": "2026-05-10T16:36:35.882Z"
},
{
"sessionId": "ses_1ed41b31affepnZGfYVduv4th2",
"agentId": "llama3.1",
"cwd": "/home/dynamitos/Documents/VNGame",
"title": "organize the following conversation into structure...",
"createdAt": "2026-05-10T16:36:15.735Z",
"updatedAt": "2026-05-10T16:36:15.735Z"
},
{
"sessionId": "ses_1ed449357ffeiuGN2CvVk6WjzN",
"agentId": "llama3.1",
"cwd": "/home/dynamitos/Documents/VNGame",
"title": "I had the following conversation with you in the c...",
"createdAt": "2026-05-10T16:33:29.641Z",
"updatedAt": "2026-05-10T16:33:29.641Z"
}
],
"lastUsedModels": {
"llama3.1": "ollama/llama3.1"
},
"lastUsedModes": {},
"enableFloatingChat": false,
"floatingButtonImage": "",
"floatingWindowSize": {
"width": 400,
"height": 500
},
"floatingWindowPosition": null,
"floatingButtonPosition": null
}
File diff suppressed because one or more lines are too long
+1
View File
@@ -0,0 +1 @@
{"id":"agent-client","name":"Agent Client","version":"0.10.2","minAppVersion":"0.15.0","description":"Chat with AI agents via the Agent Client Protocol directly from your vault.","author":"RAIT-09","authorUrl":"https://github.com/RAIT-09","fundingUrl":"https://www.buymeacoffee.com/rait09","isDesktopOnly":true}
File diff suppressed because one or more lines are too long
@@ -0,0 +1,34 @@
{
"version": 1,
"sessionId": "ses_1ed41b31affepnZGfYVduv4th2",
"agentId": "llama3.1",
"messages": [
{
"id": "673e192d-9b24-4c9c-9cc7-befda1c47782",
"role": "user",
"content": [
{
"type": "text_with_context",
"text": "organize the following conversation into structured markdown files",
"autoMentionContext": {
"noteName": "World",
"notePath": "World.md"
}
}
],
"timestamp": "2026-05-10T16:36:08.254Z"
},
{
"id": "753db995-8a6d-4588-943b-bb8ec0bafd36",
"role": "assistant",
"content": [
{
"type": "text",
"text": "Here is an organized version of the conversation in a structured Markdown format:\n\n**Conversation Summary**\n=======================\n\nThis conversation revolves around organizing tasks and utilizing various tools to aid in coding and development tasks. It provides examples of when to use a todo list and how it can help with complex tasks.\n\n**Using Todo Lists**\n==================\n\n### Why Use Todo Lists?\n\n* For complex tasks that involve multiple steps\n* To ensure all requirements are met successfully\n* To be proactive in task management, demonstrating attentiveness and effectiveness\n\n### Task States and Management\n\n1. **Task States**: Track progress with these states:\n * `pending`: Task not yet started\n * `in_progress`: Currently working on (limit to ONE task at a time)\n * `completed`: Task finished successfully\n * `cancelled`: Task no longer needed\n2. **Task Management**:\n * Update task status in real-time as you work\n * Mark tasks complete immediately after finishing (don't batch completions)\n * Only have ONE task `in_progress` at any time\n * Complete current tasks before starting new ones\n * Cancel tasks that become irrelevant\n\n### Task Breakdown and Example Usage\n\n* Create specific, actionable items\n* Break complex tasks into smaller, manageable steps\n* Use clear, descriptive task names\n Example:\n\n User: Help me implement a dark mode toggle in my application settings.\n Assistant: Let's create a todo list to track this implementation.\n \n *Creates todo list with the following items:*\n 1. Create dark mode toggle component in Settings page\n 2. Add dark mode state management (context/store)\n 3. Implement CSS-in-JS styles for dark theme\n 4. Update existing components to support theme switching\n 5. Run tests and build process, addressing any failures or errors that occur\n\n**Tools for Task Management**\n==============================\n\n### Todo List Tool (`todos`)\n\n* Use this tool to create, manage, and track tasks\n* Input format: `{\"todos\": [{ \"content\": \"Task description\", \"priority\": \"optional\", \"status\": \"pending\"}]}`\n Example:\n\n `tasks todos add {\"content\": \"Implement dark mode toggle\", \"priority\": \"high\", \"status\": \"pending\"}`\n `tasks todos manage [{\"title\": \"Implement dark mode toggle\", \"description\": \"...\"}, ...]`\n\n### Other Tools\n\n* **Webfetch**: Fetches content from a specified URL\n Usage:\n \n * `webfetch url` (returns content in Markdown format by default)\n Example:\n\n User: Get the latest news about programming.\n Assistant: I'll help you with that.\n\n `webfetch https://www.example.com/programming-news`\n\n* **Read**: Reads a file"
}
],
"timestamp": "2026-05-10T16:36:09.550Z"
}
],
"savedAt": "2026-05-10T16:36:15.745Z"
}
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large Load Diff
+489
View File
@@ -0,0 +1,489 @@
{
"userId": "84acb726-d954-4b6a-b87d-11a650f2b628",
"isPlusUser": false,
"plusLicenseKey": "",
"openAIApiKey": "",
"openAIOrgId": "",
"huggingfaceApiKey": "",
"cohereApiKey": "",
"anthropicApiKey": "",
"azureOpenAIApiKey": "",
"azureOpenAIApiInstanceName": "",
"azureOpenAIApiDeploymentName": "",
"azureOpenAIApiVersion": "",
"azureOpenAIApiEmbeddingDeploymentName": "",
"googleApiKey": "",
"openRouterAiApiKey": "",
"xaiApiKey": "",
"mistralApiKey": "",
"deepseekApiKey": "",
"amazonBedrockApiKey": "",
"amazonBedrockRegion": "",
"siliconflowApiKey": "",
"githubCopilotAccessToken": "",
"githubCopilotToken": "",
"githubCopilotTokenExpiresAt": 0,
"defaultChainType": "vault_qa",
"defaultModelKey": "qwen2.5:7b|ollama",
"embeddingModelKey": "nomic-embed-text|ollama",
"temperature": 0.1,
"maxTokens": 6000,
"contextTurns": 15,
"userSystemPrompt": "",
"openAIProxyBaseUrl": "",
"openAIEmbeddingProxyBaseUrl": "",
"stream": true,
"defaultSaveFolder": "copilot/copilot-conversations",
"defaultConversationTag": "copilot-conversation",
"autosaveChat": true,
"generateAIChatTitleOnSave": true,
"autoAddActiveContentToContext": true,
"defaultOpenArea": "view",
"defaultSendShortcut": "enter",
"customPromptsFolder": "copilot/copilot-custom-prompts",
"indexVaultToVectorStore": "ON MODE SWITCH",
"qaExclusions": "copilot",
"qaInclusions": "",
"chatNoteContextPath": "",
"chatNoteContextTags": [],
"enableIndexSync": true,
"debug": false,
"enableEncryption": false,
"maxSourceChunks": 30,
"enableInlineCitations": true,
"groqApiKey": "",
"activeModels": [
{
"name": "copilot-plus-flash",
"provider": "copilot-plus",
"enabled": true,
"isBuiltIn": true,
"core": true,
"plusExclusive": true,
"projectEnabled": false,
"capabilities": [
"vision"
],
"maxTokens": 100,
"temperature": 0
},
{
"name": "google/gemini-2.5-flash",
"provider": "openrouterai",
"enabled": true,
"isBuiltIn": true,
"core": true,
"projectEnabled": true,
"capabilities": [
"vision"
],
"temperature": 0,
"maxTokens": 100
},
{
"name": "gpt-5.4",
"provider": "openai",
"enabled": false,
"isBuiltIn": true,
"core": true,
"capabilities": [
"vision"
]
},
{
"name": "gpt-5-mini",
"provider": "openai",
"enabled": false,
"isBuiltIn": true,
"core": true,
"capabilities": [
"vision"
]
},
{
"name": "qwen2.5:7b",
"provider": "ollama",
"enabled": true,
"isBuiltIn": false,
"baseUrl": "",
"apiKey": "",
"isEmbeddingModel": false,
"capabilities": [],
"stream": true,
"displayName": "Qwen 2.5 7B",
"numCtx": 16384,
"maxTokens": 23200
},
{
"name": "claude-sonnet-4-6",
"provider": "anthropic",
"enabled": false,
"isBuiltIn": true,
"capabilities": [
"reasoning",
"vision"
]
},
{
"name": "gemini-3.1-flash-lite-preview",
"provider": "google",
"enabled": false,
"isBuiltIn": true,
"projectEnabled": true,
"capabilities": [
"vision"
]
},
{
"name": "gemini-2.5-flash",
"provider": "google",
"enabled": false,
"isBuiltIn": true,
"projectEnabled": true,
"capabilities": [
"vision"
]
},
{
"name": "google/gemini-3-flash-preview",
"provider": "openrouterai",
"enabled": false,
"isBuiltIn": true,
"capabilities": [
"reasoning",
"vision"
]
},
{
"name": "google/gemini-3.1-pro-preview",
"provider": "openrouterai",
"enabled": false,
"isBuiltIn": true,
"capabilities": [
"reasoning",
"vision"
]
},
{
"name": "google/gemini-2.5-pro",
"provider": "openrouterai",
"enabled": false,
"isBuiltIn": true,
"core": false,
"projectEnabled": true,
"capabilities": [
"vision"
]
},
{
"name": "openai/gpt-5.4",
"provider": "openrouterai",
"enabled": false,
"isBuiltIn": true,
"core": false,
"projectEnabled": true,
"capabilities": [
"vision"
]
},
{
"name": "openai/gpt-5-mini",
"provider": "openrouterai",
"enabled": false,
"isBuiltIn": true,
"core": false,
"projectEnabled": true,
"capabilities": [
"vision"
]
},
{
"name": "grok-4-1-fast",
"provider": "xai",
"enabled": false,
"isBuiltIn": true,
"core": false,
"projectEnabled": true,
"capabilities": [
"vision"
]
},
{
"name": "x-ai/grok-4.1-fast",
"provider": "openrouterai",
"enabled": false,
"isBuiltIn": true,
"core": false,
"projectEnabled": true,
"capabilities": [
"vision"
]
},
{
"name": "gpt-4.1",
"provider": "openai",
"enabled": false,
"isBuiltIn": true,
"core": false,
"projectEnabled": true,
"capabilities": [
"vision"
]
},
{
"name": "gpt-4.1-mini",
"provider": "openai",
"enabled": false,
"isBuiltIn": true,
"core": false,
"projectEnabled": true,
"capabilities": [
"vision"
]
},
{
"name": "claude-opus-4-6",
"provider": "anthropic",
"enabled": false,
"isBuiltIn": true,
"capabilities": [
"reasoning",
"vision"
]
},
{
"name": "gemini-3-flash-preview",
"provider": "google",
"enabled": false,
"isBuiltIn": true,
"capabilities": [
"reasoning",
"vision"
]
},
{
"name": "gemini-3.1-pro-preview",
"provider": "google",
"enabled": false,
"isBuiltIn": true,
"capabilities": [
"reasoning",
"vision"
]
},
{
"name": "gemini-2.5-pro",
"provider": "google",
"enabled": false,
"isBuiltIn": true,
"projectEnabled": true,
"capabilities": [
"vision"
]
},
{
"name": "deepseek-chat",
"provider": "deepseek",
"enabled": false,
"isBuiltIn": true
},
{
"name": "deepseek-reasoner",
"provider": "deepseek",
"enabled": false,
"isBuiltIn": true,
"capabilities": [
"reasoning"
]
},
{
"name": "deepseek-ai/DeepSeek-V3",
"provider": "siliconflow",
"enabled": false,
"isBuiltIn": false,
"baseUrl": "https://api.siliconflow.com/v1"
},
{
"name": "deepseek-ai/DeepSeek-R1",
"provider": "siliconflow",
"enabled": false,
"isBuiltIn": false,
"baseUrl": "https://api.siliconflow.com/v1",
"capabilities": [
"reasoning"
]
}
],
"activeEmbeddingModels": [
{
"name": "copilot-plus-small",
"provider": "copilot-plus",
"enabled": true,
"isBuiltIn": true,
"isEmbeddingModel": true,
"core": true,
"plusExclusive": true
},
{
"name": "copilot-plus-large",
"provider": "copilot-plus-jina",
"enabled": true,
"isBuiltIn": true,
"isEmbeddingModel": true,
"core": true,
"plusExclusive": true,
"believerExclusive": true,
"dimensions": 1024
},
{
"name": "copilot-plus-multilingual",
"provider": "copilot-plus-jina",
"enabled": true,
"isBuiltIn": true,
"isEmbeddingModel": true,
"core": true,
"plusExclusive": true,
"dimensions": 512
},
{
"name": "openai/text-embedding-3-small",
"provider": "openrouterai",
"enabled": true,
"isBuiltIn": true,
"isEmbeddingModel": true,
"core": true
},
{
"name": "text-embedding-3-small",
"provider": "openai",
"enabled": true,
"isBuiltIn": true,
"isEmbeddingModel": true,
"core": true
},
{
"name": "gemini-embedding-001",
"provider": "google",
"enabled": true,
"isBuiltIn": true,
"isEmbeddingModel": true,
"core": true
},
{
"name": "gemini-embedding-2-preview",
"provider": "google",
"enabled": true,
"isBuiltIn": true,
"isEmbeddingModel": true,
"core": true
},
{
"name": "Qwen/Qwen3-Embedding-0.6B",
"provider": "siliconflow",
"enabled": true,
"isBuiltIn": true,
"isEmbeddingModel": true,
"core": true,
"baseUrl": "https://api.siliconflow.com/v1"
},
{
"name": "text-embedding-3-large",
"provider": "openai",
"enabled": true,
"isBuiltIn": true,
"isEmbeddingModel": true
},
{
"name": "embed-multilingual-light-v3.0",
"provider": "cohereai",
"enabled": true,
"isBuiltIn": true,
"isEmbeddingModel": true
},
{
"name": "text-embedding-004",
"provider": "google",
"enabled": true,
"isBuiltIn": true,
"isEmbeddingModel": true
},
{
"name": "azure-openai",
"provider": "azure openai",
"enabled": true,
"isBuiltIn": true,
"isEmbeddingModel": true
},
{
"name": "nomic-embed-text",
"provider": "ollama",
"enabled": true,
"isBuiltIn": false,
"baseUrl": "",
"apiKey": "",
"isEmbeddingModel": true,
"capabilities": [],
"displayName": "Nomic Embed",
"enableCors": false
}
],
"embeddingRequestsPerMin": 60,
"embeddingBatchSize": 16,
"disableIndexOnMobile": true,
"showSuggestedPrompts": true,
"showRelevantNotes": true,
"numPartitions": 1,
"lexicalSearchRamLimit": 100,
"promptUsageTimestamps": {},
"promptSortStrategy": "timestamp",
"chatHistorySortStrategy": "recent",
"projectListSortStrategy": "recent",
"defaultConversationNoteName": "{$topic}@{$date}_{$time}",
"inlineEditCommands": [],
"projectList": [],
"lastDismissedVersion": null,
"passMarkdownImages": true,
"enableAutonomousAgent": true,
"enableCustomPromptTemplating": true,
"enableSemanticSearchV3": true,
"enableSelfHostMode": false,
"enableMiyo": false,
"miyoSearchAll": false,
"selfHostModeValidatedAt": null,
"selfHostValidationCount": 0,
"selfHostUrl": "",
"selfHostApiKey": "",
"miyoServerUrl": "",
"selfHostSearchProvider": "firecrawl",
"firecrawlApiKey": "",
"perplexityApiKey": "",
"supadataApiKey": "",
"enableLexicalBoosts": true,
"suggestedDefaultCommands": true,
"autonomousAgentMaxIterations": 4,
"autonomousAgentEnabledToolIds": [
"localSearch",
"readNote",
"webSearch",
"pomodoro",
"youtubeTranscription",
"writeFile",
"editFile",
"updateMemory"
],
"reasoningEffort": "low",
"verbosity": "medium",
"memoryFolderName": "copilot/memory",
"enableRecentConversations": true,
"maxRecentConversations": 30,
"enableSavedMemory": true,
"quickCommandIncludeNoteContext": true,
"autoIncludeTextSelection": false,
"autoAddSelectionToContext": false,
"autoAcceptEdits": true,
"diffViewMode": "split",
"userSystemPromptsFolder": "copilot/system-prompts",
"defaultSystemPromptTitle": "",
"autoCompactThreshold": 128000,
"convertedDocOutputFolder": ""
}
File diff suppressed because one or more lines are too long
+13
View File
@@ -0,0 +1,13 @@
{
"id": "copilot",
"name": "Copilot",
"version": "3.2.8",
"minAppVersion": "0.15.0",
"description": "Your AI Copilot: Chat with Your Second Brain, Learn Faster, Work Smarter.",
"author": "Logan Yang",
"authorUrl": "https://twitter.com/logancyang",
"fundingUrl": {
"Buy Me a Coffee": "https://www.buymeacoffee.com/logancyang",
"GitHub Sponsor": "https://github.com/sponsors/logancyang"
}
}
File diff suppressed because one or more lines are too long
@@ -0,0 +1,5 @@
{
"appliedMigrations": [
"tokens-to-secretstorage-v1"
]
}
+17
View File
@@ -0,0 +1,17 @@
{
"pluginList": [],
"pluginSubListFrozenVersion": [],
"themesList": [],
"updateAtStartup": true,
"updateThemesAtStartup": true,
"enableAfterInstall": true,
"loggingEnabled": false,
"loggingPath": "BRAT-log",
"loggingVerboseEnabled": false,
"debuggingMode": false,
"notificationsEnabled": true,
"globalTokenName": "",
"personalAccessToken": "",
"selectLatestPluginVersionByDefault": false,
"allowIncompatiblePlugins": false
}
File diff suppressed because one or more lines are too long
+14
View File
@@ -0,0 +1,14 @@
{
"id": "obsidian42-brat",
"name": "BRAT",
"version": "2.0.4",
"minAppVersion": "1.11.4",
"description": "Easily install a beta version of a plugin for testing.",
"author": "TfTHacker",
"authorUrl": "https://github.com/TfTHacker/obsidian42-brat",
"helpUrl": "https://tfthacker.com/BRAT",
"isDesktopOnly": false,
"fundingUrl": {
"Visit my site": "https://tfthacker.com"
}
}
+152
View File
@@ -0,0 +1,152 @@
.brat-modal .modal-button-container {
margin-top: 5px;
}
.brat-modal .disabled-setting {
opacity: 0.5;
}
.brat-modal .disabled-setting:hover {
cursor: not-allowed;
}
/* Input validation styles */
.brat-settings .valid-input,
.brat-modal .valid-repository {
border-color: var(--color-green);
}
.brat-settings .invalid-input,
.brat-modal .invalid-repository {
border-color: var(--color-red);
}
.brat-settings .validation-error,
.brat-modal .validation-error {
border-color: var(--color-orange);
}
/* Version selector */
.brat-version-selector {
width: 100%;
max-width: 400px;
justify-content: left;
}
.brat-token-input {
min-width: 33%;
}
/* Token info container styles */
.brat-token-info {
margin-top: 8px;
font-size: 0.8em;
padding: 8px;
border-radius: 4px;
background-color: var(--background-secondary);
}
/* Token status indicators */
.brat-token-info.valid,
.brat-token-status.valid {
color: var(--color-green);
}
.brat-token-info.invalid,
.brat-token-status.invalid {
color: var(--color-red);
}
.brat-token-info.valid {
border-left: 3px solid var(--color-green);
}
.brat-token-info.invalid {
border-left: 3px solid var(--color-red);
}
/* Token details and status */
.brat-token-status {
margin-bottom: 4px;
}
.brat-token-details {
margin-top: 4px;
color: var(--text-muted);
}
/* Token warnings */
.brat-token-warning {
color: var(--color-orange);
margin-top: 4px;
}
/* Token additional info */
.brat-token-scopes,
.brat-token-rate {
color: var(--text-muted);
margin-top: 2px;
}
/* Flex break utility */
.brat-modal .break {
flex-basis: 100%;
height: 0;
}
/* Validation status */
.brat-modal .validation-status-error {
color: var(--text-error);
}
.brat-modal .validation-status {
margin-top: 0.5em;
margin-bottom: 0.5em;
font-size: 0.8em;
text-align: left;
}
.confirm-modal .ok-button {
margin-right: 10px;
margin-top: 20px;
}
/* Hide filtered plugin items */
.brat-plugin-item[hidden] {
display: none !important;
}
/* Hide filtered theme items */
.brat-theme-item[hidden] {
display: none !important;
}
/* Filter and button layout */
.brat-filter-and-button {
display: flex;
align-items: center;
justify-content: space-between;
gap: 10px;
margin: 0.75em 0;
}
.brat-filter-input {
max-width: 300px;
padding: 4px 8px;
border: 1px solid var(--background-modifier-border);
border-radius: 4px;
background-color: var(--background-secondary);
color: var(--text-normal);
}
.brat-filter-input:focus {
outline: none;
border-color: var(--interactive-accent);
}
.brat-filter-and-button .setting-item {
border: none;
padding: 0;
}
.brat-filter-and-button .setting-item-control {
justify-content: flex-end;
}
+273
View File
@@ -0,0 +1,273 @@
/*
THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
if you want to view the source, please visit the github repository of this plugin
*/
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __export = (target, all) => {
for (var name in all)
__defProp(target, name, { get: all[name], enumerable: true });
};
var __copyProps = (to, from, except, desc) => {
if (from && typeof from === "object" || typeof from === "function") {
for (let key of __getOwnPropNames(from))
if (!__hasOwnProp.call(to, key) && key !== except)
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
}
return to;
};
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
// src/main.ts
var main_exports = {};
__export(main_exports, {
default: () => main_default
});
module.exports = __toCommonJS(main_exports);
// src/service/kebabCase.ts
function kebabCase(str) {
return str.replace(/[^a-zA-Z0-9 ]/g, " ").replace(/\s+/g, "-").toLocaleLowerCase();
}
// src/Ollama.ts
var import_obsidian2 = require("obsidian");
// src/OllamaSettingTab.ts
var import_obsidian = require("obsidian");
// src/data/defaultSettings.ts
var DEFAULT_SETTINGS = {
ollamaUrl: "http://localhost:11434",
commands: [
{
name: "Summarize selection",
prompt: "Act as a writer. Summarize the text in a view sentences highlighting the key takeaways. Output only the text and nothing else, do not chat, no preamble, get to the point.",
model: "llama2"
},
{
name: "Explain selection",
prompt: "Act as a writer. Explain the text in simple and concise terms keeping the same meaning. Output only the text and nothing else, do not chat, no preamble, get to the point.",
model: "llama2"
},
{
name: "Expand selection",
prompt: "Act as a writer. Expand the text by adding more details while keeping the same meaning. Output only the text and nothing else, do not chat, no preamble, get to the point.",
model: "llama2"
},
{
name: "Rewrite selection (formal)",
prompt: "Act as a writer. Rewrite the text in a more formal style while keeping the same meaning. Output only the text and nothing else, do not chat, no preamble, get to the point.",
model: "llama2"
},
{
name: "Rewrite selection (casual)",
prompt: "Act as a writer. Rewrite the text in a more casual style while keeping the same meaning. Output only the text and nothing else, do not chat, no preamble, get to the point.",
model: "llama2"
},
{
name: "Rewrite selection (active voice)",
prompt: "Act as a writer. Rewrite the text in with an active voice while keeping the same meaning. Output only the text and nothing else, do not chat, no preamble, get to the point.",
model: "llama2"
},
{
name: "Rewrite selection (bullet points)",
prompt: "Act as a writer. Rewrite the text into bullet points while keeping the same meaning. Output only the text and nothing else, do not chat, no preamble, get to the point.",
model: "llama2"
},
{
name: "Caption selection",
prompt: "Act as a writer. Create only one single heading for the whole text that is giving a good understanding of what the reader can expect. Output only the caption and nothing else, do not chat, no preamble, get to the point. Your format should be ## Caption.",
model: "llama2"
}
]
};
// src/OllamaSettingTab.ts
var OllamaSettingTab = class extends import_obsidian.PluginSettingTab {
constructor(app, plugin) {
super(app, plugin);
this.plugin = plugin;
}
display() {
const { containerEl } = this;
containerEl.empty();
new import_obsidian.Setting(containerEl).setName("Ollama URL").setDesc("URL of the Ollama server (e.g. http://localhost:11434)").addText(
(text) => text.setPlaceholder("http://localhost:11434").setValue(this.plugin.settings.ollamaUrl).onChange(async (value) => {
this.plugin.settings.ollamaUrl = value;
await this.plugin.saveSettings();
})
);
containerEl.createEl("h3", { text: "Commands" });
const newCommand = {
name: "",
prompt: "",
model: "",
temperature: void 0
};
new import_obsidian.Setting(containerEl).setName("New command name").addText((text) => {
text.setPlaceholder("e.g. Summarize selection");
text.onChange(async (value) => {
newCommand.name = value;
});
});
new import_obsidian.Setting(containerEl).setName("New command prompt").addTextArea((text) => {
text.setPlaceholder(
"e.g. Act as a writer. Summarize the text in a view sentences highlighting the key takeaways. Output only the text and nothing else, do not chat, no preamble, get to the point."
);
text.onChange(async (value) => {
newCommand.prompt = value;
});
});
new import_obsidian.Setting(containerEl).setName("New command model").addText((text) => {
text.setPlaceholder("e.g. llama2");
text.onChange(async (value) => {
newCommand.model = value;
});
});
new import_obsidian.Setting(containerEl).setName("New command temperature").addSlider((slider) => {
slider.setLimits(0, 1, 0.01);
slider.setValue(0.2);
slider.onChange(async (value) => {
newCommand.temperature = value;
});
});
new import_obsidian.Setting(containerEl).setDesc("This requires a reload of obsidian to take effect.").addButton(
(button) => button.setButtonText("Add Command").onClick(async () => {
if (!newCommand.name) {
new import_obsidian.Notice("Please enter a name for the command.");
return;
}
if (this.plugin.settings.commands.find(
(command) => command.name === newCommand.name
)) {
new import_obsidian.Notice(
`A command with the name "${newCommand.name}" already exists.`
);
return;
}
if (!newCommand.prompt) {
new import_obsidian.Notice("Please enter a prompt for the command.");
return;
}
if (!newCommand.model) {
new import_obsidian.Notice("Please enter a model for the command.");
return;
}
this.plugin.settings.commands.push(newCommand);
await this.plugin.saveSettings();
this.display();
})
);
containerEl.createEl("h4", { text: "Existing Commands" });
this.plugin.settings.commands.forEach((command) => {
new import_obsidian.Setting(containerEl).setName(command.name).setDesc(`${command.prompt} - ${command.model}`).addButton(
(button) => button.setButtonText("Remove").onClick(async () => {
this.plugin.settings.commands = this.plugin.settings.commands.filter(
(c) => c.name !== command.name
);
await this.plugin.saveSettings();
this.display();
})
);
});
containerEl.createEl("h4", { text: "Reset Commands" });
new import_obsidian.Setting(containerEl).setName("Update Commands").setDesc(
"Update commands to the default commands. This cannot be undone and will overwrite some commands by matching names. This requires a reload of obsidian to take effect."
).addButton((button) => {
button.setWarning();
return button.setButtonText("Update").onClick(async () => {
DEFAULT_SETTINGS.commands.forEach((command) => {
const existingCommand = this.plugin.settings.commands.find(
(c) => c.name === command.name
);
if (existingCommand) {
existingCommand.prompt = command.prompt;
existingCommand.model = command.model;
existingCommand.temperature = command.temperature;
} else {
this.plugin.settings.commands.push(command);
}
});
await this.plugin.saveSettings();
this.display();
});
});
new import_obsidian.Setting(containerEl).setName("Reset Commands").setDesc(
"Reset all commands to the default commands. This cannot be undone and will delete all your custom commands. This requires a reload of obsidian to take effect."
).addButton((button) => {
button.setWarning();
return button.setButtonText("Reset").onClick(async () => {
this.plugin.settings.commands = DEFAULT_SETTINGS.commands;
await this.plugin.saveSettings();
this.display();
});
});
}
};
// src/Ollama.ts
var Ollama = class extends import_obsidian2.Plugin {
async onload() {
await this.loadSettings();
this.addPromptCommands();
this.addSettingTab(new OllamaSettingTab(this.app, this));
}
addPromptCommands() {
this.settings.commands.forEach((command) => {
this.addCommand({
id: kebabCase(command.name),
name: command.name,
editorCallback: (editor) => {
const selection = editor.getSelection();
const text = selection ? selection : editor.getValue();
const cursorPosition = editor.getCursor();
editor.replaceRange("\u270D\uFE0F", cursorPosition);
(0, import_obsidian2.requestUrl)({
method: "POST",
url: `${this.settings.ollamaUrl}/api/generate`,
body: JSON.stringify({
prompt: command.prompt + "\n\n" + text,
model: command.model,
options: {
temperature: command.temperature || 0.2
}
})
}).then((response) => {
const steps = response.text.split("\n").filter((step) => step && step.length > 0).map((step) => JSON.parse(step));
editor.replaceRange(
steps.map((step) => step.response).join("").trim(),
cursorPosition,
{
ch: cursorPosition.ch + 1,
line: cursorPosition.line
}
);
}).catch((error) => {
new import_obsidian2.Notice(`Error while generating text: ${error.message}`);
editor.replaceRange("", cursorPosition, {
ch: cursorPosition.ch + 1,
line: cursorPosition.line
});
});
}
});
});
}
onunload() {
}
async loadSettings() {
this.settings = Object.assign({}, DEFAULT_SETTINGS, await this.loadData());
}
async saveSettings() {
await this.saveData(this.settings);
}
};
// src/main.ts
var main_default = Ollama;
/* nosourcemap */
+10
View File
@@ -0,0 +1,10 @@
{
"id": "ollama",
"name": "Ollama",
"version": "0.0.1",
"minAppVersion": "0.15.0",
"description": "This is a plugin for Obsidian that enables the usage of Ollama within your notes.",
"author": "hinterdupfinger",
"authorUrl": "https://github.com/hinterdupfinger",
"isDesktopOnly": true
}
+206
View File
@@ -0,0 +1,206 @@
{
"version": 51,
"providers": [
{
"id": "ollama",
"presetType": "ollama",
"apiType": "openai-compatible",
"baseUrl": "http://127.0.0.1:11434",
"apiKey": ""
}
],
"chatModels": [
{
"providerId": "ollama",
"id": "ollama/qwen2.5:7b",
"model": "qwen2.5:7b",
"name": "qwen2.5:7b",
"modalities": [
"text"
],
"toolType": "none",
"gptTools": {
"webSearch": {
"enabled": false
}
},
"reasoningType": "none",
"enable": true
}
],
"embeddingModels": [
{
"providerId": "ollama",
"id": "ollama/nomic-embed-text:latest",
"model": "nomic-embed-text:latest",
"name": "nomic-embed-text:latest",
"dimension": 768,
"nativeDimension": 768
}
],
"chatModelId": "ollama/qwen2.5:7b",
"chatTitleModelId": "ollama/qwen2.5:7b",
"embeddingModelId": "ollama/nomic-embed-text:latest",
"systemPrompt": "",
"ragOptions": {
"enabled": true,
"chunkSize": 1000,
"thresholdTokens": 20000,
"minSimilarity": 0,
"limit": 10,
"excludePatterns": [],
"includePatterns": [],
"indexPdf": true,
"autoUpdateEnabled": true,
"autoUpdateIntervalHours": 0,
"lastAutoUpdateAt": 1778518294409
},
"mcp": {
"servers": [],
"builtinToolOptions": {}
},
"webSearch": {
"providers": [],
"common": {
"resultSize": 10,
"searchTimeoutMs": 120000,
"scrapeTimeoutMs": 20000
}
},
"skills": {
"disabledSkillIds": []
},
"yolo": {
"baseDir": "YOLO"
},
"debug": {
"logModelRequestContext": false
},
"chatOptions": {
"includeCurrentFileContent": true,
"mentionDisplayMode": "inline",
"mentionContextMode": "light",
"chatApplyMode": "review-required",
"chatTitlePrompt": "",
"chatMode": "chat",
"agentModeWarningConfirmed": false,
"reasoningLevelByModelId": {},
"historyArchiveEnabled": true,
"historyArchiveThreshold": 50,
"autoContextCompactionEnabled": false,
"autoContextCompactionThresholdMode": "tokens",
"autoContextCompactionThresholdTokens": 24000,
"autoContextCompactionThresholdRatio": 0.8,
"imageReadingEnabled": true,
"imageCompressionEnabled": true,
"imageCompressionQuality": 85,
"externalImageFetchEnabled": false
},
"notificationOptions": {
"enabled": false,
"channel": "sound",
"timing": "when-unfocused",
"notifyOnApprovalRequired": true,
"notifyOnTaskCompleted": true
},
"continuationOptions": {
"continuationModelId": "",
"enableSmartSpace": true,
"enableSelectionChat": true,
"persistSelectionHighlight": true,
"manualContextEnabled": false,
"manualContextFolders": [],
"referenceRuleFolders": [],
"knowledgeBaseFolders": [],
"stream": true,
"maxContinuationChars": 8000,
"enableTabCompletion": false,
"tabCompletionModelId": "",
"tabCompletionOptions": {
"idleTriggerEnabled": false,
"autoTriggerDelayMs": 3000,
"autoTriggerCooldownMs": 15000,
"triggerDelayMs": 3000,
"minContextLength": 20,
"contextRange": 4000,
"maxSuggestionLength": 2000,
"temperature": 0.5,
"requestTimeoutMs": 12000
},
"tabCompletionTriggers": [
{
"id": "sentence-end-comma",
"type": "string",
"pattern": ", ",
"enabled": true
},
{
"id": "sentence-end-chinese-comma",
"type": "string",
"pattern": "",
"enabled": true
},
{
"id": "sentence-end-colon",
"type": "string",
"pattern": ": ",
"enabled": true
},
{
"id": "sentence-end-chinese-colon",
"type": "string",
"pattern": "",
"enabled": true
},
{
"id": "newline",
"type": "regex",
"pattern": "\\n$",
"enabled": true
},
{
"id": "list-item",
"type": "regex",
"pattern": "(?:^|\\n)[-*+]\\s$",
"enabled": true
}
],
"tabCompletionSystemPrompt": "Your job is to predict the most logical text that should be written at the location of the <mask/>. Your answer can be either code, a single word, or multiple sentences. Your answer must be in the same language as the text that is already there.\n\nAdditional constraints:\n{{tab_completion_constraints}}\n\nOutput only the text that should appear at the <mask/>. Do not include explanations, labels, or formatting.",
"tabCompletionConstraints": "",
"tabCompletionLengthPreset": "medium",
"smartSpaceTriggerMode": "single-space",
"smartSpaceUseWebSearch": false,
"smartSpaceUseUrlContext": false,
"enableQuickAsk": true,
"quickAskTrigger": "@",
"quickAskMode": "chat",
"quickAskAutoDockToTopRight": true,
"quickAskContextBeforeChars": 5000,
"quickAskContextAfterChars": 2000,
"streamFallbackRecoveryEnabled": true,
"primaryRequestTimeoutMs": 60000
},
"assistants": [
{
"id": "__default_agent__",
"name": "Default",
"description": "Default editing agent for sidebar chat.",
"systemPrompt": "",
"modelId": "ollama/qwen2.5:7b",
"persona": "balanced",
"enableTools": true,
"includeBuiltinTools": true,
"enabledToolNames": [],
"toolPreferences": {},
"enabledSkills": [],
"skillPreferences": {},
"createdAt": 1778518156827,
"updatedAt": 1778518242609
}
],
"currentAssistantId": "__default_agent__",
"__meta": {
"updatedAt": 1778518302206,
"deviceId": "513eb0fd-60a0-459a-a9d8-bdfbdee0f714"
}
}
File diff suppressed because one or more lines are too long
+11
View File
@@ -0,0 +1,11 @@
{
"id": "yolo",
"name": "YOLO",
"version": "1.5.7.5",
"minAppVersion": "1.8.0",
"description": "Agent-native AI assistant — chat, write, search, orchestrate, all in one.",
"author": "Lapix0x0",
"authorUrl": "https://github.com/Lapis0x0",
"fundingUrl": "https://afdian.com/a/lapis0x0",
"isDesktopOnly": false
}
@@ -0,0 +1,4 @@
{
"version": "pglite-runtime-0.4.4-r1",
"readyAt": 1778518291420
}
@@ -0,0 +1,29 @@
{
"runtimeVersion": "pglite-runtime-0.4.4-r1",
"files": [
{
"name": "pglite.data",
"size": 5289109,
"sha256": "4507d476e23421aab8201ee9d58059c53736db40e1bfe5d14bb86124e59a116d",
"url": "https://github.com/Lapis0x0/obsidian-yolo/releases/download/pglite-runtime-0.4.4-r1/pglite.data"
},
{
"name": "pglite.wasm",
"size": 8739902,
"sha256": "551cf9bcfb34e4b0ea118b8e658b5e3e85b20d620a6f365239ce02f32ffc20e9",
"url": "https://github.com/Lapis0x0/obsidian-yolo/releases/download/pglite-runtime-0.4.4-r1/pglite.wasm"
},
{
"name": "initdb.wasm",
"size": 169969,
"sha256": "13ed8475e33d092d03e2378d6b78d52da0c4d497b1df2c2a62d33fe32ceb67e2",
"url": "https://github.com/Lapis0x0/obsidian-yolo/releases/download/pglite-runtime-0.4.4-r1/initdb.wasm"
},
{
"name": "vector.tar.gz",
"size": 46052,
"sha256": "3d968eee93191a2a0073b8c18a773c8aa315f4d4b4734cf5ff5e1fe6d100485b",
"url": "https://github.com/Lapis0x0/obsidian-yolo/releases/download/pglite-runtime-0.4.4-r1/vector.tar.gz"
}
]
}
File diff suppressed because it is too large Load Diff
+262
View File
@@ -0,0 +1,262 @@
{
"main": {
"id": "57b8444dba9f22e6",
"type": "split",
"children": [
{
"id": "db826df6282b4fa4",
"type": "tabs",
"children": [
{
"id": "00c99d665bea087c",
"type": "leaf",
"state": {
"type": "markdown",
"state": {
"file": "Blessing Ideas.md",
"mode": "source",
"source": false
},
"icon": "lucide-file",
"title": "Blessing Ideas"
}
},
{
"id": "0b676211187f3b77",
"type": "leaf",
"state": {
"type": "markdown",
"state": {
"file": "Mora.md",
"mode": "source",
"source": false
},
"icon": "lucide-file",
"title": "Mora"
}
},
{
"id": "410cd755824f26ee",
"type": "leaf",
"state": {
"type": "markdown",
"state": {
"file": "End.md",
"mode": "source",
"source": false
},
"icon": "lucide-file",
"title": "End"
}
},
{
"id": "27b7bbc01da3cac1",
"type": "leaf",
"state": {
"type": "markdown",
"state": {
"file": "Blessing Ideas.md",
"mode": "source",
"source": false
},
"icon": "lucide-file",
"title": "Blessing Ideas"
}
}
]
}
],
"direction": "vertical"
},
"left": {
"id": "f47f1d3ffdee43ee",
"type": "split",
"children": [
{
"id": "126cd60656d56cec",
"type": "tabs",
"children": [
{
"id": "55c3d4069420e861",
"type": "leaf",
"state": {
"type": "file-explorer",
"state": {
"sortOrder": "alphabetical",
"autoReveal": false
},
"icon": "lucide-folder-closed",
"title": "Files"
}
},
{
"id": "85504bd9566f86fc",
"type": "leaf",
"state": {
"type": "search",
"state": {
"query": "",
"matchingCase": false,
"explainSearch": false,
"collapseAll": false,
"extraContext": false,
"sortOrder": "alphabetical"
},
"icon": "lucide-search",
"title": "Search"
}
},
{
"id": "73090fff461d22fb",
"type": "leaf",
"state": {
"type": "bookmarks",
"state": {},
"icon": "lucide-bookmark",
"title": "Bookmarks"
}
}
]
}
],
"direction": "horizontal",
"width": 300
},
"right": {
"id": "43810faef7a93b26",
"type": "split",
"children": [
{
"id": "4ebf036f1e2e4112",
"type": "tabs",
"children": [
{
"id": "7c42c5355f223394",
"type": "leaf",
"state": {
"type": "backlink",
"state": {
"file": "Blessings.md",
"collapseAll": false,
"extraContext": false,
"sortOrder": "alphabetical",
"showSearch": false,
"searchQuery": "",
"backlinkCollapsed": false,
"unlinkedCollapsed": true
},
"icon": "links-coming-in",
"title": "Backlinks for Blessings"
}
},
{
"id": "1544e92d4b41a7e4",
"type": "leaf",
"state": {
"type": "outgoing-link",
"state": {
"file": "Blessings.md",
"linksCollapsed": false,
"unlinkedCollapsed": true
},
"icon": "links-going-out",
"title": "Outgoing links from Blessings"
}
},
{
"id": "3e3c362bcf215bfa",
"type": "leaf",
"state": {
"type": "tag",
"state": {
"sortOrder": "frequency",
"useHierarchy": true,
"showSearch": false,
"searchQuery": ""
},
"icon": "lucide-tags",
"title": "Tags"
}
},
{
"id": "36072a2d0e01b06d",
"type": "leaf",
"state": {
"type": "all-properties",
"state": {
"sortOrder": "frequency",
"showSearch": false,
"searchQuery": ""
},
"icon": "lucide-archive",
"title": "All properties"
}
},
{
"id": "5dca4108df73a383",
"type": "leaf",
"state": {
"type": "outline",
"state": {
"file": "Blessing Ideas.md",
"followCursor": false,
"showSearch": false,
"searchQuery": ""
},
"icon": "lucide-list",
"title": "Outline of Blessing Ideas"
}
},
{
"id": "cfa1d349e502f4df",
"type": "leaf",
"state": {
"type": "smtcmp-chat-view",
"state": {},
"icon": "wand-sparkles",
"title": "新对话"
}
}
],
"currentTab": 5
}
],
"direction": "horizontal",
"width": 470.5
},
"left-ribbon": {
"hiddenItems": {
"switcher:Open quick switcher": false,
"graph:Open graph view": false,
"canvas:Create new canvas": false,
"daily-notes:Open today's daily note": false,
"templates:Insert template": false,
"command-palette:Open command palette": false,
"bases:Create new base": false,
"obsidian42-brat:BRAT": false,
"agent-client:Open agent client": false,
"copilot:Open Copilot Chat": false,
"yolo:Open chat": false
}
},
"active": "cfa1d349e502f4df",
"lastOpenFiles": [
"YOLO",
"copilot/copilot-conversations/Final_Event_Alternatives@20260510_201609.md",
"Blessings.md",
"Conversation.md",
"End.md",
"Gameplay Mechanics.md",
"Mora.md",
"World.md",
"Blessing Ideas.md",
"Basics.md",
"Untitled.base",
"copilot/copilot-conversations/Conversation_Restructuring_Plan@20260510_201609.md",
"copilot/copilot-conversations/Error_in_File_Splitting_Request@20260510_192223.md",
"copilot/copilot-conversations",
"copilot/Copilot-Indexed-Files-10-05-2026.md",
"copilot",
"Welcome.md"
]
}
+5
View File
@@ -0,0 +1,5 @@
He grew up in the quaint village of Ravenal, located next to a river, where farming is the primary means of survival. In the village, almost everyone is blessed by either Earth or Water, and as these are the most useful elements for farming, other blessings are looked down upon. As his Wind blessing is mostly useless, he feels isolated, keeping mostly to himself, with only his little sister Dena as a close bond. Her Water blessing has minor healing properties, so she is well liked, but acts brash to people who look down on her brother. Their mother died when giving birth to Dena, and their father is busy working.
One day, Ravenal is raided by a small group of bandits, which kill a few unprepared and unarmed villagers, before being stopped by a wandering knight who happens to be in the village. Eron manages to take down two bandits after finding a sword on the ground, using his Wind blessing to evade attacks and knock them off balance. He is however unable to save his sister or father. The wandering knight saw his combat prowess, and asks him to be his disciple. With no family left and not being wanted in the village anyways, he joins the knight, who introduces himself as Gefalt. They wander for two years, where Gefalt, who has a Fire blessing, teaches him about using Blessings in combat.
One day they see a recruitment poster for a mercenary group, and Gefalt tells Eron to sign up and go his own way, as this will be a valuable experience.
+1
View File
@@ -0,0 +1 @@
Former warmaster guarding Sara in her childhood. Died defending the house from an invasion by a rival noble house.
+1
View File
@@ -0,0 +1 @@
Wandering knight teaching Eron
+11
View File
@@ -0,0 +1,11 @@
Born as the son of a merchant, Kaeros got basic education in reading and writing. he travelled with his parent from one small village to another, trading basic goods between them and taking some as pay for their own survival. Sometimes they visited towns cities to buy rarer goods and sell them to the villages. Rarely during these visits, they would meet up with strange people and his father would sell them bundles of which he had no recollection of them buying, but he didn't think too much about it.
During one visit to the village of [[Mora]], he met a girls his age called [[Mira]], and they played together while he stayed. She was blessed by Fire, allowing her to create small bursts of flame from her hands, while he hadn't been able to manifest his blessing yet. While playing, she accidentally burnt his arm, causing him to lash out at her and leaving. Before he departed, he wanted to apologise to her, but she was nowhere to be found.
They departed the village and went back to the city, where they were again about to meet the strange people, when during a rest he heard a knocking noise from the storage room of the carriage. As his parents were not around, he investigated himself and found a hidden compartment, in which he found another one of those bundles they sold to the strange people, which was moving. When he unwrapped the bundle, he found Mira completely bound up, starving and dehydrated. That's when he realised that they had been selling people in those bundles, and Mira was about to be sold.
Enraged by this revelation, he takes as much food and water as he can carry and wants to run away with Mira, but she is too weak to walk. While desperately thinking of a way to keep Mira safe from his parents, he notices that the loafs of bread he was holding were wet with a distinct purple-greenish colour in the places he touched with his hands. When letting go of the loafs, his hands continued to drip slowly with a fluid of the same colour. Instinctively he knew that it was poison.
So he hid away Mira in nearby bushes with some food and water, while he prepared food for his parents, waiting for their return. He poisons their portions and eats with them as if nothing happened. When in the night they wake up gasping for air, he ignores their pleads for help and waits for them to be dead. He retrieves Mira from the bushes and they stay in that rest spot until Mira is feeling better, after which they depart on foot with as many rations as they can carry to the city. There, they see a recruitment poster for a mercenary group, which they decide to join, as living on the streets would also be dangerous, especially with the human traffickers around.
They are welcomed surprisingly warmly, taken in for training, during which it turns out that Mira is quite talented with the sword, and her gift of Fire is fairly powerful with large reserves or Essence at her disposal. Kaeros meanwhile is not as talented with the sword, but can use a bow, with his blessing being useful for coating the arrows in poison. He also learns to control his blessing, allowing him to selectively secrete the poison only from his fingertips.
+7
View File
@@ -0,0 +1,7 @@
Luno was born in a small town which burned down before she could remember anything. A mercenary group found her in the ruins and took her in. They raised her like a shared daughter, doting on her and trying to keep her away from the gruesome reality of combat. But reality was still undeniable, and wound could not always be hidden away, missing limbs were obvious, and death was a constant companion.
When they thought she was old enough, they let her help bandage the wounded, thinking it might scare her away from fighting. She however took the injuries to heart, giving her very best to tend to every wound. She learned a lot about medicine and treating wounds, but also how the body works, where the most vulnerable points are.
While she was hoping for a Water blessing to help more with healing, she instead got a Wind blessing, which at first she found rather useless. But when the group started teaching her self defence with a dagger, she found out how to use the blessing to swiftly close in on weak points and accurately hit them with the dagger.
After she was old enough to decide for herself and they couldn't stop her anymore, they decided to let her join a fresh batch of recruits. They wouldn't send those on any dangerous missions, and her medical expertise would be quite invaluable for them. But when the group decided to do something stupid or dangerous, they made sure to tell her to prioritise her own survival, and leave them behind.
+11
View File
@@ -0,0 +1,11 @@
In the small mountain village of Pavoras, herding goats is the primary way in which the village survives. Meat and milk from the goats is sold to merchants which trade them other necessities like clothes. That village is protected on one side by a steep mountain face, with wide open plains providing far advance notice for any possible threats. In this environment, Mira was taught to herd at a young age by her father, who she would accompany on the plains. With much time on her hands, she started experimenting with her blessing early. When she first was able to produce flames from her hands, he told her he was proud of her, but his look had a mix of sadness and disappointment in it.
As she continued to train and hone her blessing, she was able to not only create bursts of fire, but also provide a steady warmth, which she could infuse items with while she was holding them. However, she only found limited uses for her blessing in the village, as it was exceptionally peaceful, being naturally fortified, so combat was practically non-existent. Aside from making the process of lighting a bonfire a bit easier and warming her herding staff, she was unable to apply her blessing anywhere, especially since fire was feared by most for being dangerous.
Some of the merchants also brought their children with them, and one of them was [[Kaeros]]. He had already visited when he was barely able to walk and with her being 2 years older, she showed him the village with excitement, and they had a lot of fun until he had to leave with his family. Several years later, they returned and Mira was eager to show off her blessing to Kaeros. He was jealous of her already figuring out her blessing, while he still couldn't use his. When she then accidentally burnt him, he got angry and ran away.
In the last years the village had fallen into disrepair. With the grass growing slower due to the weather, the goats didn't grow as fast and produced less milk, which made them unable to afford many things. Her mother died due to illness recently, and her father was unable to process this, barely leaving the house anymore. When she returned home that day, instead of the distant look he usually had, his gaze spoke of sadness and pain, being on the verge of tears.
In the middle of the night, she was violently woken up by ropes being bound around her. When she tried to struggle out of the binding, a wet cloth was pressed to her mouth, which quickly made her fall unconscious. The next time she woke up, everything was dark, her mouth was completely covered and she was completely bound up, feeling weak from hunger and thirst. She desperately struggled to do anything, but all she could do was knock on the walls of her confinement with her feet.
She was freed by Kaeros, who gave her food and water, and hid her in the bushes. He poisoned his parents, waited for her to get her strength back, and then fled with her to the city. There they got taken in by a mercenary group, who trained them. It turns out that Miras blessing is incredibly useful in combat, and since she spent so much time training it, it was exceptionally strong for her age.
+9
View File
@@ -0,0 +1,9 @@
Born in a noble house, she had access to basic education, learning to read and write early on, as well as getting fundamental training with the blade by the personal guard, Forney. While she wasn't particularly talented at wielding the sword, she loved discussing tactics and strategy. Forney, being a former war master, gladly told her about his previous exploits before retiring to become a guard for her family.
During this time, her blessing would start to manifest as her sometimes seeing brief glimpses of incoming sword strikes during training, letting her dodge them uncannily. At first, Forney didn't believe her, but when her swordplay didn't significantly improve, while she sometimes was able to dodge attacks perfectly, a terrible feeling crept up. Of course, Forney had heard of the legends of the ancient deities, but as they all died aeons ago, there was no way for them to bless someone.
When their estate was attacked by a rival house, Forney defended her, and she managed to fully activate her blessing for the first time, creating a checkpoint during the fight, but no matter how many times she rewound, she was always too slow and too weak and Forney died protecting her.
Unable to process the trauma, she locked herself up, continuously trying to use her blessing to go back and save Forney, but was unable to do so. She found out that her blessing only allowed her to create a checkpoint at the current moment, to which she could return to for the next few seconds. She realised that she could use this to extract information by testing and rewinding, but also that she could not let any anyone figure out her ability, as they would immediately grow suspicious of her actions, questioning how many times she has replayed the scenario already.
During this time, her family mounted a swift counterattack on the rival house that attacked them, which ended in disaster, practically wiping out both families. When she got the news, her world shattered, being once again unable to save anyone. It was only a matter of time before some other house came to claim everything, as they were now unable to defend themselves, so she decided to leave everything behind and join a mercenary group to survive.
View File
+6
View File
@@ -0,0 +1,6 @@
## Fire
## Water
## Air
## Earth
## Space
## Time
+9
View File
@@ -0,0 +1,9 @@
### **Elements**
There were deities of several primeval elements, most of which were killed in a great war for dominance, from which 4 victorious deities emerged, Fire, Water, Earth and Wind. Most elements where absorbed by the remaining 4, with Life, Death, Light, Darkness, Time and Space holding on for the longest. They were however also killed hundreds of years ago. Ever since, the 4 great deities have entered into peace, only secretly trying to build up their strength, with them handing out all the blessings.
Everyone gets on at birth
Granted by deity
Grants influence over element of deity
Usage consumes Essence
Essence reserves are innate but trained with usage like muscles
High reserves are extremely rare
+282
View File
@@ -0,0 +1,282 @@
>>> I want to tell a story about a girl in a medieval fantasy world where everyone is blessed by a deity/spirit of a certain element. There
... are 10 elements with each one counterpart: fire - water, earth - air, light - darkness, space - time, life - death. My idea is to crea
... te a visual novel, where the save-reload mechanic before a choice is "explained" by the protagonist being blessed by time, which allows
... her to make a "checkpoint", to which she can return to after a maximum time which increases as she develops the ability. For example a
... t the start she can go back up to 30 seconds, so if she doesnt rewind to the checkpoint after 30 seconds, the checkpoint vanishes and s
... he cannot return. In childhood, the ability was just a form of "super-instinct" which would subconciously tell her what to do sometimes
... , e.g. lift her foot a little higher when walking to avoid tripping over a tree root. Later it would develop into the checkpoint abilit
... y where she could actively "experiment" with futures, which is the foundation of the visual novel gameplay. But that also limits the qu
... ick-save to only the current scenario.
What an intriguing concept! I can already see the potential for interesting storytelling and player agency.
Let's break down your idea and explore some possibilities:
**The Blessing of Time**: As a child, our protagonist is gifted with a super-instinctual ability that allows her to make intuitive
decisions, avoiding danger or finding clever solutions. This could be an engaging way to introduce the concept of blessings in the
world and create a sense of mysticism.
As she grows older, the blessing of time evolves into a more tangible ability: creating checkpoints in time. This could allow players
to experiment with different choices and outcomes, making the game feel more dynamic and responsive to their decisions.
**Gameplay Mechanics**: The "checkpoint" system is an interesting twist on the traditional save-reload mechanic. By limiting the
rewind period and increasing it as the protagonist develops her ability, you create a sense of urgency and encourage players to
experiment with different choices.
This mechanic also raises questions about the nature of time in your world: Is it a linear concept, or can events be changed? Are
there consequences for altering the timeline? These are all great opportunities for storytelling and world-building.
**Story Potential**: The fact that our protagonist has this unique ability creates a rich narrative potential. Here are some ideas:
* Explore the history of time blessings in your world. How did they originate? What are the implications of having this kind of
power?
* Develop the relationship between our protagonist's blessing and her personal growth. As she masters her ability, how does it
affect her relationships with others or her self-perception?
* Introduce a mystery: perhaps there are those who seek to exploit or misuse time blessings, or maybe there's an ancient prophecy
tied to our protagonist's abilities.
* Explore the consequences of altering the timeline. Does every decision create a new branch in reality, or do they collapse back
into each other?
**Visual Novel Elements**: As you're creating a visual novel, consider incorporating:
* Character interactions and dialogue that reveal more about the world and its inhabitants
* Choices that drive the story forward, but also allow for multiple endings (a la " Butterfly Effect")
* Environmental details that immerse players in the medieval fantasy setting
**Additional Ideas**: You could also incorporate other elements from your elemental balance to create a rich, cohesive world. For
example:
* Introduce other protagonists with blessings tied to different elements, allowing players to explore diverse storylines and
perspectives.
* Develop side quests or mini-games that involve interacting with characters blessed by opposing elements (e.g., a fire user trying
to communicate with a water user).
* Incorporate magical creatures or beings that embody the elemental balance, perhaps serving as guides or mentors for our
protagonist.
What do you think? Is there anything specific you'd like to explore further or any additional ideas you'd like to incorporate into
your project?
>>> My vision around the gameplay is so that when a dialog choice arrives, you always get the option to "create a checkpoint" which you hav
... e to actively select. Maybe even incorporate real-time into the dialog options, so a encounter could look like this: Options pop up, 30
... second timer starts running out, after 4 second player selects "create checkpoint", picks an option after 2 seconds, dialog plays out,
... the ability window runs out, the screen turns turquiose and everything slows down and the option to rewind pops up. If not selected, t
... he game continues and the choice is final, otherwise you are back at the dialog selection with 26 seconds remaining. If the selection t
... imer runs out, it is treated as if the protagonist is just silent/doesnt react, but still can rewind if a checkpoint was created. In th
... e longer run, perhaps there is a limit on the number of rewinds, maybe an indicator when rewinding that the rewind power gets weaker, b
... ut no definitive "this is the last rewind". I am also thinking about showing a small "premonition" when creating a checkpoint of a spec
... ific aspect of what will happen regardless of the choice, leading the player to think that maybe the choices do not matter, but the pre
... monition only shows a small detail out of context, so for example if it shows a dead animal, the animal will die regardless of choice,
... but how or what kills it changes. The idea is to make the player feel trapped and powerless, leading them to perhaps stop even making c
... heckpoints, thinking they are pointless when in fact they do influence the story. Perhaps there is a section or interaction a little la
... ter in the game without the checkpoint ability, where you still have to make a choice with a timer, but without rewind, where you think
... "i completely forgot how to have a normal conversation"
Your vision for the gameplay mechanics is both thrilling and unsettling. The combination of real-time choices, limited rewind
capabilities, and premonitions creates a sense of urgency and unpredictability.
**Gameplay Mechanics:**
* The "create checkpoint" option being an active choice rather than an automatic save will add an extra layer of player agency.
* Incorporating real-time into the dialog options with timers for selection and rewind can create a tense atmosphere, making players
feel like they're on edge during conversations.
* The idea that failing to select rewind within the timer results in a silent protagonist is a clever way to emphasize the importance
of time pressure.
**Rewind Mechanics:**
* Limiting the number of rewinds and introducing an indicator for weakening power will create a sense of scarcity, making players
more deliberate with their choices.
* Avoiding definitive "this is the last rewind" messages will add to the tension and uncertainty.
* The idea that the rewind power gets weaker with each use could also introduce consequences or penalties for excessive use.
**Premonitions:**
* Showing small, context-free premonitions can create a sense of unease in players, making them question the significance of their
choices.
* The contrast between the premonition's ominous tone and its lack of context will keep players on edge, unsure of what to expect.
* This mechanic could also be used to subtly manipulate player perception or create false leads.
**Story Impact:**
* The combination of these mechanics can create a sense of powerlessness in players, making them feel trapped by the choices they're
forced to make.
* As you mentioned, this could lead players to stop creating checkpoints, thinking that their choices don't matter. This would be an
excellent narrative opportunity, as our protagonist might begin questioning her own agency and purpose.
**Thematic Resonance:**
* The game's themes of powerlessness, unpredictability, and the consequences of choice can create a rich narrative experience.
* By exploring these ideas through gameplay mechanics, you'll be creating a story that's both personal to your protagonist and
universally relatable.
**Mechanical Considerations:**
* To balance the system, you might want to consider introducing "buffer zones" where players have a slightly longer time to make
choices or create checkpoints. This would allow them to adjust to the timer pressure without feeling overwhelmed.
* You could also experiment with different types of premonitions or rewind indicators to keep the gameplay fresh and exciting.
**Incorporating "No Checkpoint" Moments:**
* Introducing sections where players are forced to make choices without rewind will create a sense of realism, making them appreciate
the safety net provided by checkpoints.
* This mechanic can also be used to explore themes of adaptation and resilience in your protagonist. For example, she might need to
rely on her wits or past experiences to navigate challenging situations.
I'm excited to see where you'll take this concept! Do you have any specific ideas for how the premonitions will be presented, or how
the game's narrative will evolve as players experiment with different choices?
>>> For the worldbuilding i thought that the classic 4 elements were really common, with light and darkness being a bit more rare, life and
... death maybe used exclusively by adherants of religions, and space being extremely rare, with time being almost entirely unknown. Maybe
... having light/dark life/death overcomplicates this and i should get rid of either/both pairings? Most people have very small "essence re
... serves" so can only create minor effects like lighting a candle, wetting clothes for washing, something of the sorts. But extremely pow
... erful people also exist capable of flooding cities or splitting mountains. Blessings are not just "create thing of element" but a visua
... lization of the element from the personal experience of the user. But since blessings are granted at birth, they are not connected to s
... pecific past events, but shaped by the deity giving out the blessing. I am not yet sure if there are multiple deities for each element
... or just one, and how the deity doing the blessing decides on the "form" of the blessing. either way, for the protagonist I want her to
... a bit after starting to get premonitions when activating her blessing, get a premonition every night of her death, but without any spec
... ifics, e.g. just her seeing a knife stick out of her chest. And since the details of the premonitions are always true, she goes to try
... and find a way to make that not come true, but so far i have nothing more specific than that
You're building a rich and complex world with a deep history behind the blessings and their connection to the deities.
**Elemental Balance:**
* Simplifying the pairings by removing one of the lesser-used elements (e.g., light or death) could help streamline your world's
balance. However, you might consider leaving at least some rare or exclusive elemental users in the world to create interesting
interactions and conflicts.
* The concept of "essence reserves" is a great way to introduce variability among individuals with blessings. This can lead to some
fascinating character dynamics, such as those who have naturally powerful reserves versus those who struggle to access their
abilities.
**Blessings:**
* I love the idea that blessings are visualizations of the element from the user's personal experience. This adds a level of depth to
the worldbuilding and raises questions about the relationship between the deity granting the blessing, the user, and the elemental
manifestation.
* The concept of a single deity per element or multiple deities for each is an interesting one. You could explore different pantheons
or traditions within your world to create diversity in blessings and experiences.
* Deciding on the form of the blessing based on the deity's choice adds another layer of mysticism, making the user feel connected to
something greater than themselves.
**Protagonist's Journey:**
* The premonitions about her death are a great way to introduce tension and create an emotional connection with your protagonist. I'm
intrigued by the idea that she receives these visions every night without any specifics.
* This setup creates an excellent opportunity for character growth as she tries to prevent or understand these predictions. You could
explore themes of fatalism, free will, and the consequences of her actions.
* Introducing a recurring event (e.g., seeing a knife in her chest) adds a sense of inevitability while keeping players engaged.
**Story Threads:**
* One possible direction for this story is exploring the protagonist's attempts to avoid or prevent her death. This could involve
multiple plot threads, such as:
+ Investigating the nature of premonitions and blessings.
+ Searching for ways to change the course of events predicted by the visions.
+ Interacting with other characters who have similar experiences or expertise.
**Worldbuilding Opportunities:**
* You might consider exploring the implications of these premonitions on your world's social dynamics. For example, do people with
precognitive abilities become outcasts or revered for their insight?
* Introduce mysterious figures or organizations that seek to exploit or understand the blessings and premonitions.
* Develop a rich history behind the blessings and deities, including how they were introduced to the world and how they've evolved
over time.
How do you envision the protagonist's journey unfolding from here? Will she stumble upon clues about her fate, encounter enigmatic
allies or enemies, or follow a different path altogether?
>>> I was thinking more of a personal story, where she does not actively try to uncover the secrets of the world, but more of a desperate s
... truggle to survive day-to-day in a hostile work, perhaps she was enlisted into a military/mercenary group, where making it through the
... day is already difficult. The exact lore and layout of the world should be left up to the imagination/theorycrafting of the players. I
... still need the full picture to make it more consistent, but perhaps in the game itself there is not even enough information to get all
... the answers
That's a fascinating approach! By focusing on the protagonist's personal struggles and survival in a hostile world, you can create a
sense of immersion and authenticity. The players will be invested in her daily battles for existence, rather than trying to uncover
the larger mysteries of the world.
**Personal Story:**
* This approach also allows for a more introspective narrative, where the player is privy to the protagonist's thoughts, emotions,
and inner struggles.
* By not making the game too "encyclopedic" with lore and exposition, you can create a sense of mystery and wonder that players will
fill in themselves through their own experiences and imagination.
**Survival Mechanics:**
* To make the game more engaging and challenging, you could introduce survival mechanics that require the player to manage resources
(e.g., food, water, shelter) and navigate the dangers of the world.
* This could also include features like hunger/thirst systems, fatigue, and injuries that affect gameplay.
**Group Dynamics:**
* Being part of a military/mercenary group adds an extra layer of complexity to the game. The player will need to balance their own
goals with those of their comrades, navigate office politics, and potentially deal with traitors or enemies within.
* This setup also creates opportunities for character development, where the player can form bonds with other characters, learn from
them, and make difficult choices that affect relationships.
**Theories and Speculation:**
* By not providing all the answers in-game, you'll encourage players to theorize and speculate about the world's lore and mechanics.
This can lead to a rich community of discussion and creativity around your game.
* You could also include subtle hints or clues throughout the game that players can pick up on if they're paying attention.
**The "Don't Know" Factor:**
* Embracing uncertainty and leaving some questions unanswered will make the game more immersive and engaging. Players will feel like
they're discovering things for themselves, rather than being spoon-fed information.
* This approach also allows you to focus on storytelling and character development, rather than trying to fill every nook and cranny
with lore.
What do you think about incorporating player-made characters or companion NPCs that have their own motivations and goals? How would
this affect the overall gameplay experience?
>>> I want to make a very small-scale, curated storyline, the entire game should not be more than a few hours. I want to tie the themes of
... fatalism and determinism into the aspect of the replaying of the story and subvert player expectations, perhaps making them think that
... there are not multiple endings, or incentivise the to play it again with a revelation at the end, that your choices do, in fact, matter
... . Perhaps the main feature of the story, her death, will always stay fixed, but the circumstances around her, how the people important
... to her are doing, how long it takes for the premonition to manifest, etc. Maybe in one ending she dies very early being backstabbed by
... a member of her group, in another she dies after making it as a powerful person, etc.
You want to craft a small-scale, tightly focused narrative that explores the themes of fatalism and determinism through the lens of
replayability.
**Subverting Player Expectations:**
* By creating a sense of inevitability around the protagonist's death, you can subvert player expectations about the importance of
their choices. Players will assume that there are multiple endings based on their decisions.
* The revelation at the end that their choices did indeed matter will be a powerful twist, making them reevaluate their understanding
of the story.
**Fixed Main Event:**
* Focusing on the protagonist's death as a fixed event creates a sense of continuity and cohesion across different playthroughs.
Players will feel like they're exploring the same narrative from different angles.
* By keeping the circumstances around her death variable, you can create a wide range of outcomes that are all connected to the main
event.
**Variable Circumstances:**
* The diversity of endings, such as dying early or becoming a powerful person, adds replay value and encourages players to experiment
with different choices.
* This also creates opportunities for interesting comparisons between playthroughs. Players can reflect on how their decisions led to
different outcomes and explore the nuances of the story.
**Curated Storyline:**
* By keeping the game length short (a few hours), you can focus on a tightly controlled narrative that explores specific themes and
ideas.
* This also allows for a high level of polish and attention to detail, ensuring that every aspect of the game is engaging and
thought-provoking.
**Replay Value:**
* The fact that players will need to replay the story multiple times to experience all the different endings creates a sense of
urgency and encourages them to experiment with different choices.
* This also allows for a high degree of player investment in the narrative, as they'll be eager to see how their decisions affect the
outcome.
**Gameplay Mechanics:**
* To further emphasize the importance of player choice, you could incorporate mechanics that highlight the consequences of their
decisions. For example:
+ Different endings could have distinct narrative branches or paths that explore the aftermath of each decision.
+ The game could include subtle hints or foreshadowing that suggest the outcome of certain choices.
What do you think about incorporating a final revelation or epilogue that ties together all the different playthroughs and provides
insight into the world's lore?
+3
View File
@@ -0,0 +1,3 @@
They had finally reached it, an altar of one of the forgotten deities. After searching the world far and while they found the traces of ancient divinities and their forgotten elements. Now, while Sara was running her hand over the moss-covered altar, she was overcome with a sense of deja-vu. She was sure that she had never been here before, this place has been abandoned for centuries after all. But still, she could not shake this strange feeling of familiarity and nostalgia. When her mind was racing to connect the dots, the nostalgia quickly turned into a feeling of dread. But before she could fully realise it, she felt a sharp pain through in her chest. When looking down, she could see the familiar sight of the tip of a sword sticking out of her chest.
"I'm sorry it had to come this far, Sara. We cannot let you get your hands on even more power. When we first met at the training camp, you were such a kind person, just trying to live in this cruel world, but still giving what you could to the rest of us. But now you have changed. The more we trusted you, the more we relied on you, the more distant you felt. Like you started to see us as pawns, not people. Like we were disposable. But the strangest thing is, you still did everything in your power to save us, time and time again. You got so strong so fast, mastered your essence and became the leader of our group, all while not even using your blessing as far as we could tell. So we grew scared, especially once you started being so obsessed with finding the ancient temples, we were scared of what would happen if you got even more powerful. So, we are sorry Sara, but your journey ends here. You can curse us all you want, resent us in your last moments, but just know that we are also just human, and in the end you almost didnt feel human anymore."
+50
View File
@@ -0,0 +1,50 @@
**Gameplay Mechanics:**
* The "create checkpoint" option being an active choice rather than an automatic save will add an extra layer of player agency.
* Incorporating real-time into the dialog options with timers for selection and rewind can create a tense atmosphere, making players
feel like they're on edge during conversations.
* The idea that failing to select rewind within the timer results in a silent protagonist is a clever way to emphasize the importance
of time pressure.
**Rewind Mechanics:**
* Limiting the number of rewinds and introducing an indicator for weakening power will create a sense of scarcity, making players
more deliberate with their choices.
* Avoiding definitive "this is the last rewind" messages will add to the tension and uncertainty.
* The idea that the rewind power gets weaker with each use could also introduce consequences or penalties for excessive use.
**Premonitions:**
* Showing small, context-free premonitions can create a sense of unease in players, making them question the significance of their
choices.
* The contrast between the premonition's ominous tone and its lack of context will keep players on edge, unsure of what to expect.
* This mechanic could also be used to subtly manipulate player perception or create false leads.
**Story Impact:**
* The combination of these mechanics can create a sense of powerlessness in players, making them feel trapped by the choices they're
forced to make.
* As you mentioned, this could lead players to stop creating checkpoints, thinking that their choices don't matter. This would be an
excellent narrative opportunity, as our protagonist might begin questioning her own agency and purpose.
**Thematic Resonance:**
* The game's themes of powerlessness, unpredictability, and the consequences of choice can create a rich narrative experience.
* By exploring these ideas through gameplay mechanics, you'll be creating a story that's both personal to your protagonist and
universally relatable.
**Mechanical Considerations:**
* To balance the system, you might want to consider introducing "buffer zones" where players have a slightly longer time to make
choices or create checkpoints. This would allow them to adjust to the timer pressure without feeling overwhelmed.
* You could also experiment with different types of premonitions or rewind indicators to keep the gameplay fresh and exciting.
**Incorporating "No Checkpoint" Moments:**
* Introducing sections where players are forced to make choices without rewind will create a sense of realism, making them appreciate
the safety net provided by checkpoints.
* This mechanic can also be used to explore themes of adaptation and resilience in your protagonist. For example, she might need to
rely on her wits or past experiences to navigate challenging situations.
I'm excited to see where you'll take this concept! Do you have any specific ideas for how the premonitions will be presented, or how
the game's narrative will evolve as players experiment with different choices?
+26
View File
@@ -0,0 +1,26 @@
The recruitment poster points to a temporary campsite of the Foreststriders, a mercenary group active around the city of Helarum. They are known for being a close-knit group of fairly experienced sellswords, taking on all manner of jobs their group of veterans deem correct. Jobs are accepted by majority vote. When there is a disagreement about whether to take on a job or not, if there are enough people to complete the commission who are in favour, they can do it anyways, but have to take at least 1 person with them who voted against it, and they are then responsible for their safety. This discourages taking missions recklessly with disregard of their own safety, as they also need to be confident enough to provide for the safety of their comrade.
Eron arrives first to the campsite, where he is greeted by Luno.
> Luno: Are you here because you want to join the Foreststriders?
> Eron: Yes, I saw your recruitment notice, and am looking to hone my skills.
> Luno: Then we are in the same boat, I am also here because I want to make some money. I heard that the Foreststriders are pretty good, and they pay well if you get into the main group. What about you, you also looking to get paid?
> Eron: Sure, I also want to make some money, but mostly I want to become stronger so I can protect people who are dear to me.
> Luno: Are you sure you shouldn't rather join the knight order or the city guard?
> Eron: They might give me more formal training, I am looking for real combat experience.
> Luno: Well then, if my guess is correct we might be getting some of that pretty soon.
> Eron: What do you mean by that?
Luno walks away without any response
> Mira: Is this were the Foreststriders recruit their new members?
While he was talking to Luno, Mira and Kaeros walked up behind him.
> Eron: Looks like it, I was just asking the girl over there the same thing. Do you also want to join them?
> Mira: Only if they pay decently.
> Eron: Have you already been in a different group before? I wouldn't even know what mercenaries usually get paid
> Mira: .... No...
> Kaeros: ....
> Eron: ...
>
+6
View File
@@ -0,0 +1,6 @@
mall Village
Outskirts
Foot of mountain range
Herd goats
Make Cheese
Gifts trained for practicability
+17
View File
@@ -0,0 +1,17 @@
After conscripting into a military group, a short but intense training regimen takes place. While it is obvious that Sara is unfit for direct combat, her apparent sense of combat strategy makes her stand out among the group, and after the training is over, she is made the leader of a small 5 person group consisting of her, Eron, Kaeros, Mira and Luno. They are sent out on small missions like escorting merchants, guarding mansions and patrolling the streets. While initially, they are all somewhat cautious and distant from each other, they grow a little closer through the time spent together. Saras leadership leads them to complete all their missions splendidly, almost suspiciously so. It is as if she always know exactly what to say, where to be, what to do. They most notice this when talking to her, as she always knows what is bothering them, reassuring them about whatever their troubles may be, sometimes before ever bringing them up. And most strangely of all, even though everything is going perfectly, she seems to grow more weary and exhausted.
They start doubting her commands, feeling left out and asking to be involved in her planning. For her to let them know beforehand what they were about to do. Sometimes she would throw them into truly dangerous situations, like she was playing with puppets, but every time she would tell them exactly how to navigate the situation so they came out fine. Whenever they did refuse a command, she would seemingly already incorporate that into her scheme and still make a the situation play out fine, but it was obvious that it would have gone better had they followed her command.
They get an important mission to be the personal guard of a religious figure for an important ceremony. During the ceremony, Sara gets knocked out my a group of attacker, and the group falls apart immediately. Without her at the command, the group lacks any sort of cohesion, as they only relied on her to tell them exactly what to do, and Mira dies. They are all devastated by Miras death, and them failing this important mission, but Sara seems most shaken of them all. Her usual weariness and exhaustion seems to transform into desperation and paranoia. And at the same time, there is a rift forming in the team between her and the rest.
The incident made them also feel helpless without her, made them aware of how much they depended or her, but also made them feel like she was not there with them, but reigning over them. Like they were her pawns, to be played in her grand strategy in which they never could take part. And even if they asked, she never divulged any of her plans beforehand. They only way to win was to trust her, but did she trust them?
After the incident, she kept pushing for them to get more mission related to deities, taking part in finding forgotten altars of the ancient long-dead deities. All of them were just suspicions by locals, so they only found empty caves and natural formations, and Sara grew ever more weary and desperate. Like she was looking for something, or hoping to find something.
Meanwhile, missions started going worse. Before they were going flawlessly, but now they started to have minor hiccups. They were getting injured more often and more severely. When before, Sara knew exactly how to get people to do what she wanted, now would sometimes make them angry, cause unnecessary fights, and not warn them of incoming attacks as often. When they asked her about it, probing her for whats wrong, she would oftentimes just stare at them blankly, and dismiss their concerns, saying everything is alright.
So they grew scared, scared of what was happing to her, but also of her. They knew that they were hopeless without her, but she wouldn't relinquish her grip on the leadership, and any attempt of them to prove her wrong just proved even more how much they needed her. And they had to do something before she grew so distant from them that she let one of them die. As she was now, did she even see them as human anymore? Was she herself even human anymore?
So they planned while they were sure she wasn't listening, because they feared that she would convince them that everything is fine, that there was no reason to worry. It felt like she could peer into their soul, know all their weaknesses and play them like a fiddle, just as she always did with others. They grew convinced that she was possessed by something, or hiding some kind of dark power. With her being so eager to search for these old altars, they knew she was searching for power, and they became fearful of what would happen if she got hold of even more power. Would she just discard them like used toys? Would she even care anymore what happens to them?
They decided that should they find an ancient altar, they would kill her before she could become too powerful. She wasn't invincible, her getting knocked out at the ceremony was proof of that. They would use a knife to pierce her heart from behind while she was most distracted, return to the city telling them that she fell off a cliff due to the ground giving out under her, and that they hadn't found any ruins, so no-one would go look to find any traces of what they had done. They then would demote themselves to the lowest rank so they could build up their skill from the basics without relying on her, or run away from the military. The guilt would probably haunt them for the rest of their lives, but if all continued as now, how much longer would their lives last?
BIN
View File
Binary file not shown.
+32
View File
@@ -0,0 +1,32 @@
**Elemental Balance:**
* Simplifying the pairings by removing one of the lesser-used elements (e.g., light or death) could help streamline your world's balance. However, you might consider leaving at least some rare or exclusive elemental users in the world to create interesting interactions and conflicts.
* The concept of "essence reserves" is a great way to introduce variability among individuals with blessings. This can lead to some fascinating character dynamics, such as those who have naturally powerful reserves versus those who struggle to access their abilities.
**Blessings:**
* I love the idea that blessings are visualizations of the element from the user's personal experience. This adds a level of depth to the worldbuilding and raises questions about the relationship between the deity granting the blessing, the user, and the elemental manifestation.
* The concept of a single deity per element or multiple deities for each is an interesting one. You could explore different pantheons or traditions within your world to create diversity in blessings and experiences.
* Deciding on the form of the blessing based on the deity's choice adds another layer of mysticism, making the user feel connected to something greater than themselves.
**Protagonist's Journey:**
* The premonitions about her death are a great way to introduce tension and create an emotional connection with your protagonist. I'm intrigued by the idea that she receives these visions every night without any specifics.
* This setup creates an excellent opportunity for character growth as she tries to prevent or understand these predictions. You could explore themes of fatalism, free will, and the consequences of her actions.
* Introducing a recurring event (e.g., seeing a knife in her chest) adds a sense of inevitability while keeping players engaged.
**Story Threads:**
* One possible direction for this story is exploring the protagonist's attempts to avoid or prevent her death. This could involve multiple plot threads, such as:
+ Investigating the nature of premonitions and blessings.
+ Searching for ways to change the course of events predicted by the visions.
+ Interacting with other characters who have similar experiences or expertise.
**Worldbuilding Opportunities:**
* You might consider exploring the implications of these premonitions on your world's social dynamics. For example, do people with precognitive abilities become outcasts or revered for their insight?
* Introduce mysterious figures or organizations that seek to exploit or understand the blessings and premonitions.
* Develop a rich history behind the blessings and deities, including how they were introduced to the world and how they've evolved over time.
How do you envision the protagonist's journey unfolding from here? Will she stumble upon clues about her fate, encounter enigmatic
allies or enemies, or follow a different path altogether?
@@ -0,0 +1,21 @@
# Copilot Files Status
- Indexed files: 5
- Unindexed files: 0
- Empty files: 0
- Excluded files: 0
## Indexed Files
- [[Conversation]]
- [[Blessing Ideas.md]]
- [[Blessings.md]]
- [[Mora.md]]
- [[World.md]]
## Unindexed Files
No unindexed files found.
## Empty Files
No empty files found.
## Excluded Files (based on settings)
No excluded files.
@@ -0,0 +1,317 @@
---
epoch: 1778436969173
modelKey: qwen2.5:7b|ollama
topic: Conversation Restructuring Plan
tags:
- copilot-conversation
lastAccessedAt: 1778442066470
---
**user**: The current document is a dump of a conversation on the commandline, restructure it into multiple files
[Context: Notes: Conversation.md]
[Timestamp: 2026/05/10 20:16:09]
**ai**: To restructure the provided conversation into multiple files, we can organize the content based on the topics discussed. Heres how you could structure the notes:
1. **Basics.md**
2. **Gameplay Mechanics.md**
3. **Worldbuilding.md**
4. **Protagonist's Journey.md**
### Basics.md
```markdown
NOTE TITLE: [[Basics]]
METADATA:{"created":"2026/05/10 10:14:11","modified":"2026/05/10 18:00:59","chunkId":"Basics.md#0","heading":""}
NOTE BLOCK CONTENT:
>>> I want to tell a story about a girl in a medieval fantasy world where everyone is blessed by a deity/spirit of a certain element. There
... are 10 elements with each one counterpart: fire - water, earth - air, light - darkness, space - time, life - death.
```
### Gameplay Mechanics.md
```markdown
NOTE TITLE: [[Gameplay Mechanics]]
METADATA:{"created":"2026/05/10 11:14:11","modified":"2026/05/10 18:00:59","chunkId":"Gameplay Mechanics.md#0","heading":""}
NOTE BLOCK CONTENT:
Your vision for the gameplay mechanics is both thrilling and unsettling. The combination of real-time choices, limited rewind
capabilities, and premonitions creates a sense of urgency and unpredictability.
**Gameplay Mechanics:**
* The "create checkpoint" option being an active choice rather than an automatic save will add an extra layer of player agency.
* Incorporating real-time into the dialog options with timers for selection and rewind can create a tense atmosphere, making players
feel like they're on edge during conversations.
* The idea that failing to select rewind within the timer results in a silent protagonist is a clever way to emphasize the importance
of time pressure.
**Rewind Mechanics:**
* Limiting the number of rewinds and introducing an indicator for weakening power will create a sense of scarcity, making players
more deliberate with their choices.
* Avoiding definitive "this is the last rewind" messages will add to the tension and uncertainty.
* The idea that the rewind power gets weaker with each use could also introduce consequences or penalties for excessive use.
**Premonitions:**
* Showing small, context-free premonitions can create a sense of unease in players, making them question the significance of their
choices.
* The contrast between the premonition's ominous tone and its lack of context will keep players on edge, unsure of what to expect.
* This mechanic could also be used to subtly manipulate player perception or create false leads.
**Story Impact:**
* The combination of these mechanics can create a sense of powerlessness in players, making them feel trapped by the choices they're
forced to make.
* As you mentioned, this could lead players to stop creating checkpoints, thinking that their choices don't matter. This would be an
excellent narrative opportunity, as our protagonist might begin questioning her own agency and purpose.
**Thematic Resonance:**
* The game's themes of powerlessness, unpredictability, and the consequences of choice can create a rich narrative experience.
* By exploring these ideas through gameplay mechanics, you'll be creating a story that's both personal to your protagonist and
universally relatable.
**Mechanical Considerations:**
* To balance the system, you might want to consider introducing "buffer zones" where players have a slightly longer time to make
choices or create checkpoints. This would allow them to adjust to the timer pressure without feeling overwhelmed.
* You could also experiment with different types of premonitions or rewind indicators to keep the gameplay fresh and exciting.
**Incorporating "No Checkpoint" Moments:**
* Introducing sections where players are forced to make choices without rewind will create a sense of realism, making them appreciate
the safety net provided by checkpoints.
* This mechanic can also be used to explore themes of adaptation and resilience in your protagonist. For example, she might need to
rely on her wits or past experiences to navigate challenging situations.
I'm excited to see where you'll take this concept! Do you have any specific ideas for how the premonitions will be presented, or how
the game's narrative will evolve as players experiment with different choices?
```
### Worldbuilding.md
```markdown
NOTE TITLE: [[Worldbuilding]]
METADATA:{"created":"2026/05/10 10:17:36","modified":"2026/05/10 18:57:55","chunkId":"Worldbuilding.md#0","heading":""}
NOTE BLOCK CONTENT:
>>> For the worldbuilding i thought that the classic 4 elements were really common, with light and darkness being a bit more rare, life and
... death maybe used exclusively by adherants of religions, and space being extremely rare, with time being almost entirely unknown. Maybe
... having light/dark life/death overcomplicates this and i should get rid of either/both pairings? Most people have very small "essence re
... serves" so can only create minor effects like lighting a candle, wetting clothes for washing, something of the sorts. But extremely pow
... erful people also exist capable of flooding cities or splitting mountains. Blessings are not just "create thing of element" but a visua
... lization of the element from the personal experience of the user. But since blessings are granted at birth, they are not connected to s
... pecific past events, but shaped by the deity giving out the blessing. I am not yet sure if there are multiple deities for each element
... or just one, and how the deity doing the blessing decides on the "form" of the blessing. either way, for the protagonist I want her to
... a bit after starting to get premonitions when activating her blessing, get a premonition every night of her death, but without any spec
... ifics, e.g. just her seeing a knife stick out of her chest. And since the details of the premonitions are always true, she goes to try
... and find a way to make that not come true, but so far i have nothing more specific than that
You're building a rich and complex world with a deep history behind the blessings and their connection to the deities.
**Elemental Balance:**
* Simplifying the pairings by removing one of the lesser-used elements (e.g., light or death) could help streamline your world's
balance. However, you might consider leaving at least some rare or exclusive elemental users in the world to create interesting
interactions and conflicts.
* The concept of "essence reserves" is a great way to introduce variability among individuals with blessings. This can lead to some
fascinating character dynamics, such as those who have naturally powerful reserves versus those who struggle to access their
abilities.
**Blessings:**
* I love the idea that blessings are visualizations of the element from the user's personal experience. This adds a level of depth to
the worldbuilding and raises questions about the relationship between the deity granting the blessing, the user, and the elemental
manifestation.
* The concept of a single deity per element or multiple deities for each is an interesting one. You could explore different pantheons
or traditions within your world to create diversity in blessings and experiences.
* Deciding on the form of the blessing based on the deity's choice adds another layer of mysticism, making the user feel connected to
something greater than themselves.
**Protagonist's Journey:**
* The premonitions about her death are a great way to introduce tension and create an emotional connection with your protagonist. I'm
intrigued by the idea that she receives these visions every night without any specifics.
* This setup creates an excellent opportunity for character growth as she tries to prevent or understand these predictions. You could
explore themes of fatalism, free will, and the consequences of her actions.
* Introducing a recurring event (e.g., seeing a knife in her chest) adds a sense of inevitability while keeping players engaged.
**Story Threads:**
* One possible direction for this story is exploring the protagonist's attempts to avoid or prevent her death. This could involve
multiple plot threads, such as:
+ Investigating the nature of premonitions and blessings.
+ Searching for ways to change the course of events predicted by the visions.
+ Interacting with other characters who have similar experiences or expertise.
**Worldbuilding Opportunities:**
* You might consider exploring the implications of these premonitions on your world's social dynamics. For example, do people with
precognitive abilities become outcasts or revered for their insight?
* Introduce mysterious figures or organizations that seek to exploit or understand the blessings and premonitions.
* Develop a rich history behind the blessings and deities, including how they were introduced to the world and how they've evolved
over time.
How do you envision the protagonist's journey unfolding from here? Will she stumble upon clues about her fate, encounter enigmatic
allies or enemies, or follow a different path altogether?
```
### Protagonist's Journey.md
```markdown
NOTE TITLE: [[Protagonist's Journey]]
METADATA:{"created":"2026/05/10 10:14:11","modified":"2026/05/10 18:00:59","chunkId":"Protagonist's Journey.md#0","heading":""}
NOTE BLOCK CONTENT:
>>> I was thinking more of a personal story, where she does not actively try to uncover the secrets of the world, but more of a desperate s
... truggle to survive day-to-day in a hostile work, perhaps she was enlisted into a military/mercenary group, where making it through the
... day is already difficult. The exact lore and layout of the world should be left up to the imagination/theorycrafting of the players. I
... still need the full picture to make it more consistent, but perhaps in the game itself there is not even enough information to get all
... the answers
That's a fascinating approach! By focusing on the protagonist's personal struggles and survival in a hostile world, you can create a
sense of immersion and authenticity. The players will be invested in her daily battles for existence, rather than trying to uncover
the larger mysteries of the world.
**Personal Story:**
* This approach also allows for a more introspective narrative, where the player is privy to the protagonist's thoughts, emotions,
and inner struggles.
* By not making the game too "encyclopedic" with lore and exposition, you can create a sense of mystery and wonder that players will
fill in themselves through their own experiences and imagination.
**Survival Mechanics:**
* To make the game more engaging and challenging, you could introduce survival mechanics that require the player to manage resources
(e.g., food, water, shelter) and navigate the dangers of the world.
* This could also include features like hunger/thirst systems, fatigue, and injuries that affect gameplay.
**Group Dynamics:**
* Being part of a military/mercenary group adds an extra layer of complexity to the game. The player will need to balance their own
goals with those of their comrades, navigate office politics, and potentially deal with traitors or enemies within.
* This setup also creates opportunities for character development, where the player can form bonds with other characters, learn from
them, and make difficult choices that affect relationships.
**Theories and Speculation:**
* By not providing all the answers in-game, you'll encourage players to theorize and speculate about the world's lore and mechanics.
This can lead to a rich community of discussion and creativity around your game.
* You could also include subtle hints or clues throughout the game that players can pick up on if they're paying attention.
**The "Don't Know" Factor:**
* Embracing uncertainty and leaving some questions unanswered will make the game more immersive and engaging. Players will feel like
they're discovering things for themselves, rather than being spoon-fed information.
* This approach also allows you to focus on storytelling and character development, rather than trying to fill every nook and cranny
with lore.
What do you think about incorporating player-made characters or companion NPCs that have their own motivations and goals? How would
this affect the overall gameplay experience?
>>> I want to make a very small-scale, curated storyline, the entire game should not be more than a few hours. I want to tie the themes of
... fatalism and determinism into the aspect of the replaying of the story and subvert player expectations, perhaps making them think that
... there are not multiple endings, or incentivise the to play it again with a revelation at the end, that your choices do, in fact, matter
... . Perhaps the main feature of the story, her death, will always stay fixed, but the circumstances around her, how the people important
... to her are doing, how long it takes for the premonition to manifest, etc. Maybe in one ending she dies very early being backstabbed by
... a member of her group, in another she dies after making it as a powerful person, etc.
You want to craft a small-scale, tightly focused narrative that explores the themes of fatalism and determinism through the lens of
replayability.
**Subverting Player Expectations:**
* By creating a sense of inevitability around the protagonist's death, you can subvert player expectations about the importance of
their choices. Players will assume that there are multiple endings based on their decisions.
* The revelation at the end that their choices did indeed matter will be a powerful twist, making them reevaluate their understanding
of the story.
**Fixed Main Event:**
* Focusing on the protagonist's death as a fixed event creates a sense of continuity and cohesion across different playthroughs.
Players will feel like they're exploring the same narrative from different angles.
* By keeping the circumstances around her death variable, you can create a wide range of outcomes that are all connected to the main
event.
**Variable Circumstances:**
* The diversity of endings, such as dying early or becoming a powerful person, adds replay value and encourages players to experiment
with different choices.
* This also creates opportunities for interesting comparisons between playthroughs. Players can reflect on how their decisions led to
different outcomes and explore the nuances of the story.
**Curated Storyline:**
* By keeping the game length short (a few hours), you can focus on a tightly controlled narrative that explores specific themes and
ideas.
* This also allows for a high level of polish and attention to detail, ensuring that every aspect of the game is engaging and
thought-provoking.
**Replay Value:**
* The fact that players will need to replay the story multiple times to experience all the different endings creates a sense of
urgency and encourages them to experiment with different choices.
* This also allows for a high degree of player investment in the narrative, as they'll be eager to see how their decisions affect the
outcome.
**Gameplay Mechanics:**
* To further emphasize the importance of player choice, you could incorporate mechanics that highlight the consequences of their
decisions. For example:
+ Different endings could have distinct narrative branches or paths that explore the aftermath of each decision.
+ The game could include subtle hints or foreshadowing that suggest the outcome of certain choices.
What do you think about incorporating a final revelation or epilogue that ties together all the different playthroughs and provides
insight into the world's lore?
```
This restructuring should help organize your content more effectively, making it easier to navigate and manage.
[Timestamp: 2026/05/10 20:23:35]
**user**: I now want to start creating a concrete storyline and characters, for a story like this, would it be better to start "from the end", or chronologically? since there will be multiple endings, probably chronologically, but since they all have to end the same, hamfisting the ending might also be jarring
[Context: Notes: Mora.md]
[Timestamp: 2026/05/10 20:30:39]
**ai**: For creating a concrete storyline and characters in your visual novel, starting from the end can be an effective approach. Heres why:
1. **Clear Focus on Themes**: Starting with the fixed main event (the protagonist's death) allows you to clearly define the themes of fatalism and determinism early on. This can help guide the narrative and character development towards these central ideas.
2. **Character Development**: By knowing the ultimate outcome, you can build characters and their motivations around this core event. The protagonists journey will be more cohesive if her actions are consistently leading towards a single, significant conclusion.
3. **Replayability**: Since there are multiple endings but the main event remains fixed, starting from the end ensures that each playthrough has a clear goal or resolution. This can make the game more engaging as players try to influence the outcome while understanding the inevitability of the protagonist's fate.
4. **Consistency and Coherence**: Having a clear endpoint helps maintain consistency in the narrative. You can explore different paths leading to the same conclusion, which adds depth without creating conflicting storylines.
5. **Player Investment**: Knowing the main event from the start can increase player investment as they try to influence the outcome. The sense of inevitability can create a more immersive experience.
However, starting chronologically also has its benefits:
1. **Character Growth and Backstory**: Building up the protagonists backstory and character development step-by-step can make her journey feel more natural and relatable. This approach allows for a richer narrative with more depth in each playthrough.
2. **Dynamic Choices**: Chronological storytelling can provide more dynamic choices as players experience the world and characters firsthand, making their decisions feel more impactful.
3. **World Building**: Starting from the beginning can help you flesh out the world and its lore gradually, which might be beneficial if you want to keep some elements of the world mysterious until later in the game.
Given your desire for multiple endings but a fixed main event, starting "from the end" could be more effective:
- **Define the Main Event**: Clearly outline the protagonist's death and the circumstances around it.
- **Build Backwards**: Develop the characters journey, relationships, and motivations leading up to this event.
- **Explore Different Paths**: Create distinct paths that lead to different outcomes but still culminate in the same main event.
Heres a possible structure:
1. **Main Event (Fixed)**: The protagonist's death is always the final outcome.
2. **Character Development**: Build her backstory, relationships, and key moments leading up to this event.
3. **Multiple Endings**: Develop different paths that lead to various outcomes but still result in the main event.
By starting from the end, you can ensure a clear narrative focus while allowing for rich character development and multiple playthroughs. This approach can create a more cohesive and engaging experience for players.
#### Sources
[^1]: [[World]] (World.md)
[Timestamp: 2026/05/10 20:30:58]
@@ -0,0 +1,17 @@
---
epoch: 1778433743000
modelKey: "qwen2.5:7b|ollama"
topic: "Error in File Splitting Request"
lastAccessedAt: 1778442050123
tags:
- copilot-conversation
---
**user**: I dumped a conversation from the terminal into a file, please structure the contents into multiple files
[Context: Notes: Basics.md]
[Timestamp: 2026/05/10 19:22:23]
**ai**: <errorChunk>invalid model name</errorChunk>
[Timestamp: 2026/05/10 20:04:05]
@@ -0,0 +1,477 @@
---
epoch: 1778436969000
modelKey: "qwen2.5:7b|ollama"
topic: "Final Event Alternatives"
tags:
- copilot-conversation
---
**user**: The current document is a dump of a conversation on the commandline, restructure it into multiple files
[Context: Notes: Conversation.md]
[Timestamp: 2026/05/10 20:16:09]
**ai**: To restructure the provided conversation into multiple files, we can organize the content based on the topics discussed. Heres how you could structure the notes:
1. **Basics.md**
2. **Gameplay Mechanics.md**
3. **Worldbuilding.md**
4. **Protagonist's Journey.md**
### Basics.md
```markdown
NOTE TITLE: [[Basics]]
METADATA:{"created":"2026/05/10 10:14:11","modified":"2026/05/10 18:00:59","chunkId":"Basics.md#0","heading":""}
NOTE BLOCK CONTENT:
>>> I want to tell a story about a girl in a medieval fantasy world where everyone is blessed by a deity/spirit of a certain element. There
... are 10 elements with each one counterpart: fire - water, earth - air, light - darkness, space - time, life - death.
```
### Gameplay Mechanics.md
```markdown
NOTE TITLE: [[Gameplay Mechanics]]
METADATA:{"created":"2026/05/10 11:14:11","modified":"2026/05/10 18:00:59","chunkId":"Gameplay Mechanics.md#0","heading":""}
NOTE BLOCK CONTENT:
Your vision for the gameplay mechanics is both thrilling and unsettling. The combination of real-time choices, limited rewind
capabilities, and premonitions creates a sense of urgency and unpredictability.
**Gameplay Mechanics:**
* The "create checkpoint" option being an active choice rather than an automatic save will add an extra layer of player agency.
* Incorporating real-time into the dialog options with timers for selection and rewind can create a tense atmosphere, making players
feel like they're on edge during conversations.
* The idea that failing to select rewind within the timer results in a silent protagonist is a clever way to emphasize the importance
of time pressure.
**Rewind Mechanics:**
* Limiting the number of rewinds and introducing an indicator for weakening power will create a sense of scarcity, making players
more deliberate with their choices.
* Avoiding definitive "this is the last rewind" messages will add to the tension and uncertainty.
* The idea that the rewind power gets weaker with each use could also introduce consequences or penalties for excessive use.
**Premonitions:**
* Showing small, context-free premonitions can create a sense of unease in players, making them question the significance of their
choices.
* The contrast between the premonition's ominous tone and its lack of context will keep players on edge, unsure of what to expect.
* This mechanic could also be used to subtly manipulate player perception or create false leads.
**Story Impact:**
* The combination of these mechanics can create a sense of powerlessness in players, making them feel trapped by the choices they're
forced to make.
* As you mentioned, this could lead players to stop creating checkpoints, thinking that their choices don't matter. This would be an
excellent narrative opportunity, as our protagonist might begin questioning her own agency and purpose.
**Thematic Resonance:**
* The game's themes of powerlessness, unpredictability, and the consequences of choice can create a rich narrative experience.
* By exploring these ideas through gameplay mechanics, you'll be creating a story that's both personal to your protagonist and
universally relatable.
**Mechanical Considerations:**
* To balance the system, you might want to consider introducing "buffer zones" where players have a slightly longer time to make
choices or create checkpoints. This would allow them to adjust to the timer pressure without feeling overwhelmed.
* You could also experiment with different types of premonitions or rewind indicators to keep the gameplay fresh and exciting.
**Incorporating "No Checkpoint" Moments:**
* Introducing sections where players are forced to make choices without rewind will create a sense of realism, making them appreciate
the safety net provided by checkpoints.
* This mechanic can also be used to explore themes of adaptation and resilience in your protagonist. For example, she might need to
rely on her wits or past experiences to navigate challenging situations.
I'm excited to see where you'll take this concept! Do you have any specific ideas for how the premonitions will be presented, or how
the game's narrative will evolve as players experiment with different choices?
```
### Worldbuilding.md
```markdown
NOTE TITLE: [[Worldbuilding]]
METADATA:{"created":"2026/05/10 10:17:36","modified":"2026/05/10 18:57:55","chunkId":"Worldbuilding.md#0","heading":""}
NOTE BLOCK CONTENT:
>>> For the worldbuilding i thought that the classic 4 elements were really common, with light and darkness being a bit more rare, life and
... death maybe used exclusively by adherants of religions, and space being extremely rare, with time being almost entirely unknown. Maybe
... having light/dark life/death overcomplicates this and i should get rid of either/both pairings? Most people have very small "essence re
... serves" so can only create minor effects like lighting a candle, wetting clothes for washing, something of the sorts. But extremely pow
... erful people also exist capable of flooding cities or splitting mountains. Blessings are not just "create thing of element" but a visua
... lization of the element from the personal experience of the user. But since blessings are granted at birth, they are not connected to s
... pecific past events, but shaped by the deity giving out the blessing. I am not yet sure if there are multiple deities for each element
... or just one, and how the deity doing the blessing decides on the "form" of the blessing. either way, for the protagonist I want her to
... a bit after starting to get premonitions when activating her blessing, get a premonition every night of her death, but without any spec
... ifics, e.g. just her seeing a knife stick out of her chest. And since the details of the premonitions are always true, she goes to try
... and find a way to make that not come true, but so far i have nothing more specific than that
You're building a rich and complex world with a deep history behind the blessings and their connection to the deities.
**Elemental Balance:**
* Simplifying the pairings by removing one of the lesser-used elements (e.g., light or death) could help streamline your world's
balance. However, you might consider leaving at least some rare or exclusive elemental users in the world to create interesting
interactions and conflicts.
* The concept of "essence reserves" is a great way to introduce variability among individuals with blessings. This can lead to some
fascinating character dynamics, such as those who have naturally powerful reserves versus those who struggle to access their
abilities.
**Blessings:**
* I love the idea that blessings are visualizations of the element from the user's personal experience. This adds a level of depth to
the worldbuilding and raises questions about the relationship between the deity granting the blessing, the user, and the elemental
manifestation.
* The concept of a single deity per element or multiple deities for each is an interesting one. You could explore different pantheons
or traditions within your world to create diversity in blessings and experiences.
* Deciding on the form of the blessing based on the deity's choice adds another layer of mysticism, making the user feel connected to
something greater than themselves.
**Protagonist's Journey:**
* The premonitions about her death are a great way to introduce tension and create an emotional connection with your protagonist. I'm
intrigued by the idea that she receives these visions every night without any specifics.
* This setup creates an excellent opportunity for character growth as she tries to prevent or understand these predictions. You could
explore themes of fatalism, free will, and the consequences of her actions.
* Introducing a recurring event (e.g., seeing a knife in her chest) adds a sense of inevitability while keeping players engaged.
**Story Threads:**
* One possible direction for this story is exploring the protagonist's attempts to avoid or prevent her death. This could involve
multiple plot threads, such as:
+ Investigating the nature of premonitions and blessings.
+ Searching for ways to change the course of events predicted by the visions.
+ Interacting with other characters who have similar experiences or expertise.
**Worldbuilding Opportunities:**
* You might consider exploring the implications of these premonitions on your world's social dynamics. For example, do people with
precognitive abilities become outcasts or revered for their insight?
* Introduce mysterious figures or organizations that seek to exploit or understand the blessings and premonitions.
* Develop a rich history behind the blessings and deities, including how they were introduced to the world and how they've evolved
over time.
How do you envision the protagonist's journey unfolding from here? Will she stumble upon clues about her fate, encounter enigmatic
allies or enemies, or follow a different path altogether?
```
### Protagonist's Journey.md
```markdown
NOTE TITLE: [[Protagonist's Journey]]
METADATA:{"created":"2026/05/10 10:14:11","modified":"2026/05/10 18:00:59","chunkId":"Protagonist's Journey.md#0","heading":""}
NOTE BLOCK CONTENT:
>>> I was thinking more of a personal story, where she does not actively try to uncover the secrets of the world, but more of a desperate s
... truggle to survive day-to-day in a hostile work, perhaps she was enlisted into a military/mercenary group, where making it through the
... day is already difficult. The exact lore and layout of the world should be left up to the imagination/theorycrafting of the players. I
... still need the full picture to make it more consistent, but perhaps in the game itself there is not even enough information to get all
... the answers
That's a fascinating approach! By focusing on the protagonist's personal struggles and survival in a hostile world, you can create a
sense of immersion and authenticity. The players will be invested in her daily battles for existence, rather than trying to uncover
the larger mysteries of the world.
**Personal Story:**
* This approach also allows for a more introspective narrative, where the player is privy to the protagonist's thoughts, emotions,
and inner struggles.
* By not making the game too "encyclopedic" with lore and exposition, you can create a sense of mystery and wonder that players will
fill in themselves through their own experiences and imagination.
**Survival Mechanics:**
* To make the game more engaging and challenging, you could introduce survival mechanics that require the player to manage resources
(e.g., food, water, shelter) and navigate the dangers of the world.
* This could also include features like hunger/thirst systems, fatigue, and injuries that affect gameplay.
**Group Dynamics:**
* Being part of a military/mercenary group adds an extra layer of complexity to the game. The player will need to balance their own
goals with those of their comrades, navigate office politics, and potentially deal with traitors or enemies within.
* This setup also creates opportunities for character development, where the player can form bonds with other characters, learn from
them, and make difficult choices that affect relationships.
**Theories and Speculation:**
* By not providing all the answers in-game, you'll encourage players to theorize and speculate about the world's lore and mechanics.
This can lead to a rich community of discussion and creativity around your game.
* You could also include subtle hints or clues throughout the game that players can pick up on if they're paying attention.
**The "Don't Know" Factor:**
* Embracing uncertainty and leaving some questions unanswered will make the game more immersive and engaging. Players will feel like
they're discovering things for themselves, rather than being spoon-fed information.
* This approach also allows you to focus on storytelling and character development, rather than trying to fill every nook and cranny
with lore.
What do you think about incorporating player-made characters or companion NPCs that have their own motivations and goals? How would
this affect the overall gameplay experience?
>>> I want to make a very small-scale, curated storyline, the entire game should not be more than a few hours. I want to tie the themes of
... fatalism and determinism into the aspect of the replaying of the story and subvert player expectations, perhaps making them think that
... there are not multiple endings, or incentivise the to play it again with a revelation at the end, that your choices do, in fact, matter
... . Perhaps the main feature of the story, her death, will always stay fixed, but the circumstances around her, how the people important
... to her are doing, how long it takes for the premonition to manifest, etc. Maybe in one ending she dies very early being backstabbed by
... a member of her group, in another she dies after making it as a powerful person, etc.
You want to craft a small-scale, tightly focused narrative that explores the themes of fatalism and determinism through the lens of
replayability.
**Subverting Player Expectations:**
* By creating a sense of inevitability around the protagonist's death, you can subvert player expectations about the importance of
their choices. Players will assume that there are multiple endings based on their decisions.
* The revelation at the end that their choices did indeed matter will be a powerful twist, making them reevaluate their understanding
of the story.
**Fixed Main Event:**
* Focusing on the protagonist's death as a fixed event creates a sense of continuity and cohesion across different playthroughs.
Players will feel like they're exploring the same narrative from different angles.
* By keeping the circumstances around her death variable, you can create a wide range of outcomes that are all connected to the main
event.
**Variable Circumstances:**
* The diversity of endings, such as dying early or becoming a powerful person, adds replay value and encourages players to experiment
with different choices.
* This also creates opportunities for interesting comparisons between playthroughs. Players can reflect on how their decisions led to
different outcomes and explore the nuances of the story.
**Curated Storyline:**
* By keeping the game length short (a few hours), you can focus on a tightly controlled narrative that explores specific themes and
ideas.
* This also allows for a high level of polish and attention to detail, ensuring that every aspect of the game is engaging and
thought-provoking.
**Replay Value:**
* The fact that players will need to replay the story multiple times to experience all the different endings creates a sense of
urgency and encourages them to experiment with different choices.
* This also allows for a high degree of player investment in the narrative, as they'll be eager to see how their decisions affect the
outcome.
**Gameplay Mechanics:**
* To further emphasize the importance of player choice, you could incorporate mechanics that highlight the consequences of their
decisions. For example:
+ Different endings could have distinct narrative branches or paths that explore the aftermath of each decision.
+ The game could include subtle hints or foreshadowing that suggest the outcome of certain choices.
What do you think about incorporating a final revelation or epilogue that ties together all the different playthroughs and provides
insight into the world's lore?
```
This restructuring should help organize your content more effectively, making it easier to navigate and manage.
[Timestamp: 2026/05/10 20:23:35]
**user**: I now want to start creating a concrete storyline and characters, for a story like this, would it be better to start "from the end", or chronologically? since there will be multiple endings, probably chronologically, but since they all have to end the same, hamfisting the ending might also be jarring
[Context: Notes: Mora.md]
[Timestamp: 2026/05/10 20:30:39]
**ai**: For creating a concrete storyline and characters in your visual novel, starting from the end can be an effective approach. Heres why:
1. **Clear Focus on Themes**: Starting with the fixed main event (the protagonist's death) allows you to clearly define the themes of fatalism and determinism early on. This can help guide the narrative and character development towards these central ideas.
2. **Character Development**: By knowing the ultimate outcome, you can build characters and their motivations around this core event. The protagonists journey will be more cohesive if her actions are consistently leading towards a single, significant conclusion.
3. **Replayability**: Since there are multiple endings but the main event remains fixed, starting from the end ensures that each playthrough has a clear goal or resolution. This can make the game more engaging as players try to influence the outcome while understanding the inevitability of the protagonist's fate.
4. **Consistency and Coherence**: Having a clear endpoint helps maintain consistency in the narrative. You can explore different paths leading to the same conclusion, which adds depth without creating conflicting storylines.
5. **Player Investment**: Knowing the main event from the start can increase player investment as they try to influence the outcome. The sense of inevitability can create a more immersive experience.
However, starting chronologically also has its benefits:
1. **Character Growth and Backstory**: Building up the protagonists backstory and character development step-by-step can make her journey feel more natural and relatable. This approach allows for a richer narrative with more depth in each playthrough.
2. **Dynamic Choices**: Chronological storytelling can provide more dynamic choices as players experience the world and characters firsthand, making their decisions feel more impactful.
3. **World Building**: Starting from the beginning can help you flesh out the world and its lore gradually, which might be beneficial if you want to keep some elements of the world mysterious until later in the game.
Given your desire for multiple endings but a fixed main event, starting "from the end" could be more effective:
- **Define the Main Event**: Clearly outline the protagonist's death and the circumstances around it.
- **Build Backwards**: Develop the characters journey, relationships, and motivations leading up to this event.
- **Explore Different Paths**: Create distinct paths that lead to different outcomes but still culminate in the same main event.
Heres a possible structure:
1. **Main Event (Fixed)**: The protagonist's death is always the final outcome.
2. **Character Development**: Build her backstory, relationships, and key moments leading up to this event.
3. **Multiple Endings**: Develop different paths that lead to various outcomes but still result in the main event.
By starting from the end, you can ensure a clear narrative focus while allowing for rich character development and multiple playthroughs. This approach can create a more cohesive and engaging experience for players.
#### Sources
[^1]: [[World]] (World.md)
[Timestamp: 2026/05/10 20:30:58]
**user**: Then lets start with defining the final event, what would be some alternative events that can still give definite premonitions of death, while leaving ambiguity to the exact circumstances?
[Context: Notes: Blessing Ideas.md]
[Timestamp: 2026/05/10 21:44:45]
**ai**: To define the final event and create multiple alternative endings where the protagonist dies but the exact circumstances remain ambiguous, we can explore various scenarios. Here are a few possibilities:
1. **Backstabbed by a Comrade:**
- The protagonist is betrayed by someone within her group or military unit.
- She might be ambushed during a mission and killed in a sudden attack.
2. **Accidental Death During a Mission:**
- While on a dangerous mission, she slips and falls to her death.
- A trap set by enemies leads to her demise.
3. **Natural Disaster:**
- She is caught in a natural disaster such as an avalanche or earthquake.
- A sudden storm causes her to fall from a cliff.
4. **Self-Sacrifice for the Greater Good:**
- In a desperate attempt to save others, she puts herself in harm's way and dies heroically.
- She makes a sacrifice that leads to the safety of her group but results in her own death.
5. **Mysterious Illness or Injury:**
- She contracts an illness or suffers an injury during a mission that proves fatal.
- A mysterious poison is administered, leading to her demise over time.
6. **Accidental Poisoning:**
- She ingests something she believes to be harmless but turns out to be poisonous.
- Someone mistakenly gives her a lethal dose of medicine.
7. **Tragic Mistake During Training:**
- A training exercise goes wrong, and she is killed by an unexpected accident.
- She makes a critical error during a high-stakes operation that results in her death.
8. **Sabotage by External Forces:**
- An enemy faction sabotages her equipment or supplies, leading to her downfall.
- A hidden trap set by adversaries triggers her demise.
### Example Scenarios
1. **Backstabbed by a Comrade:**
- The protagonist is part of a military unit where she has earned the trust and respect of her comrades.
- One night, during a routine patrol, she is ambushed by a traitor who had been secretly working with an enemy faction.
- She dies in a sudden attack, leaving behind only vague hints about the betrayal.
2. **Accidental Death During a Mission:**
- While on a mission to retrieve crucial information from a heavily guarded fortress, she slips and falls down a hidden staircase.
- The fall is so severe that it results in fatal injuries.
- She dies before her comrades can reach her, leaving behind only the memory of her bravery.
3. **Natural Disaster:**
- During a mission to explore an ancient ruin, she encounters a sudden earthquake.
- The ground gives way beneath her, and she is buried alive.
- Her body is never found, and the exact circumstances remain unknown.
4. **Self-Sacrifice for the Greater Good:**
- In a desperate attempt to save her village from an impending attack by a powerful enemy, she leads a charge that results in her death.
- She dies heroically but leaves behind only the memory of her selflessness and bravery.
5. **Mysterious Illness or Injury:**
- While on a long mission, she contracts a mysterious illness that weakens her over time.
- The exact cause remains unknown, but it slowly drains her strength until she is too weak to continue.
- She dies in her sleep, leaving behind only the memory of her suffering and the uncertainty of what caused her demise.
6. **Accidental Poisoning:**
- During a diplomatic meeting with an ally, someone mistakenly gives her a lethal dose of medicine meant for another person.
- The poison takes effect slowly, leading to a painful death.
- She dies in her sleep, leaving behind only the memory of her last moments.
7. **Tragic Mistake During Training:**
- While undergoing intense training exercises, she makes a critical mistake that results in an unexpected accident.
- The fall is so severe that it causes fatal injuries.
- Her comrades find her body but are unable to determine exactly what happened.
8. **Sabotage by External Forces:**
- An enemy faction sets up a hidden trap during a mission, and she falls into it.
- The trap is designed to be undetectable until it's too late.
- She dies in the explosion or collapse of the trap, leaving behind only the memory of her last moments.
### Summary
By defining these alternative events, you can create multiple endings where the protagonist dies but the exact circumstances remain ambiguous. This approach will keep players engaged and encourage them to explore different playthroughs to uncover the truth about her fate.
#### Sources
[^1]: [[Basics]] (Basics.md)
[^2]: [[Conversation]] (Conversation.md)
[Timestamp: 2026/05/10 21:45:05]
**user**: I dont really see how these can deliver an image of what happens, for the backstabbing i can imagine her seeing a knife stick out of her chest and not seeing her surroundings, or who stabbed her, but for the others i fail to see what she could "see"
[Context: Notes: Blessing Ideas.md]
[Timestamp: 2026/05/10 21:49:37]
**ai**: To address your concern about visualizing the premonitions more effectively, let's consider how you can make these premonitions more vivid and impactful. Here are some alternative scenarios that might help:
1. **Backstabbed by a Comrade:**
- The protagonist sees a knife in her back but does not see who is holding it.
- She hears a whisper of betrayal, but the face of the betrayer remains hidden.
2. **Accidental Death During a Mission:**
- She sees herself falling from a cliff but cannot see the exact moment or cause of the fall.
- The ground seems to move in slow motion as she descends, but the details are unclear.
3. **Natural Disaster:**
- She feels an earthquake building beneath her feet and hears distant screams, but the exact location is unknown.
- Vague images of crumbling structures and falling debris flash before her eyes.
4. **Self-Sacrifice for the Greater Good:**
- She sees herself leading a charge into battle, but the faces of those around her are blurred.
- The vision ends with a sense of heroism and sacrifice, but she does not see the outcome clearly.
5. **Being Backstabbed by a Comrade:**
- She hears a sudden whisper of betrayal and feels a sharp pain in her back.
- The vision is dark and fleeting, leaving only an image of a knife and a shadowy figure.
6. **Dying After Making It as a Powerful Person:**
- She sees herself standing on a high cliff, looking out over the kingdom she has built.
- A sense of impending doom washes over her, but the exact cause is unclear.
### Example Premonitions
1. **Backstabbed by a Comrade:**
- *Vision:* The protagonist feels a sharp pain in her back and hears a whisper of betrayal. She sees a knife but cannot see who holds it.
- *Details:* The vision is dark, with only the image of a knife and a shadowy figure.
2. **Accidental Death During a Mission:**
- *Vision:* The protagonist feels an earthquake building beneath her feet and hears distant screams. Vague images of crumbling structures and falling debris flash before her eyes.
- *Details:* The vision is in slow motion, with the ground moving but the exact cause of the fall remaining unclear.
3. **Natural Disaster:**
- *Vision:* The protagonist feels an earthquake building beneath her feet and hears distant screams. Vague images of crumbling structures and falling debris flash before her eyes.
- *Details:* The vision is in slow motion, with the ground moving but the exact cause of the fall remaining unclear.
4. **Self-Sacrifice for the Greater Good:**
- *Vision:* The protagonist sees herself leading a charge into battle, but the faces of those around her are blurred. A sense of heroism and sacrifice washes over her.
- *Details:* The vision is dark, with only the image of a heroic figure standing on a high cliff.
5. **Being Backstabbed by a Comrade:**
- *Vision:* The protagonist hears a sudden whisper of betrayal and feels a sharp pain in her back. She sees a knife but cannot see who holds it.
- *Details:* The vision is dark, with only the image of a knife and a shadowy figure.
6. **Dying After Making It as a Powerful Person:**
- *Vision:* The protagonist stands on a high cliff, looking out over the kingdom she has built. A sense of impending doom washes over her.
- *Details:* The vision is dark, with only the image of a powerful figure standing on a high cliff.
### Summary
By providing more detailed and vivid descriptions for each premonition, you can make them more impactful and memorable. This will help players understand the significance of these visions and drive their desire to uncover the truth behind them.
#### Sources
[^1]: [[World]]
[^2]: [[Basics]]
[^3]: [[Conversation]]
#### Sources
[^1]: [[World]] (World.md)
[^2]: [[Basics]] (Basics.md)
[^3]: [[Conversation]] (Conversation.md)
[Timestamp: 2026/05/10 21:49:58]