Polar Games

Solitaire Links · CodeCanyon buyer edition · 1.0.0

Solitaire Links · Buyer Guide

Install the playable game by uploading its files. This guide covers installation, controls, screens, configuration, languages, saves and optional development.

Version 1.0.0 Edition CodeCanyon buyer edition

This guide works without internet. Images, styles and scripts are already inside this file.

Contents
  1. Overview and package contents
  2. Quick installation by FTP
  3. Requirements and hosting
  4. Controls and how the game works
  5. Screens and controls explained
  6. Settings available
  7. Map of the files
  8. Customize your copy
  9. Languages, sound and accessibility
  10. Saved progress and privacy
  11. Optional advertising
  12. Optional development
  13. Updating the game
  14. Common problems
  15. Frequently asked questions
  16. Support and version history
  17. For AI assistants

1 Overview and package contents

Word-category card game with 12 worlds, endless levels, stars and combos. Linky has 60 cosmetic items. Daily gifts and a daily challenge use local progression.

No native app project, accounts, cloud saves, online ranking or real-money purchases. Coins are earned in play. Ads are optional and off by default; the buyer supplies the provider.

This manual describes version 1.0.0. Open documentation/index.html by double-clicking it. This guide works without internet.

DOCUMENTATION.html
documentation/index.html
game/
source/
THIRD-PARTY-LICENSES/

2 Quick installation by FTP

Installing takes a few minutes. It needs no build step, terminal, database or PHP.

  1. Extract the purchased ZIP on your computer.
  2. Open the game/ folder. Keep its files and subfolders together.
  3. Upload only the contents of game/ by FTP or your hosting file manager to an empty folder, such as public_html/my-game/.
  4. Open https://your-domain.example/my-game/ in a modern browser.
Warning Do not double-click index.html on your computer. The game must be opened through an HTTP(S) address.

3 Requirements and hosting

  • A current version of Chrome, Edge, Firefox or Safari on a computer, tablet or phone.
  • Any static hosting over HTTP or HTTPS. HTTPS is recommended.
  • No npm, terminal, database, PHP, account or build step. The game loads everything from your folder.

The example above uses a subfolder. Keep all files together so the relative paths keep working.

To test before choosing a host, run any static web server on your computer or upload the game to a private test subfolder first.

4 Controls and how the game works

Place gold category cards at the top, then move matching words into them. Stack words of the same category in columns to reveal hidden cards. Draw from the deck when needed. Drag cards, or select a card and its destination.

Use mouse or touch for cards and the deck. Keyboard focus activates buttons with Enter or Space. The helpers are Hint, Undo and Joker; Restart starts the level again.

Each move matters. Complete all categories before moves run out. Stars and combos reward progress. Worlds contain 10 levels; artwork and music repeat after world 12.

5 Screens and controls explained

The captures below are real game screens from version 1.0.0, in English. Numbered marks point to the controls, and the legend under each capture explains them.

Figure 1. Main menu
Figure 1. Main menu

Marks on the screenshot

  1. Game logo.
  2. Play or continue your saved campaign.
  3. Settings available
Figure 2. Gameplay
Figure 2. Gameplay

Marks on the screenshot

  1. Gold category cards.
  2. Draw pile and remaining cards.
  3. Place gold category cards at the top, then move matching words into them. Stack words of the same category in columns to reveal hidden cards. Draw from the deck when needed. Drag cards, or select a card and its destination.
  4. Hint, Undo, Joker and Restart.
Figure 3. Linky's Closet
Figure 3. Linky's Closet

Marks on the screenshot

  1. Linky's closet contains hats, cards, sparkles, dances and faces. Unlock items by progression or earned coins. Preview and equip items; the buyer edition has no real-money checkout.
  2. Choose a cosmetic category and an item.
Figure 4. Settings
Figure 4. Settings

