User:Dukktape: Difference between revisions

From Flashpoint Datahub
Jump to navigation Jump to search
(→‎HTTPS Removal: added line about obfuscated code (yuck))
(→‎Less Common Platforms: added Mount Parameters)
 
(22 intermediate revisions by the same user not shown)
Line 1: Line 1:
'''''This is a draft of pending changes to the HTML5 Curation Tutorial. It is unfinished.'''''
'''''This is a draft of a new page for FPFSS testing instructions. It is unfinished.'''''


----
----


HTML5 games are not nearly as endangered as Flash games, and are in fact often cited as replacing the Flash medium. However, they still pose a risk of disappearing at some point in time, and therefore should be considered for curation just like other web game formats.
This guide is intended to help Staff Members with testing submissions on the FPFSS.


This tutorial assumes you've read the standard [[Curation Tutorial]], which is highly recommended to go through. Try curating a Flash game before moving on to HTML5.
==How To Test Using the FPFSS==


== Identifying HTML5 Games ==
In order to test submissions, you must be a Staff Member with the Curator role in the Discord server. The process for how to test a submission is fairly simple, and is similar to the old Batch Check system.
If a web game doesn't ask to enable Adobe Flash Player and there's no sign or mention of any of the other [[Platforms]], it is very likely an HTML5 game. Many use game engines as their base, the most prominent example being Unity WebGL, which replaced the previous [[Unity_Curation|Unity NPAPI implementation]] that no longer works.


To confirm this, press F12 to open the Developer Tools of your browser, click on the Inspect Element button and click on the game area. This will show you in the <code>Elements</code> tab the iframe the game is located in, and there you'll find the link for the main file of the game. You can also look for a <code>.html</code> file, likely with the filename <code>index.html</code>. However this is not always present, the iframe for many modern games will have no filename or extension at the end. These look like a regular URL rather than a link to a file.
# The first step is to assign yourself to the submission(s) you want to test. The '''Ready for Testing''' and '''Ready for Verification''' buttons near the top of the '''Browse Submissions''' page on the FPFSS will provide you with a list of submissions in need of testing, sorted by oldest first. The '''Ready for Testing''' option will show you submissions that have not been reviewed at all yet, while the '''Ready for Verification''' option will show you ones that have been tested by one staff member already and need to be double checked. There is no difference in the process whether you are Testing or Verifying, other than making sure to use the blue '''Assign Testing''' button if you are Testing and the brown '''Assign Verification''' if you are verifying. ‎<br /> If you are assigning yourself to a single submission, go to the submission's page and click the appropriate assignment button at the bottom of the page. If you are assigning yourself to multiple submissions, check the boxes for each submission you want on the left side of the list on the Browse page. Then use the assignment buttons at the bottom of the list to apply the action to all selected submissions.
# Next you'll need to download the submission(s). For a single submission, use the '''Download Latest Version''' button on the submission's page. For multiple submissions, with the boxes still checked from when you assigned yourself to them, use the '''Download Selected''' button near the bottom of the page. It will compress all of the submissions together as a file that will need to be extracted using 7-Zip before you can open the submissions in Core.
# The next thing you'll need to do is open the submissions in Core. In the Curate tab, use the '''Load Archive''' in the right panel and select the downloaded curation file(s). Once Core has opened all of the files, you can start testing. You'll need to check over the metadata for any errors, as well as running the submission to make sure it works. You are not required to play through the entire game, you only need to play enough that you can be confident that it works.
## For submissions which are very large in file size or have a large number of files, it may be helpful to use the Symlink option found in the right panel of the Curate tab, making sure to use the regular Run button and not Run with MAD4FP. This will cause Core to run the curation from the submission's Content folder directly instead of copying the files into <code>Legacy/htdocs</code>. This will make the curation launch much faster.
# The last thing you'll need to do is submit an action on the submission. There are a number of buttons that will appear at the bottom of a submission's page when you are assigned to it. These are:
## '''Comment''' - This button will not affect the submission's current approval status and will ping the submitter to pass along your message to them. You can use this action even if you are not assigned to the submission. [[File:FPFSS Buttons.PNG|thumb|300px|The top image shows the actions available while Testing. The bottom shows the actions available while Verifying.]]
## '''Unassign Testing'''/'''Unassign Verification''' - Depending on whether you are assigned to Test or Verify the submission, one of these two buttons will be present. This will remove the submission from your assignments and return it to the queue so that another tester can test it.
## '''Request Changes''' - If there is an issue with the submission that needs to be corrected, you'll need to write your message in the Comment box explaining the problem and then use this button. Once the submitter has fixed the submission, you'll be able to look over the submission again and Approve it if everything has been corrected.
## '''Approve'''/'''Verify''' - This action means that everything is correct and working with the submission. This can also be done as a batch action, applying it to multiple submissions at once. With the boxes of all submissions you want to Approve or Verify checked, you can use the appropriate button at the bottom of the page.
## '''Reject''' - This action removes the submission from the queue, and should only be used for duplicates of games already in Flashpoint or previously submitted to the FPFSS. You will need to write the reason for the rejection in the Comment box before using this action.
## '''Delete''' - This action is only available to Moderators and removes the submission from the FPFSS entirely. It should only be used if a submission is something on the [[Not Accepted Curations]] list. If you are not a Moderator and come across a submission that needs to be deleted, you'll need to ask in one of the staff channels for a Mod to take care of it.


Copy the file's link and go to it. If it plays an unobstructed version of the game, you've found the source of your Launch Command. Keep in mind that not all games should be divorced from the page they are found in, such as individual games outside of webgame websites.
==Checking Metadata==


'''Make sure to always use http:// instead of https:// to make sure Flashpoint grabs files from the fake Internet instead of the real one!'''
This list contains the basic requirements for each metadata field, however this is not a complete list of all ways that the metadata can be correct or incorrect. If you're unsure whether something is allowed, you should ask in one of the staff channels.


