User:Revac

From Flashpoint Datahub
Jump to navigation Jump to search

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 and Metadata

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.

Before you attempt curation, take time to review all the metadata fields:

List of Metadata Fields

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 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:

  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, 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

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.

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 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

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, it's .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.

Downloading Game Files

There are several ways to download game files and then getting 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 to manually create folders based on the URL the file exists/existed at.

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.

  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 submissions. 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 here for more information and documentation.

Running the Curation

Alien Hominid's launch command and the respective folder structure inside the content folder.

You have successfully identified the launch command, and now have the game file(s), so now you need to get it running in Flashpoint. The three essentials for a curation running are the launch command, the application path, and the correct files in the content folder. Paste your launch command into the Launch Command section.

The application path is what is used to run the game. Generally, a platform will have it's own application path

If you downloaded the game's file with cURLSdownloader, you can just go ahead and move the entire downloaded folder(s) into the content folder. The content folder can be found by clicking Open Folder on the curation's sidebar.

Filling Out Metadata and Submission

An example of good metadata from an Alien Hominid curation.

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. The more accurate and official metadata you can add, the better.