Polar Games

Deepforge: Merge & Mine · CodeCanyon buyer edition · 1.0.0

Deepforge: Merge & Mine · 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. Embedding API
  17. Support and version history
  18. For AI assistants

1 Overview and package contents

Merge-mining game: 30 chambers, 16 pickaxe tiers, 6 biomes, 10 active positions and 8 reserve slots. The Abyss continues after the campaign.

Single player only. No accounts, payments, online ranking or rewarded ads. Optional interstitial ads require your own 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

Drag equal picks together, or select a pick and its destination. Buy tools, arrange the bench, then launch. Falling picks break blocks; destroy the core to advance.

Keyboard: B buys; Space or Enter launches; 1–5 selects a boost column; R opens the reserve; P or Esc pauses; Enter continues results. Moving tools uses mouse or touch.

Reserve tools do not launch. Boost has 2 charges, or 3 with its charm. Purchases need coins and a free slot. Dismantling asks for confirmation; the last tool is protected.

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. No sound: interact with the game first, check mute and both volume sliders. Hidden tabs pause gameplay; returning opens pause. Use a current browser with WebGL.
Figure 2. Gameplay
Figure 2. Gameplay

Marks on the screenshot

  1. Drag equal picks together, or select a pick and its destination. Buy tools, arrange the bench, then launch. Falling picks break blocks; destroy the core to advance.
  2. Reserve tools do not launch. Boost has 2 charges, or 3 with its charm. Purchases need coins and a free slot. Dismantling asks for confirmation; the last tool is protected.
  3. Buy tools with coins.
  4. Launch the expedition.
Figure 3. Reserve
Figure 3. Reserve

Marks on the screenshot

  1. Reserve: swap or merge spare tools. Workshop opens at chamber 6; charms cost 12 crystals, with one equipped. Elements unlock through progress. No specific charm is needed for guardians.
Figure 4. Settings
Figure 4. Settings

Marks on the screenshot

  1. No sound: interact with the game first, check mute and both volume sliders. Hidden tabs pause gameplay; returning opens pause. Use a current browser with WebGL.
  2. The game interface is English or Brazilian Portuguese; this guide has 14 languages. Saved language overrides the initial setting. Pause settings include mute, music, effects and reduced visual effects.

6 Settings available

The game interface is English or Brazilian Portuguese; this guide has 14 languages. Saved language overrides the initial setting. Pause settings include mute, music, effects and reduced visual effects.

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/assets/ Built game code, styles, images and audio.
game/deepforge.config.js Edit game/deepforge.config.js: title changes the browser tab, storageKey separates saves, defaultLanguage sets new saves. The illustrated logo is separate. Keep quotes and commas valid.
source/src/data/chambers.ts Merge-mining game: 30 chambers, 16 pickaxe tiers, 6 biomes, 10 active positions and 8 reserve slots. The Abyss continues after the campaign.
source/src/data/tools.ts Drag equal picks together, or select a pick and its destination. Buy tools, arrange the bench, then launch. Falling picks break blocks; destroy the core to advance.
source/src/config/balance.ts Reserve tools do not launch. Boost has 2 charges, or 3 with its charm. Purchases need coins and a free slot. Dismantling asks for confirmation; the last tool is protected.
source/src/core/save.ts Progress uses localStorage key deepforge.buyer.save.v2. Export or import saves through the menu. Reloading during mining restores the launch checkpoint. A subfolder alone does not separate saves on the same origin.
source/src/buyer.ts Ads default to none. Supply your own approved SDK and consent, then select custom. Interstitials occur after expeditions, never the first. Default: every 3, at least 120 seconds apart. Call onStart before showing; if false, cancel. Finish with onComplete or onError; cancel stale provider overlays. No rewards.
source/src/api.ts Embedding: use the host API below; cross-origin pages need your own validated message wrapper. Allow scripts and origin storage in a sandbox. Match iframe height to its viewport.
source/src/i18n/strings.ts Edit interface dictionaries in source/src/i18n/strings.ts, then rebuild. Translating this guide does not translate the game or add voice recordings.

8 Customize your copy

Edit game/deepforge.config.js: title changes the browser tab, storageKey separates saves, defaultLanguage sets new saves. The illustrated logo is separate. Keep quotes and commas valid.

window.DEEPFORGE_CONFIG = {
  title: 'My Mine',
  storageKey: 'my-mine.save.v2',
  defaultLanguage: 'en',
  ads: {provider:'none', everyExpeditions:3, minimumIntervalSeconds:120}
};

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 interface is English or Brazilian Portuguese; this guide has 14 languages. Saved language overrides the initial setting. Pause settings include mute, music, effects and reduced visual effects.

Edit interface dictionaries in source/src/i18n/strings.ts, then rebuild. Translating this guide does not translate the game or add voice recordings.

10 Saved progress and privacy

Progress uses localStorage key deepforge.buyer.save.v2. Export or import saves through the menu. Reloading during mining restores the launch checkpoint. A subfolder alone does not separate saves on the same origin.

  • 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

Ads default to none. Supply your own approved SDK and consent, then select custom. Interstitials occur after expeditions, never the first. Default: every 3, at least 120 seconds apart. Call onStart before showing; if false, cancel. Finish with onComplete or onError; cancel stale provider overlays. No rewards.

// game/deepforge.config.js — disabled until you integrate your SDK
window.DEEPFORGE_AD_PROVIDER = {
  interstitial({onStart, onComplete, onError}) {
    // Before showing: if (!onStart()) cancel the request.
    // Your SDK must call onComplete() on close, or onError() on failure.
    // Never report completion here without a real provider event.
    onError(); // Safe unimplemented example: no ad, no simulated success.
  }
};
// Request without start recovers after 2.5 s; visible ad timeout is 120 s.
// Your provider must close its stale UI; the game cannot close third-party overlays.

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.

For source editing only: Node.js 22.12 or newer. Run the commands below. Upload the contents of source/dist-static after building. Keep the WebGL patch before Phaser initialization.

cd source
npm ci
npm test
npm run typecheck
npm run build:static

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.

No sound: interact with the game first, check mute and both volume sliders. Hidden tabs pause gameplay; returning opens pause. Use a current browser with WebGL.

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 Embedding API

Embedding: use the host API below; cross-origin pages need your own validated message wrapper. Allow scripts and origin storage in a sandbox. Match iframe height to its viewport.

window.DeepForge.pause();
window.DeepForge.resume();
window.DeepForge.isPaused();
window.DeepForge.getSave();
const unsubscribe = window.DeepForge.on('expeditionEnd', payload => {
  console.log(payload);
});
unsubscribe();
// expeditionStart, expeditionEnd, chamberComplete, save

17 Support and version history

Phaser and bundled Matter.js/EventEmitter3: MIT notices. Nunito and Lilita One: SIL Open Font License. Keep notices in THIRD-PARTY-LICENSES, game/licenses and source/public/licenses. No remote library 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/deepforge.config.js: title changes the browser tab, storageKey separates saves, defaultLanguage sets new saves. The illustrated logo is separate. Keep quotes and commas valid.

Progress uses localStorage key deepforge.buyer.save.v2. Export or import saves through the menu. Reloading during mining restores the launch checkpoint. A subfolder alone does not separate saves on the same origin.

For source editing only: Node.js 22.12 or newer. Run the commands below. Upload the contents of source/dist-static after building. Keep the WebGL patch before Phaser initialization.

window.DEEPFORGE_CONFIG = {
  title: 'My Mine',
  storageKey: 'my-mine.save.v2',
  defaultLanguage: 'en',
  ads: {provider:'none', everyExpeditions:3, minimumIntervalSeconds:120}
};