Compare commits

...

13 Commits

Author SHA1 Message Date
c8072ba67e vault backup: 2025-10-20 14:41:04 2025-10-20 14:41:04 +02:00
f02f0b5548 vault backup: 2025-10-20 14:39:11 2025-10-20 14:39:11 +02:00
a753dfb659 vault backup: 2025-10-20 14:38:30 2025-10-20 14:38:30 +02:00
f1a9dd4704 vault backup: 2025-10-18 13:32:31 2025-10-18 13:32:31 +02:00
875e1a9319 vault backup: 2025-10-17 21:36:25 2025-10-17 21:36:25 +02:00
6b25daca3c vault backup: 2025-10-17 21:36:05 2025-10-17 21:36:05 +02:00
fe10af7235 vault backup: 2025-10-17 21:04:42 2025-10-17 21:04:42 +02:00
3a66de31dd vault backup: 2025-10-17 20:46:13 2025-10-17 20:46:13 +02:00
62fecf9a60 vault backup: 2025-10-17 20:44:21 2025-10-17 20:44:21 +02:00
67533d8911 vault backup: 2025-10-17 20:41:38 2025-10-17 20:41:38 +02:00
e08f1b5d99 remove .obsidian files 2025-10-17 20:40:56 +02:00
34878d8c37 git ignore obsidian folder 2025-10-17 20:40:23 +02:00
dfcd08f048 vault backup: 2025-10-17 20:39:42 2025-10-17 20:39:42 +02:00
17 changed files with 89 additions and 1285 deletions

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
.obsidian/

1
.obsidian/app.json vendored
View File

@ -1 +0,0 @@
{}

View File

@ -1 +0,0 @@
{}

View File

@ -1,3 +0,0 @@
[
"obsidian-git"
]

View File

@ -1,33 +0,0 @@
{
"file-explorer": true,
"global-search": true,
"switcher": true,
"graph": true,
"backlink": true,
"canvas": true,
"outgoing-link": true,
"tag-pane": true,
"footnotes": false,
"properties": false,
"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
}

File diff suppressed because one or more lines are too long

View File

@ -1,10 +0,0 @@
{
"author": "Vinzent",
"authorUrl": "https://github.com/Vinzent03",
"id": "obsidian-git",
"name": "Git",
"description": "Integrate Git version control with automatic backup and other advanced features.",
"isDesktopOnly": false,
"fundingUrl": "https://ko-fi.com/vinzent",
"version": "2.35.1"
}

View File

