Curation Format

From Flashpoint Datahub
Revision as of 05:54, 7 November 2023 by Revac (talk | contribs) (→‎Metadata: emphasized that you should never edit, misc)
Jump to navigation Jump to search

This guide will walk you through everything you need to know about putting together a curation and submitting it to Flashpoint. If this is your first time contributing, be sure to follow our step-by-step tutorial.

Before You Start

Checking the Master List and Discord submissions

Before taking time out of your day to curate, please make sure that your game/animation has not already been saved. Use our this tool to search the existing collection, and also check the curation submission channels in our Discord for newer games or animations that might have been curated recently. More options for searching the collection are available here if you need them.

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.


What is a Curation?

Flashpoint is not just a collection of files; it is a museum of playable web games. As in any other museum, each item needs to be curated before it can be put on display. Curating for Flashpoint is more than downloading an SWF, dropping it off in the submission site and expecting it to appear in the next update. Instead, you'll need to put together an archive file (ZIP, 7Z, etc) called a curation.

To make a curation from scratch, first create a new folder with any name (preferably the name of the game you'd like to save, but it doesn't matter). Inside of that folder, you'll add a screenshot and logo, a meta file containing metadata about the game, and a content folder containing all of the files needed to run the game; all of these are required. The following sections will explain each of them in detail. You can download an example curation ZIP file to see what a completed curation folder looks like.

Content

All content for each curation must be placed inside a content folder, then arranged in the same way that they would be placed in Flashpoint proper from the "Legacy/htdocs" folder - the best practice is to try and recreate the same structure that the game had on the internet. For example, if a game was hosted at http://uploads.ungrounded.net/59000/59593_alien_booya202c.swf you would create the folders in the format shown in the top example in the image below. If you cannot find the full URL the game is hosted on, a secondary format is acceptable - a domain folder, a folder with the game's name, then the game files, displayed as the second example.

Some games request files from other domains. If this is the case, you can include more than one domain folder inside of the content folder.

You might also notice that some games in Flashpoint use a domain called localflash instead of a website domain. While this used to be the protocol for games without a known URL, this is not to be used this way anymore. The localflash folder should only be used curations of offline media, including but not limited to CD-ROMs and personal projects.

If you do use localflash, make sure to contain the files within a folder that shares its name with the game or disc. This minimizes the risk of files clashing. For example, http://localflash/shrek2promodisc/game.swf would be a valid launch command for a localflash curation.

Examples

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. The file must be named logo.png and placed in your curation folder. 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

Metadata

The metadata for a is stored in a file named meta.yaml or meta.yml in your curation folder. Only edit metadata with the Curate menu, never directly edit the metadata file.

The table below shows all of the fields that you can type into Infinity. All fields should be included if they are applicable. Pay special attention to fields marked with * - they are required fields. If a field is not applicable and not required for your curation, either omit it or leave it blank.

Many fields allow multiple values. If they do, separate each value with a semicolon and a space. For example, Value1; Value2.

Some fields have only a few possible values to choose from. If this is the case, they'll be shown in the table as a bulleted list, with the default value in italics. If you omit this type of field, it will take on its default value automatically.

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

Note: The following are old examples, back when the metadata file was still edited directly. However, the Good Meta File below is still an example of quality metadata.

A Good Meta File

Title: Alien Hominid
Series: ""
Developer: The Behemoth
Publisher: Newgrounds.com
Play Mode: Single Player
Release Date: 2002-08-07
Version: ""
Languages: en
Tags: Beat 'Em Up; Run 'n' Gun; Alien
Source: https://www.newgrounds.com/portal/view/59593
Platform: Flash
Status: Playable
Application Path: FPSoftware\Flash\flashplayer_32_sa.exe
Launch Command: http://uploads.ungrounded.net/59000/59593_alien_booya202c.swf
Notes: |
  This is our old sample curation in Flashpoint Core.
  Multiple lines in notes and descriptions are cool.
Curation Notes: Thanks for your work!

Blank Meta File

Title: ""
Alternate Titles: ""
Series: ""
Developer: ""
Publisher: ""
Play Mode: ""
Release Date: ""
Version: ""
Languages: ""
Tags: ""
Tag Categories: ""
Source: ""
Platform: ""
Status: ""
Application Path: ""
Launch Command: ""
Game Notes: ""
Original Description: ""
Additional Applications: {} 

Testing

To test a curation in Infinity, locate the respective curation in the "Curate" tab and press the "Run" button at the bottom of it. Make sure you physically play through part of the game when testing it.

All games should be tested in Flashpoint Infinity.

Here is the full example ZIP file. (This was also linked earlier, in the Overview section).

Wrapping It Up

You've finished your first curation! Now follow the instructions below to make sure it gets added to Flashpoint.

Submitting a Curation

Submissions are uploaded in the Flashpoint Submission System, which requires you to join our Discord server first. An explanation of how the site works is available here.

If you have any questions, ask in #curators and a Curator will answer them.

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.

Congratulations! Your submitted game/animation will appear in the next update to Flashpoint.

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

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

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