This commit is contained in:
Michael Zhang 2023-05-20 02:26:34 -05:00
commit b8124b7085
31 changed files with 494 additions and 0 deletions

346
logseq/config.edn Normal file
View file

@ -0,0 +1,346 @@
{:meta/version 1
;; Currently, we support either "Markdown" or "Org".
;; This can overwrite your global preference so that
;; maybe your personal preferred format is Org but you'd
;; need to use Markdown for some projects.
;; :preferred-format ""
;; Preferred workflow style.
;; Value is either ":now" for NOW/LATER style,
;; or ":todo" for TODO/DOING style.
:preferred-workflow :now
;; The app will ignore those directories or files.
;; E.g. :hidden ["/archived" "/test.md" "../assets/archived"]
:hidden []
;; When creating the new journal page, the app will use your template if there is one.
;; You only need to input your template name here.
:default-templates
{:journals ""}
;; Set a custom date format for journal page title
;; Example:
;; :journal/page-title-format "EEE, do MMM yyyy"
;; Whether to enable hover on tooltip preview feature
;; Default is true, you can also toggle this via setting page
:ui/enable-tooltip? true
;; Show brackets around page references
;; :ui/show-brackets? true
;; Enable showing the body of blocks when referencing them.
:ui/show-full-blocks? false
;; Enable Block timestamp
:feature/enable-block-timestamps? false
;; Enable remove accents when searching.
;; After toggle this option, please remember to rebuild your search index by press (cmd+c cmd+s).
:feature/enable-search-remove-accents? true
;; Enable journals
;; :feature/enable-journals? true
;; Enable flashcards
;; :feature/enable-flashcards? true
;; Enable Whiteboards
;; :feature/enable-whiteboards? true
;; Disable the built-in Scheduled tasks and deadlines query
;; :feature/disable-scheduled-and-deadline-query? true
;; Specify the number of days in the future to display in the
;; scheduled tasks and deadlines query, with a default value of 0 which
;; only displays tasks for today.
;; Example usage:
;; Display all scheduled tasks and deadlines in the next 7 days
;; :scheduled/future-days 7
;; Specify the date on which the week starts.
;; Goes from 0 to 6 (Monday to Sunday), default to 6
:start-of-week 6
;; Specify a custom CSS import
;; This option take precedence over your local `logseq/custom.css` file
;; You may find a list of awesome logseq themes here:
;; https://github.com/logseq/awesome-logseq#css-themes
;; Example:
;; :custom-css-url "@import url('https://cdn.jsdelivr.net/gh/dracula/logseq@master/custom.css');"
;; Specify a custom js import
;; This option take precedence over your local `logseq/custom.js` file
;; :custom-js-url ""
;; Set a custom Arweave gateway
;; Default gateway: https://arweave.net
;; :arweave/gateway ""
;; Set Bullet indentation when exporting
;; default option: tab
;; Possible options are for `:sidebar` are
;; 1. `:eight-spaces` as eight spaces
;; 2. `:four-spaces` as four spaces
;; 3. `:two-spaces` as two spaces
;; :export/bullet-indentation :tab
;; When :all-pages-public? true, export repo would export all pages within that repo.
;; Regardless of whether you've set any page to public or not.
;; Example:
;; :publishing/all-pages-public? true
;; Specify default home page and sidebar status for Logseq
;; If not specified, Logseq default opens journals page on startup
;; value for `:page` is name of page
;; Possible options for `:sidebar` are
;; 1. `"Contents"` to open up `Contents` in sidebar by default
;; 2. `page name` to open up some page in sidebar
;; 3. Or multiple pages in an array ["Contents" "Page A" "Page B"]
;; If `:sidebar` is not set, sidebar will be hidden
;; Example:
;; 1. Setup page "Changelog" as home page and "Contents" in sidebar
;; :default-home {:page "Changelog", :sidebar "Contents"}
;; 2. Setup page "Jun 3rd, 2021" as home page without sidebar
;; :default-home {:page "Jun 3rd, 2021"}
;; 3. Setup page "home" as home page with multiple pages in sidebar
;; :default-home {:page "home" :sidebar ["page a" "page b"]}
;; Tell logseq to use a specific folder in the repo as a default location for notes
;; if not specified, notes are stored in `pages` directory
;; :pages-directory "your-directory"
;; Tell logseq to use a specific folder in the repo as a default location for journals
;; if not specified, journals are stored in `journals` directory
;; :journals-directory "your-directory"
;; Set this to true will convert
;; `[[Grant Ideas]]` to `[[file:./grant_ideas.org][Grant Ideas]]` for org-mode
;; For more, see https://github.com/logseq/logseq/issues/672
;; :org-mode/insert-file-link? true
;; Setup custom shortcuts under `:shortcuts` key
;; Syntax:
;; 1. `+` means keys pressing simultaneously. eg: `ctrl+shift+a`
;; 2. ` ` empty space between keys represents key chords. eg: `t s` means press `t` followed by `s`
;; 3. `mod` means `Ctrl` for Windows/Linux and `Command` for Mac
;; 4. use `false` to disable particular shortcut
;; 5. you can define multiple bindings for one action, eg `["ctrl+j" "down"]`
;; full list of configurable shortcuts are available below:
;; https://github.com/logseq/logseq/blob/master/src/main/frontend/modules/shortcut/config.cljs
;; Example:
;; :shortcuts
;; {:editor/new-block "enter"
;; :editor/new-line "shift+enter"
;; :editor/insert-link "mod+shift+k"
;; :editor/highlight false
;; :ui/toggle-settings "t s"
;; :editor/up ["ctrl+k" "up"]
;; :editor/down ["ctrl+j" "down"]
;; :editor/left ["ctrl+h" "left"]
;; :editor/right ["ctrl+l" "right"]}
:shortcuts {}
;; By default, pressing `Enter` in the document mode will create a new line.
;; Set this to `true` so that it's the same behaviour as the usual outliner mode.
:shortcut/doc-mode-enter-for-new-block? false
;; Block content larger than `block/content-max-length` will not be searchable
;; or editable for performance.
:block/content-max-length 10000
;; Whether to show command doc on hover
:ui/show-command-doc? true
;; Whether to show empty bullets for non-document mode (the default mode)
:ui/show-empty-bullets? false
;; Pre-defined :view function to use with advanced queries
:query/views
{:pprint
(fn [r] [:pre.code (pprint r)])}
;; Pre-defined :result-transform function for use with advanced queries
:query/result-transforms
{:sort-by-priority
(fn [result] (sort-by (fn [h] (get h :block/priority "Z")) result))}
;; The app will show those queries in today's journal page,
;; the "NOW" query asks the tasks which need to be finished "now",
;; the "NEXT" query asks the future tasks.
:default-queries
{:journals
[{:title "🔨 NOW"
:query [:find (pull ?h [*])
:in $ ?start ?today
:where
[?h :block/marker ?marker]
[(contains? #{"NOW" "DOING"} ?marker)]
[?h :block/page ?p]
[?p :block/journal? true]
[?p :block/journal-day ?d]
[(>= ?d ?start)]
[(<= ?d ?today)]]
:inputs [:14d :today]
:result-transform (fn [result]
(sort-by (fn [h]
(get h :block/priority "Z")) result))
:collapsed? false}
{:title "📅 NEXT"
:query [:find (pull ?h [*])
:in $ ?start ?next
:where
[?h :block/marker ?marker]
[(contains? #{"NOW" "LATER" "TODO"} ?marker)]
[?h :block/page ?p]
[?p :block/journal? true]
[?p :block/journal-day ?d]
[(> ?d ?start)]
[(< ?d ?next)]]
:inputs [:today :7d-after]
:collapsed? false}]}
;; Add your own commands to slash menu to speedup.
;; E.g.
;; :commands
;; [
;; ["js" "Javascript"]
;; ["md" "Markdown"]
;; ]
:commands
[]
;; By default, a block can only be collapsed if it has some children.
;; `:outliner/block-title-collapse-enabled? true` enables a block with a title
;; (multiple lines) can be collapsed too. For example:
;; - block title
;; block content
:outliner/block-title-collapse-enabled? false
;; Macros replace texts and will make you more productive.
;; For example:
;; Change the :macros value below to:
;; {"poem" "Rose is $1, violet's $2. Life's ordered: Org assists you."}
;; input "{{poem red,blue}}"
;; becomes
;; Rose is red, violet's blue. Life's ordered: Org assists you.
:macros {}
;; The default level to be opened for the linked references.
;; For example, if we have some example blocks like this:
;; - a [[page]] (level 1)
;; - b (level 2)
;; - c (level 3)
;; - d (level 4)
;;
;; With the default value of level 2, `b` will be collapsed.
;; If we set the level's value to 3, `b` will be opened and `c` will be collapsed.
:ref/default-open-blocks-level 2
:ref/linked-references-collapsed-threshold 50
;; Favorites to list on the left sidebar
:favorites []
;; any number between 0 and 1 (the greater it is the faster the changes of the next-interval of card reviews) (default 0.5)
;; :srs/learning-fraction 0.5
;; the initial interval after the first successful review of a card (default 4)
;; :srs/initial-interval 4
;; hide specific properties for blocks
;; E.g. :block-hidden-properties #{:created-at :updated-at}
;; :block-hidden-properties #{}
;; Enable all your properties to have corresponding pages
:property-pages/enabled? true
;; Properties to exclude from having property pages
;; E.g.:property-pages/excludelist #{:duration :author}
;; :property-pages/excludelist
;; By default, property value separated by commas will not be treated as
;; page references. You can add properties to enable it.
;; E.g. :property/separated-by-commas #{:alias :tags}
;; :property/separated-by-commas #{}
;; Properties that are ignored when parsing property values for references
;; :ignored-page-references-keywords #{"author" "startup"}
;; logbook setup
;; :logbook/settings
;; {:with-second-support? false ;limit logbook to minutes, seconds will be eliminated
;; :enabled-in-all-blocks true ;display logbook in all blocks after timetracking
;; :enabled-in-timestamped-blocks false ;don't display logbook at all
;; }
;; Mobile photo uploading setup
;; :mobile/photo
;; {:allow-editing? true
;; :quality 80}
;; Mobile features options
;; Gestures
;; :mobile
;; {:gestures/disabled-in-block-with-tags ["kanban"]}
;; Extra CodeMirror options
;; See https://codemirror.net/5/doc/manual.html#config for possible options
;; :editor/extra-codemirror-options {:keyMap "emacs" :lineWrapping true}
;; Enable logical outdenting
;; :editor/logical-outdenting? true
;; When both text and a file are in the clipboard, paste the file
;; :editor/preferred-pasting-file? true
;; Quick capture templates for receiving contents from other apps.
;; Each template contains three elements {time}, {text} and {url}, which can be auto-expanded
;; by received contents from other apps. Note: the {} cannot be omitted.
;; - {time}: capture time
;; - {date}: capture date using current date format, use `[[{date}]]` to get a page reference
;; - {text}: text that users selected before sharing.
;; - {url}: url or assets path for media files stored in Logseq.
;; You can also reorder them, or even only use one or two of them in the template.
;; You can also insert or format any text in the template as shown in the following examples.
;; :quick-capture-templates
;; {:text "[[quick capture]] **{time}**: {text} from {url}"
;; :media "[[quick capture]] **{time}**: {url}"}
;; Quick capture options
;; :quick-capture-options {:insert-today? false :redirect-page? false :default-page "my page"}
;; File sync options
;; Ignore these files when syncing, regexp is supported.
;; :file-sync/ignore-files []
;; dwim (do what I mean) for Enter key when editing.
;; Context-awareness of Enter key makes editing more easily
; :dwim/settings {
; :admonition&src? true
; :markup? false
; :block-ref? true
; :page-ref? true
; :properties? true
; :list? true
; }
;; Decide the way to escape the special characters in the page title.
;; Warning:
;; This is a dangerous operation. If you want to change the setting,
;; should access the setting `Filename format` and follow the instructions.
;; Or you have to rename all the affected files manually then re-index on all
;; clients after the files are synced. Wrong handling may cause page titles
;; containing special characters to be messy.
;; Available values:
;; :file/name-format :triple-lowbar
;; ;use triple underscore `___` for slash `/` in page title
;; ;use Percent-encoding for other invalid characters
:file/name-format :triple-lowbar
;; specify the format of the filename for journal files
;; :journal/file-name-format "yyyy_MM_dd"
}

0
logseq/custom.css Normal file
View file

1
pages/architecture.md Normal file
View file

@ -0,0 +1 @@
-

5
pages/battle.md Normal file
View file

@ -0,0 +1,5 @@
tags:: glossary
- single conflict between 2 or more [fleets]([[fleet]]) of [units]([[unit]])
-
-

4
pages/companies.md Normal file
View file

@ -0,0 +1,4 @@
tags:: glossary
- employ [[pops]] and produce [resources]([[resource]])
- this is kind of a unification of the "districts" and the "buildings" from stellaris

1
pages/contents.md Normal file
View file

@ -0,0 +1 @@
-

5
pages/empire.md Normal file
View file

@ -0,0 +1,5 @@
tags:: glossary
- Everything under the control of a single player or AI entity in this game
- ## Players' Perspective
- Empires don't start out with particular traits or civics or anything, blank slate you acquire [[modifiers]] over time. this way empire creation isn't a pain in the ass but you still get to be who you wanna be

3
pages/energy credits.md Normal file
View file

@ -0,0 +1,3 @@
tags:: glossary, resource
- the primary form of currency used throughout the galaxy

8
pages/epoch.md Normal file
View file

@ -0,0 +1,8 @@
tags:: glossary, architecture
- A single iteration of a multiplayer world.
- When an epoch is started, no empires except primitives will exist.
- Players will need to spawn in with a fresh starter empire, and build up from there.
- The lengths of epochs should be **pre-determined** and is recommended to last around 1-3 months
of wall-clock time.
-

7
pages/events.md Normal file
View file

@ -0,0 +1,7 @@
tags:: glossary
- closely translated from stellaris's "events" and "situations"
- i feel like this should probably follow some kind of "template" system where there are event templates and then specific instances of a particular event
- events have multiple stages, like situations. there's certain conditions that will trigger either advancing forward or backwards
- [[mods]] can add events?
-

2
pages/frontend.md Normal file
View file

@ -0,0 +1,2 @@
- react app lol
-

3
pages/glossary.md Normal file
View file

@ -0,0 +1,3 @@
exclude-from-graph-view:: true
-

4
pages/hyperlane.md Normal file
View file

@ -0,0 +1,4 @@
tags:: glossary
- things that go between [[star system]]s
-

7
pages/map generation.md Normal file
View file

@ -0,0 +1,7 @@
tags:: architecture
-
- because of the nature of being able to add other empires later, we should generate a map filled with [star systems]([[star system]]) and [hyperlanes]([[hyperlane]])
- choose several of the core star systems and generate [primitive empires]([[primitive empire]])
- over the course of the game runtime, more [primitive empires]([[primitive empire]]) will spawn in the next [[progression ring]]
- generate naturally occurring [wormholes]([[wormhole]])

2
pages/metric.md Normal file
View file

@ -0,0 +1,2 @@
- data structure attributes:
- readonly? - whether or not this is something directly influenced by the player or not

7
pages/metrics db.md Normal file
View file

@ -0,0 +1,7 @@
tags:: architecture
- everything that can possibly be a [[metric]] tracked in one place
- every [[metric]] also has “attributes”, the same way a db has columns, so we can do things like query for "all attack % of this particular empire"
- can uniformly apply [[modifiers]] like "all of these metrics queried take a 15% debuff"
- tracking metrics also gives us stats options, for example if ur [[energy credits]] are being combined from multiple sources each of them could be tracked separately
- every entry could also contain a closure along with the current amount, so the new value at any [[tick]] can just be determined by running the closure

3
pages/mods.md Normal file
View file

@ -0,0 +1,3 @@
tags:: glossary
- should the content in the base game be designed like a mod?

View file

@ -0,0 +1,3 @@
tags:: architecture
- system to handle events

4
pages/planet.md Normal file
View file

@ -0,0 +1,4 @@
tags:: glossary
- has [[companies]] that employ [[pops]]
-

6
pages/pops.md Normal file
View file

@ -0,0 +1,6 @@
tags:: glossary
- short for "population"
- the overall amount of pops on a [[planet]] is tracked by a number, but individual pops are not tracked
- instead, [[job]] information is determined by proportion, and so is the output from those jobs
- things like [[population growth speed]] will affect a planet's overall amount of pops as a whole

View file

@ -0,0 +1,3 @@
tags:: glossary, metric
-

View file

@ -0,0 +1,4 @@
tags:: empire, glossary
- Low-level AI civilizations that exist for users to be able to plunder and take over.
- These civilizations will scale over time and get buffed along with the players in its [[progression ring]]

View file

@ -0,0 +1,3 @@
tags:: glossary
-

5
pages/science ship.md Normal file
View file

@ -0,0 +1,5 @@
tags:: glossary, unit
- an exploration unit
- responsibilities:
- survey star systems to determine what's inside

7
pages/star system.md Normal file
View file

@ -0,0 +1,7 @@
tags:: glossary
- a single cell on the map
- contains [planets]([[planet]])
- attributes:
- empire-local:
- explored (boolean) - whether this star system has been explored

View file

@ -0,0 +1,7 @@
tags:: glossary, resource
- these are some more advanced resources
- ## Ideas
- Could we have different species depend on different strategic resources (could be regional too?!), so that u have to actually trade with people and actually discover the techs for them
- Could autogenerate names for the strategic resources too so its not
- This also means the tech tree needs to be dynamically generated

20
pages/tech tree system.md Normal file
View file

@ -0,0 +1,20 @@
tags:: architecture
- Tech tree contains techs, each of which has
- discovery requirement - what conditions are required to allow an empire to even know this tech exists?
- unlock requirement - what conditions are required to allow an empire to unlock this tech?
- activation cost - how much it costs to "activate"
- upkeep - how much per time unit it costs to keep the tech activated
- deactivation requirement - some techs may not be able to be deactivated
- deactivation cost - how much it costs to deactivate
- unlike in stellaris, resource allocation for tech tree items is not discrete, but you can allocate "research funds" to different projects
- also allow for auto-picking research projects based on prioritized fields of study
- for ex. if "voidcraft" is prioritized, projects related to voidcraft will be picked for funding
- no bullshit rolling for tech system
- Unlock structure
- You get 1 or maybe 2 layers “for free” this is the stuff scientists are “obviously working on”
- With culture / arts / sci-fi authors, you can occasionally see really long-term techs (e.g.
Dyson Spheres), and work towards them
- Maybe make this pretty hard, so youll only have 1 or 2 “star trek techs” unlocked, but you get a research speed buff for working towards them
- Maybe have *some* rare techs gated on the same mechanism, so for some techs (balance
carefully!) you might not ever unlock them?

8
pages/tick system.md Normal file
View file

@ -0,0 +1,8 @@
tags:: architecture
- continuous??
- there are discrete "snapshots" of time, and any point in time between 2 snapshots can be computed purely based on the previous snapshot and the elapsed time
- the timestamp of the next tick should also be able to be determined based on the previous snapshot, or by interrupts by user events
- this allows clients to interpolate the current state based on their "view" of the previous snapshot
- account for clock drift between clients / network jitter? -Sctoor
- #references {{video https://www.youtube.com/watch?v=GqhhFl5zgA0}}

3
pages/war exhaustion.md Normal file
View file

@ -0,0 +1,3 @@
tags:: glossary, metric
-

10
pages/war.md Normal file
View file

@ -0,0 +1,10 @@
tags:: glossary
- conflicts between empires
- will have multiple [battles]([[battle]])
- please not as restrictive as stellaris'
- change war goals lmao (with a cost)
- add new members to the war
- remove members from the war (with a cost)
- same from stellaris
- [[war exhaustion]] can still push you to be forced into peace (and also makes fighting worse in general)

3
pages/wormhole.md Normal file
View file

@ -0,0 +1,3 @@
tags:: glossary
- wormholes only connect [star systems]([[star system]]) on the same [[progression ring]]