@ -1,629 +0,0 @@
@keyframes loading {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(360deg);
}
}
.workspace-leaf-content[data-type="git-view"] .button-border {
border: 2px solid var(--interactive-accent);
border-radius: var(--radius-s);
}
.workspace-leaf-content[data-type="git-view"] .view-content {
padding-left: 0;
padding-top: 0;
padding-right: 0;
}
.workspace-leaf-content[data-type="git-history-view"] .view-content {
padding-left: 0;
padding-top: 0;
padding-right: 0;
}
.loading {
overflow: hidden;
}
.loading > svg {
animation: 2s linear infinite loading;
transform-origin: 50% 50%;
display: inline-block;
}
.obsidian-git-center {
margin: auto;
text-align: center;
width: 50%;
}
.obsidian-git-textarea {
display: block;
margin-left: auto;
margin-right: auto;
}
.obsidian-git-disabled {
opacity: 0.5;
}
.obsidian-git-center-button {
display: block;
margin: 20px auto;
}
.tooltip.mod-left {
overflow-wrap: break-word;
}
.tooltip.mod-right {
overflow-wrap: break-word;
}
/* Limits the scrollbar to the view body */
.git-view {
display: flex;
flex-direction: column;
position: relative;
height: 100%;
}
.git-tools {
display: flex;
margin-left: auto;
}
.git-tools .type {
padding-left: var(--size-2-1);
display: flex;
align-items: center;
justify-content: center;
width: 11px;
}
.git-tools .type[data-type="M"] {
color: orange;
}
.git-tools .type[data-type="D"] {
color: red;
}
.git-tools .buttons {
display: flex;
}
.git-tools .buttons > * {
padding: 0 0;
height: auto;
}
.workspace-leaf-content[data-type="git-view"] .tree-item-self,
.workspace-leaf-content[data-type="git-history-view"] .tree-item-self {
align-items: center;
}
.workspace-leaf-content[data-type="git-view"]
.tree-item-self:hover
.clickable-icon,
.workspace-leaf-content[data-type="git-history-view"]
.tree-item-self:hover
.clickable-icon {
color: var(--icon-color-hover);
}
/* Highlight an item as active if it's diff is currently opened */
.is-active .git-tools .buttons > * {
color: var(--nav-item-color-active);
}
.git-author {
color: var(--text-accent);
}
.git-date {
color: var(--text-accent);
}
.git-ref {
color: var(--text-accent);
}
.workspace-leaf-content[data-type="diff-view"] .d2h-d-none {
display: none;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-wrapper {
text-align: left;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-file-header {
background-color: var(--background-primary);
border-bottom: 1px solid var(--interactive-accent);
font-family: var(--font-monospace);
height: 35px;
padding: 5px 10px;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-file-header,
.workspace-leaf-content[data-type="diff-view"] .d2h-file-stats {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-file-stats {
font-size: 14px;
margin-left: auto;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-lines-added {
border: 1px solid #b4e2b4;
border-radius: 5px 0 0 5px;
color: #399839;
padding: 2px;
text-align: right;
vertical-align: middle;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-lines-deleted {
border: 1px solid #e9aeae;
border-radius: 0 5px 5px 0;
color: #c33;
margin-left: 1px;
padding: 2px;
text-align: left;
vertical-align: middle;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-file-name-wrapper {
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
font-size: 15px;
width: 100%;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-file-name {
overflow-x: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-file-wrapper {
border: 1px solid var(--background-modifier-border);
border-radius: 3px;
margin-bottom: 1em;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-file-collapse {
-webkit-box-pack: end;
-ms-flex-pack: end;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
border: 1px solid var(--background-modifier-border);
border-radius: 3px;
cursor: pointer;
display: none;
font-size: 12px;
justify-content: flex-end;
padding: 4px 8px;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-file-collapse.d2h-selected {
background-color: #c8e1ff;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-file-collapse-input {
margin: 0 4px 0 0;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-diff-table {
border-collapse: collapse;
font-family: Menlo, Consolas, monospace;
font-size: 13px;
width: 100%;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-files-diff {
width: 100%;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-file-diff {
overflow-y: hidden;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-file-side-diff {
display: inline-block;
margin-bottom: -8px;
margin-right: -4px;
overflow-x: scroll;
overflow-y: hidden;
width: 50%;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-code-line {
padding: 0 8em;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-code-line,
.workspace-leaf-content[data-type="diff-view"] .d2h-code-side-line {
display: inline-block;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
white-space: nowrap;
width: 100%;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-code-side-line {
padding: 0 4.5em;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-code-line-ctn {
word-wrap: normal;
background: none;
display: inline-block;
padding: 0;
-webkit-user-select: text;
-moz-user-select: text;
-ms-user-select: text;
user-select: text;
vertical-align: middle;
white-space: pre;
width: 100%;
}
.theme-light .workspace-leaf-content[data-type="diff-view"] .d2h-code-line del,
.theme-light
.workspace-leaf-content[data-type="diff-view"]
.d2h-code-side-line
del {
background-color: #ffb6ba;
}
.theme-dark .workspace-leaf-content[data-type="diff-view"] .d2h-code-line del,
.theme-dark
.workspace-leaf-content[data-type="diff-view"]
.d2h-code-side-line
del {
background-color: #8d232881;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-code-line del,
.workspace-leaf-content[data-type="diff-view"] .d2h-code-line ins,
.workspace-leaf-content[data-type="diff-view"] .d2h-code-side-line del,
.workspace-leaf-content[data-type="diff-view"] .d2h-code-side-line ins {
border-radius: 0.2em;
display: inline-block;
margin-top: -1px;
text-decoration: none;
vertical-align: middle;
}
.theme-light .workspace-leaf-content[data-type="diff-view"] .d2h-code-line ins,
.theme-light
.workspace-leaf-content[data-type="diff-view"]
.d2h-code-side-line
ins {
background-color: #97f295;
text-align: left;
}
.theme-dark .workspace-leaf-content[data-type="diff-view"] .d2h-code-line ins,
.theme-dark
.workspace-leaf-content[data-type="diff-view"]
.d2h-code-side-line
ins {
background-color: #1d921996;
text-align: left;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-code-line-prefix {
word-wrap: normal;
background: none;
display: inline;
padding: 0;
white-space: pre;
}
.workspace-leaf-content[data-type="diff-view"] .line-num1 {
float: left;
}
.workspace-leaf-content[data-type="diff-view"] .line-num1,
.workspace-leaf-content[data-type="diff-view"] .line-num2 {
-webkit-box-sizing: border-box;
box-sizing: border-box;
overflow: hidden;
padding: 0 0.5em;
text-overflow: ellipsis;
width: 3.5em;
}
.workspace-leaf-content[data-type="diff-view"] .line-num2 {
float: right;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-code-linenumber {
background-color: var(--background-primary);
border: solid var(--background-modifier-border);
border-width: 0 1px;
-webkit-box-sizing: border-box;
box-sizing: border-box;
color: var(--text-muted);
cursor: pointer;
display: inline-block;
position: absolute;
text-align: right;
width: 7.5em;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-code-linenumber:after {
content: "\200b";
}
.workspace-leaf-content[data-type="diff-view"] .d2h-code-side-linenumber {
background-color: var(--background-primary);
border: solid var(--background-modifier-border);
border-width: 0 1px;
-webkit-box-sizing: border-box;
box-sizing: border-box;
color: var(--text-muted);
cursor: pointer;
display: inline-block;
overflow: hidden;
padding: 0 0.5em;
position: absolute;
text-align: right;
text-overflow: ellipsis;
width: 4em;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-diff-tbody tr {
position: relative;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-code-side-linenumber:after {
content: "\200b";
}
.workspace-leaf-content[data-type="diff-view"] .d2h-code-side-emptyplaceholder,
.workspace-leaf-content[data-type="diff-view"] .d2h-emptyplaceholder {
background-color: var(--background-primary);
border-color: var(--background-modifier-border);
}
.workspace-leaf-content[data-type="diff-view"] .d2h-code-line-prefix,
.workspace-leaf-content[data-type="diff-view"] .d2h-code-linenumber,
.workspace-leaf-content[data-type="diff-view"] .d2h-code-side-linenumber,
.workspace-leaf-content[data-type="diff-view"] .d2h-emptyplaceholder {
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-code-linenumber,
.workspace-leaf-content[data-type="diff-view"] .d2h-code-side-linenumber {
direction: rtl;
}
.theme-light .workspace-leaf-content[data-type="diff-view"] .d2h-del {
background-color: #fee8e9;
border-color: #e9aeae;
}
.theme-light .workspace-leaf-content[data-type="diff-view"] .d2h-ins {
background-color: #dfd;
border-color: #b4e2b4;
}
.theme-dark .workspace-leaf-content[data-type="diff-view"] .d2h-del {
background-color: #521b1d83;
border-color: #691d1d73;
}
.theme-dark .workspace-leaf-content[data-type="diff-view"] .d2h-ins {
background-color: rgba(30, 71, 30, 0.5);
border-color: #13501381;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-info {
background-color: var(--background-primary);
border-color: var(--background-modifier-border);
color: var(--text-normal);
}
.theme-light
.workspace-leaf-content[data-type="diff-view"]
.d2h-file-diff
.d2h-del.d2h-change {
background-color: #fdf2d0;
}
.theme-dark
.workspace-leaf-content[data-type="diff-view"]
.d2h-file-diff
.d2h-del.d2h-change {
background-color: #55492480;
}
.theme-light
.workspace-leaf-content[data-type="diff-view"]
.d2h-file-diff
.d2h-ins.d2h-change {
background-color: #ded;
}
.theme-dark
.workspace-leaf-content[data-type="diff-view"]
.d2h-file-diff
.d2h-ins.d2h-change {
background-color: rgba(37, 78, 37, 0.418);
}
.workspace-leaf-content[data-type="diff-view"] .d2h-file-list-wrapper {
margin-bottom: 10px;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-file-list-wrapper a {
color: #3572b0;
text-decoration: none;
}
.workspace-leaf-content[data-type="diff-view"]
.d2h-file-list-wrapper
a:visited {
color: #3572b0;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-file-list-header {
text-align: left;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-file-list-title {
font-weight: 700;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-file-list-line {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
text-align: left;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-file-list {
display: block;
list-style: none;
margin: 0;
padding: 0;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-file-list > li {
border-bottom: 1px solid var(--background-modifier-border);
margin: 0;
padding: 5px 10px;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-file-list > li:last-child {
border-bottom: none;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-file-switch {
cursor: pointer;
display: none;
font-size: 10px;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-icon {
fill: currentColor;
margin-right: 10px;
vertical-align: middle;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-deleted {
color: #c33;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-added {
color: #399839;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-changed {
color: #d0b44c;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-moved {
color: #3572b0;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-tag {
background-color: var(--background-primary);
display: -webkit-box;
display: -ms-flexbox;
display: flex;
font-size: 10px;
margin-left: 5px;
padding: 0 2px;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-deleted-tag {
border: 2px solid #c33;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-added-tag {
border: 1px solid #399839;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-changed-tag {
border: 1px solid #d0b44c;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-moved-tag {
border: 1px solid #3572b0;
}
/* ====================== Line Authoring Information ====================== */
.cm-gutterElement.obs-git-blame-gutter {
/* Add background color to spacing inbetween and around the gutter for better aesthetics */
border-width: 0px 2px 0.2px 2px;
border-style: solid;
border-color: var(--background-secondary);
background-color: var(--background-secondary);
}
.cm-gutterElement.obs-git-blame-gutter > div,
.line-author-settings-preview {
/* delegate text color to settings */
color: var(--obs-git-gutter-text);
font-family: monospace;
height: 100%; /* ensure, that age-based background color occupies entire parent */
text-align: right;
padding: 0px 6px 0px 6px;
white-space: pre; /* Keep spaces and do not collapse them. */
}
@media (max-width: 800px) {
/* hide git blame gutter not to superpose text */
.cm-gutterElement.obs-git-blame-gutter {
display: none;
}
}
.git-unified-diff-view,
.git-split-diff-view .cm-deletedLine .cm-changedText {
background-color: #ee443330;
}
.git-unified-diff-view,
.git-split-diff-view .cm-insertedLine .cm-changedText {
background-color: #22bb2230;
}
.git-obscure-prompt[git-is-obscured="true"] #git-show-password:after {
-webkit-mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svg-icon lucide-eye"><path d="M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0"></path><circle cx="12" cy="12" r="3"></circle></svg>');
}
.git-obscure-prompt[git-is-obscured="false"] #git-show-password:after {
-webkit-mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svg-icon lucide-eye-off"><path d="M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49"></path><path d="M14.084 14.158a3 3 0 0 1-4.242-4.242"></path><path d="M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143"></path><path d="m2 2 20 20"></path></svg>');
}
/* Override styling of Codemirror merge view "collapsed lines" indicator */
.git-split-diff-view .ͼ2 .cm-collapsedLines {
background: var(--interactive-normal);
border-radius: var(--radius-m);
color: var(--text-accent);
font-size: var(--font-small);
padding: var(--size-4-1) var(--size-4-1);
}
.git-split-diff-view .ͼ2 .cm-collapsedLines:hover {
background: var(--interactive-hover);
color: var(--text-accent-hover);
}

View File

@ -1,179 +0,0 @@
{
"main": {
"id": "eb80115c12093b8d",
"type": "split",
"children": [
{
"id": "259aa2030639ccad",
"type": "tabs",
"children": [
{
"id": "7f87c033dfaa09b9",
"type": "leaf",
"state": {
"type": "markdown",
"state": {
"file": "README.md.md",
"mode": "preview",
"source": false
},
"icon": "lucide-file",
"title": "README.md"
}
}
]
}
],
"direction": "vertical"
},
"left": {
"id": "881b01b828751016",
"type": "split",
"children": [
{
"id": "07a66472bead2214",
"type": "tabs",
"children": [
{
"id": "f6fbcfb6467dc60d",
"type": "leaf",
"state": {
"type": "file-explorer",
"state": {
"sortOrder": "alphabetical",
"autoReveal": false
},
"icon": "lucide-folder-closed",
"title": "Files"
}
},
{
"id": "6644b673531e14c4",
"type": "leaf",
"state": {
"type": "search",
"state": {
"query": "",
"matchingCase": false,
"explainSearch": false,
"collapseAll": false,
"extraContext": false,
"sortOrder": "alphabetical"
},
"icon": "lucide-search",
"title": "Search"
}
},
{
"id": "b1c7c23a309c4ddb",
"type": "leaf",
"state": {
"type": "bookmarks",
"state": {},
"icon": "lucide-bookmark",
"title": "Bookmarks"
}
}
]
}
],
"direction": "horizontal",
"width": 300
},
"right": {
"id": "3b9aefa626aca040",
"type": "split",
"children": [
{
"id": "1881bec2be6107b0",
"type": "tabs",
"children": [
{
"id": "31989d8a047f5280",
"type": "leaf",
"state": {
"type": "backlink",
"state": {
"file": "Game Development.md",
"collapseAll": false,
"extraContext": false,
"sortOrder": "alphabetical",
"showSearch": false,
"searchQuery": "",
"backlinkCollapsed": false,
"unlinkedCollapsed": true
},
"icon": "links-coming-in",
"title": "Backlinks for Game Development"
}
},
{
"id": "c213f39d3a0a1c7c",
"type": "leaf",
"state": {
"type": "outgoing-link",
"state": {
"file": "Game Development.md",
"linksCollapsed": false,
"unlinkedCollapsed": true
},
"icon": "links-going-out",
"title": "Outgoing links from Game Development"
}
},
{
"id": "9f3ab92c8823113d",
"type": "leaf",
"state": {
"type": "tag",
"state": {
"sortOrder": "frequency",
"useHierarchy": true,
"showSearch": false,
"searchQuery": ""
},
"icon": "lucide-tags",
"title": "Tags"
}
},
{
"id": "2f3361b79893cb90",
"type": "leaf",
"state": {
"type": "outline",
"state": {
"file": "Game Development.md",
"followCursor": false,
"showSearch": false,
"searchQuery": ""
},
"icon": "lucide-list",
"title": "Outline of Game Development"
}
}
]
}
],
"direction": "horizontal",
"width": 300,
"collapsed": true
},
"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,
"obsidian-git:Open Git source control": false
}
},
"active": "7f87c033dfaa09b9",
"lastOpenFiles": [
"Game Development.md",
"README.md.md",
"level1.md"
]
}

13
NAVIGATION.canvas Normal file
View File

@ -0,0 +1,13 @@
{
"nodes":[
{"id":"50e5c35f8dc70ded","type":"text","text":"Coding Game","x":-465,"y":-378,"width":250,"height":60,"color":"4"},
{"id":"fc628030dd99c2d5","type":"text","text":"Plot Mode","x":-670,"y":-115,"width":250,"height":60},
{"id":"4eefd0923c4821a9","type":"text","text":"Cooperative Mode","x":-260,"y":-115,"width":250,"height":60},
{"id":"b257b60be70c3ac6","type":"file","file":"Игра/Одиночный режим.md","x":-865,"y":160,"width":445,"height":340,"color":"3"}
],
"edges":[
{"id":"34803c208d4c9bdf","fromNode":"50e5c35f8dc70ded","fromSide":"bottom","toNode":"fc628030dd99c2d5","toSide":"top","toEnd":"none"},
{"id":"c13edd1dae3a56ea","fromNode":"50e5c35f8dc70ded","fromSide":"bottom","toNode":"4eefd0923c4821a9","toSide":"top","toEnd":"none"},
{"id":"e64fd2bee9718757","fromNode":"fc628030dd99c2d5","fromSide":"bottom","toNode":"b257b60be70c3ac6","toSide":"top"}
]
}

3
README.md Normal file
View File

@ -0,0 +1,3 @@
# Игра для программирования с собственным движком
Этот репозиторий предназначен как документация для безымянного игрового движка, используемого для разработки игр с программированием. Помимо этого, репозиторий содержит идеи и эскизы дизайна самой игры.

View File

@ -1,3 +0,0 @@
# Coding Game with custom Engine
Introduction

View File

@ -0,0 +1,18 @@
В этом файле описаны ключевые концепции игры, где человек может узнать больше об идеях и целях проекта.
## Мотивация
Игра создана с целью мотивировать в первую очередь детей и подростков начать изучать программирование и глубже погрузиться в сферу IT. Она должна стать отправной точкой для каждого новичка в IT, где он сможет понять, какую нишу ему интересно изучать, осваивать и в дальнейшем работать в ней.
Ещё одной целью при создании этой игры было исполнить детскую мечту — разработать игру, в которой люди будут заниматься тем, что я сам люблю делать каждый день и от чего никогда не устаю — программировать.
## Будущее и возможные применения
На данный момент (10/2025) планируется, что игра будет иметь два режима.
Первый режим — сюжетный. Это история, в которой игрок знакомится с основными концепциями программирования и их возможным применением в реальной жизни. Игрок должен познакомиться с разными направлениями IT, такими как взлом (этический хакинг), разработка программного обеспечения, администрирование сетей, и попробовать использовать эти навыки, а также комбинировать их для выполнения конкретных игровых задач, повышая свой уровень и опыт.
Второй режим — кооперативный. Он позволяет устраивать соревнования или обмен знаниями между несколькими пользователями. На данный момент этот режим предполагается разделить на два подрежима:
- **Соревнования** — в формате чемпионатов
- **Кооперация** — например, формат класса с учениками и преподавателем, где участники изучают концепции программирования через визуализацию и взаимодействие с ними, постепенно понимая их практическое применение в реальном мире.
Чемпионаты могут быть полезны для обмена опытом, а также для начала формирования собственного портфолио.

View File

@ -0,0 +1,3 @@
## Базовая
Требует вызова простых однодейственный функций, как при начале игры *The Farmer was replaced* с функциями `do_a_flip`/`harvest` (реф. [[Существующие Аналоги]])

View File

@ -0,0 +1,22 @@
Может быть частью уровней про **ветвление**, где игрок должен написать код, в котором он в конечном итоге триггерит бомбу в определенной точке времени/позиции/окружения.
## Легкий уровень: таймер
Допустим нужно сделать так, чтобы бомба взорвалась по истечению определенного количества секунд или по совпадению с определенным временем на часах.
**Пометка:** это может быть будет доступно благодаря прикреплению простого модуля на бомбу - таймер с подачей тока при его истечении.
## Средний уровень: позиция или расстояние до любого объекта
Здесь игроку потребуется написать код, в котором бомба должна взорваться при определенном достижении расстояния до объекта/объектов. При этом не важно какой тип объекта попадается.
**Пометка:** это может быть будет доступно благодаря прикреплению определенного модуля на бомбу - детектора расстояния до впереди-находящихся объектов.
## Сложный уровень: Столкновение с **определенным** объектом
Этот уровень похож на предыдущий уровень сложности, но отличается тем, что требует триггера именно на один тип объекта, например органический, или искуственный, или технический, или химический и т.п.
**Пометка:** это может быть будет доступно благодаря прикреплению определенного модуля на бомбу - детектора типа объектов.
## ПРО уровень: Объединение всех выше упомянутых концепций
Допустим тригер бомбы нужен только по истечению 60 секунд, при расстоянии не более 10 метров до **определенного** типа объекта.
**Пометка:** это может быть возможным только при наличии достаточного количетсва слотов для модулей на самой бомбе или при экономном и правильном соединении проводов.

View File

@ -0,0 +1,13 @@
Это первый режим, который планируется создать прототипом и разработать для первого релиза, где пользователь/игрок имеет сюжет и побочные миссии. Каждая из них продвигает игрока дальше, обучает чему-то новому и предназначена для знакомства с различными частями IT.
## Глобальный сюжет
У пользователя есть глобальная цель, например — построить космический корабль и наполнить его различными деталями и логикой, чтобы улучшить его и подготовиться к битве с боссом-врагом.
## Ключевые концепции и сценарии
### Сбор информации
Базовая концепция IT (информационных технологий) заключается в получении, обработке, передаче и работе с информацией. Независимо от того, с каким типом информации мы работаем, она основана на физических характеристиках. Например, температура, определение уровня освещённости, звуки через микрофоны и аудиопрограммы, изображение через свет и камеры и т.д.
В случае с космическим кораблём и путешествиями по галактике игрок может пытаться собирать информацию о количестве топлива, схемах конструкции корабля и т.д.

View File

@ -0,0 +1,16 @@
## The Farmer Was Replaced
[Ссылка в Steam](https://store.steampowered.com/app/2060160/The_Farmer_Was_Replaced/)
В настоящее время это одна из наиболее близких к моей задумке игровых концепций. Влияние на игровую логику возможно только через программирование, что делает её самым похожим примером игр, связанных с кодингом.
### Плюсы
- Используется Python как язык программирования (почти полный Python)
- Одна тематика — фермерство — понятная и знакомая большинству благодаря множеству игр о фермах
- Система достижений, открывающих новые концепции и возможности программирования, такие как циклы `while`, условные операторы `if`, переменные и т.д.
### Минусы
- Отсутствует сюжет
- Со временем игра ощущается как песочница