Marks on the screenshot

  1. If silent, interact first, then enable music, sounds and Linky's voice in Settings. Voice recordings only cover English, Portuguese and Spanish. Calm mode reduces motion; Large text enlarges card words.
  2. The game and this guide have 14 interface languages. Recorded voices are English, Portuguese and Spanish only. Settings also include music, sound, voice, vibration, Linky, large text and calm mode.

6 Settings available

The game and this guide have 14 interface languages. Recorded voices are English, Portuguese and Spanish only. Settings also include music, sound, voice, vibration, Linky, large text and calm mode.

Browsers need a first interaction, such as pressing Play, before audio can start. The game pauses when it loses focus.

7 Map of the files

File or folder What it is
game/index.html Entry page of the game.
game/js/ Built game code, styles, images and audio.
game/css/ Built game code, styles, images and audio.
game/solitaire.config.js Edit game/solitaire.config.js without a build. storageKey isolates saved progress; ads.enabled enables your own integrated provider. This setting does not change the illustrated title. Direct edits belong in game; source holds matching scripts and translation tools.
source/i18n/ Edit source/i18n/, run node tools/gen-langs.cjs from source, and copy the generated js/langs/ and js/langs.js to game. Keep each language module and rerun tests.
game/js/core.js Place gold category cards at the top, then move matching words into them. Stack words of the same category in columns to reveal hidden cards. Draw from the deck when needed. Drag cards, or select a card and its destination.
game/js/ads.js Disabled by default. Integrate your approved SDK and consent. Call started only when visible; resolve done only after confirmed completion. Rewards require both. Cancellation, error or unavailable inventory must not grant rewards. One ad at a time; remove your overlay on timeout.
source/tests/run.mjs No build or dependency installation is needed to edit the playable game. Keep game and source scripts synchronized. For tests and language generation only, use Node.js 20 or newer and the commands below.
game/assets/fonts/ Self-hosted Baloo 2, Nunito and Fredoka fonts use SIL Open Font License. Keep the complete notices in THIRD-PARTY-LICENSES and game/assets/fonts. No external font service is required.

8 Customize your copy

Edit game/solitaire.config.js without a build. storageKey isolates saved progress; ads.enabled enables your own integrated provider. This setting does not change the illustrated title. Direct edits belong in game; source holds matching scripts and translation tools.

window.SOLITAIRE_CONFIG = {
  storageKey: 'my-word-game.save.v1',
  ads: {enabled:false, graceSec:180, minGapSec:120, startTimeoutSec:2.5, timeoutSec:180}
};

To change the illustrated title, icons, artwork, rules or text, edit the optional source edition and rebuild. Keep the existing proportions when replacing visuals. Do not edit hashed build file names without updating their references.

9 Languages, sound and accessibility

The game and this guide have 14 interface languages. Recorded voices are English, Portuguese and Spanish only. Settings also include music, sound, voice, vibration, Linky, large text and calm mode.

Edit source/i18n/, run node tools/gen-langs.cjs from source, and copy the generated js/langs/ and js/langs.js to game. Keep each language module and rerun tests.

10 Saved progress and privacy

Default localStorage key: solitaire-links.buyer.save.v1. Saves include progress, coins, cosmetics and settings. No cloud or account. Different subfolders share origin storage, so use a different storageKey for independent installations.

  • There is no account and no cloud sync. Records stay on this device.
  • Private mode, storage restrictions, clearing site data or changing the address can remove access to saved progress. The game keeps running without saving.

Back up your configuration and exported save before updating. Keep storageKey unchanged to preserve access to progress. Upload all build files together; do not rename hashed assets.

11 Optional advertising

Disabled by default. Integrate your approved SDK and consent. Call started only when visible; resolve done only after confirmed completion. Rewards require both. Cancellation, error or unavailable inventory must not grant rewards. One ad at a time; remove your overlay on timeout.

