User:Revac
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. All it requires is a modern web browser and a copy of Flashpoint.
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:
- 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 looking at this page, this 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 the Discord server for if 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 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,
- and 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,
- and 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 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.
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.
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.
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 patch, it is all done here.
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 flashplayer_32_sa.exe
.
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.
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:// .
View Page Source Method
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 can 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
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.
Downloading Game Files
There are several ways to download game files and add them into a curation's content folder.
Manually Downloading
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 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 cool can be used for single asset 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. 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.
- Click the Copy Text button in the top-right of the Logs tab.
- 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.
- Save the text file and drag it over cURLsDownloader.
- 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.
- 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).
- 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.
- 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.
- Select Copy > Copy all as cURL (cmd) and paste the results into a text file.
- Save the text file and drag it over cURLsDownloader.
- Wait for cURLsDownloader to finish fetching assets. Use option 1 when finished if it detects broken filenames, which will very likely fix them.
- Open the Downloads folder in cURLsDownloader and determine which folder contains the necessary files to play the game.
- Move the contents of your chosen folder to the content folder of your curation.
- 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.
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.
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:
|
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:
For example, a fighting game where you can play against another player or the computer would be |
Status* | Can be either one, two, or all three of these values:
If a game has been hacked, and missing assets make it impossible to finish the game, its status would be There is one additional status that should only be used in exceptional circumstances:
|
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 |
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: If the work is taken from a personal collection or extracted from a browser's cache, use |
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 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.
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, use the "Add Message" button 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:
- Inside your curation's folder, next to the
content
folder, create a folder calledExtras
. - 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 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
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.
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 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.