Difference between revisions of "Emulation General Wiki:Guidelines"

From Emulation General Wiki
Jump to navigation Jump to search
(Emulators table)
Line 1: Line 1:
Guidelines for making and editing certain types of pages on the wiki.
+
Here are some guidelines for laying out specific types of pages on the wiki.
 +
 
 +
You may break from the suggested grammatical structure ''if'' you feel your approach works better and works well alongside the existing articles.
  
 
==Emulator Pages==
 
==Emulator Pages==
Pages for the emulators themselves. If an emulator's name starts with a lowercase letter make sure to include [[Template:lowercase title|<nowiki>{{lowercase title}}</nowiki>]]
+
Pages that cover emulators and similar software.
 +
 
 +
If the first character in the emulator's name is a lowercase letter, you will need to prepend {{t|lowercase title}} to the top of the article.
  
 
Example pages: [[MAME]], [[redream]]
 
Example pages: [[MAME]], [[redream]]
===Intro===
 
Include the [[Template:Infobox emulator|<nowiki>{{Infobox emulator}}</nowiki>]] template and fill it out. For the <code>logo</code> try to find a high resolution image from the emulator's website, preferably with a transparent background.
 
  
The page should lead with a very brief overview (one or two sentences) of the emulator.
+
===Infobox===
 +
Start by adding the {{t|Infobox emulator}} template, adding in any known information using each parameter.
 +
 
 +
For the <code>logo</code>, find in order of importance:
 +
 
 +
* An SVG
 +
* A high resolution PNG, preferably transparent
 +
* A JPEG, if nothing else exists
 +
 
 +
You can usually find these on the project's website, in their source code repository, or in the project's Discord posted by the logo designers.
 +
 
 +
===Lead section===
 +
Start the page with an introductory overview (one or two sentences) of the emulator. The ''general'' style is something along these lines.
 +
 
 +
<pre>'''Example-emu''' is a (closed/open)-source emulator (developed by [author]) (released on [date]). (Explain its significance. In other words, justify to the reader why an entire page is necessary for this emulator.)</pre>
  
 
===Download===
 
===Download===
Example table to copy/paste when starting a new page:
+
Use a MediaWiki table to lay out the download links.
 