// Contract for window.SOLITAIRE_AD_PROVIDER (supply your own approved SDK)
// init(): optional setup
// available(kind): boolean
// show(kind, placement, started): Promise<result>
// kind: 'interstitial' | 'rewarded'
// result: 'done' | 'skipped' | 'unavailable' | 'error'
// Call started() only once the ad is visible; cancel if it returns false.
// Resolve 'done' ONLY after a real confirmed completed-view event.
// All other outcomes return without reward; only one ad at a time.
// Default placements:
// level_end, double_reward, extra_moves, stuck_joker, shop_coins, booster
// ads: {enabled:false, graceSec:180, minGapSec:120,
//       startTimeoutSec:2.5, timeoutSec:180, placements:{...}}
// If your SDK times out, close its own overlay.

12 Optional development

This section is only for changing the source. The game/ folder already contains the playable build, so hosting needs no Node.js.

No build or dependency installation is needed to edit the playable game. Keep game and source scripts synchronized. For tests and language generation only, use Node.js 20 or newer and the commands below.

cd source
node tests/run.mjs
# Only after editing translation JSON files:
node tools/gen-langs.cjs

13 Updating the game

Back up your configuration and exported save before updating. Keep storageKey unchanged to preserve access to progress. Upload all build files together; do not rename hashed assets.

Upload the new contents of game/ over the old files, keeping the names and folders.

Reload the game. If the old version still appears, clear the cache as described below.

Clearing the cache without losing progress

Progress is stored in this browser, not on the server. Clearing cached images and files, or doing a hard reload, keeps your progress.

Computer: press Ctrl+F5 on Windows and Linux, or Cmd+Shift+R on macOS. Phone: in the browser settings, choose the option to clear cached images and files.

Do not choose cookies and site data, or clear site data, for the game's address. That deletes the local save.

14 Common problems

  • Blank page: make sure you uploaded the contents of game/, opened the HTTP(S) address and checked the browser console for scripts that failed to load. The source/ folder is not the playable website.
  • Works on the computer but not on the server: the game does not run from a file on your computer (file://). Use a static web host or any static local server.
  • Missing textures or sound: confirm the complete upload and the file name case, and that .mp3, .js, .css and font files are served with correct types.

If silent, interact first, then enable music, sounds and Linky's voice in Settings. Voice recordings only cover English, Portuguese and Spanish. Calm mode reduces motion; Large text enlarges card words.

15 Frequently asked questions

Does it need PHP or a database?
No. This edition is fully static and saves progress in the browser's localStorage.
Does it work offline?
The game loads its engine, fonts, images and audio from your own folder and calls no external services. It is not packaged as an installable offline app.
Does it work on phones?
Yes. Landscape and portrait layouts use touch and mouse controls. Performance depends on the browser, device memory and graphics hardware, so test on the devices your audience uses.

16 Support and version history

Self-hosted Baloo 2, Nunito and Fredoka fonts use SIL Open Font License. Keep the complete notices in THIRD-PARTY-LICENSES and game/assets/fonts. No external font service is required.

Support and customization: willian@polargames.com.br. Include your purchase or licence reference. This guide does not promise response times or a schedule of future updates.

Support request

When you write to support, include the browser and device, the game version, the page address, the steps that caused the problem, a screenshot and the first error shown in the browser console. Never send passwords, payment details or secret keys.

For AI assistants

Edit game/solitaire.config.js without a build. storageKey isolates saved progress; ads.enabled enables your own integrated provider. This setting does not change the illustrated title. Direct edits belong in game; source holds matching scripts and translation tools.

Default localStorage key: solitaire-links.buyer.save.v1. Saves include progress, coins, cosmetics and settings. No cloud or account. Different subfolders share origin storage, so use a different storageKey for independent installations.

No build or dependency installation is needed to edit the playable game. Keep game and source scripts synchronized. For tests and language generation only, use Node.js 20 or newer and the commands below.

window.SOLITAIRE_CONFIG = {
  storageKey: 'my-word-game.save.v1',
  ads: {enabled:false, graceSec:180, minGapSec:120, startTimeoutSec:2.5, timeoutSec:180}
};