Thriveopedia: Difference between revisions

From Thrive Developer Wiki
Jump to navigation Jump to search
m (Formatting)
(Edit style guide)
 
(7 intermediate revisions by 2 users not shown)
Line 3: Line 3:


The Thriveopedia is our in-game information store. It contains details about game concepts and, if opened from within a game in progress, the player's world and its organisms. Much of the information in the Thriveopedia is scraped directly from this wiki.
The Thriveopedia is our in-game information store. It contains details about game concepts and, if opened from within a game in progress, the player's world and its organisms. Much of the information in the Thriveopedia is scraped directly from this wiki.
== Updating Wiki Content ==


The pages from this wiki currently duplicated in the Thriveopedia are:
The pages from this wiki currently duplicated in the Thriveopedia are:


* [[:Category:Organelles]]
* [[:Category:Organelles]]
* All pages in [[:Category:Organelles]]
* [[:Category:Stages]]
* [[:Category:Mechanics]]
* [[:Category:Development]]
* All pages in the above categories*
 
<nowiki>*</nowiki> - '''IMPORTANT!''' Pages can be excluded from appearing in the Thriveopedia by adding them to the [[:Category:Only Online|Only Online Category]]
 
== Style Guide ==
 
We should aim for a consistent style across our Thriveopedia pages. Please follow the guidelines below when writing or editing them. Items marked with '''IMPORTANT!''' are mandatory, otherwise the wiki update script will fail (see [[#Updating In-Game Thriveopedia]]).
 
=== General ===
 
If you want to use any invalid formatting, e.g. for info boxes that should not be scraped for the Thriveopedia, you can safely wrap the content which uses it in a <code><<nowiki />div></code> tag and the script will ignore it.
 
* Strive for clarity and simplicity in sentence structure and vocabulary. The aim of the Thriveopedia is ''not'' to throw everything at the reader and hope they know their biochemistry, but to help them understand in-game concepts they may be struggling with and link them to the real world.
 
* '''IMPORTANT!''' To restrict a page to appear only when certain stages are selected in the Thriveopedia, add the [[Template:ThriveopediaRestrictTo|ThriveopediaRestrictTo]] template to the file. The argument of the template should be a space separated list of stages (excluding the word stage). For example the following would restrict the page to the microbe and multicellular stages.
 
<pre>{{ThriveopediaRestrictTo|microbe multicellular}}</pre>
 
* '''IMPORTANT!''' Avoid images, as they won't be picked up by the Thriveopedia update script.
 
* '''IMPORTANT!''' Avoid writing out equations in paragraph text. We hope to have a system for prettified equations in future, but for now, they don't look good and the wiki parsing script is likely to run into trouble with them.
 
* In general, pages should start with a simple, single-clause, declarative sentence.
 
* Check all spellings (using en-US). MediaWiki doesn't do this by default, so you may need to write pages in a word processor and copy-paste here.
 
* Bullet points in lists should be terminated with a full stop.
 
* Use hyphens (-) for hyphenated words, use en-dashes surrounded by spaces ( – ) for clause breaks in sentences.
 
* Stage names should be capitalised, e.g. 'Microbe Stage'.
 
* Prefer 'mutation point(s)' over 'Mutation Point(s)' or 'MP', except in info boxes which should only use 'MP'.
 
* Numeric stats should be in bold and should signed, e.g. '''+0.5%''' or '''-10'''. For zero, use '''+0'''.
 
* Prefer 'cell' to 'microbe'.
 
* '''IMPORTANT!''' If bold text comes before any specific bold text that's parsed in the updating script, such as compound names, the two instances of bold text must be separated. For instance, the markdown for '''+2''' '''ATP''' {{CompoundIcon|image=ATPIcon.png|internalName=atp}} should be the following.
 
<pre>'''+2''' '''ATP''' {{CompoundIcon|image=ATPIcon.png|internalName=atp}}</pre>
 
* '''IMPORTANT!''' Outside of info boxes, organelle names should always be bold, in title case, and should link to the page for that organelle, e.g. '''[[Mitochondrion]]'''. They can be puralised, e.g. '''[[Mitochondrion|Mitochondria]]'''.
 
* Outside of info boxes, process names should always be bold, in title case, and use the full name for the process, e.g. '''Cytoplasm Glycolysis''' and '''Glycolysis''' are distinct processes.
 
* '''IMPORTANT!''' Outside of info boxes, compound names should always be bold, in title case, and should always be followed by that compound's icon, e.g. '''Glucose''' {{CompoundIcon|image=GlucoseIcon.png|internalName=glucose}}. Use the following markdown to create the icon.
 
<pre>{{CompoundIcon|image=GlucoseIcon.png|internalName=glucose}}</pre>
 
* '''IMPORTANT!''' Icons can be included in an article using the following markdown. Any text that the icon represents should be bold and in title case, e.g. '''MP''' {{Icon|image=MPIcon.png|icon=MP}}. Be aware that not all values for <code>icon</code> are valid; please check if the icon loads correctly before including it.
 
<pre>'''MP''' {{Icon|image=MPIcon.png|icon=MP}} </pre>
 
* Outside of info boxes, enzyme and membrane names should always be bold and in title case, e.g. '''Chitin''' or '''Double Membrane'''. Membranes can be pluralised, e.g. '''Double Membranes'''.
 
* When creating process equations, compound names should be in bold with an icon, but symbols should not be bold. Use → to symbolise conversion and + for combinations, including environmental factors. For example, '''Glucose''' {{CompoundIcon|image=GlucoseIcon.png|internalName=glucose}} + '''Oxygen''' {{CompoundIcon|image=OxygenIcon.png|internalName=oxygen}} → '''ATP''' {{CompoundIcon|image=ATPIcon.png|internalName=atp}}.
 
* '''IMPORTANT!''' Links to external sites must be in the whitelist in the wiki updating script to be copied to the in-game Thriveopedia, otherwise they’ll be ignored. Currently the only valid external links are Wikipedia links and anything in the Revolutionary Games domain. If you want to add a different link, ask a programmer to add its root domain to the whitelist.
 
=== Organelle Pages ===
 
* Always have these sections only: Requirements, Processes, Modifications, Effects, Upgrades, Strategy, Scientific Background.
 
* Organelles appearing only in the multicellular stage should be restricted to multicellular only.
 
* In Processes, each process should a "subheading" consisting of a bold name, colon and equation on one line, followed by paragraph(s) of description below.
 
* In Strategy, use second person (e.g. 'you', 'your') and use 'we' when speaking from the point of view of Revolutionary Games, e.g. when making suggestions for strategic options.
 
* In Scientific Background, keep descriptions general and avoid descriptions which require previous knowledge of biochemistry outside of that you can find elsewhere in the game. Use 'we' when describing why game design decisions were made that might differ from real life.
 
* Prefer imperative mood when describing instructions, e.g. 'do this'.
 
* To get the organelle model for the info box, do the following: view the model in the in-game art gallery from above at max zoom, screenshot at 1920x1080 resolution, crop to a 756x756 centred square at 96 dpi.
 
=== Mechanic Pages ===
 
* The intro section should always be a summary of the mechanic, and should be no bigger than one paragraph.
 
* Each mechanic should be separated into a series of sub-mechanics. Each of these should have its own section describing it, and any strategy or tips related to it.
 
* Each sub-mechanic should be capitalised and in bold when mentioned in the intro paragraph. (e.g. '''Patch''', '''Editor''')
 
* In each of the other sections, only the first occurrence of the sub-mechanic should be capitalised and in bold.
 
* If any other mechanics, organelles or stages are mentioned, their first occurrence in each section (not paragraph) should be a link to the relevant page. The text content of the link does not have to be the title of the page. When not using the title of the page, the text should '''not''' be capitalised.
 
* For all other occurrences of the mechanic in the section, there should not be any special formatting.
 
* If you want to emphasise any particular word or phrase (that is not a sub-mechanic, organelle, etc...) use an <u>underline</u>.
 
* The below paragraph is an example of how a sub-mechanic section should be formatted:
 
'''Patches''' appear in the '''Patch Map'''. Each patch has [[Environmental Conditions]]. These environmental conditions <u>affect the player</u>. When in the [[Editors And Mutations|editor]], the player can move between patches.
 
== Updating In-Game Thriveopedia ==


The game does not fetch page content at runtime, but instead requires a developer to periodically run the wiki updating script to add recent changes to the game files. To do so, run the following command from the root of the [https://github.com/Revolutionary-Games/Thrive Thrive repo]:
The game does not fetch page content at runtime, but instead requires a developer to periodically run the wiki updating script to add recent changes to the game files. To do so, run the following command from the root of the [https://github.com/Revolutionary-Games/Thrive Thrive repo]:
Line 18: Line 115:


# Fetches HTML from the pages in the above list.
# Fetches HTML from the pages in the above list.
# Converts the main article content from each page into Godot-compatible BBCode (see below).
# Converts the main article content from each page into Godot-compatible BBCode.
# Generates a JSON file defining the structure of each page, including translation keys for heading and body text.
# Generates a JSON file defining the structure of each page, including translation keys for heading and body text.
# Runs the localisation update script to add these keys to translation files.
# Runs the localisation update script to add these keys to translation files.
# Inserts the original page content for each key into the English translation file.
# Inserts the original page content for each key into the English translation file.


'''Important information for wiki editors:''' the script assumes some aspects of the HTML page structure and will ignore content that doesn't conform to the following format, perhaps even failing or producing nonsense output in the process. To avoid this, content intended to be scraped for the Thriveopedia '''must use only the following formatting features''':
The script assumes some aspects of the HTML page structure and will ignore content that doesn't conform to the points marked with an asterisk in the [[#Style Guide]], perhaps even failing or producing nonsense output in the process.
 
* Unformatted text
* Bold text
* Italic text
* Heading level 2
* Unordered lists (bullet points) with no nested listing
 
If you want to use any other formatting, e.g. for info boxes that should not be scraped for the Thriveopedia, you can safely wrap the content which uses it in a <code><<nowiki />div></code> tag and the script will ignore it.
 
To use our custom BBCode words in-game, you simply have to use that word as it appears in-game (including correct casing) and make it bold, e.g. '''Glucose''' will be affixed with the glucose icon in-game. At the time of writing, this only works for compounds.

Latest revision as of 07:34, 10 Haziran 2024


The Thriveopedia is our in-game information store. It contains details about game concepts and, if opened from within a game in progress, the player's world and its organisms. Much of the information in the Thriveopedia is scraped directly from this wiki.

The pages from this wiki currently duplicated in the Thriveopedia are:

* - IMPORTANT! Pages can be excluded from appearing in the Thriveopedia by adding them to the Only Online Category

Style Guide

We should aim for a consistent style across our Thriveopedia pages. Please follow the guidelines below when writing or editing them. Items marked with IMPORTANT! are mandatory, otherwise the wiki update script will fail (see #Updating In-Game Thriveopedia).

General

If you want to use any invalid formatting, e.g. for info boxes that should not be scraped for the Thriveopedia, you can safely wrap the content which uses it in a <div> tag and the script will ignore it.

  • Strive for clarity and simplicity in sentence structure and vocabulary. The aim of the Thriveopedia is not to throw everything at the reader and hope they know their biochemistry, but to help them understand in-game concepts they may be struggling with and link them to the real world.
  • IMPORTANT! To restrict a page to appear only when certain stages are selected in the Thriveopedia, add the ThriveopediaRestrictTo template to the file. The argument of the template should be a space separated list of stages (excluding the word stage). For example the following would restrict the page to the microbe and multicellular stages.
{{ThriveopediaRestrictTo|microbe multicellular}}
  • IMPORTANT! Avoid images, as they won't be picked up by the Thriveopedia update script.
  • IMPORTANT! Avoid writing out equations in paragraph text. We hope to have a system for prettified equations in future, but for now, they don't look good and the wiki parsing script is likely to run into trouble with them.
  • In general, pages should start with a simple, single-clause, declarative sentence.
  • Check all spellings (using en-US). MediaWiki doesn't do this by default, so you may need to write pages in a word processor and copy-paste here.
  • Bullet points in lists should be terminated with a full stop.
  • Use hyphens (-) for hyphenated words, use en-dashes surrounded by spaces ( – ) for clause breaks in sentences.
  • Stage names should be capitalised, e.g. 'Microbe Stage'.
  • Prefer 'mutation point(s)' over 'Mutation Point(s)' or 'MP', except in info boxes which should only use 'MP'.
  • Numeric stats should be in bold and should signed, e.g. +0.5% or -10. For zero, use +0.
  • Prefer 'cell' to 'microbe'.
  • IMPORTANT! If bold text comes before any specific bold text that's parsed in the updating script, such as compound names, the two instances of bold text must be separated. For instance, the markdown for +2 ATP atp should be the following.
'''+2''' '''ATP''' {{CompoundIcon|image=ATPIcon.png|internalName=atp}}
  • IMPORTANT! Outside of info boxes, organelle names should always be bold, in title case, and should link to the page for that organelle, e.g. Mitochondrion. They can be puralised, e.g. Mitochondria.
  • Outside of info boxes, process names should always be bold, in title case, and use the full name for the process, e.g. Cytoplasm Glycolysis and Glycolysis are distinct processes.
  • IMPORTANT! Outside of info boxes, compound names should always be bold, in title case, and should always be followed by that compound's icon, e.g. Glucose glucose. Use the following markdown to create the icon.
{{CompoundIcon|image=GlucoseIcon.png|internalName=glucose}}
  • IMPORTANT! Icons can be included in an article using the following markdown. Any text that the icon represents should be bold and in title case, e.g. MP MP. Be aware that not all values for icon are valid; please check if the icon loads correctly before including it.
'''MP''' {{Icon|image=MPIcon.png|icon=MP}} 
  • Outside of info boxes, enzyme and membrane names should always be bold and in title case, e.g. Chitin or Double Membrane. Membranes can be pluralised, e.g. Double Membranes.
  • When creating process equations, compound names should be in bold with an icon, but symbols should not be bold. Use → to symbolise conversion and + for combinations, including environmental factors. For example, Glucose glucose + Oxygen oxygenATP atp.
  • IMPORTANT! Links to external sites must be in the whitelist in the wiki updating script to be copied to the in-game Thriveopedia, otherwise they’ll be ignored. Currently the only valid external links are Wikipedia links and anything in the Revolutionary Games domain. If you want to add a different link, ask a programmer to add its root domain to the whitelist.

Organelle Pages

  • Always have these sections only: Requirements, Processes, Modifications, Effects, Upgrades, Strategy, Scientific Background.
  • Organelles appearing only in the multicellular stage should be restricted to multicellular only.
  • In Processes, each process should a "subheading" consisting of a bold name, colon and equation on one line, followed by paragraph(s) of description below.
  • In Strategy, use second person (e.g. 'you', 'your') and use 'we' when speaking from the point of view of Revolutionary Games, e.g. when making suggestions for strategic options.
  • In Scientific Background, keep descriptions general and avoid descriptions which require previous knowledge of biochemistry outside of that you can find elsewhere in the game. Use 'we' when describing why game design decisions were made that might differ from real life.
  • Prefer imperative mood when describing instructions, e.g. 'do this'.
  • To get the organelle model for the info box, do the following: view the model in the in-game art gallery from above at max zoom, screenshot at 1920x1080 resolution, crop to a 756x756 centred square at 96 dpi.

Mechanic Pages

  • The intro section should always be a summary of the mechanic, and should be no bigger than one paragraph.
  • Each mechanic should be separated into a series of sub-mechanics. Each of these should have its own section describing it, and any strategy or tips related to it.
  • Each sub-mechanic should be capitalised and in bold when mentioned in the intro paragraph. (e.g. Patch, Editor)
  • In each of the other sections, only the first occurrence of the sub-mechanic should be capitalised and in bold.
  • If any other mechanics, organelles or stages are mentioned, their first occurrence in each section (not paragraph) should be a link to the relevant page. The text content of the link does not have to be the title of the page. When not using the title of the page, the text should not be capitalised.
  • For all other occurrences of the mechanic in the section, there should not be any special formatting.
  • If you want to emphasise any particular word or phrase (that is not a sub-mechanic, organelle, etc...) use an underline.
  • The below paragraph is an example of how a sub-mechanic section should be formatted:

Patches appear in the Patch Map. Each patch has Environmental Conditions. These environmental conditions affect the player. When in the editor, the player can move between patches.

Updating In-Game Thriveopedia

The game does not fetch page content at runtime, but instead requires a developer to periodically run the wiki updating script to add recent changes to the game files. To do so, run the following command from the root of the Thrive repo:

dotnet run --project Scripts wiki

This performs the following actions:

  1. Fetches HTML from the pages in the above list.
  2. Converts the main article content from each page into Godot-compatible BBCode.
  3. Generates a JSON file defining the structure of each page, including translation keys for heading and body text.
  4. Runs the localisation update script to add these keys to translation files.
  5. Inserts the original page content for each key into the English translation file.

The script assumes some aspects of the HTML page structure and will ignore content that doesn't conform to the points marked with an asterisk in the #Style Guide, perhaps even failing or producing nonsense output in the process.