User:Revac: Difference between revisions

From Flashpoint Datahub
Jump to navigation Jump to search
 
(6 intermediate revisions by 2 users not shown)
Line 4: Line 4:


== Why Curate? ==
== Why Curate? ==
Curation is the process of preparing a game to add it to the Flashpoint database. It involves finding a game, getting it working in Flashpoint, adding metadata to it, and submitting. One curation is just game files and metadata, exported out into a .7z or .zip file. It is the most accessible method of contributing to the project. All it requires is a modern web browser and a copy of Flashpoint.
Curation is the process of preparing a game to add it to the Flashpoint database. It involves finding a game, getting it working in Flashpoint, adding metadata to it, and submitting. One curation is just game files and metadata, exported out into a .7z or .zip file. It is the most accessible method of contributing to the project.


As we are an entirely volunteer-driven project, the more help we can get, the better. This tutorial is made so that anyone can learn to curate.
As we are an entirely volunteer-driven project, the more help we can get, the better. This tutorial is made so that anyone can learn to curate.


Curation is a far more simpler process than this wall of text may suggest. Here is the tl;dr:
Curation is a far more simple process than this wall of text may suggest. Here is the tl;dr:


* Get the files of the game.
* Get the files of the game.
Line 16: Line 16:


=== Finding A Title to Curate ===
=== Finding A Title to Curate ===
If you are looking at this page, this hopefully means you have a game or animation you want to curate.
If you are reading this page, it hopefully means you have a game or animation you want to curate.