+
<pre>{| cellpadding="4"
{| cellpadding="4"
 
 
|-
 
|-
 
|align=center|{{Icon|Win|Lin}}
 
|align=center|{{Icon|Win|Lin}}
Line 22: Line 37:
 
|align=center|{{Icon|Lin-big}}
 
|align=center|{{Icon|Lin-big}}
 
|[https:///www.otherdownloadpage.com Other downloads]<br><small>Latest dev build</small>
 
|[https:///www.otherdownloadpage.com Other downloads]<br><small>Latest dev build</small>
|}
+
|}</pre>
  
*Put the best option first, and bold the text.
+
*The most common download link you expect people to use goes first, in bold.
*Use -big icons for single platform links, regular icons for multiplatform links.
+
*The link that the project itself makes available for users should be called the "official release".
*Use <code><nowiki><br><small>Text goes here</small></nowiki></code> tags for extra information/notes
+
*To clarify additional information, such as the type of build the emulator is, add a break line and the appropriate information in smaller text. (<code><nowiki><br><small>(Stable/Dev) builds</small></nowiki></code>)
 +
 
 +
*Use the {{t|Icon}} template for platform logos (to make finding the downloads easier). The list of applicable platforms is available at [[Template:Icon/File|the subtemplate File]].
 +
*If the link only pertains to a single platform, append <code>-big</code>. For multiple platforms, use the regular size. The table above demonstrates this usage.
  
 
===Overview===
 
===Overview===
Put a longer description of the emulator here. Highlight its features, what it's good at, where it falls short, etc.
+
Put a longer-form description of the emulator here. Highlight its features, what it's good at, where it falls short, etc.
 +
 
 +
If applicable, you may also provide a history of the emulator.
  
 
===System requirements===
 
===System requirements===
If an emulator has system requirements list them here.
+
At the moment, the way to list system requirements is either in a paragraph or in bullet points. This may be changed to a table in the future, with links to Passmark's benchmark database.
 +
 
 +
<pre>* CPU: Intel Core i5-2600K or newer
 +
* RAM: 6 GB or more
 +
* GPU: Integrated Graphics or better</pre>
  
 
===External links===
 
===External links===
 
Add '''official''' links here, stuff like the emulator's/developer's YouTube channel, Twitter, Discord, wiki and compatibility lists (unofficial compatibility lists are okay too).
 
Add '''official''' links here, stuff like the emulator's/developer's YouTube channel, Twitter, Discord, wiki and compatibility lists (unofficial compatibility lists are okay too).
  
Make sure to add all relevant [[Special:Categories|category links.]]
+
Make sure to add all relevant [[Special:Categories|category links]].
  
 
==System/Console Pages==
 
==System/Console Pages==
These pages are for the system that is being emulated. The page name should be <code>*System Name* emulators</code>
+
Pages that cover consoles, computers, and other systems. Conventions for the title vary between articles. Some pages use a shorthand version (Super Nintendo emulators), others include the manufacturer (Sega Genesis emulators). Computers with a range of models often use a capitalized "Line" instead of "emulators".
  
 
Example pages: [[Super Nintendo emulators]] and [[PlayStation emulators]].
 
Example pages: [[Super Nintendo emulators]] and [[PlayStation emulators]].
  
===Intro===
+
===Infobox===
Include the [[Template:Infobox console|<nowiki>{{Infobox console}}</nowiki>]] template and fill it out. For the <code>logo</code> use a picture of the system, preferably with a transparent background.
+
Start by adding the {{t|Infobox console}} template, adding in any known information using each parameter.
 +
 
 +
For the <code>logo</code>, find in order of importance:
 +
 
 +
* An SVG
 +
* A high resolution PNG, preferably transparent
 +
* A JPEG, if nothing else exists
 +
 
 +
You can usually find these on Wikipedia or in a press kit (for recent consoles). Use <code>image</code> for pictures of the console, not <code>logo</code>.
 +
 
 +
===Lead section===
 +
Start the page with an introductory overview (one or two sentences) of the console. The ''general'' style is something along these lines.
  
The page should lead with a brief overview of the system: The maker, year and [[wikipedia:Home_video_game_console_generations#History|generation]] it was released, the price it released at (use the [[Template:Inflation|<nowiki>{{Inflation}}</nowiki>]] template), a simplified overview of the hardware specs, and any interesting tidbits about it (eg. This was the first console to..., It was originally meant to be a collaboration between..., etc.).
+
<pre>'''Example''' is a (x)-bit (xth)-generation console (developed by [manufacturer]) (released on [North American date]). (Explain its significance. In other words, justify to the reader why emulators exist for it outside of overall tech preservation.)</pre>
  
===Emulators table===
+
For computers:
 +
 
 +
<pre>'''Example''' is a family of computers (developed by [manufacturer]) (released on [North American date]). (Explain its significance. In other words, justify to the reader why emulators exist for it outside of overall tech preservation.)</pre>
 +
 
 +
Provide a simplified overview of the type of hardware it contained if possible, as well as its development history. For consoles, refer to [[wikipedia:Home_video_game_console_generations#History|Wikipedia's convention for console generations]].
 +
 
 +
You may also include its MSRP, or retail price (wrapped in the {{t|Inflation}} template to add the equivalent price in {{CURRENTYEAR}}).
 +
 
 +
===Emulators===
 
<span style="color:red;">'''Do not''' add an emulator to a table without linking to either its website, source code, wiki page, or a download link.</span>
 
<span style="color:red;">'''Do not''' add an emulator to a table without linking to either its website, source code, wiki page, or a download link.</span>
  
Example table to copy/paste when starting a new page:
+
<pre>{| class="wikitable" style="text-align:center;"
 
 
{| class="wikitable" style="text-align:center;"
 
 
|-
 
|-
 
! scope="col"|Name
 
! scope="col"|Name
Line 94: Line 135:
 
|{{✓}}
 
|{{✓}}
 
|{{~}}
 
|{{~}}
|}
+
|}</pre>
  
*Do not list every emulator made for a system if there is a ton of them. Keep it to the notable (whether that be good or bad) ones.
+
:'''Name''': If there is an existing page on the wiki for the emulator link to it, and if not link to the emulator's website/source code repository. If the project doesn't have a website, it does not need a link.
*The columns can change depending on the what the emulators offer, for example if one or more of the above emulators had a [[Libretro]] port you could include a '''[[Libretro|Libretro Core]]''' column. If a couple emulators offered higher resolution rendering while the others didn't, that might be worth adding a column for - though if all did (or didn't) then adding a column for that would be superfluous.
+
:'''Platform(s)''': Use the {{t|Template:Icon}} template and align it left.
*List the emulators as they're recommended. Best emulators on top, worst on bottom.
+
:'''Latest Version''': The text should be the latest version number/name, and if an emulator's version is posted on many pages it may have a template (eg. {{t|MednafenVer}}). If the emulator updates very often you can use 'Nightly', or if the emulator is open source with a buildbot, 'Git'. This should also be linked to the download page of the emulator.
*Only include the ''Mobile / ARM'' and ''Console'' rows when there are emulators for them.
+
:'''Accuracy''': See the [[Emulation Accuracy]] page to determine how emulators should be ranked.
 +
:'''FLOSS''': The permissiveness of the license in the code repository. For an emulator to be considered open source, it must be deliberately made available on the part of the developers under a license that the wider community recognizes as valid. If the code is leaked or decompiled, it is not FLOSS. If the license only grants the ability to use the code under non-commercial terms, it is not FLOSS. Similarly, if it once was open but now isn't, we do not consider it FLOSS.
 +
:'''Active''': If the project has seen development/releases/news in the past year or so. This isn't a hard rule, as sometimes an emulator will regularly go over one year without releases, and other times a developer will say that they're stopping development on the emulator.
 +
:'''Recommended''': See the [[Recommended Emulators]] page to determine how emulators should be ranked.
  
'''Name''': If there is an existing page on the wiki for the emulator link to it, and if not link to the emulator's website/source code repository.
+
You may add additional columns to cover some enhancement considered desirable for the emulator to have when not all the emulators listed support it. One common example is libretro support. (<code><nowiki>'''[[Libretro|Libretro Core]]'''</nowiki></code>)
  
'''Platform(s)''': Use the {{Template:Icon|Icon}} template and align it left.
+
====Criteria====
  
'''Latest Version''': The text should be the latest version number/name, and if an emulator's version is posted on many pages it may have a template (eg. [[Template:MednafenVer|<nowiki>{{MednafenVer}}</nowiki>]]). If the emulator updates very often you can use 'Nightly', or if the emulator is open source with a buildbot, 'Git'. This should also be linked to the download page of the emulator.
+
The criteria for the table varies between systems, but overall:
  
'''Accuracy''': See the [[Emulation Accuracy]] page to determine how emulators should be ranked.
+
*The emulator '''has to exist''' in a form that is accessible to the reader, whether it be through a URL pointing to the installer, a Linux distro package, or the source code. The only time where this rule can be broken is if a reputable developer who has been in the scene for years confirms its legitimacy.
 +
*Only include ''Mobile / ARM'' and ''Console'' rows when there are emulators for them.
 +
*If a system has thousands of emulators, '''DO NOT list them all'''. The ones that are noteworthy are defined by their commitment to hardware accuracy, compatibility, long-term maintenance and/or ease of use for the average person. (Exceptions can exist when any of these factors are tipped in favor of another, see higan and Mednafen.) Historical significance should also play a role; emulators should not have to be "perfect" to be listed, and in fact if an emulator has name recognition elsewhere, whether it be from the scene of the 90s or through emulating another system, it is worth adding.
 +
*The overall order in which each emulator is listed is: recommended, honorable mention, not recommended. The order of ''recommended'' emulators is less defined, but generally speaking it should start at the gold standard (or the one closest to) and then work its way down. Honorable mentions ({{t|~}}) are similar.
  
'''FLOSS''': Whether or not the emulator is both [https://www.gnu.org/philosophy/free-sw.html.en free/libre software] and [https://opensource.org/osd open source] simultaneously. Note that if the source code was leaked or if the project was open source at one point but now isn't, or if the source code is available but non-commercial, this should be marked as <nowiki>{{✗}}</nowiki>
+
====Comparisons====
 +
Provide a paragraph explaining the rationale behind the recommendation (or lack thereof). Start with a brief gerund summarizing its ranking (and not a full sentence). The rest of the paragraph should be spent explaining what it does well, where it falls short, and any history behind it (if it does not have its own article). Try to be as concise as possible. You can usually accomplish this if the emulator has its own article, as many facts about the emulator can be moved there.
  
'''Active''': If the project has seen development/releases/news in the past year or so. This isn't a hard rule, as sometimes an emulator will regularly go over one year without releases, and other times a developer will say that they're stopping development on the emulator.
+
We use definition lists (<code>;</code>) to provide convenient stylization and help distinguish paragraphs apart from each other. Use them in conjunction with indents (<code>:</code>) like such:
  
'''Recommended''': See the [[Recommended Emulators]] page to determine how emulators should be ranked.
+
<pre>
 +
one liner
 +
;example:description
 +
multi liner
 +
;example
 +
:description
 +
</pre>
  
===Comparisons===
+
===Emulation issues===
Give a brief overview of the emulators, what they do well and where they fall short, and try to explain why they are or are not recommended compared the the others.
+
If a given system has roadblocks that make emulating it a challenge, use this section to spotlight it.
  
List the emulators in the same order they are on the table.
+
===Peripherals===
 
+
If a given system has a number of peripherals that are needed for a small portion of its catalog, this is the section to showcase them and their status in emulation.
===Other===
 
A system may have unique quirks that make emulation difficult or different, an '''Emulation issues''' section could be useful for explaining why that is.
 
  
 +
===Other sections===
 
If there was a hardware revision of the system that emulates different games add a section detailing it and if any of the emulators support it.
 
If there was a hardware revision of the system that emulates different games add a section detailing it and if any of the emulators support it.
  
A '''Peripherals''' section showcasing and explaining how to emulate (or use the hardware on an emulator) a system's various non-standard peripherals would be a good addition if applicable.
+
Make sure to add all relevant [[Special:Categories|category links]].
 
 
Make sure to add all relevant [[Special:Categories|category links.]]
 

Revision as of 02:31, 9 September 2021

Here are some guidelines for laying out specific types of pages on the wiki.

You may break from the suggested grammatical structure if you feel your approach works better and works well alongside the existing articles.

Emulator Pages

Pages that cover emulators and similar software.

If the first character in the emulator's name is a lowercase letter, you will need to prepend {{lowercase title}} to the top of the article.

Example pages: MAME, redream

Infobox

Start by adding the {{Infobox emulator}} template, adding in any known information using each parameter.

For the logo, find in order of importance:

  • An SVG
  • A high resolution PNG, preferably transparent
  • A JPEG, if nothing else exists

You can usually find these on the project's website, in their source code repository, or in the project's Discord posted by the logo designers.

Lead section

Start the page with an introductory overview (one or two sentences) of the emulator. The general style is something along these lines.

'''Example-emu''' is a (closed/open)-source emulator (developed by [author]) (released on [date]). (Explain its significance. In other words, justify to the reader why an entire page is necessary for this emulator.)

Download

Use a MediaWiki table to lay out the download links.

{| cellpadding="4"
|-
|align=center|{{Icon|Win|Lin}}
|[https://www.maindownloadpage.com '''Official release''']
|-
|colspan="3"|<hr/>
|-
|align=center|{{Icon|Lin-big}}
|[https:///www.otherdownloadpage.com Other downloads]<br><small>Latest dev build</small>
|}
  • The most common download link you expect people to use goes first, in bold.
  • The link that the project itself makes available for users should be called the "official release".
  • To clarify additional information, such as the type of build the emulator is, add a break line and the appropriate information in smaller text. (<br><small>(Stable/Dev) builds</small>)
  • Use the {{Icon}} template for platform logos (to make finding the downloads easier). The list of applicable platforms is available at the subtemplate File.
  • If the link only pertains to a single platform, append -big. For multiple platforms, use the regular size. The table above demonstrates this usage.

Overview

Put a longer-form description of the emulator here. Highlight its features, what it's good at, where it falls short, etc.

If applicable, you may also provide a history of the emulator.

System requirements

At the moment, the way to list system requirements is either in a paragraph or in bullet points. This may be changed to a table in the future, with links to Passmark's benchmark database.

* CPU: Intel Core i5-2600K or newer
* RAM: 6 GB or more
* GPU: Integrated Graphics or better

External links

Add official links here, stuff like the emulator's/developer's YouTube channel, Twitter, Discord, wiki and compatibility lists (unofficial compatibility lists are okay too).

Make sure to add all relevant category links.

System/Console Pages

Pages that cover consoles, computers, and other systems. Conventions for the title vary between articles. Some pages use a shorthand version (Super Nintendo emulators), others include the manufacturer (Sega Genesis emulators). Computers with a range of models often use a capitalized "Line" instead of "emulators".

Example pages: Super Nintendo emulators and PlayStation emulators.

Infobox

Start by adding the {{Infobox console}} template, adding in any known information using each parameter.

For the logo, find in order of importance:

  • An SVG
  • A high resolution PNG, preferably transparent
  • A JPEG, if nothing else exists

You can usually find these on Wikipedia or in a press kit (for recent consoles). Use image for pictures of the console, not logo.

Lead section

Start the page with an introductory overview (one or two sentences) of the console. The general style is something along these lines.

'''Example''' is a (x)-bit (xth)-generation console (developed by [manufacturer]) (released on [North American date]). (Explain its significance. In other words, justify to the reader why emulators exist for it outside of overall tech preservation.)

For computers:

'''Example''' is a family of computers (developed by [manufacturer]) (released on [North American date]). (Explain its significance. In other words, justify to the reader why emulators exist for it outside of overall tech preservation.)

Provide a simplified overview of the type of hardware it contained if possible, as well as its development history. For consoles, refer to Wikipedia's convention for console generations.

You may also include its MSRP, or retail price (wrapped in the {{Inflation}} template to add the equivalent price in 2024).

Emulators

Do not add an emulator to a table without linking to either its website, source code, wiki page, or a download link.

{| class="wikitable" style="text-align:center;"
|-
! scope="col"|Name
! scope="col"|Platform(s)
! scope="col"|Latest Version
! scope="col"|[[Emulation Accuracy|Accuracy]]
! scope="col"|<abbr title="Free/Libre and Open-Source Software">FLOSS</abbr>
! scope="col"|Active
! scope="col"|[[Recommended Emulators|Recommended]]
|-
! colspan="8"|PC / x86
|-
|-
|[https://example.com/ Example-emu]
|align=left|{{Icon|Windows|Linux|macOS|FreeBSD}}
|[https://example.com/ Git]
|High
|{{✓}}
|{{✓}}
|{{✓}}
|-
! colspan="8"|Mobile / ARM
|-
|[https://example.com/ Example-emu]
|align=left|{{Icon|Android}}
|[https://example.com/ 1.0]
|Low
|{{✗}}
|{{✓}}
|{{✗}}
|-
! colspan="8"|Console
|-
|[https://example.com/ Example-emu]
|align=left|{{Icon|NGC|XB1}}
|[https://example.com/ V2.64]
|Mid
|{{✗}}
|{{✓}}
|{{~}}
|}
Name: If there is an existing page on the wiki for the emulator link to it, and if not link to the emulator's website/source code repository. If the project doesn't have a website, it does not need a link.
Platform(s): Use the {{Template:Icon}} template and align it left.
Latest Version: The text should be the latest version number/name, and if an emulator's version is posted on many pages it may have a template (eg. {{MednafenVer}}). If the emulator updates very often you can use 'Nightly', or if the emulator is open source with a buildbot, 'Git'. This should also be linked to the download page of the emulator.
Accuracy: See the Emulation Accuracy page to determine how emulators should be ranked.
FLOSS: The permissiveness of the license in the code repository. For an emulator to be considered open source, it must be deliberately made available on the part of the developers under a license that the wider community recognizes as valid. If the code is leaked or decompiled, it is not FLOSS. If the license only grants the ability to use the code under non-commercial terms, it is not FLOSS. Similarly, if it once was open but now isn't, we do not consider it FLOSS.
Active: If the project has seen development/releases/news in the past year or so. This isn't a hard rule, as sometimes an emulator will regularly go over one year without releases, and other times a developer will say that they're stopping development on the emulator.
Recommended: See the Recommended Emulators page to determine how emulators should be ranked.

You may add additional columns to cover some enhancement considered desirable for the emulator to have when not all the emulators listed support it. One common example is libretro support. ('''[[Libretro|Libretro Core]]''')

Criteria

The criteria for the table varies between systems, but overall:

  • The emulator has to exist in a form that is accessible to the reader, whether it be through a URL pointing to the installer, a Linux distro package, or the source code. The only time where this rule can be broken is if a reputable developer who has been in the scene for years confirms its legitimacy.
  • Only include Mobile / ARM and Console rows when there are emulators for them.
  • If a system has thousands of emulators, DO NOT list them all. The ones that are noteworthy are defined by their commitment to hardware accuracy, compatibility, long-term maintenance and/or ease of use for the average person. (Exceptions can exist when any of these factors are tipped in favor of another, see higan and Mednafen.) Historical significance should also play a role; emulators should not have to be "perfect" to be listed, and in fact if an emulator has name recognition elsewhere, whether it be from the scene of the 90s or through emulating another system, it is worth adding.
  • The overall order in which each emulator is listed is: recommended, honorable mention, not recommended. The order of recommended emulators is less defined, but generally speaking it should start at the gold standard (or the one closest to) and then work its way down. Honorable mentions ({{~}}) are similar.

Comparisons

Provide a paragraph explaining the rationale behind the recommendation (or lack thereof). Start with a brief gerund summarizing its ranking (and not a full sentence). The rest of the paragraph should be spent explaining what it does well, where it falls short, and any history behind it (if it does not have its own article). Try to be as concise as possible. You can usually accomplish this if the emulator has its own article, as many facts about the emulator can be moved there.

We use definition lists (;) to provide convenient stylization and help distinguish paragraphs apart from each other. Use them in conjunction with indents (:) like such:

one liner
;example:description
multi liner
;example
:description

Emulation issues

If a given system has roadblocks that make emulating it a challenge, use this section to spotlight it.

Peripherals

If a given system has a number of peripherals that are needed for a small portion of its catalog, this is the section to showcase them and their status in emulation.

Other sections

If there was a hardware revision of the system that emulates different games add a section detailing it and if any of the emulators support it.

Make sure to add all relevant category links.