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.)
  • Games that require a server and have zero single player content. The amount of work it takes to preserve these is too high relative to what else we can be working on.
  • 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.

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 Pokemon), 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 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.

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 game. If you found the game on the Wayback Machine, give the full capture URL. If you found the game somewhere other than a webpage, use whatever format you find appropriate to indicate the source.
Platform* The web game technology that the game uses. See Platforms for a list of supported platforms and links to platform-specific curation tutorials. 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.
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 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. Some game hosting websites display unique game logos made by the game's developers themselves, which can be used as-is if they meet these criteria. Such logos might accompany the game on it's webpage or might only be viewable when searching the game via the hosting website's built-in search tools, so be sure to check. Barring that, 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 must be named ss.png in your curation folder. 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

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.

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