== Grabbing The Game From The Internet ==
{| class="wikitable sortable"
[[File:Individual-Sprites-HTML5-example.png|thumb|300px|Some games have one or more image files that act as sprite sheets, others will have each unique texture as an individual file, so make sure to get them all.]]
! Field !! Requirements
|-
| '''Title''' and '''Alternate Title'''
| Changes should be requested if:
* The Title doesn't roughly match the submission's logo (if it has one).
* There are spelling errors.
Along with the above, Alternate Titles should not:
* Be a shorter version of the Main Title.
* Be the same text as the Main Title. For example, an Alternate Title which is the same as the Main Title but with different capitalization should be removed.
|-
| '''Library'''
| The Library field should be:
* <code>Games</code> if the submission contains some interactive element beyond a start menu or play button.
* <code>Animations</code> if the submission contains no interactivity beyond a start menu or play button.
|-
| '''Series'''
|The Series field should not be the franchise it relates to, a Franchise Tag should be added to the curation instead if it isn't already.
:- e.g. a Mario game should have the <code>Super Mario</code> tag and not "Super Mario" in the Series field.
|-
| '''Developer''' and '''Publisher'''
| Changes should be requested for either of these two fields if:
* The field is wrong.
* There is nothing in the field despite Developer or Publisher is shown in an obvious place in the game/animation.
* There are significant spelling errors that would prevent the submission from being properly searched for.
You don't need to request changes for differences in how the Developer or Publisher's name is written. For example <code>Addicting Games</code>, <code>AddictingGames</code>, and <code>AddictingGames.com</code> are different ways people could write the same Publisher. In the future Flashpoint may have a way to unify these spellings, but for now they don't matter.
|-
| '''Tags'''
| Changes should be requested if:
* The tags are irrelevant to the curation.
* The curation is missing Content Warning or NSFW tags.
* There is a tag used which is not on the [[Tags]] wiki page.
* The curation has no Gameplay (or Animation) Tags or if the Gameplay tags it has are incorrect.
* The <code>LEGACY-Extreme</code> tag is used. This tag should not be added to any new submissions.
|-
| '''Play Mode'''
| Changes should be requested if the Play Mode is missing supporting modes or if the listed mode is incorrect.
|-
| '''Status'''
| Changes should be requested if:
* The Status is incorrect.
* The submission is labeled as <code>Partial</code> or <code>Hacked</code> and has no Note explaining why.
|-
| '''Version''' and '''Release Date'''
| These fields are only incorrect if the information is wrong. The information being missing is not something that needs to have changes requested for.
|-
| '''Language'''
| This field should:
* Include all language options present in the work, regardless of whether it's written or spoken.
* Use the two letter [https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes ISO 639-1 language codes], unless the language doesn't have a two letter code. In these cases the three letter code can be used.
* Works which have no text or spoken language in them should have either <code>en</code> or the language that the Title is, if not English. Either is correct.
|-
| '''Source'''
| The Source should:
* Be the full URL of where the curator found the game.
* If the curation was sourced from the Wayback Machine, this should be indicated by have <code>(via Wayback Machine)</code> at the end of the Source, or by having the full web.archive.org URL as the Source.
* If the curation was not sourced from a webpage, there will be some other way of indicating where it came from, e.g. a game from a CD should have the name of the CD.
|-
| '''Platform'''
| Changes should be requested if this field is incorrect.
For information specific to each Platform go to [[#Platform Specific Requirements]].
|-
| '''Application Path'''
| Changes should be requested if:
* It is incorrect for the submission's Platform.
* It is invalid or otherwise not working.
|-
| '''Launch Command'''
| Changes should be requested if:
* It is missing <code>http://</code> or has <code>https://</code> instead.
* It is written or formatted in a way which causes the curation to not launch.
|-
| '''Mount Parameters'''
| The only valid parameter for this field is <code>-extract</code>. If there is anything other than that in this field, changes need to be requested to have it removed.
|-
| '''Notes'''
| Changes should be requested if:
* There are only Non-English Notes. Notes in a language other than English are fine as long as there is also an English translation of them.
* The Notes are irrelevant to the curation, for example saying who curated the game or listing information that should be in another metadata field.
* The curation opens in full screen, but there is no Note or Message about it. Having just a Note, just a Message, or both are all correct.
* The Notes contain instructions or walkthroughs that are explained in game or are easy to figure out without an explanation.
* The Notes are overly long or complex at explaining some information the player needs.
* The submission has an Extras Application, but no Note explaining what the Extras are.
|-
| '''Original Description'''
| This field is only incorrect if what's in it is not an Original Description. This includes the curator making up their own description or the Notes or Curation Notes being in the wrong field.
|-
| '''Curation Notes'''
| This field is only incorrect if the information in it should actually be in the Notes field. Since the Curation Notes are not kept when the submission is added to Flashpoint, unnecessary text is not an issue.
|-
| '''Alternate Applications'''
| Changes should be requested if:
* The Application doesn't work.
* Any of the fields for the Application are empty.
* The Application is irrelevant to the Main Application.
* The Application Path or Launch Command is incorrect. All of the same requirements apply to these fields for Alternate Applications.
|-
| '''Extras'''
| Changes should be requested if:
* The Extras are irrelevant to the curation.
* The Extras contain unnecessary videos, such as video walkthrough guides.
* The Extras folder contains only files that are already in the Content folder.
* The Extras folder is empty.
* The Extras folder is inside the Content folder.
* The '''Extras Folder''' field is empty or is something not specific to the curation such as "Extras" or "Game". This field should be roughly the name of the curation without spaces, but it doesn't need to be exact.
* The '''Extras Folder''' field contains spaces or punctuation.
* An Extras folder is included in the curation, but there is no Extras Application to go with it.
* There is more than one Extras Application.
|-
| '''Logo'''
| Changes should be requested if:
* Is not from the game/animation, although there may be rare exceptions to this.
* Is animated.
* Is exactly the same as the Screenshot, with the exception of very simple games and animations where it may not be possible to make the two images look distinct.
* Is the whole title screen and/or shows menu buttons that can be easily cropped out. If buttons are present in the Logo, but removing them would require more editing than just cropping, it's fine for them to stay.
* Is switched with the Screenshot.
* Has noticeable white bars along the side(s) or other things included which are not part of the game.
|-
| '''Screenshot'''
| Changes should be requested if:
* Is not from the game/animation.
* Is animated.
* Is the exact same as the Logo, with the exception of very simple games and animations where it may not be possible to make the two images look distinct.
* Is just the title screen, menu, or tutorial, unless the work is made up of only that.
* Is switched with the Logo.
* Has noticeable white bars along the side(s) or other things included which are not part of the game.
* Has a significant amount of the game window cropped out.
* Is a significantly different resolution than the game opens as. This doesn't apply to HTML5 games as they don't have a set size.
|-
| '''Content Files'''
| Changes should be requested if:
* The curation doesn't work.
* The curation contains a large amount of unnecessary files or contains files for other games.
* Contains any DLL files.
* Contains EXE files in the Content folder. These files are allowed in the Extras folder only.
|}


There are an extremely low number of HTML5 games that are single-asset. For multi-asset curations, you have two main options, both of which are [[Curation Tutorial#Multi-Asset_Games|described here]], but each is more suited for different tasks which we'll explain here.
==Platform Specific Requirements==


Create a new curation in the Curate tab of Flashpoint Core and fill it out with as much information as you can, including the Launch Command you found earlier. The Platform should be <code>HTML5</code>, and the Application Path should be <code>FPSoftware\Basilisk-Portable\Basilisk-Portable.exe</code>, referring to the Basilisk browser used for most HTML5 games.
Some Platforms have their own specific requirements for what makes a properly curated submission. These things will need to be checked when testing a game of that Platform. If a Platform is not listed in the sections below, it has no special requirements. For submissions of those Platforms, you will only need to check whether it works.


After inputting the launch command, use <code>Run with MAD4FP</code>, and start playing the game. [[MAD4FP]] will download any assets automatically as you play and make progress.
===Common Platforms===


'''REMEMBER, ALWAYS TEST THE GAME 100%, NO MATTER HOW BIG OR SMALL!''' This is true for all games, but especially HTML5, as nearly none are single-asset, you are almost guaranteed to find a multi-asset. Because of how it works, most games will only call assets when needed, so make sure to navigate all the menus, click all the buttons, and play the game as thoroughly as possible. This may include hidden collectables, unique voice lines, downloadables, completion bonuses, etc.
====Flash====


Wayback will not save these missing assets on a normal capture, and computers/browsers tend to clear cache much more frequently for optimization, making cache dumps unlikely to yield anything, so once it's gone, it's likely gone for good. Better to catch everything first try and make sure it's not lost. For more information on multi-assets in general, [[Curation Tutorial#Multi-Asset_Games|go here]].
Flash is the most common Platform you will come across while testing.


Once you've finished playing through the game, you need to make sure that all of the game's assets have actually been downloaded. To do this, first clear Basilisk's cache by following [[Extended FAQ#ClearBasiliskCache|these instructions]], then close Basilisk. Next, press the <code>Run</code> button to test the game again, this time without using MAD4FP. If the game does not work, MAD4FP likely failed to download some of the required assets. Follow the instructions in the [[#Missing Assets|Missing Assets]] section to complete the curation.
* Flash submissions must run in Flash Player or Basilisk. Which of the two a submission runs in, or what version of Flash Player is chosen, does not matter as long as the submission works as intended.
* Flash submissions cannot be run in Browser Mode.
* If the submission is set to run in Basilisk, it should typically have an HTML embed. Games that run properly in a full screen size may be fine without embed.
* Submissions running in Flash Player should not open tabs in the user's normal browser when run or when clicking buttons that aren't supposed to link to other websites. If a game has this issue, it should be run in Basilisk using an HTML embed. An exception is made for games which need an older version of Flash Player than Flash 32, as they cannot be run in Basilisk, however they do need a Note about the issue.


== Other Browsers ==
====Shockwave====
[[File:BasiliskError.png|thumb|300px|Common error message for games that don't work in Basilisk.]]
[[File:UnityWebglError.PNG|thumb|300px|Error message seen in Unity WebGL games that need to be run in another browser.]]
Some games will not work in the version of Basilisk used by Flashpoint. This is generally for one of two reasons: 1) The game requires a feature or technology not present in the 32-bit version of Basilisk, which no longer receives updates; or 2) The game requires a Chromium based browser to work properly. In order for these games to work in Flashpoint, two other browsers were added, <code>Browser Mode</code> and <code>Chromium</code>. The two have somewhat different uses, so testing the game in both versions may be needed to see what will work best.


Sometimes a game that doesn't work in Basilisk will show an error message. A message similar to the examples is typically a sure sign that another browser must be used for the curation. In other cases, the game may work to some degree, but certain elements may be missing or not working properly. Common issues include: the game loading with no graphics, the game's music and/or sound effects not playing, the game's controls not working, or the game experiencing lag issues not present in other browsers. Performance issues are especially common with Unity WebGL games in Basilisk.
* Shockwave submissions must run in the Shockwave Projector or in Basilisk.
* If the submission is running in Basilisk, it must have an HTML embed. Unlike with Flash, there is no exception to this.
* Shockwave curations should not have Script Errors unless absolutely unavoidable and with a Note explaining the issue.
* Curations running in the Shockwave Projector should close by clicking the X button in the top right corner.
* Submissions running in the Shockwave Projector should not open tabs in the user's normal browser.


=== Browser Mode ===
====HTML5====
Browser Mode is a way of running games using Flashpoint's launcher. It is usually the first one to try when a game doesn't work in Basilisk. However, since Browser Mode is not a full web browser, it has some limitations that mean it isn't an option for all games.
[[File:UnityWebglError.PNG|thumb|300px|Submissions with a QuotaExeededError will need to be run in a browser other than Basilisk.]]
* HTML5 submissions can run in any of the five browsers currently in Flashpoint. The chosen browser does not matter as long as the submission works as intended.
* If the submission gives a <code>QuotaExeededError</code> or any other error related to the browser it's running in, changes should be requested to have it run in a different browser, unless the error is unavoidable and a Note is included.
* HTML5 submissions should run as intended with the browser window at full size, unless otherwise Noted.
* HTML5 Alternate Applications cannot run in Browser Mode.


The limitations of Browser Mode include:
====Unity====
* Cannot open multiple tabs or windows.
* Doesn't support games which require a webcam
* Games that require the cursor to be captured may not work properly.
* Currently cannot be used for Alternate Applications (but may support them in the future).


'''The Application Path for Browser Mode is''' <code>:browser-mode:</code>.
* Unity submissions must have an HTML embed, without exception.
* Unity submissions cannot contain a <code>webplayer.unity3d.com</code> folder with updater files inside.


=== Chromium ===
====Java====
Ungoogled Chromium is included in Flashpoint as a second full browser alongside Basilisk. It is currently not used for many games, but fixes issues that Basilisk and Browser Mode cannot. The main limitation Chromium has over the other two browsers is that it cannot load Flash content for the few HTML5/Flash hybrid games.


'''The Application Path for Chromium is''' <code>FPSoftware\startChrome.bat</code>.
* If the submission is running in browser, it should have a Curation Note listing a domain that needs to be added to the Exceptions List.
* Before testing a Java submission that runs in browser, you will need to copy and paste that domain onto the end of the file <code>FPSoftware\Java\JDK_1.8.0_181\jre\lib\exception.sites</code> in your Core folder. If the domain is already on the list, then this is not needed.
* Java submissions instead running in AppletViewer should not have a Curation Note about an exception.


== Google Fonts Elements ==
===Less Common Platforms===
[[File:Google Fonts Missing.png|thumb|300px|Missing icons and the default font, compared to how it should look with everything being displayed.]]
Some games will make use of Google's library of fonts and icons, and these can have trouble displaying in Flashpoint.


This may be because the <code>index.html</code> (or equivalent) may not be calling the font file directly, but making a request to Google's servers to serve one or more fonts depending on the URL parameters. When the page uses multiple fonts, the same <code>css</code> file may be requested with different parameters. If so, you'll need to follow the steps below to make the fonts display properly.
====ActiveX====


<ol>
ActiveX submissions will have a <code>FPSoftware</code> folder next to their Content folder. This folder will need to be merged with Core's <code>FPSoftware</code> folder before testing.
<li>
Look at the logs and check for any 404 requests from <code>fonts.googleapis.com</code>. You might observe the differences between the version you have and the one hosted on the live web, but check the logs to be sure. <br>
For example, <code>https://fonts.googleapis.com/css?family=Corben:400&display=swap&subset=latin-ext</code>
</li>
<li>
Take the request URL and open it in your web browser. <br>
The previous example will get this response from the server:
<pre>/* latin-ext */
@font-face {
  font-family: 'Corben';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/corben/v14/LYjDdGzzklQtCMpNqQNFlVs.woff2) format('woff2');
  unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Corben';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/corben/v14/LYjDdGzzklQtCMpNpwNF.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}</pre>
</li>
<li>
Search the response for the font/icon URLs. In the previous example, these are the font URLs:
<pre>https://fonts.gstatic.com/s/corben/v14/LYjDdGzzklQtCMpNqQNFlVs.woff2
https://fonts.gstatic.com/s/corben/v14/LYjDdGzzklQtCMpNpwNF.woff2</pre>
Download the URLs with cURLsDownloader to get them with the correct file structure, then move them to the curation <code>content</code> folder.
</li>
<li>
Open a text editor such as Notepad and copy the server response into it, replace any <code>https</code> URLs with <code>http</code>, then save the file as <code>fonts.css</code> (not .txt!)<br>
Several of these request URLs may be present so name subsequent ones sequentially (<code>fonts2.css</code> <code>fonts3.css</code>). In the case of Icons use <code>icons.css</code>.
</li>
<li>
Place these files in the same folder where the <code>.html</code> file is located.
</li>
<li>
Open the <code>.html</code> file in a text editor and replace the original requests with the name of the .css file you created. <br>
For example, replace: <br>
<code>https://fonts.googleapis.com/css?family=Corben:400&display=swap&subset=latin-ext</code> with <code>fonts.css</code> <br>
<code>https://fonts.googleapis.com/icon?family=Material+Icons</code> with <code>icons.css</code> <br>
And so on.
</li>
<li>
Repeat this with other request URLs the game might need.
</li>
</ol>


After this, make sure the fonts are displaying correctly just like they are on the live web version.
If this folder is missing, inside the Content folder, or is otherwise incorrect, the submission is not properly curated and changes will need to be requested.


== Responsive Design Mode and Mobile Elements ==
====BitPlayer====
[[File:DesktopvsMobileHTML5.png|thumb|200px|Some games will have mobile controls, loading different assets.]]


Unlike traditional plugins, HTML5 allows games to be played on both Desktop and Mobile. This means that some games will implement Responsive Design elements so games work better on mobile platforms. This can load new assets such as the pages, scripts, elements, images, etc.
If you've never tested a BitPlayer submission before, you'll need to set up a Testing Curation in the Games tab of Core. In the Games tab, you will need to click the New Game button in the bottom right of the window. The only field you need to fill out is the Application Path, which needs to be <code>FPSoftware\FlashpointSecurePlayer.exe</code>. You can set any other fields however you want.


To check whether a game has these elements, play the game both in desktop and Responsive mode. On Basilisk in the developer console, enable <code>Responsive Design Mode</code>, then on the Responsive menu enable <code>Touch Events</code>, and make sure to reload the page as these elements might not have been loaded on Desktop mode. Use the <code>Rotate</code> button to test, as some games do not allow you to play in a certain orientation and will load warning messages.
When testing a BitPlayer submission, you'll need to copy all of the files in the Content folder and move them into the <code>Legacy/htdocs</code> folder of Core. You'll then copy the submission's Launch Command and paste it into your Testing Curation's Launch Command field. Then run the submission using the Testing Curation's Play button.


Make sure to skim through the entire game where these elements might show up, like parts with game controls or menus.
Bitplayer Submissions must have the <code>-extract</code> Mount Parameter.
== Game Engines ==
Many HTML5 games are made in game engines. Knowing how to identify them will make it easier to be sure your game is properly tagged. In some cases, knowing what engine you're working with can help with troubleshooting. Some engines have specific issues or common errors that can be easily fixed.


For information on game engines see [[Placeholder Link that Dukk will fix later]].
====Hyper-G and Hypercosm====
[[File:HypercosmError.PNG|thumb|350px|If you get an error like this while testing Hypercosm, it means you didn't copy over the files.]]
Before you can test a Hyper-G or Hypercosm submission, you will need to copy all of the files in the Content folder and move them to Core's <code>Legacy/htdocs</code> folder. You can then test the submission as normal.


== YouTube Games ==
Submissions of these Platforms must have the <code>-extract</code> Mount Parameter.
See [[HTML5 Curation/YouTube Games]].


== Troubleshooting ==
====VRML====
=== HTTPS Removal ===
Don't be surprised if it doesn't work at first, HTML5 games are relatively stable and mostly work, but a common occurrence is the game refusing to load assets.


This most likely is because of <code>https</code> requests inside the code of the game calling for files on the live web and failing, instead of <code>http</code> which calls local files. You will need to find and replace all instances of <code>https</code> with <code>http</code> in the game files. You might need to repeat this step multiple times for different parts of the game, due to most games being muiltiassets, they will only call certain parts that are needed during sections of gameplay.  
The majority of VRML submissions can be tested as normal with no special requirements. However, a small number of them will use the Application Path <code>FPSoftware\startVRweb.bat</code>. Submissions with this Application Path must have all of the files from the Content folder copied and moved to the <code>Legacy/htdocs</code> folder of Core before testing. These VRML submissions are required to the <code>-extract</code> Mount Parameter.


To streamline and simplify the process, we suggest using Notepad++ and its <code>Find in Files</code> function, where you can input the Directory that points to the content folder of your curation, and then click <code>Replace in Files</code> where it will search in all the game files each instance and replace it.
==Frequently Asked Questions==


Doing this process once is not always enough, so if the game continues to not load assets, you'll probably need to do it multiple times. You'll need to download more files before replacing <code>https</code> again.
;What is the difference between Approving and Verifying?
 
: There isn't any significant difference between the two. Two people are required to test a submission before it can be added to Flashpoint. The Approver is the first person and the Verifier is the second. The process for testing the submission is the same regardless.
In rare cases, you may have <code>https</code> requests coming from an obfuscated file. In these cases you will need to deobfuscate the code. There are online tools that can help with this.
;What do I do if I Reject a submission by mistake?
 
: Moderators are able to undo rejections by deleting the rejection comment. If you are not a Moderator, you will need to ask one to do this for you.
This is a really common form of modification for HTML5 games, but it is minor enough that games with altered https requests don't really need to be marked as Hacked. Note that this rule only applies to text files (such as HTML and JS files); you must always mark a game as Hacked if you edit binary files (such as SWFs).
;How can I see what submissions I'm assigned to?
 
: The '''Assigned to me for Testing''' and '''Assigned to me for Verification''' buttons at the top of the Browse Submissions page will take you to a list of your assignments for each stage of testing.
=== Missing Assets ===
;Is it okay if I only test Flash submissions?
While curating, there might be a few missing files, so to get them we can use cURLsDownloader.
: The overwhelming majority of submissions are Flash, so that's where we need the most people working. While Non-Flash Platform submissions do still obviously need to be tested, Flash submissions are the priority. We always need more testers and it doesn't really matter if you only test Flash ones.
 
;I requested changes on a submission and the submitter never fixed it. What do I do?
* If MAD4FP isn't able to download certain files, or they are missing while testing without it, go to the Logs tab, click on <code>Copy 404 URLs</code>, create a <code>.txt</code> file, paste and save.
: If the person is active in the Discord server and has submitted curations in the time since you requested the changes, they probably didn't see the request or forgot about it. Send a Comment on the submission or ping them in the Discord server to see if they're going to fix it. If the person isn't active in the server and hasn't been submitting curations, and it has been over a month since you requested the changes, you can go ahead and fix it yourself if you want to. If you submit a fix for a submission you requested changes on, you'll need to have a Moderator remove the Request Changes comment so that another tester can test the submission.
* If Basilisk is having trouble running the application, run the game on the live web with the network tab open, and play the game as if you were curating it as normal. After finishing, copy all cURLs, create a <code>.txt</code> file, paste and save.
;I requested changes while Assigned to Verify a submission and now I can't Verify the fixed submission. Is it broken?
 
: This is intentional. When a changes are requested on a submission, it gets reset back to the Approval phase. You'll need to unassign yourself from verification and assign yourself to test the submission. The you'll be able to Approve it. Another tester will need to Verify it.
Next, drag & drop the file onto <code>cURLsDownloader.bat</code>. Copy the contents of the <code>Downloads</code> folder outputted by cURLsDownloader, select the <code>Open Folder</code> button on your curation in the Curate tab, and paste the folder into the <code>content</code> folder of your curation. For more information about cURLsDownloader, be sure to read the included manual.
;I Approved a submission another tester requested changes on. Why does it still say the submission has an active RC?
 
: Only the tester who requested the changes can Approve the submission. While you can still assign yourself and perform the Approve action, it won't remove the RC status.
=== Clean-up of Junk Files ===
Since MAD4FP downloads every file requested by the game that still exists on the live web, you can get a lot of files that are unnecessary for the game to work. Be careful not to enter pages outside of the game as it will download them too, best way to prevent this is by knowing where this happens inside the game.
 
Even with these precautions, you will download junk from other services the website uses outside of the game. After deleting them, make sure the games still work without them.
 
=== Broken Or Non-Functional Games ===
Some games might require a certain browser we do not support or features not available in the browsers we have. While we are now able to support most HTML5 games, there are still some that may not be curatable. The most common example of this are HTML5 games that only work in a mobile browser. While we may be able to support these games in future, they are currently unable to be properly added to Flashpoint.
 
When dealing with a game we currently can't support, the best option (if possible) is to run the game on the live web with the network tab open, and playing the game as if you were curating it as normal. After finishing, copy all cURLs, create a <code>.txt</code> file, paste and save. Next, drag & drop the file onto <code>cURLsDownloader.bat</code>. Copy the contents of the <code>Downloads</code> folder outputted by cURLsDownloader, select the <code>Open Folder</code> button on your curation in the Curate tab, and paste the folder into the <code>content</code> folder of your curation.
 
Upload this curation to #curator-lounge on our Discord server for safekeeping, as it might be able to work in the future.
 
== Wrapping It Up ==
{{:Wrapping It Up}}
 
<noinclude>
[[Category:Curation Guides]]
</noinclude>

Latest revision as of 02:31, 5 June 2022

This is a draft of a new page for FPFSS testing instructions. It is unfinished.


This guide is intended to help Staff Members with testing submissions on the FPFSS.

How To Test Using the FPFSS

In order to test submissions, you must be a Staff Member with the Curator role in the Discord server. The process for how to test a submission is fairly simple, and is similar to the old Batch Check system.

  1. The first step is to assign yourself to the submission(s) you want to test. The Ready for Testing and Ready for Verification buttons near the top of the Browse Submissions page on the FPFSS will provide you with a list of submissions in need of testing, sorted by oldest first. The Ready for Testing option will show you submissions that have not been reviewed at all yet, while the Ready for Verification option will show you ones that have been tested by one staff member already and need to be double checked. There is no difference in the process whether you are Testing or Verifying, other than making sure to use the blue Assign Testing button if you are Testing and the brown Assign Verification if you are verifying. ‎
    If you are assigning yourself to a single submission, go to the submission's page and click the appropriate assignment button at the bottom of the page. If you are assigning yourself to multiple submissions, check the boxes for each submission you want on the left side of the list on the Browse page. Then use the assignment buttons at the bottom of the list to apply the action to all selected submissions.
  2. Next you'll need to download the submission(s). For a single submission, use the Download Latest Version button on the submission's page. For multiple submissions, with the boxes still checked from when you assigned yourself to them, use the Download Selected button near the bottom of the page. It will compress all of the submissions together as a file that will need to be extracted using 7-Zip before you can open the submissions in Core.
  3. The next thing you'll need to do is open the submissions in Core. In the Curate tab, use the Load Archive in the right panel and select the downloaded curation file(s). Once Core has opened all of the files, you can start testing. You'll need to check over the metadata for any errors, as well as running the submission to make sure it works. You are not required to play through the entire game, you only need to play enough that you can be confident that it works.
    1. For submissions which are very large in file size or have a large number of files, it may be helpful to use the Symlink option found in the right panel of the Curate tab, making sure to use the regular Run button and not Run with MAD4FP. This will cause Core to run the curation from the submission's Content folder directly instead of copying the files into Legacy/htdocs. This will make the curation launch much faster.
  4. The last thing you'll need to do is submit an action on the submission. There are a number of buttons that will appear at the bottom of a submission's page when you are assigned to it. These are:
    1. Comment - This button will not affect the submission's current approval status and will ping the submitter to pass along your message to them. You can use this action even if you are not assigned to the submission.
      The top image shows the actions available while Testing. The bottom shows the actions available while Verifying.
    2. Unassign Testing/Unassign Verification - Depending on whether you are assigned to Test or Verify the submission, one of these two buttons will be present. This will remove the submission from your assignments and return it to the queue so that another tester can test it.
    3. Request Changes - If there is an issue with the submission that needs to be corrected, you'll need to write your message in the Comment box explaining the problem and then use this button. Once the submitter has fixed the submission, you'll be able to look over the submission again and Approve it if everything has been corrected.
    4. Approve/Verify - This action means that everything is correct and working with the submission. This can also be done as a batch action, applying it to multiple submissions at once. With the boxes of all submissions you want to Approve or Verify checked, you can use the appropriate button at the bottom of the page.
    5. Reject - This action removes the submission from the queue, and should only be used for duplicates of games already in Flashpoint or previously submitted to the FPFSS. You will need to write the reason for the rejection in the Comment box before using this action.
    6. Delete - This action is only available to Moderators and removes the submission from the FPFSS entirely. It should only be used if a submission is something on the Not Accepted Curations list. If you are not a Moderator and come across a submission that needs to be deleted, you'll need to ask in one of the staff channels for a Mod to take care of it.

Checking Metadata

This list contains the basic requirements for each metadata field, however this is not a complete list of all ways that the metadata can be correct or incorrect. If you're unsure whether something is allowed, you should ask in one of the staff channels.

Field Requirements
Title and Alternate Title Changes should be requested if:
  • The Title doesn't roughly match the submission's logo (if it has one).
  • There are spelling errors.

Along with the above, Alternate Titles should not:

  • Be a shorter version of the Main Title.
  • Be the same text as the Main Title. For example, an Alternate Title which is the same as the Main Title but with different capitalization should be removed.
Library The Library field should be:
  • Games if the submission contains some interactive element beyond a start menu or play button.
  • Animations if the submission contains no interactivity beyond a start menu or play button.
Series The Series field should not be the franchise it relates to, a Franchise Tag should be added to the curation instead if it isn't already.
- e.g. a Mario game should have the Super Mario tag and not "Super Mario" in the Series field.
Developer and Publisher Changes should be requested for either of these two fields if:
  • The field is wrong.
  • There is nothing in the field despite Developer or Publisher is shown in an obvious place in the game/animation.
  • There are significant spelling errors that would prevent the submission from being properly searched for.

You don't need to request changes for differences in how the Developer or Publisher's name is written. For example Addicting Games, AddictingGames, and AddictingGames.com are different ways people could write the same Publisher. In the future Flashpoint may have a way to unify these spellings, but for now they don't matter.

Tags Changes should be requested if:
  • The tags are irrelevant to the curation.
  • The curation is missing Content Warning or NSFW tags.
  • There is a tag used which is not on the Tags wiki page.
  • The curation has no Gameplay (or Animation) Tags or if the Gameplay tags it has are incorrect.
  • The LEGACY-Extreme tag is used. This tag should not be added to any new submissions.
Play Mode Changes should be requested if the Play Mode is missing supporting modes or if the listed mode is incorrect.
Status Changes should be requested if:
  • The Status is incorrect.
  • The submission is labeled as Partial or Hacked and has no Note explaining why.
Version and Release Date These fields are only incorrect if the information is wrong. The information being missing is not something that needs to have changes requested for.
Language This field should:
  • Include all language options present in the work, regardless of whether it's written or spoken.
  • Use the two letter ISO 639-1 language codes, unless the language doesn't have a two letter code. In these cases the three letter code can be used.
  • Works which have no text or spoken language in them should have either en or the language that the Title is, if not English. Either is correct.
Source The Source should:
  • Be the full URL of where the curator found the game.
  • If the curation was sourced from the Wayback Machine, this should be indicated by have (via Wayback Machine) at the end of the Source, or by having the full web.archive.org URL as the Source.
  • If the curation was not sourced from a webpage, there will be some other way of indicating where it came from, e.g. a game from a CD should have the name of the CD.
Platform Changes should be requested if this field is incorrect.

For information specific to each Platform go to #Platform Specific Requirements.

Application Path Changes should be requested if:
  • It is incorrect for the submission's Platform.
  • It is invalid or otherwise not working.
Launch Command Changes should be requested if:
  • It is missing http:// or has https:// instead.
  • It is written or formatted in a way which causes the curation to not launch.
Mount Parameters The only valid parameter for this field is -extract. If there is anything other than that in this field, changes need to be requested to have it removed.
Notes Changes should be requested if:
  • There are only Non-English Notes. Notes in a language other than English are fine as long as there is also an English translation of them.
  • The Notes are irrelevant to the curation, for example saying who curated the game or listing information that should be in another metadata field.
  • The curation opens in full screen, but there is no Note or Message about it. Having just a Note, just a Message, or both are all correct.
  • The Notes contain instructions or walkthroughs that are explained in game or are easy to figure out without an explanation.
  • The Notes are overly long or complex at explaining some information the player needs.
  • The submission has an Extras Application, but no Note explaining what the Extras are.
Original Description This field is only incorrect if what's in it is not an Original Description. This includes the curator making up their own description or the Notes or Curation Notes being in the wrong field.
Curation Notes This field is only incorrect if the information in it should actually be in the Notes field. Since the Curation Notes are not kept when the submission is added to Flashpoint, unnecessary text is not an issue.
Alternate Applications Changes should be requested if:
  • The Application doesn't work.
  • Any of the fields for the Application are empty.
  • The Application is irrelevant to the Main Application.
  • The Application Path or Launch Command is incorrect. All of the same requirements apply to these fields for Alternate Applications.
Extras Changes should be requested if:
  • The Extras are irrelevant to the curation.
  • The Extras contain unnecessary videos, such as video walkthrough guides.
  • The Extras folder contains only files that are already in the Content folder.
  • The Extras folder is empty.
  • The Extras folder is inside the Content folder.
  • The Extras Folder field is empty or is something not specific to the curation such as "Extras" or "Game". This field should be roughly the name of the curation without spaces, but it doesn't need to be exact.
  • The Extras Folder field contains spaces or punctuation.
  • An Extras folder is included in the curation, but there is no Extras Application to go with it.
  • There is more than one Extras Application.
Logo Changes should be requested if:
  • Is not from the game/animation, although there may be rare exceptions to this.
  • Is animated.
  • Is exactly the same as the Screenshot, with the exception of very simple games and animations where it may not be possible to make the two images look distinct.
  • Is the whole title screen and/or shows menu buttons that can be easily cropped out. If buttons are present in the Logo, but removing them would require more editing than just cropping, it's fine for them to stay.
  • Is switched with the Screenshot.
  • Has noticeable white bars along the side(s) or other things included which are not part of the game.
Screenshot Changes should be requested if:
  • Is not from the game/animation.
  • Is animated.
  • Is the exact same as the Logo, with the exception of very simple games and animations where it may not be possible to make the two images look distinct.
  • Is just the title screen, menu, or tutorial, unless the work is made up of only that.
  • Is switched with the Logo.
  • Has noticeable white bars along the side(s) or other things included which are not part of the game.
  • Has a significant amount of the game window cropped out.
  • Is a significantly different resolution than the game opens as. This doesn't apply to HTML5 games as they don't have a set size.
Content Files Changes should be requested if:
  • The curation doesn't work.
  • The curation contains a large amount of unnecessary files or contains files for other games.
  • Contains any DLL files.
  • Contains EXE files in the Content folder. These files are allowed in the Extras folder only.

Platform Specific Requirements

Some Platforms have their own specific requirements for what makes a properly curated submission. These things will need to be checked when testing a game of that Platform. If a Platform is not listed in the sections below, it has no special requirements. For submissions of those Platforms, you will only need to check whether it works.

Common Platforms

Flash

Flash is the most common Platform you will come across while testing.

  • Flash submissions must run in Flash Player or Basilisk. Which of the two a submission runs in, or what version of Flash Player is chosen, does not matter as long as the submission works as intended.
  • Flash submissions cannot be run in Browser Mode.
  • If the submission is set to run in Basilisk, it should typically have an HTML embed. Games that run properly in a full screen size may be fine without embed.
  • Submissions running in Flash Player should not open tabs in the user's normal browser when run or when clicking buttons that aren't supposed to link to other websites. If a game has this issue, it should be run in Basilisk using an HTML embed. An exception is made for games which need an older version of Flash Player than Flash 32, as they cannot be run in Basilisk, however they do need a Note about the issue.

Shockwave

  • Shockwave submissions must run in the Shockwave Projector or in Basilisk.
  • If the submission is running in Basilisk, it must have an HTML embed. Unlike with Flash, there is no exception to this.
  • Shockwave curations should not have Script Errors unless absolutely unavoidable and with a Note explaining the issue.
  • Curations running in the Shockwave Projector should close by clicking the X button in the top right corner.
  • Submissions running in the Shockwave Projector should not open tabs in the user's normal browser.

HTML5

Submissions with a QuotaExeededError will need to be run in a browser other than Basilisk.
  • HTML5 submissions can run in any of the five browsers currently in Flashpoint. The chosen browser does not matter as long as the submission works as intended.
  • If the submission gives a QuotaExeededError or any other error related to the browser it's running in, changes should be requested to have it run in a different browser, unless the error is unavoidable and a Note is included.
  • HTML5 submissions should run as intended with the browser window at full size, unless otherwise Noted.
  • HTML5 Alternate Applications cannot run in Browser Mode.

Unity

  • Unity submissions must have an HTML embed, without exception.
  • Unity submissions cannot contain a webplayer.unity3d.com folder with updater files inside.

Java

  • If the submission is running in browser, it should have a Curation Note listing a domain that needs to be added to the Exceptions List.
  • Before testing a Java submission that runs in browser, you will need to copy and paste that domain onto the end of the file FPSoftware\Java\JDK_1.8.0_181\jre\lib\exception.sites in your Core folder. If the domain is already on the list, then this is not needed.
  • Java submissions instead running in AppletViewer should not have a Curation Note about an exception.

Less Common Platforms

ActiveX

ActiveX submissions will have a FPSoftware folder next to their Content folder. This folder will need to be merged with Core's FPSoftware folder before testing.

If this folder is missing, inside the Content folder, or is otherwise incorrect, the submission is not properly curated and changes will need to be requested.

BitPlayer

If you've never tested a BitPlayer submission before, you'll need to set up a Testing Curation in the Games tab of Core. In the Games tab, you will need to click the New Game button in the bottom right of the window. The only field you need to fill out is the Application Path, which needs to be FPSoftware\FlashpointSecurePlayer.exe. You can set any other fields however you want.

When testing a BitPlayer submission, you'll need to copy all of the files in the Content folder and move them into the Legacy/htdocs folder of Core. You'll then copy the submission's Launch Command and paste it into your Testing Curation's Launch Command field. Then run the submission using the Testing Curation's Play button.

Bitplayer Submissions must have the -extract Mount Parameter.

Hyper-G and Hypercosm

If you get an error like this while testing Hypercosm, it means you didn't copy over the files.

Before you can test a Hyper-G or Hypercosm submission, you will need to copy all of the files in the Content folder and move them to Core's Legacy/htdocs folder. You can then test the submission as normal.

Submissions of these Platforms must have the -extract Mount Parameter.

VRML

The majority of VRML submissions can be tested as normal with no special requirements. However, a small number of them will use the Application Path FPSoftware\startVRweb.bat. Submissions with this Application Path must have all of the files from the Content folder copied and moved to the Legacy/htdocs folder of Core before testing. These VRML submissions are required to the -extract Mount Parameter.

Frequently Asked Questions

What is the difference between Approving and Verifying?
There isn't any significant difference between the two. Two people are required to test a submission before it can be added to Flashpoint. The Approver is the first person and the Verifier is the second. The process for testing the submission is the same regardless.
What do I do if I Reject a submission by mistake?
Moderators are able to undo rejections by deleting the rejection comment. If you are not a Moderator, you will need to ask one to do this for you.
How can I see what submissions I'm assigned to?
The Assigned to me for Testing and Assigned to me for Verification buttons at the top of the Browse Submissions page will take you to a list of your assignments for each stage of testing.
Is it okay if I only test Flash submissions?
The overwhelming majority of submissions are Flash, so that's where we need the most people working. While Non-Flash Platform submissions do still obviously need to be tested, Flash submissions are the priority. We always need more testers and it doesn't really matter if you only test Flash ones.
I requested changes on a submission and the submitter never fixed it. What do I do?
If the person is active in the Discord server and has submitted curations in the time since you requested the changes, they probably didn't see the request or forgot about it. Send a Comment on the submission or ping them in the Discord server to see if they're going to fix it. If the person isn't active in the server and hasn't been submitting curations, and it has been over a month since you requested the changes, you can go ahead and fix it yourself if you want to. If you submit a fix for a submission you requested changes on, you'll need to have a Moderator remove the Request Changes comment so that another tester can test the submission.
I requested changes while Assigned to Verify a submission and now I can't Verify the fixed submission. Is it broken?
This is intentional. When a changes are requested on a submission, it gets reset back to the Approval phase. You'll need to unassign yourself from verification and assign yourself to test the submission. The you'll be able to Approve it. Another tester will need to Verify it.
I Approved a submission another tester requested changes on. Why does it still say the submission has an active RC?
Only the tester who requested the changes can Approve the submission. While you can still assign yourself and perform the Approve action, it won't remove the RC status.