Curation Format: Difference between revisions

From Flashpoint Datahub
Jump to navigation Jump to search
m (Minor clarifications/nudges)
(moved screenshot to its own page, transcluded here)
 
(131 intermediate revisions by 22 users not shown)
Line 3: Line 3:
==Before You Start==
==Before You Start==


===Checking the Master List===
===Checking the Master List and Discord submissions===


Before curating, please check the [[Game Master List]] (and for animations, the [[Animation Master List]]) before possibly taking time out of your day to save something that's already been saved. '''Use CTRL+F to search the list of titles.'''
Before taking time out of your day to curate, please make sure that your game/animation has not already been saved. Use our [https://flashpointproject.github.io/flashpoint-database/ 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 [[Searching the Collection|here]] if you need them.


===Barred Games===
===Banned Games and Animations===


{{:Not Accepted Games}}
{{:Not Accepted Curations}}


==What is a Curation?==
==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 Discord 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''.
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, first create a new folder with the name of the game you'd like to save. (Windows won't let you create a folder name with certain special characters; you'll need to remove them from the folder name if that happens.) Inside your curation folder, you'll add a ''screenshot'' and ''logo'', a ''text file'' containing metadata about the game, and a ''content'' folder containing all of the files required to run the game. The following sections will explain each of these required items in detail. Be sure to download our complete [https://bluepload.unstable.life/alienhominid.zip example curation ZIP file] and follow along.
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 [http://bluemaxima.org/flashpoint/datahub/AlienHominid.zip example curation ZIP file] to see what a completed curation folder looks like.


<gallery mode="traditional">
<gallery mode="traditional">
Line 25: Line 25:
==Content==
==Content==


All content must be placed inside a '''content''' folder, then arranged in the same way that they would be placed in Flashpoint proper from the 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 <code>http://uploads.ungrounded.net/59000/59593_alien_booya202c.swf</code> you would do the folders in this example like the image below. If that is not working for some reason, a secondary format is acceptable - a domain folder, a folder with the game's name, then the game files, displayed as the second example.
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 <code>http://uploads.ungrounded.net/59000/59593_alien_booya202c.swf</code> 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.


You might notice that some games in Flashpoint use a domain called <code>localflash</code> instead of a website domain. This is a legacy practice, and it is '''not used anymore''' unless the source files come from a CD, ZIP file, or other offline location.
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 <code>localflash</code> 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 <code>localflash</code> folder should only be used curations of offline media, including but not limited to CD-ROMs and personal projects.
If you do use <code>localflash</code>, 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, <code>http://localflash/shrek2promodisc/game.swf</code> would be a valid launch command for a <code>localflash</code> curation.
===Examples===
===Examples===


<gallery mode="traditional">
<gallery mode="traditional">


Image:Curate1.png | This is assuming you've already tested the game with Flashpoint Core. '''Don't forget the folder with the game's name!'''
Image:Curate1.png | Example ''content'' folder structures for Alien Hominid. Don't forget to test your curation!


</gallery>
</gallery>


==Logo==
==Logo==
{{:Curation Format/Logo}}


Logos must be in PNG format, and have the entire title of a game, or something that is representative of the game. To be named <code>logo.png</code> in all cases.
Additional tips can be seen [[Creating Better Logos#Removing unwanted elements from a screen|here]].
 
Recommended tools include Snipping Tool and Paint, both included in Windows 10 by default. You're free to use other tools, just remember, always use PNG.
 
===Examples===
 
<gallery mode="traditional">
 
Image:Logo-bad.png | Bad example. Crop it down to just the logo.
Image:Logo-good3.png | Good example. Logo is sufficiently cropped.
Image:Logo-good.png | Good example. Can show off a bit of the artist's work, but no menu options or other things to get in the way.
Image:Logo-good2.PNG | Good example. If no title is available, a decent shot of the focal point of the game will do instead.
 
</gallery>


==Screenshot==
==Screenshot==
 
{{:Curation Format/Screenshot}}
Screenshots must be in PNG format, and have a credible 'action shot' of the game (no menus or obvious tutorials). To be named <code>ss.png</code> in all cases.
 
Recommended tools include Snipping Tool and Paint, both included in Windows 10 by default. You're free to use other tools, just remember, always use PNG.
 
===Examples===
 
<gallery mode="traditional">
 
Image:Ss-bad1.png | Bad example. Don't show obvious tutorials.
Image:Ss-bad2.png | Bad example. Don't show menus, unless the entire point of the game is menus. Work your way to a battle in an RPG or strategy game.
Image:Ss-good.png | Good example. Shows some action. Dying is sometimes unavoidable - don't feel bad if the screenshot is otherwise good.
Image:Ss-good2.png | Great example. Shows a lot of action and what the game's big draw is.
 
</gallery>


==Metadata==
==Metadata==


The metadata must be included in a file named '''meta.txt'''. The table below shows all of the fields that you can include in your meta.txt files. All fields should be included if they are applicable. Pay special attention to fields marked with <span style="color:#ff0000">*</span> - they are required at least some of the time. If a field is not applicable and not required for your curation, either omit it or leave it blank.  
The metadata for a curation 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.'''