Before attempting to curate it, please verify it is not in Flashpoint first. Use our [https://flashpointproject.github.io/flashpoint-database/ search tool], search Flashpoint itself, or even search the Discord server for if a game has been recently curated, just not added yet.
Before attempting to curate it, please verify it is not in Flashpoint first. Use our [https://flashpointproject.github.io/flashpoint-database/ search tool], search Flashpoint itself, or even search our [https://discord.gg/qhvAkhWXU5 Discord server] to see whether a game has been recently curated, just not added yet.


If you want to curate, but do not have a specific title you are looking to curate, consider checking out the [https://docs.google.com/spreadsheets/d/1t0MbYMGm4dq4d5hA1l6MKuVYGyw9XU8UOPHjy2ceHX8/edit#gid=1450922388 Game Requests spreadsheet] or the [https://docs.google.com/spreadsheets/d/1vJmALjuGLnr4aznZuN5dVWBkHc50cKNxD1ow3fvjlSs/edit?usp=sharing Curation Sitemap].
If you do not have a specific title in mind you want to curate, consider checking out the [https://docs.google.com/spreadsheets/d/1t0MbYMGm4dq4d5hA1l6MKuVYGyw9XU8UOPHjy2ceHX8/edit#gid=1450922388 Game Requests spreadsheet] or the [https://docs.google.com/spreadsheets/d/1vJmALjuGLnr4aznZuN5dVWBkHc50cKNxD1ow3fvjlSs/edit?usp=sharing Curation Sitemap].


=== Banned Games and Animations ===
=== Banned Games and Animations ===
Line 29: Line 29:


Flashpoint is more than just a program to play files; rather, it's a combination of two programs working in parallel:
Flashpoint is more than just a program to play files; rather, it's a combination of two programs working in parallel:
* a '''web server''', which hosts game files from an internal or external drive and pretends to be the original Internet source the games ran off of,
* A '''web server''', which hosts game files from an internal or external drive and pretends to be the original Internet source the games ran off of,
* and a '''launcher''', the user interface to select and play games from.
* A '''launcher''', the user interface to select and play games from.


Flashpoint itself also comes in two primary versions:  
Flashpoint itself also comes in two primary versions:  
* '''Infinity''', the version that downloads games and animations from a server as you play or view them,
* '''Infinity''', the version that downloads games and animations from a server as you play or view them,
* and '''Ultimate''', the gigantic version with every game and animation included and ready for offline play and viewing.
* '''Ultimate''', the gigantic version with every game and animation included and ready for offline play and viewing.


Infinity will download files as you play games that request them, while Ultimate knows the files are already there. Both make the files believe they're being ran on their original source. This has numerous benefits, the two most important being bypassing '''sitelocks''' and supporting '''multi-asset''' games. The [[How Flashpoint Works]] article provides more detail on this topic.
Infinity will download files as you play games that request them, while Ultimate knows the files are already there. Both make the files believe they're being ran on their original source. This has numerous benefits, the two most important being bypassing '''sitelocks''' and supporting '''multi-asset''' games. The [[How Flashpoint Works]] article provides more detail on this topic.
Line 40: Line 40:
== Setting Up Our Software ==
== Setting Up Our Software ==
Curation only requires:
Curation only requires:
*'''[https://flashpointarchive.org/downloads Flashpoint Infinity]''', version 12 or later; curating in previous versions, as well using Flashpoint Core (built for curating but now deprecated) or Ultimate may run into compatibility problems,
*'''[https://flashpointarchive.org/downloads Flashpoint Infinity]''', version 12 or later; curating in previous versions, as well as using Flashpoint Core (built for curating but now deprecated) or Ultimate may run into compatibility problems,
*'''and a modern web browser''' such as Chrome or Firefox, which have tools that we can use to find and grab game files like SWFs, and sometimes multi-asset titles with low amounts of resources.
*A '''modern web browser''' such as Chrome or Firefox, which have tools that we can use to find and grab game files like .swf's, and sometimes multi-asset titles with low amounts of resources.
Additionally,
Additionally,
*'''cURLsDownloader''' is usually very beneficial in curation. It is found as a component in the Extras section of the Flashpoint Infinity Installer. This isn't strictly necessary, but it helps immensely; you'll see why later on. There are also other helpful utilities available in this section, like fpcurator.
*'''cURLsDownloader''' is usually very beneficial in curation. It is found as a component in the Extras section of the Flashpoint Infinity Installer. This isn't strictly necessary, but it helps immensely; you'll see why later on. There are also other helpful utilities available in this section, like fpcurator.


To enable the Curate tab, where all curation takes place, open the config tab of Flashpoint and select Enable Editing. Please make sure your installation of Flashpoint is working normally first, if not, join our Discord server and post in #help.
Before curating, please make sure your installation of Flashpoint is working normally first, if not, join our [https://discord.gg/qhvAkhWXU5 Discord server] and post in the #help channel.


== The Curate Tab==
== The Curate Tab==
The Curate Tab is where all curation work is done, whether it be an entirely new curation or you are making a [[Content Patches|content patch]], it is all done here.  
The Curate Tab is where all curation work is done, whether it be an entirely new curation or a [[Content Patches|content patch]]. To enable this tab, open the '''Config''' tab of Flashpoint and select '''Enable Editing'''.


To start a new curation, click New Curation. You should now see a whole bunch of empty boxes, some with yellow boxes. These are the '''Metadata Fields''', where all the information for titles live. The yellow-highlighted fields represent that they are required for submission. These are the '''Title''', '''Tags''', '''Source''', and the '''Launch Command'''. The Application Path is also required, but it prefills to <code>flashplayer_32_sa.exe</code>.
To start a new curation, click '''New Curation'''. You should now see a whole bunch of empty boxes, some with yellow boxes. These are the '''Metadata Fields''', where all the information for titles live. The yellow-highlighted fields represent that they are required for submission. These are the '''Title''', '''Tags''', '''Source''', '''Library''', and the '''Launch Command''' fields. The Application Path field is also required, but it prefills to <code>flashplayer_32_sa.exe</code>.


The required fields for ''just'' running a curation in the curate tab are the launch command and the application path, alongside having the correct game files in the curation's content folder. These three should be handled first before filling out metadata, and we will focus on these now.
The required fields for ''just'' running a curation in the curate tab are the '''Launch Command''' and the '''Application Path''' fields, alongside having the correct game files in the curation's content folder. These three should be handled first before filling out metadata, and we will focus on these now.


== Identifying the Launch Command ==
== Identifying the Launch Command ==
The first step to getting a game working into Flashpoint is finding the title's launch command, the URL we give to Flashpoint to launch our game. Launch commands (usually) follow a game's original URL that it was hosted to, but there are some exceptions such as <code>localflash</code>. Flash launch commands are usually straightforward to find. What we are looking for is a '''URL that ends with .swf''', embedded on a page that has the game. Let's take [https://www.newgrounds.com/portal/view/218014 Interactive Buddy] for example, and look at two possible methods to find Interactive Buddy's launch command.
The first step to getting a game working into Flashpoint is finding the title's launch command, the URL we give to Flashpoint to launch our game. Launch commands (usually) follow a game's original URL that it was hosted to, but there are some exceptions such as <code>localflash</code>. Flash launch commands are usually straightforward to find. What we are looking for is a '''URL that ends with .swf''', embedded on a page that has the game. Let's take [https://www.newgrounds.com/portal/view/218014 Interactive Buddy] for example, and look at two possible methods to find Interactive Buddy's launch command.


'''Both of these methods will give you a launch command that begins with https://, the s will need to be removed when you are doing anything involving a URL in Flashpoint, resulting in http:// .'''
'''Both of these methods will give you a launch command that begins with https://, the s will need to be removed when you are doing anything involving a URL in Flashpoint, resulting in http://, as Flashpoint does not support HTTPS.'''


=== View Page Source Method ===
=== View Page Source Method ===
[[File:Interactivebuddyngsource.png|600px|thumb|The SWF for Interactive Buddy in Firefox's View Source page; it should look similar on Chrome.]]
[[File:Interactivebuddyngsource.png|600px|thumb|The SWF for Interactive Buddy in Firefox's View Source page; it should look similar on Chrome.]]
The simplest way to find the launch command is to '''right click on the page and view its source''', or press '''Ctrl+U'''. (These may be slightly different depending on your browser.) You can either find the .swf link yourself, or press '''Ctrl+F''' and type ".swf". Usually the game's .swf is the first result, but depending on the site, other .swf's may show up first. For Interactive Buddy, the URL we are looking for is <code>https://uploads.ungrounded.net/218000/218014_DAbuddy_latest.swf</code>. This will be our launch command. (Please note that there may be extra slash's in the url, which can be removed. Only include forward facing slashes.)  
The simplest way to find the launch command is to '''right click on the page and view its source''', or press '''Ctrl+U'''. (These may be slightly different depending on your browser.) You can either find the .swf link yourself, or press '''Ctrl+F''' and type ".swf". Usually the game's .swf is the first result, but depending on the site, other .swf's may show up first. For Interactive Buddy, the URL we are looking for is <code>https://uploads.ungrounded.net/218000/218014_DAbuddy_latest.swf</code>. This will be our launch command. (Please note that there may be extra slash's in the url, which should be removed. '''Only include forward facing slashes'''.)  


All Flash works on Newgrounds will be hosted on <code>uploads.ungrounded.net</code>, and similar portal sites will follow their own common domain, such as Armor Games (<code>cache.armorgames.com</code>) or Kongregate (<code>chat.kongregate.com/gamez/</code>)
All Flash works on Newgrounds will be hosted on <code>uploads.ungrounded.net</code>, and similar portal sites will follow their own common domain, such as Armor Games (<code>cache.armorgames.com</code>) or Kongregate (<code>chat.kongregate.com/gamez/</code>)
Line 69: Line 69:
=== Network Tab Method ===
=== Network Tab Method ===
[[File:SWFAssetInChrome.png|500px|thumb|The SWF for Interactive Buddy in Chrome's network tab; it should look similar on Firefox.]]
[[File:SWFAssetInChrome.png|500px|thumb|The SWF for Interactive Buddy in Chrome's network tab; it should look similar on Firefox.]]
In all modern browsers, you can use your browser's developer tools to find a game's launch command. In Chrome or Firefox, you can press '''F12''' or right click on the page and select '''Inspect (Element)'''. Click on the network tab.  
In all modern browsers, you can use your browser's developer tools to find a game's launch command. In Chrome or Firefox, you can press '''F12''' or right click on the page and select '''Inspect (Element)'''. Click on the '''Network''' tab.  


As long as the game is running on the page, no matter if it's running with the Flash plugin or Ruffle, its .swf URL will be present here. (You may need to refresh the page in order to get it to load.)
As long as the game is running on the page, no matter if it's running with the Flash plugin or Ruffle, its .swf URL will be present here. (You may need to refresh the page in order to get it to load.)


What we want is a request with a <code>x-shockwave-flash</code> type. We can find this by either selecting the '''Other''' category, or searching '''.swf''' in the tab's search bar. The .swf URL can then be copied by right clicking it.
What we want is a request with a <code>x-shockwave-flash</code> type. We can find this by either selecting the '''Other''' category, or searching '''.swf''' in the tab's search bar. The .swf URL can then be copied by right clicking it.
Now that we have the link to the game's files, it's time to download the game file(s).


== Downloading Game Files ==
== Downloading Game Files ==
Line 80: Line 83:
===Manually Downloading===
===Manually Downloading===
[[File:lc.png|380px|thumb|left|Interactive Buddy's launch command and the respective folder structure inside the content folder.]]
[[File:lc.png|380px|thumb|left|Interactive Buddy's launch command and the respective folder structure inside the content folder.]]
The slowest and most inefficient method; .swf's can be manually downloaded from the internet just by opening their link. When working with games that use multiple assets, their assets can be manually downloaded too. Images can be saved with Save Image as in the right click context menu. .xml and .js files can be downloaded with Save Page as in the context menu as well. When getting your files into the content folder, you will need to manually create folders based on the URL the file exists/existed at. This can be done by first making the folder of the domain inside the content folder, done with <code>New > Folder</code> in the right click context menu of File Explorer, and then making as many folders as is needed within that to fit the launch command.
The slowest and most inefficient method; .swf's can be manually downloaded from the internet just by opening their link. When working with games that use multiple assets, their assets can be manually downloaded too. Images can be saved with '''Save Image as''' in the right click context menu. .xml and .js files can be downloaded with '''Save Page as''' in the context menu as well. When getting your files into the content folder, you will need to manually create folders based on the URL the file exists/existed at. This can be done by first making the folder of the domain inside the content folder, done with <code>New > Folder</code> in the right click context menu of File Explorer, and then making as many folders as is needed within that to fit the launch command.


If your launch command is <code>http://uploads.ungrounded.net/218000/218014_DAbuddy_latest.swf</code> for example, you will need to make a <code>uploads.ungrounded.net</code> folder, a <code>218000</code> folder inside that, and then finally the .swf inside that.
If your launch command is <code>http://uploads.ungrounded.net/218000/218014_DAbuddy_latest.swf</code> for example, you will need to make a <code>uploads.ungrounded.net</code> folder, a <code>218000</code> folder inside that, and then finally add the .swf inside that.


If you are dealing with a game that is just a .swf for example, this method is perfectly fine. Some titles can have several hundred or even thousand assets though, where this method would be terribly inefficient to use.
If you are dealing with a game that is just a .swf for example, this method is perfectly fine. Some titles can have several hundred or even thousand assets though, where this method would be terribly inefficient to use.


===Using cURLsDownloader===
===Using cURLsDownloader===
cURLsDownloader is a curation tool that will create the required directory structures and download the files into it, corresponding to the given URL. It is downloaded in the Extras section of the Manager, and then found in the Utilities folder of the Flashpoint directory. This cool can be used for single asset and multi-asset games. For single asset titles, just put in the file's link and download.
cURLsDownloader is a curation tool that will create the required directory structures and download the files into it, corresponding to the given URL. It is downloaded in the Extras section of the Manager, and then found in the Utilities folder of the Flashpoint directory. This tool can be used for single and multi-asset games. For single asset titles, just put in the file's link and download.


For multi-asset titles, there are two methods available.
For multi-asset titles, two methods are available.
Let's check out a multi-asset game called [https://www.kongregate.com/games/struma/gateway-ii Gateway II]. Here's the link to the main SWF of the game:
Let's check out a multi-asset game called [https://www.kongregate.com/games/struma/gateway-ii Gateway II]. Here's the link to the main .swf of the game:
  https://chat.kongregate.com/gamez/0000/3268/live/gateway_2.swf?kongregate_game_version=1581667106
  https://chat.kongregate.com/gamez/0000/3268/live/gateway_2.swf?kongregate_game_version=1581667106
Try curating this SWF as described above and testing it in Flashpoint with the Run button. You'll only get to the language select screen before the game freezes once you pick one.  
Try curating this .swf as described above and testing it in Flashpoint with the '''Run''' button. You'll only get to the language select screen before the game freezes once you pick one.  


Select the Logs tab in Flashpoint, then look near the bottom of the log. You should see a line with "200 HTTP/1.1" followed by a directory to the main SWF, followed by one or more lines with "404 HTTP/1.1" followed by directories to additional assets.
Select the '''Logs''' tab in Flashpoint, then look near the bottom of the log. You should see a line with "200 HTTP/1.1" followed by a directory to the main .swf, followed by one or more lines with "404 HTTP/1.1" followed by directories to additional assets.


This means the game was calling for one or more assets that it didn't have offline, making the game freeze because it failed to load a required asset. Thankfully, Flashpoint can handle these assets as long as they're downloaded properly.  
This means the game was calling for one or more assets that it didn't have offline, making the game freeze because it failed to load a required asset. Thankfully, Flashpoint can handle these assets as long as they're downloaded properly.  
Line 106: Line 109:
# Wait for cURLsDownloader to finish fetching assets. Use option 1 when finished if it detects broken filenames, which will very likely fix them.
# Wait for cURLsDownloader to finish fetching assets. Use option 1 when finished if it detects broken filenames, which will very likely fix them.
# Move the contents of the Downloads folder in cURLsDownloader to the content folder of your curation.
# Move the contents of the Downloads folder in cURLsDownloader to the content folder of your curation.
# Test your game with the Run button. If anything fails to work as it should, look for more lines beginning with "404 HTTP/1.1" in the Logs tab and repeat this process.
# Test your game with the '''Run''' button. If anything fails to work as it should, look for more lines beginning with "404 HTTP/1.1" in the '''Logs''' tab and repeat this process.


'''Option 2:''' Download all the assets that the source page of a game loads as you play it on the live Internet (but some assets downloaded won't be part of the game).
'''Option 2:''' Download all the assets that the source page of a game loads as you play it on the live Internet (but some assets downloaded won't be part of the game).
# Once again, press F12 to open your browser's Network viewer, then refresh the page.
# Once again, press '''F12''' to open your browser's '''Network''' viewer, then refresh the page.
# Play through your game on the Internet, loading assets as you go.
# Play through your game on the Internet, loading assets as you go.
# When you're confident you've loaded all of the game's assets, click the "All" tab in the Network viewer and right-click on an asset.  
# When you're confident you've loaded all of the game's assets, click the "All" tab in the Network viewer and right-click on an asset.  
Line 126: Line 129:


fpcurator allows for easily creating curations. It is downloaded in the Extras category of the Manager, and found in the Utilities folder of the Flashpoint directory. The common use is to paste URLs that contain the games and press the "Curate" button to have them generated in the default folder for curations; if you are already using Flashpoint, press the "Scan For New Curations" button after that. This tool largely works only for the websites that have fpcurator definitions made for them, however a generic definition is included which may work on a given URL. The provided URL should be the game's page on the website, 'not' the URL pointing to the game file itself. See [[Helpful Tools#Software for Curating|Helpful Tools]] for more information and documentation.
fpcurator allows for easily creating curations. It is downloaded in the Extras category of the Manager, and found in the Utilities folder of the Flashpoint directory. The common use is to paste URLs that contain the games and press the "Curate" button to have them generated in the default folder for curations; if you are already using Flashpoint, press the "Scan For New Curations" button after that. This tool largely works only for the websites that have fpcurator definitions made for them, however a generic definition is included which may work on a given URL. The provided URL should be the game's page on the website, 'not' the URL pointing to the game file itself. See [[Helpful Tools#Software for Curating|Helpful Tools]] for more information and documentation.
When using the automatic methods above, '''please make sure the files are actually required by the curation!''' This can be done by deleting suspected files from the Content folder of the curation, clicking on '''Clear WinINet Cache''' to clear your projector cache, and running the curation. Common files which are usually not needed are ads, tracking, and analytics files.


==Filling Out Metadata==
==Filling Out Metadata==
You should now have your submission running successfully in the curate tab. The next step is filling out the metadata of the submission. Take your time when it comes to this also, the more accurate and official metadata you can add, the better.
[[File:goodmeta.png|380px|thumb|An example of good metadata from an Alien Hominid curation.]]
You should now have your submission running successfully in the curate tab. The next step is filling out the metadata of the submission. Take your time when it comes to this as the more accurate and official metadata you can add, the better.


If you happen to find an official source for metadata that can be added, but it is different than the Source tab, you can add that metadata and link it in the Notes field. (NOT the Curation Notes.) This is typically done with a simple <code>Metadata from:[link]</code>  
If you happen to find an official source for metadata that can be added, but it is different than the Source tab, you can add that metadata and link it in the Notes field. (NOT the Curation Notes.) This is typically done with a simple <code>Metadata from:[link]</code>  
Line 145: Line 152:


===Additional Applications===
===Additional Applications===
The ''Additional Applications'' metadata field can be used to add Messages, Extras, or Alternates to a curation. You can add these through the "New App", "Add Extras", and "Add Message" buttons at the bottom of each curation in the "Curate" tab. Each of these items is explained in detail below.
The Additional Applications field can be used to add Messages, Extras, or Alternates to a curation. You can add these through the "New App", "Add Extras", and "Add Message" buttons at the bottom of each curation in the "Curate" tab. Each of these items is explained in detail below.


'''Messages'''
'''Messages'''


Use the Message sub-field to add a short, one-line message that pops up before a game runs. You'll want to use this if there's something that Flashpoint users need to know before playing a game. If you have less-important information about the game, use the Notes field instead. You can only have one message per curation.  
Use the Message sub-field to add a short, one-line message that pops up before a game runs. You'll want to use this if there's something that Flashpoint users need to know before playing a game. If you have less-important information about the game, use the '''Notes''' field instead. You can only have one message per curation.  


In Infinity, use the "Add Message" button at the bottom of the curation to add a message.
In Infinity, click on '''Add Message''' at the bottom of the curation to add a message.


Example:
Example:
Line 162: Line 169:


Extras allow you to include a folder of bonus materials with your curation. If you would like to include files related to a game that are not required to play it, such as source code or unlockable items, this is how you can do it:
Extras allow you to include a folder of bonus materials with your curation. If you would like to include files related to a game that are not required to play it, such as source code or unlockable items, this is how you can do it:
# Inside your curation's folder, next to the <code>content</code> folder, create a folder called <code>Extras</code>.
# Inside your curation's folder, next to the '''Content''' folder, create a folder called '''Extras'''.
# Place all of the bonus materials you would like to include inside of the Extras folder.
# Place all of the bonus materials you would like to include inside of the Extras folder.
# In the Notes field, add a short explanation of what's included in the Extras folder.
# In the '''Notes''' field, add a short explanation of what's included in the Extras folder.
# In Infinity, press the "Add Extras" button at the bottom of the curation and type ''gamename'' into the "Extras Folder" field. For example, if the title of the game was ''Tokyo Guinea Pop'', you would type <code>tokyoguineapop</code>. Do not edit the "Heading" field!  
# In Infinity, click on '''Add Extras''' at the bottom of the curation and type ''gamename'' into the '''Extras Folder''' field. For example, if the title of the game was ''Tokyo Guinea Pop'', you would type <code>tokyoguineapop</code>. Do not edit the "Heading" field!  


For example, here is the Additional Applications field of a game called ''Tokyo Guinea Pop''. The curation's Extras folder contains unlockable items from the game's original website.
For example, here is the Additional Applications field of a game called ''Tokyo Guinea Pop''. The curation's Extras folder contains unlockable items from the game's original website.
Line 172: Line 179:
     Extras: tokyoguineapop</nowiki>
     Extras: tokyoguineapop</nowiki>


When the above curation is imported into Flashpoint, the curation's <code>Extras</code> folder will be renamed to <code>tokyoguineapop</code> and placed in Flashpoint's main Extras folder.
When the above curation is imported into Flashpoint, the curation's Extras folder will be renamed to <code>tokyoguineapop</code> and placed in Flashpoint's main Extras folder.


As you can see, the Extras field specifies the name of the Extras folder when it is imported into Flashpoint. That means that you cannot use special characters like colons (<code>:</code>) or slashes (<code>/ \</code>). We recommend using only alphanumeric characters.
As you can see, the Extras field specifies the name of the Extras folder when it is imported into Flashpoint. That means that you cannot use special characters like colons (<code>:</code>) or slashes (<code>/ \</code>). We recommend using only alphanumeric characters.
Line 180: Line 187:
'''Alternates'''
'''Alternates'''


Alternates allow you to add alternate versions of a game into the same curation. This is commonly used to add older versions of a game, alternate languages of a game, or hacked versions from sites like Arcade Prehacks. Note that all of the files required to run an Alternate should be included in the <code>content</code> folder of your curation, along with the files for the main version. If the Additional Application cannot be described in just the heading, explain it in the notes.
Alternates allow you to add alternate versions of a game into the same curation. This is commonly used to add older versions of a game, alternate languages of a game, or hacked versions from sites like Arcade Prehacks. Note that all of the files required to run an Alternate should be included in the '''Content''' folder of your curation, along with the files for the main version. If the Additional Application cannot be described in just the heading, explain it in the '''Notes''' field.


In the curate tab of Infinity, you can use the "New App" button at the bottom of the curation to add alternates. Provide a short name for the alternate version in the "Heading" field. For example, you might say <code>Hacked Version</code> or <code>Version 0.5b</code>. Be sure to fill out the Application Path and Launch Command fields, then test the alternate thoroughly.
In Infinity, click on '''New App''' at the bottom of the curation to add alternates. Provide a short name for the alternate version in the '''Heading''' field. For example, you might say <code>Hacked Version</code> or <code>Version 0.5b</code>. Be sure to fill out the Application Path and Launch Command fields, then test the alternate thoroughly.


Example:
Example:

Latest revision as of 23:56, 23 March 2024

This page is a basic tutorial on how Flashpoint works and how to curate games for addition to Flashpoint.

It is best if this entire guide is read first before attempting curation, to get an idea of what the process and outcome looks like. It is also beneficial to read the specific curation guide of the Platform you are curating for (if one exists), like the Flash Curation or the HTML5 Curation pages.

Why Curate?

Curation is the process of preparing a game to add it to the Flashpoint database. It involves finding a game, getting it working in Flashpoint, adding metadata to it, and submitting. One curation is just game files and metadata, exported out into a .7z or .zip file. It is the most accessible method of contributing to the project.

As we are an entirely volunteer-driven project, the more help we can get, the better. This tutorial is made so that anyone can learn to curate.

Curation is a far more simple process than this wall of text may suggest. Here is the tl;dr:

  • Get the files of the game.
  • Put them into a new curation.
  • Fill out metadata.
  • Export and submit.

Finding A Title to Curate

If you are reading this page, it hopefully means you have a game or animation you want to curate.

Before attempting to curate it, please verify it is not in Flashpoint first. Use our search tool, search Flashpoint itself, or even search our Discord server to see whether a game has been recently curated, just not added yet.

If you do not have a specific title in mind you want to curate, consider checking out the Game Requests spreadsheet or the Curation Sitemap.

Banned Games and Animations

These are games/animations not allowed in Flashpoint for any reason. You can make an effort to get them working in Flashpoint if you want, but you may not request or submit them.

  • Games/animations that are still on sale, we will not distribute currently paid content. (Don't forget that some games start in web browsers for free then get paid versions later, the web browser version would be allowed in Flashpoint in this case; be sure to check the history before you archive.)
  • Any outright emulation of a commercial game (Such as a swf of Contra which contains the Contra ROM image). Ports of games are absolutely fine, but games that are a ROM wrapped in an emulator are not allowed unless they contain only non-commercial games and/or allow you to load your own.
    • While not emulation, fan remakes/conversions of Nintendo projects like Full Screen Mario are too risky to add if they were taken down by Nintendo. Not all remakes/conversions are risky though, if you are unsure just ask in #curators.
  • Videos embedded in SWF files:
    • If the SWF has nothing on it other than it requiring a separate FLV to run the SWF file properly (and if the FLV works perfectly fine on VLC), then it won't be allowed on Flashpoint and it should rather be uploaded through Archive.org
    • If it uses any Flash elements like ui, special effects, loop etc., it can be curated.
    • This means that your curation can't be only a video embedded in a SWF.
    • Games, animations and websites that use video are allowed, and you should include the video files and/or SWFs containing video in the curation.
  • Animations using the HTML5 platform have to include animated components and make use of HTML5-specific tags, CSS, and/or Javascript.
  • Games/animations with cub, shotacon or lolicon content.
  • The following are not allowed at developer request:
    • Any game from XForm Games that is not already in the database
    • Windows 93
    • Dragon Ball Devolution, and other games from www.txori.com
    • Any game developed by Nitrome
    • Flash Flash Revolution
    • Any game developed by Farrago Fiction
    • Any game/animation developed by Anonymous-Frog
    • Non-classic versions of Cookie Clicker

It should go without saying that blatantly illegal games/animations are not allowed, either.


How Flashpoint Works

Flashpoint is more than just a program to play files; rather, it's a combination of two programs working in parallel:

  • A web server, which hosts game files from an internal or external drive and pretends to be the original Internet source the games ran off of,
  • A launcher, the user interface to select and play games from.

Flashpoint itself also comes in two primary versions:

  • Infinity, the version that downloads games and animations from a server as you play or view them,
  • Ultimate, the gigantic version with every game and animation included and ready for offline play and viewing.

Infinity will download files as you play games that request them, while Ultimate knows the files are already there. Both make the files believe they're being ran on their original source. This has numerous benefits, the two most important being bypassing sitelocks and supporting multi-asset games. The How Flashpoint Works article provides more detail on this topic.

Setting Up Our Software

Curation only requires:

  • Flashpoint Infinity, version 12 or later; curating in previous versions, as well as using Flashpoint Core (built for curating but now deprecated) or Ultimate may run into compatibility problems,
  • A modern web browser such as Chrome or Firefox, which have tools that we can use to find and grab game files like .swf's, and sometimes multi-asset titles with low amounts of resources.

Additionally,

  • cURLsDownloader is usually very beneficial in curation. It is found as a component in the Extras section of the Flashpoint Infinity Installer. This isn't strictly necessary, but it helps immensely; you'll see why later on. There are also other helpful utilities available in this section, like fpcurator.

Before curating, please make sure your installation of Flashpoint is working normally first, if not, join our Discord server and post in the #help channel.

The Curate Tab

The Curate Tab is where all curation work is done, whether it be an entirely new curation or a content patch. To enable this tab, open the Config tab of Flashpoint and select Enable Editing.

To start a new curation, click New Curation. You should now see a whole bunch of empty boxes, some with yellow boxes. These are the Metadata Fields, where all the information for titles live. The yellow-highlighted fields represent that they are required for submission. These are the Title, Tags, Source, Library, and the Launch Command fields. The Application Path field is also required, but it prefills to flashplayer_32_sa.exe.

The required fields for just running a curation in the curate tab are the Launch Command and the Application Path fields, alongside having the correct game files in the curation's content folder. These three should be handled first before filling out metadata, and we will focus on these now.

Identifying the Launch Command

The first step to getting a game working into Flashpoint is finding the title's launch command, the URL we give to Flashpoint to launch our game. Launch commands (usually) follow a game's original URL that it was hosted to, but there are some exceptions such as localflash. Flash launch commands are usually straightforward to find. What we are looking for is a URL that ends with .swf, embedded on a page that has the game. Let's take Interactive Buddy for example, and look at two possible methods to find Interactive Buddy's launch command.

Both of these methods will give you a launch command that begins with https://, the s will need to be removed when you are doing anything involving a URL in Flashpoint, resulting in http://, as Flashpoint does not support HTTPS.

View Page Source Method

The SWF for Interactive Buddy in Firefox's View Source page; it should look similar on Chrome.

The simplest way to find the launch command is to right click on the page and view its source, or press Ctrl+U. (These may be slightly different depending on your browser.) You can either find the .swf link yourself, or press Ctrl+F and type ".swf". Usually the game's .swf is the first result, but depending on the site, other .swf's may show up first. For Interactive Buddy, the URL we are looking for is https://uploads.ungrounded.net/218000/218014_DAbuddy_latest.swf. This will be our launch command. (Please note that there may be extra slash's in the url, which should be removed. Only include forward facing slashes.)

All Flash works on Newgrounds will be hosted on uploads.ungrounded.net, and similar portal sites will follow their own common domain, such as Armor Games (cache.armorgames.com) or Kongregate (chat.kongregate.com/gamez/)

This method is not perfect however, some sites like Kongregate do not show the game's .swf URL in the page source. In this case, you can use the Network Tab method.

Network Tab Method

The SWF for Interactive Buddy in Chrome's network tab; it should look similar on Firefox.

In all modern browsers, you can use your browser's developer tools to find a game's launch command. In Chrome or Firefox, you can press F12 or right click on the page and select Inspect (Element). Click on the Network tab.

As long as the game is running on the page, no matter if it's running with the Flash plugin or Ruffle, its .swf URL will be present here. (You may need to refresh the page in order to get it to load.)

What we want is a request with a x-shockwave-flash type. We can find this by either selecting the Other category, or searching .swf in the tab's search bar. The .swf URL can then be copied by right clicking it.


Now that we have the link to the game's files, it's time to download the game file(s).

Downloading Game Files

There are several ways to download game files and add them into a curation's content folder.

Manually Downloading

Interactive Buddy's launch command and the respective folder structure inside the content folder.

The slowest and most inefficient method; .swf's can be manually downloaded from the internet just by opening their link. When working with games that use multiple assets, their assets can be manually downloaded too. Images can be saved with Save Image as in the right click context menu. .xml and .js files can be downloaded with Save Page as in the context menu as well. When getting your files into the content folder, you will need to manually create folders based on the URL the file exists/existed at. This can be done by first making the folder of the domain inside the content folder, done with New > Folder in the right click context menu of File Explorer, and then making as many folders as is needed within that to fit the launch command.

If your launch command is http://uploads.ungrounded.net/218000/218014_DAbuddy_latest.swf for example, you will need to make a uploads.ungrounded.net folder, a 218000 folder inside that, and then finally add the .swf inside that.

If you are dealing with a game that is just a .swf for example, this method is perfectly fine. Some titles can have several hundred or even thousand assets though, where this method would be terribly inefficient to use.

Using cURLsDownloader

cURLsDownloader is a curation tool that will create the required directory structures and download the files into it, corresponding to the given URL. It is downloaded in the Extras section of the Manager, and then found in the Utilities folder of the Flashpoint directory. This tool can be used for single and multi-asset games. For single asset titles, just put in the file's link and download.

For multi-asset titles, two methods are available. Let's check out a multi-asset game called Gateway II. Here's the link to the main .swf of the game:

https://chat.kongregate.com/gamez/0000/3268/live/gateway_2.swf?kongregate_game_version=1581667106

Try curating this .swf as described above and testing it in Flashpoint with the Run button. You'll only get to the language select screen before the game freezes once you pick one.

Select the Logs tab in Flashpoint, then look near the bottom of the log. You should see a line with "200 HTTP/1.1" followed by a directory to the main .swf, followed by one or more lines with "404 HTTP/1.1" followed by directories to additional assets.

This means the game was calling for one or more assets that it didn't have offline, making the game freeze because it failed to load a required asset. Thankfully, Flashpoint can handle these assets as long as they're downloaded properly.

Once again, instead of manually downloading lots of assets, we can use cURLsDownloader to save time and effort.

Option 1: Download the assets called by the game as you test it in Flashpoint Infinity.

  1. Click the Copy Text button in the top-right of the Logs tab.
  2. Paste the results into a text file and remove every line except for ones beginning with "404 HTTP/1.1". Remove that section from each line along with anything before it such as timestamps, then add "http://" to the beginning of each line.
  3. Save the text file and drag it over cURLsDownloader.
  4. Wait for cURLsDownloader to finish fetching assets. Use option 1 when finished if it detects broken filenames, which will very likely fix them.
  5. Move the contents of the Downloads folder in cURLsDownloader to the content folder of your curation.
  6. Test your game with the Run button. If anything fails to work as it should, look for more lines beginning with "404 HTTP/1.1" in the Logs tab and repeat this process.

Option 2: Download all the assets that the source page of a game loads as you play it on the live Internet (but some assets downloaded won't be part of the game).

  1. Once again, press F12 to open your browser's Network viewer, then refresh the page.
  2. Play through your game on the Internet, loading assets as you go.
  3. When you're confident you've loaded all of the game's assets, click the "All" tab in the Network viewer and right-click on an asset.
  4. Select Copy > Copy all as cURL (cmd) and paste the results into a text file.
  5. Save the text file and drag it over cURLsDownloader.
  6. Wait for cURLsDownloader to finish fetching assets. Use option 1 when finished if it detects broken filenames, which will very likely fix them.
  7. Open the Downloads folder in cURLsDownloader and determine which folder contains the necessary files to play the game.
  8. Move the contents of your chosen folder to the content folder of your curation.
  9. Test your game with the "Run" button.

Using MAD4FP

MAD4FP (Multi-Asset Downloader for Flashpoint) allows for automatically downloading game assets. This is the usually the easiest method of getting files into the content folder, granted the game you are attempting to curate is live, and this works with both single asset and multi-asset games. It can download content files directly into your curation's content folder and create the proper folder structure automatically. For more information, see MAD4FP.

Using fpcurator

fpcurator allows for easily creating curations. It is downloaded in the Extras category of the Manager, and found in the Utilities folder of the Flashpoint directory. The common use is to paste URLs that contain the games and press the "Curate" button to have them generated in the default folder for curations; if you are already using Flashpoint, press the "Scan For New Curations" button after that. This tool largely works only for the websites that have fpcurator definitions made for them, however a generic definition is included which may work on a given URL. The provided URL should be the game's page on the website, 'not' the URL pointing to the game file itself. See Helpful Tools for more information and documentation.


When using the automatic methods above, please make sure the files are actually required by the curation! This can be done by deleting suspected files from the Content folder of the curation, clicking on Clear WinINet Cache to clear your projector cache, and running the curation. Common files which are usually not needed are ads, tracking, and analytics files.

Filling Out Metadata

An example of good metadata from an Alien Hominid curation.

You should now have your submission running successfully in the curate tab. The next step is filling out the metadata of the submission. Take your time when it comes to this as the more accurate and official metadata you can add, the better.

If you happen to find an official source for metadata that can be added, but it is different than the Source tab, you can add that metadata and link it in the Notes field. (NOT the Curation Notes.) This is typically done with a simple Metadata from:[link]

List of Metadata Fields

Fields marked with * are required. If a field is not applicable and not required for your curation, either omit it or leave it blank.

Field Explanation
Title* Always required. The name of the game, in full. When in doubt, use the name indicated in the game's logo. Use the game's official title; don't add anything to it, such as a franchise or series name, if it doesn't exist in the game's title. For games without a logo, use the title of the game's webpage or the text on the webpage that's most clearly intended to be the game's title. Avoid excessively long titles whenever possible.
Alternate Titles Alternate titles that can also be used to refer to the game. For example, an alternate name for Gateway II is Gateway 2. You also may use this to indicate the title of the game in other languages. Normal rules pertaining to Title field do not apply. Use ; to separate multiple values. If your title has a roman numeral or an ampersand (&) in it, please include an alternative title with the numeral/symbol replaced with the number/word.
Library* Required if you are curating an animation for Flashpoint Theatre. Possible values:
  • Arcade: This is a game that should go in Flashpoint Arcade (the Games section).
  • Theatre: This is an animation that should go in Flashpoint Theatre (the Animations section).
Series The name of the specific-to-webgames series. This is for games that have prequels and sequels, such as Run, Run 2, and Run 3. Make sure you're not confusing a game's series with its franchises (e.g., The Fairly OddParents or Pokémon), which go into the Tags field.
Developer The name of the developer(s) who made the game. Separate multiple developers with ; . Make sure that each person or game studio actually developed the game; sponsorship does not count. Look for a Credits section! If a developer is known by multiple names or aliases, you may separate each with a slash, like this: Alias 1 / Alias 2
Publisher The name of the site(s) that published (sponsored/branded) the game. Look for a "More Games" link or prominent logo; it will probably lead to the Publisher's website.
Play Mode Can be either one, two, or all three of these values:
  • Single Player: A solo experience from start to finish.
  • Cooperative: Like "Single Player", but with others being in the journey of finishing the game from start to finish.
  • Multiplayer: Playing against someone else or multiple players in a session, competing to win.

For example, a fighting game where you can play against another player or the computer would be Single Player; Multiplayer.

Status* Can be either one, two, or all three of these values:
  • Playable: Game is fully playable from beginning to end.
  • Partial: Game is missing files, impacting the player's experience. You'll need to elaborate further in the Notes.
  • Hacked: Game has been hacked or modified to work in Flashpoint. Use the Notes field to explain what has been modified. If you hack a game, you MUST also include the original, unhacked file(s) in your curation, either as extras or in the same folder as the hacked file(s).

If a game has been hacked, and missing assets make it impossible to finish the game, its status would be Hacked; Partial. If a game is playable from beginning to end, but missing assets impact the player's experience, then its status would be Playable; Partial.

There is one additional status that should only be used in exceptional circumstances:

  • Not Working: Titles that are currently unplayable. We always prefer titles to be working in Flashpoint, but we may still accept not working titles for preservation and in the hopes someone can make them work in the future. Notes are required to explain why the title does not work. This status may be used along with the Partial status if the game is unplayable due to missing files.
Release Date The date that the game was first released. Use YYYY-MM-DD format, with whatever precision is available. For example, if you knew a game was released in January 2010, you could say 2010-01.
Version The version number of the game. This is for revisions of the same game, not games in series. Leave this field blank if the game's version number is not clearly shown somewhere.
Languages* Required if you are curating a game that supports languages other than English.

A list of all languages that the game supports, including the languages supported by any alternate versions. Use ISO 639-1 language codes and separate each code with ; . For example, if a game supports English and Spanish, you would say en; es. Defaults to en. If the curation uses a language without an ISO 639-1 code, ISO 639-3 language codes are acceptable.

Tags* See Tags. Pay special attention to the tags in the Content Warnings section, because these are required if they apply to the game you are curating. To add a tag, first type it into the meta field, then select it by either clicking on it or pressing the Tab key until it is highlighted and hitting Enter. You can add a new tag to Infinity by typing it into the meta field, hitting Enter, and then following the normal process.
Source* The full URL of the webpage where you found the work. If one is not available, such as if you got it from Wayback CDX, the .swf url is acceptable as a source also. If you found the work on the Wayback Machine, give the full capture URL.

If the work is executable/downloadable, use the webpage where the work can be downloaded. Otherwise, provide the name/title of the offline source, along with the medium of the source. Ex: Dora the Explorer Click & Create! CD-ROM. Tags exist for both of these sources also, so use any applicable Source Tags.

If the work is taken from a personal collection or extracted from a browser's cache, use Personal Archive or Personal Archive: (Name/Username).

Platforms* The web game technologies that the game uses. See Platforms for a list of supported platforms and links to platform-specific curation tutorials. One Platform must be marked as Primary; this is the technology used for the majority of the game's important content. Note that a game is only considered to be HTML5 if it does not require any browser plugin.

If your curation omits this field, the Platform is assumed to be Flash. This field is required for all non-Flash curations.

Application Path* The path to the application to use to launch the game. This path is relative to the main Flashpoint folder. For example, the Application Path for most Flash games is FPSoftware\Flash\flashplayer_32_sa.exe.
Launch Command* The location of your file inside the content folder, replicating an internet URL. This is case-sensitive. Never have https:// at the beginning of a Launch Command, as it will not work properly; ALWAYS use http://. Flashpoint DOES NOT have HTTPS support. If you found the game on the Wayback Machine, the launch command is the original URL, without the web.archive.org section (same goes for the folder structure inside the content folder).

This field is always required. If you're having trouble figuring out the correct launch command for your curation, see the Curation Tutorial.

Mount Parameters Allows passing certain parameters to game zip related launcher extensions which may alter the way games are mounted. This is only used for specific edge cases, so most curators can safely ignore this field.
Notes Use this field for important information about the game not explained in the game itself, metadata sources (if it does not come from the title's Source), or any other relevant information about a title. For example, Notes can provide details about cheat codes, missing assets, hacked files, or unimplemented features.
Original Description If a game's webpage contains a description of the game or its controls, you may copy and paste it into this field. If you can't find a description on the game's webpage, you can check the page source for the <meta name="description"> HTML tag.
Curation Notes Use this field to show a message to staff if they need to add your curation in a different way from usual, such as if it requires a new Support Pack to be added. These are removed when a curation is added to Flashpoint.
Additional Applications Use this section to add a message that pops up before a game runs, a link to an Extras folder, or an alternate version of a game. For more details, see the Appendix.

Logos

Logos must be in PNG format. A good logo shows something that is representative of the game, like the game's main characters (from the title screen, for example) or other prominent art. You can also use the entire title of the game as the logo, preferably including a visual element along with it. It can be found in the curation folder as logo.png. You can add a logo to a curation in Flashpoint's Curate tab by dragging it on to the left panel above Drop an image here to add it.

Recommended tools for grabbing logos include Snip & Sketch and Paint, both included in Windows 10/11 by default. You're free to use other tools, but remember, always save logos in PNG format. When possible, it is preferable to make logos more or less square-shaped.

Examples:


Additional tips can be seen here.

Screenshot

Screenshots must be in PNG format. A good screenshot is a credible 'action shot' of the game (no menus or obvious tutorials). It can be found in the curation folder as ss.png. You can add a screenshot to a curation in the Curate tab by dragging it on to the right panel above Drop an image here to add it, or clicking Add Screenshot.

Recommended tools for grabbing screenshots include Snip & Sketch and Paint, both included in Windows 10/11 by default. You're free to use other tools, but remember, always save screenshots in PNG format.

Examples:

Additional Applications

The Additional Applications field can be used to add Messages, Extras, or Alternates to a curation. You can add these through the "New App", "Add Extras", and "Add Message" buttons at the bottom of each curation in the "Curate" tab. Each of these items is explained in detail below.

Messages

Use the Message sub-field to add a short, one-line message that pops up before a game runs. You'll want to use this if there's something that Flashpoint users need to know before playing a game. If you have less-important information about the game, use the Notes field instead. You can only have one message per curation.

In Infinity, click on Add Message at the bottom of the curation to add a message.

Example:

Additional Applications:
    Heading: Message
    Message: This game starts in fullscreen. To exit, alt-tab and close the window in the taskbar.

Extras

Extras allow you to include a folder of bonus materials with your curation. If you would like to include files related to a game that are not required to play it, such as source code or unlockable items, this is how you can do it:

  1. Inside your curation's folder, next to the Content folder, create a folder called Extras.
  2. Place all of the bonus materials you would like to include inside of the Extras folder.
  3. In the Notes field, add a short explanation of what's included in the Extras folder.
  4. In Infinity, click on Add Extras at the bottom of the curation and type gamename into the Extras Folder field. For example, if the title of the game was Tokyo Guinea Pop, you would type tokyoguineapop. Do not edit the "Heading" field!

For example, here is the Additional Applications field of a game called Tokyo Guinea Pop. The curation's Extras folder contains unlockable items from the game's original website.

Additional Applications:
    Extras: tokyoguineapop

When the above curation is imported into Flashpoint, the curation's Extras folder will be renamed to tokyoguineapop and placed in Flashpoint's main Extras folder.

As you can see, the Extras field specifies the name of the Extras folder when it is imported into Flashpoint. That means that you cannot use special characters like colons (:) or slashes (/ \). We recommend using only alphanumeric characters.

Note that you can only have one Extras folder per curation.

Alternates

Alternates allow you to add alternate versions of a game into the same curation. This is commonly used to add older versions of a game, alternate languages of a game, or hacked versions from sites like Arcade Prehacks. Note that all of the files required to run an Alternate should be included in the Content folder of your curation, along with the files for the main version. If the Additional Application cannot be described in just the heading, explain it in the Notes field.

In Infinity, click on New App at the bottom of the curation to add alternates. Provide a short name for the alternate version in the Heading field. For example, you might say Hacked Version or Version 0.5b. Be sure to fill out the Application Path and Launch Command fields, then test the alternate thoroughly.

Example:

Additional Applications:
    Heading: Hacked Version
    Application Path: FPSoftware\Flash\flashplayer_32_sa.exe
    Launch Command: http://www.irregulargames.com/drop3/drop3-hacked.swf

Submission

You should now have the game fully working entirely within Flashpoint.

At this point, you will now enter all possible metadata for a game. Follow the metadata fields table you saw earlier and try to make it as complete as you can.

After making sure your curation works fine and all your metadata is correct, click the "Export" button on the sidebar. An exported .7z file of your curation can be found by opening the "Curations Folder" button, then opening "Exported".

Note that your save data for the game will not be included in your curation.

Uploading to FPFSS

Once you have your .7z ready, upload the .7z file to Flashpoint Submission System, which requires you to join our Discord server first. An explanation of how the site works is available here.

After you have uploaded your curation to the website, a Curator will check it. This can take some time, so please be patient. You will be pinged in #fpfss-notifications about whether or not your submission was approved, and if any changes need to be made.

Once your first submission is approved, you'll be given the Trial Curator role. That means you will be able to submit more curations and upload bigger files. If you have any questions, ask in #curators and a Curator will answer them.