Many fields allow multiple values. If they do, separate each value with a <code>;</code> (semicolon).
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 <span style="color:#ff0000">*</span> - they are required fields. If a field is not applicable and not required for your curation, either omit it or leave it blank.  


Some fields have 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.
Many fields allow multiple values. If they do, separate each value with a semicolon and a space. For example, <code>Value1; Value2</code>.


If you're not sure how to use a metadata field, be sure to check the [[#A Good meta.txt|example meta.txt]].
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===
===List of Metadata Fields===


{| class="wikitable sortable"
{{:Curation Format/meta}}
! Field !! Explanation
|-
| '''Title'''<span style="color:#ff0000">*</span>
| '''Always required.''' The name of the game, in full. When in doubt, use the name indicated in the game's logo. We plan to allow multiple values to indicate alternate names, but this is not implemented yet.
|-
| '''Library'''<span style="color:#ff0000">*</span>
| '''Required if you are curating for Flashpoint Theatre.''' Possible values:
* ''Arcade'': This is a game that should go in Flashpoint Arcade.
* Theatre: This is an animation that should go in Flashpoint Theatre.
|-
| '''Series'''
| The franchise or game series.
|-
| '''Developer'''
| The name of the developer, or developers. Separate multiple developers with the <code>;</code> symbol. Make sure that each person or game studio actually developed the game; sponsorship does not count. Look for a Credits section!
|-
| '''Publisher'''
| 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'''
| One of the following, but up to three per game is possible:
* ''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.
|-
| '''Status'''<span style="color:#ff0000">*</span>
| One of the following:
* ''Playable'': Fully playable from beginning to end. Not hacked or modified.
* Partial: Game is only partially playable, whether because of missing files or features that Flashpoint cannot properly implement. 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.
|-
| '''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 <code>2010-01</code>.
|-
| '''Version'''
| The version number of the game. This is for revisions of the same game, not games in series.
|-
| '''Languages'''<span style="color:#ff0000">*</span>
| '''Required if you are curating a game that supports languages other than English.'''
A list of all languages that the game supports. Use [https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes ISO 639-1 language codes] and separate each code with <code>;</code>. For example, if a game supports English and Spanish, you would say <code>en; es</code>.
|-
| '''Extreme'''<span style="color:#ff0000">*</span>
| '''Required if you are curating something unsuitable for minors.''' Possible values:
* Yes: Indicates that a game is unsuitable for minors because of excessive violence, sexual content, or other mature content.
* ''No'': Indicates that a game is suitable for minors.
|-
| '''Tags'''<span style="color:#ff0000">*</span>
| See [[Tags]]. Separate multiple tags with <code>;</code>. The section headings (Action, Adventure, etc) may be used as tags as well.
|-
| '''Source'''<span style="color:#ff0000">*</span>
| The URL of the webpage where you found the game. If you found the game on [https://web.archive.org/ Wayback Machine], follow this format: <code>Original URL (Via Wayback Machine)</code>. If you found the game somewhere other than a webpage, use whatever format you find appropriate to indicate the source.
|-
| '''Platform'''<span style="color:#ff0000">*</span>
| The ''web game technology'' that the game uses. See the [[#Appendix I: Flashpoint Platforms|Appendix]] for a list of platforms supported.
If your curation omits this field, the Platform is assumed to be Flash. '''This field is required for all non-Flash curations.'''
|-
| '''Application Path'''<span style="color:#ff0000">*</span>
| 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 <code>FPSoftware\Flash\flashplayer_32_sa.exe</code>.
If the Application Path is omitted, it will be automatically chosen based on the game's Platform. See the [[#Appendix I: Flashpoint Platforms|Appendix]] for a list of default Application Paths for each Platform. '''We recommend that you always use this field.'''
|-
| '''Launch Command'''<span style="color:#ff0000">*</span>
| 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 URL, it will eventually break something. ALWAYS use http://. If a URL has https:// at the beginning, it's wrong, end of story.'''
'''This field is always required.''' If you're having trouble figuring out the correct launch command, see [[Curation Tutorial]].
|-
| '''Notes'''
| A message that will appear in the right panel of the launcher. Reserve this for important tidbits related to how the game works that should be known before playing. For multi-line Notes, use the pipe symbol: <code>Notes: <nowiki> | </nowiki></code>, then indent each line of the Notes. To see how to do this, be sure to check the [[#A Good meta.txt|example meta.txt]]
|-
| '''Original Description'''
| If a game's webpage contains a description of the game, you may copy and paste it into this field. For multi-line descriptions, use the pipe symbol: <code>Original Description: <nowiki> | </nowiki></code>, then indent each line.
|-
| '''Curation Notes'''
| Use this field to show a message to BlueMaxima if he needs to add your curation in a different way from usual. For multi-line Curation Notes, use the pipe symbol: <code>Curation Notes: <nowiki> | </nowiki></code>, then indent each line.
|-
| '''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 II: Additional Applications|Appendix]].
|-
|}


===A Good meta.txt===
===Example of Good Metadata===


  <nowiki>
  <nowiki>
Title: Alien Hominid
Title: Alien Hominid
Series:  
Series: ""
Developer: The Behemoth
Developer: The Behemoth
Publisher: Newgrounds.com
Publisher: Newgrounds
Play Mode: Single Player
Play Mode: Single Player
Release Date: 2002-08-07
Release Date: 2002-08-07
Version: 1.0
Version: ""
Extreme: No
Languages: en
Tags: Shooter
Tags: Action; Beat 'Em Up; Run 'n' Gun; Alien; Cartoon
Source: https://www.newgrounds.com/portal/view/59593
Source: https://www.newgrounds.com/portal/view/59593
Platform: Flash
Platform: Flash
Status: Playable
Application Path: FPSoftware\Flash\flashplayer_32_sa.exe
Application Path: FPSoftware\Flash\flashplayer_32_sa.exe
Launch Command: http://uploads.ungrounded.net/59000/59593_alien_booya202c.swf
Launch Command: http://uploads.ungrounded.net/59000/59593_alien_booya202c.swf
Notes: |
Notes:  
This is our sample curation in Flashpoint Core.
  This is our old sample curation from Flashpoint Core.
Multiple lines in notes and descriptions are cool.
  Multiple lines in notes and descriptions are cool.
Curation Notes: Thanks for your work!</nowiki>
Curation Notes: Thanks for your work!</nowiki>
===Blank meta.txt===
<nowiki>
Title:
Library:
Series:
Developer:
Publisher:
Play Mode:
Release Date:
Version:
Languages:
Extreme:
Tags:
Source:
Platform:
Status:
Application Path:
Launch Command:
Notes:
Original Description:
Curation Notes:
Additional Applications: </nowiki>
===Using YAML===
In addition to our custom <code>meta.txt</code> format, Flashpoint curations also support metadata written in YAML format. To use YAML, create a <code>meta.yml</code> or <code>meta.yaml</code> file instead of a <code>meta.txt</code> file. Then, follow the instructions in our [[YAML Format]] article.


==Testing==
==Testing==


You'll need [https://bluemaxima.org/flashpoint/downloads/ Flashpoint Core] to test your games in a lightweight copy of Flashpoint you can afford to break.
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.
 
Place the files from inside your content folder within the '''Server\htdocs\''' directory. Once you've done this, open the Core launcher, click the "New Game" button in the bottom right and mirror the info from your Meta.txt into the right panel. Click the checkmark and open your curation - if everything goes well, your game should open in a new window! If it doesn't, make sure you're copying the contents of your content folder and not the folder itself.


'''All games should be tested in Flashpoint, if not Core then at least the full version. Just opening the game in a projector or browser is not enough of a test.'''
'''All games should be tested in Flashpoint Infinity.'''


==Packing it up==
[https://download.unstable.life/static/AlienHominid.zip Here is the full example ZIP file.]  
 
You've finished your first curation! All of these files should now be packed into a single .ZIP file and submitted to our #curator-lounge on the Discord. If your curation is up to snuff, you'll be given Trial Curator status, which will let you submit curations through the curation channels. You can use Discord's own upload feature for files under 8MB, or [https://unstable.life/submissions.html our own file host] for bigger files. This is also linked in the channel topics of our submission channels on Discord.
 
If you need more detailed instructions, see [[Submitting a Curation]].
 
[https://bluepload.unstable.life/alienhominid.zip Here is the full example ZIP file.]  
(This was also linked earlier, in the Overview section).
(This was also linked earlier, in the Overview section).


==After Submitting==
==Wrapping It Up==


===Editing Your Curations===
You've finished your first curation! Now follow the instructions below to make sure it gets added to Flashpoint.
{{:Submitting a Curation}}
Note that your [[Save Data Locations|save data]] for the game will not be included in your curation.


If you notice a mistake with your curation after you've submitted it, just delete it and resubmit. (If you used our upload service, you might have to ask a Curator to delete your file for you.) If your curation has already been added to Flashpoint read our article on [[Metadata Edits]] and head over to the #metadata-edits channel in our Discord so you can make necessary changes. If you're wondering whether your curation has been added to Flashpoint yet, look for a <code>:Tools:</code> emoji reaction anywhere below your post in the Curations channel.
==Appendix: Additional Applications==


===Having Problems?===
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.


Because we can't remind you enough already: [https://discord.gg/S9uJ794 Join our Discord] and ask away in the #help-me-please channel.
===Messages===


==Appendix I: Flashpoint Platforms==
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.


{{:Platforms}}
In Infinity, use the "Add Message" button at the bottom of the curation to add a message.


==Appendix II: Additional Applications==
Example:
 
The ''Additional Applications'' metadata field can be used to add Messages, Extras, or Alternates to a curation. 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. If there's something that Flashpoint users need to know before playing a game, use this field.
 
For example, here is the Additional Applications field of a game that starts in fullscreen and is difficult to close:
  <nowiki>
  <nowiki>
Additional Applications:
Additional Applications:
    Heading: Message
     Message: This game starts in fullscreen. To exit, alt-tab and close the window in the taskbar.</nowiki>
     Message: This game starts in fullscreen. To exit, alt-tab and close the window in the taskbar.</nowiki>


Line 260: Line 120:
# Inside your curation's folder, next to the <code>content</code> folder, create a folder called <code>Extras</code>.
# Inside your curation's folder, next to the <code>content</code> folder, create a folder called <code>Extras</code>.
# Place all of the bonus materials you would like to include inside of the Extras folder.
# Place all of the bonus materials you would like to include inside of the Extras folder.
# In the Notes field of your <code>meta.txt</code>, add a short explanation of what's included in the Extras folder.
# In the Notes field, add a short explanation of what's included in the Extras folder.
# In the Additional Applications field of your <code>meta.txt</code>, add an Extras sub-field like this: <code>Extras: gamename</code>.
# In Infinity, press the "Add Extras" button at the bottom of the curation and type ''gamename'' into the "Extras Folder" field. For example, if the title of the game was ''Tokyo Guinea Pop'', you would type <code>tokyoguineapop</code>. Do not edit the "Heading" field!


For example, here is the Additional Applications field of a game called ''Tokyo Guinea Pop''. The curation's Extras folder contains unlockable items from the game's original website.
For example, here is the Additional Applications field of a game called ''Tokyo Guinea Pop''. The curation's Extras folder contains unlockable items from the game's original website.
Line 267: Line 127:
Additional Applications:
Additional Applications:
     Extras: tokyoguineapop</nowiki>
     Extras: tokyoguineapop</nowiki>
When the above curation is imported into Flashpoint, the curation's <code>Extras</code> folder will be renamed to <code>tokyoguineapop</code> and placed in Flashpoint's main Extras folder.
As you can see, the Extras field specifies the name of the Extras folder when it is imported into Flashpoint. That means that you cannot use special characters like colons (<code>:</code>) or slashes (<code>/ \</code>). We recommend using only alphanumeric characters.
Note that you can only have one Extras folder per curation.


===Alternates===
===Alternates===


Alternates allow you to add alternate versions of a game. This is commonly used to add older versions of a game, alternate languages of a game, or hacked versions from sites like Arcade Prehacks. Note that all of the files required to run an Alternate should be included in the <code>content</code> folder of your curation, along with the files for the main version.
Alternates allow you to add alternate versions of a game into the same curation. This is commonly used to add older versions of a game, alternate languages of a game, or hacked versions from sites like Arcade Prehacks. Note that all of the files required to run an Alternate should be included in the <code>content</code> folder of your curation, along with the files for the main version.


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


For example, the curation of a game called ''Drop 3'' includes a hacked version. Here is the Additional Applications field of this curation:
Example:
  <nowiki>
  <nowiki>
Additional Applications:
Additional Applications:
     Play Hacked Version:
     Heading: Hacked Version
        Application Path: FPSoftware\Flash\flashplayer_32_sa.exe
    Application Path: FPSoftware\Flash\flashplayer_32_sa.exe
        Launch Command: http://www.irregulargames.com/drop3/drop3-hacked.swf</nowiki>
    Launch Command: http://www.irregulargames.com/drop3/drop3-hacked.swf</nowiki>
 
<noinclude>
[[Category:Curation Guides]]
</noinclude>

Latest revision as of 23:24, 22 March 2024

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.)
  • 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. 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:

Metadata

The metadata for a curation 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 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.

Example of Good Metadata

Title: Alien Hominid
Series: ""
Developer: The Behemoth
Publisher: Newgrounds
Play Mode: Single Player
Release Date: 2002-08-07
Version: ""
Languages: en
Tags: Action; Beat 'Em Up; Run 'n' Gun; Alien; Cartoon
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 from Flashpoint Core.
  Multiple lines in notes and descriptions are cool.
Curation Notes: Thanks for your work!

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