If you appreciate the work done within the wiki, please consider supporting The Cutting Room Floor on Patreon. Thanks for all your support!
Klick Klack
Jump to navigation
Jump to search
Cleanup > Pages missing developer references
Cleanup > Pages missing publisher references
Games > Games by content > Games with hidden development-related text
Games > Games by developer > Games developed by Zut Games
Games > Games by platform > Android games
Games > Games by platform > IOS games
Games > Games by publisher > Games published by Zut Games
Games > Games by release date > Games released in 2018
Games > Games by release date > Games released in August
Games > Games by release date > Games released in August > Games released on August 21
Games > Games by release date > Games released in August > Games released on August 22
Klick Klack |
---|
Developer: Zut Games This game has hidden development-related text. |
Klick Klack is a simple puzzler about guiding a moving ball in a manually rotating labyrinth.
Contents
Development Text
Inside the game's assets folder are many files that were left over from the game's development. Two of them reveal what is possibly an earlier name for the game: "Clacky Maze".
clackymaze.sublime-project
{ "folders": [ { "path": "." } ] }
clackymaze.sublime-workspace
Within this file, a curious name is mentioned several times: "GlowGridDisco". This might be an earlier name for GlowGrid 2, which would only be released three months after this game.
{ "auto_complete": { "selected_items": [ [ "_to", "_touchY" ], [ "unlocked", "unlockedLevel" ], [ "sele", "selectedLevel" ], [ "tiles", "tilesTravelled" ], [ "scale", "yScale" ], [ "level", "levelData" ], [ "cherr", "cherryData" ], [ "cherry", "cherryData" ], [ "gena", "generateStartingBoard" ], [ "Game", "gamesPlayed" ], [ "sho", "showNativeRateDialog" ], [ "dat", "dataVersion" ], [ "car", "carousel" ], [ "grid", "gridData" ], [ "tra", "transition" ], [ "is", "isIPhoneX" ], [ "anch", "anchorY" ], [ "play", "playBtn" ], [ "settings", "settingsBtn" ], [ "sound", "soundBtn" ], [ "anc", "anchorY" ], [ "score", "scoreGroup" ], [ "image", "imageSheetInfo" ], [ "or", "orientation" ], [ "cre", "createImage" ], [ "high", "highScoreText" ], [ "til", "tilesTravelled" ], [ "rota", "rotationHalfway" ], [ "fun", "function\tfunction" ], [ "x", "xScale" ], [ "path", "pathWidth" ], [ "pat", "pathWidth" ], [ "hi", "hilite" ], [ "player", "playerSprite" ], [ "res", "restart" ], [ "dest", "destroyList" ], [ "des", "destroyList" ], [ "star", "startY" ], [ "reset", "resetBomb" ], [ "pro", "tileProgress" ], [ "tile", "tileProgress" ], [ "bac", "background-color" ], [ "strlo", "strtolower" ], [ "leve", "levelValues" ], [ "json", "json_encode" ], [ "spra", "spreadsheetFeed" ], [ "be", "bestReport" ], [ "clos", "closestValue" ], [ "close", "closestDistance" ], [ "avg", "avgDistanceY" ], [ "adj", "adjacentDistancesX" ], [ "rgb", "rgb1" ], [ "_boa", "_boardLayer" ], [ "pale", "palette" ], [ "men", "detailMenuH" ], [ "me", "detailMenuH" ], [ "m", "detailMenuH" ], [ "de", "detailMenuH" ], [ "create", "createBoardView" ], [ "contn", "contentWidth" ], [ "rep", "response" ], [ "on", "onComplete" ], [ "pre", "premiumPID" ], [ "show", "showRewarded" ] ] }, "buffers": [ { "file": "lib/bus.lua", "settings": { "buffer_size": 3492, "encoding": "UTF-8", "line_ending": "Windows" } }, { "file": "scenes/game-scene.lua", "settings": { "buffer_size": 1241, "line_ending": "Windows" } }, { "file": "game/game.lua", "settings": { "buffer_size": 15808, "encoding": "UTF-8", "line_ending": "Windows" } }, { "file": "app/app.lua", "settings": { "buffer_size": 5847, "encoding": "UTF-8", "line_ending": "Windows" } }, { "file": "scenes/select-scene.lua", "settings": { "buffer_size": 9323, "line_ending": "Windows" } }, { "contents": "Searching 70 files for \"justUnlocked\"\n\nD:\\Projects\\KlickKlack\\app\\app\\app.lua:\n 231 \tend\n 232 \n 233: \tSession.justUnlocked=false\n 234 \tlocal nextLevelGate=nil\n 235 \tif Config.levelData[level+1] and Config.levelData[level+1].gate then \n ...\n 237 \tend\n 238 \tif nextLevelGate and oldHighScore<nextLevelGate and score>=nextLevelGate then \n 239: \t\tSession.justUnlocked=true\n 240 \tend\n 241 \n\nD:\\Projects\\KlickKlack\\app\\scenes\\select-scene.lua:\n 368 \t\t\n 369 \n 370: \t\tif Session.justUnlocked then \n 371 \t\t\tApp.allowTouch(false)\n 372 \n ...\n 395 \t\t\t\tApp.allowTouch(true)\n 396 \t\t\tend)\n 397: \t\t\tSession.justUnlocked=false\n 398 \n 399 \t\tend\n\n4 matches across 2 files\n\n\nSearching 70 files for \"attri\"\n\nD:\\Projects\\KlickKlack\\app\\app\\app.lua:\n 172 \n 173 \tif Env.isIOS then\n 174: \t\tAttribution=new('services.attribution')\n 175: \t\tAttribution.init()\n 176 \tend\n 177 \n ...\n 241 \n 242 \tif nextLevelGate and oldHighScore<nextLevelGate and score>=nextLevelGate then \n 243: \t\tAttribution.logLevelUnlocked(nextLevel)\n 244 \t\tSession.justUnlocked=true\n 245 \tend\n\nD:\\Projects\\KlickKlack\\app\\LaunchScreen.storyboardc\\01J-lp-oVM-view-Ze5-6b-2t3.nib:\n <binary>\n\nD:\\Projects\\KlickKlack\\app\\lib\\simple-json.lua:\n 8 -- Latest version: http://regex.info/blog/lua/json\n 9 --\n 10: -- This code is released under a Creative Commons CC-BY \"Attribution\" License:\n 11 -- http://creativecommons.org/licenses/by/3.0/deed.en_US\n 12 --\n\n10 matches across 3 files\n", "settings": { "buffer_size": 1495, "line_ending": "Windows", "name": "Find Results", "scratch": true } }, { "file": "services/attribution.lua", "settings": { "buffer_size": 809, "encoding": "UTF-8", "line_ending": "Windows" } }, { "file": "build.settings", "settings": { "buffer_size": 2943, "encoding": "UTF-8", "line_ending": "Windows" } } ], "build_system": "Packages/Python/Python.sublime-build", "build_system_choices": [ [ [ [ "Packages/Python/Python.sublime-build", "" ], [ "Packages/Python/Python.sublime-build", "Syntax Check" ] ], [ "Packages/Python/Python.sublime-build", "" ] ] ], "build_varint": "", "command_palette": { "height": 392.0, "last_filter": "pack", "selected_items": [ [ "pack", "Package Control: Install Package" ] ], "width": 400.0 }, "console": { "height": 323.0, "history": [ "import urllib.request,os,hashlib; h = '2915d1851351e5ee549c20394736b442' + '8bc59f460fa1548d1514676163dafc88'; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler()) ); by = urllib.request.urlopen( 'http://packagecontrol.io/' + pf.replace(' ', '%20')).read(); dh = hashlib.sha256(by).hexdigest(); print('Error validating download (got %s instead of %s), please try manual install' % (dh, h)) if dh != h else open(os.path.join( ipp, pf), 'wb' ).write(by)" ] }, "distraction_free": { "menu_visible": true, "show_minimap": false, "show_open_files": false, "show_tabs": false, "side_bar_visible": false, "status_bar_visible": false }, "expanded_folders": [ "/D/Projects/KlickKlack/app", "/D/Projects/KlickKlack/app/app", "/D/Projects/KlickKlack/app/assets", "/D/Projects/KlickKlack/app/data", "/D/Projects/KlickKlack/app/fonts", "/D/Projects/KlickKlack/app/game", "/D/Projects/KlickKlack/app/lib", "/D/Projects/KlickKlack/app/scenes", "/D/Projects/KlickKlack/app/services" ], "file_history": [ "/D/Projects/KlickKlack/app/services/facebook.lua", "/D/Projects/KlickKlack/app/services/gpgs.lua", "/D/Projects/KlickKlack/app/app/app.lua", "/D/Projects/KlickKlack/app/scenes/select-scene.lua", "/D/Projects/KlickKlack/app/app/conf.lua", "/D/Projects/KlickKlack/app/scenes/carousel.lua", "/D/Projects/KlickKlack/app/lib/bus.lua", "/D/Projects/KlickKlack/app/game/generator.lua", "/D/Projects/KlickKlack/app/game/game.lua", "/D/Projects/KlickKlack/app/game/tutorial.lua", "/D/Projects/KlickKlack/app/scenes/game-scene.lua", "/D/Projects/KlickKlack/app/lib/a-star.lua", "/D/Projects/KlickKlack/app/game/astar-test.lua", "/D/Projects/KlickKlack/app/app/graphics.lua", "/D/Projects/KlickKlack/app/app/ads.lua", "/D/Projects/KlickKlack/app/scenes/title-scene.lua", "/D/Projects/KlickKlack/app/app/env.lua", "/D/Projects/KlickKlack/app/scenes/tutorial-scene.lua", "/D/Projects/KlickKlack/app/app/log.lua", "/D/Projects/KlickKlack/app/app/user.lua", "/D/Projects/KlickKlack/app/services/iap.lua", "/D/Projects/KlickKlack/app/services/rate.lua", "/D/Projects/KlickKlack/app/main.lua", "/D/Projects/KlickKlack/app/config.lua", "/D/Projects/KlickKlack/app/build.settings", "/D/Projects/KlickKlack/app/app/launch.lua", "/D/Projects/KlickKlack/app/app/touch.lua", "/D/Projects/KlickKlack/app/app/shop.lua", "/D/Projects/KlickKlack/app/lib/scenes.lua", "/D/Projects/KlickKlack/app/scenes/splash-scene.lua", "/D/Projects/corona-empty/empty/config.lua", "/D/Projects/corona-empty/empty/build.settings", "/D/Projects/corona-empty/empty/main.lua", "/D/Projects/KlickKlack/app/app/unity-ads.lua", "/D/Projects/KlickKlack/app/app/iap.lua", "/D/Projects/KlickKlack/app/app/sounds.lua", "/D/Projects/KlickKlack/app/assets/sprites.lua", "/D/Projects/KlickKlack/app/app/locale.lua", "/D/Projects/KlickKlack/app/assets/sprites@4x.lua", "/D/Projects/KlickKlack/app/fonts/MaropawiClub.otf", "/D/Projects/KlickKlack/app/app/main.lua", "/D/Projects/KlickKlack/app/log.lua", "/D/Projects/KlickKlack/app/app/config.lua", "/D/Projects/KlickKlack/app/lib/db-storage.lua", "/D/Projects/KlickKlack/app/assets/sprites@2x.lua", "/D/Projects/KlickKlack/app/assets/sprites-.lua", "/D/Projects/KlickKlack/app/button.lua", "/D/Projects/KlickKlack/app/lib/debug.lua", "/D/Projects/KlickKlack/app/sounds.lua", "/C/Work/Projects/ClickClack/dev/app/lib/db-storage.lua", "/C/Work/Projects/ClickClack/dev/app/scenes/game-scene.lua", "/C/Work/Projects/ClickClack/dev/app/button.lua", "/C/Work/Projects/ClickClack/dev/app/main.lua", "/C/Work/Projects/ClickClack/dev/app/lib/colors.lua", "/C/Work/Projects/ClickClack/dev/app/sounds.lua", "/C/Work/Projects/ClickClack/dev/app/audio/rotate.wav", "/C/Work/Prototypes/clackymaze/ClackyMaze/fonts/RifficFree-Bold.ttf", "/C/Work/Prototypes/clackymaze/ClackyMaze/config.lua", "/C/Work/Prototypes/clackymaze/ClackyMaze/build.settings", "/C/Work/Prototypes/clackymaze/ClackyMaze/main.lua", "/C/Work/Prototypes/clackymaze/ClackyMaze/sounds.lua", "/C/Work/Prototypes/clackymaze/ClackyMaze/debug.lua", "/C/Work/Prototypes/GlowGridDisco/dev/app/launch.lua", "/C/Work/Prototypes/clackymaze/ClackyMaze/scenes/game-scene.lua", "/C/Work/Prototypes/clackymaze/ClackyMaze/lib/scenes.lua", "/C/Work/Prototypes/clackymaze/ClackyMaze/lib/helpers.lua", "/C/Work/Prototypes/clackymaze/ClackyMaze/button.lua", "/C/Work/Prototypes/clackymaze/ClackyMaze/lib/colors.lua", "/C/Work/Prototypes/clackymaze/ClackyMaze/audio.lua", "/C/Work/Prototypes/GlowGridDisco/dev/app/audio.lua", "/C/Work/Prototypes/GlowGridDisco/dev/app/debug.lua", "/C/Work/Prototypes/clackymaze/ClackyMaze/scene/game-scene.lua", "/C/Work/Prototypes/GlowGridDisco/dev/main.lua", "/C/Work/Projects/zutgames-com/html/index.php", "/C/Work/Projects/zutgames-com/html/footer.php", "/C/Work/Projects/zutgames-com/html/css/zut.css", "/C/Work/Projects/zutgames-com/html/header.php", "/C/Work/Projects/zutgames-com/html/index_hue", "/C/Work/Projects/zutgames-com/html/presskit/i love hue/data.xml", "/C/Work/Projects/zutgames-com/html/presskit/sheet.php", "/C/Work/Projects/zutgames-com/html/presskit/style.css", "/C/Work/Projects/zutgames-com/html/presskit/index.php", "/C/Work/Projects/zutgames-com/html/i-love-hue.php", "/C/Work/Projects/zutgames-com/html/jobs.php", "/C/Work/Projects/zutgames-com/html/glowgrid.php", "/C/Work/Projects/zutgames-com/html/presskit/glowgrid/data.xml", "/C/Work/Projects/zutgames-com/html/presskit/pushcat/data.xml", "/C/Work/Projects/zutgames-com/html/presskit/data.xml", "/D/Projects/zutgames.com/site/html/index.php", "/D/Projects/zutgames.com/site/html/footer.php", "/D/Projects/zutgames.com/site/html/presskit/sheet.php", "/D/Projects/zutgames.com/site/html/i-love-hue.php", "/D/Projects/zutgames.com/site/html/presskit/i love hue/data.xml", "/D/Projects/zutgames.com/site/html/presskit/data.xml", "/C/Work/Projects/I Love Hue/I Love Hue dev/art/tools/generator.jsx", "/D/Projects/i-love-hue/old-checkout/dev/app/env.lua", "/D/Projects/i-love-hue/old-checkout/dev/app/app.lua", "/C/Work/Projects/zutgames-com/site/.htaccess", "/D/Projects/i-love-hue/old-checkout/dev/services/iap.lua", "/D/Projects/i-love-hue/old-checkout/dev/app/launch.lua", "/D/Projects/i-love-hue/old-checkout/dev/app/shop.lua", "/D/Projects/i-love-hue/old-checkout/dev/main.lua", "/C/Work/Projects/zutgames-com/site/html/header.php", "/C/Work/Projects/zutgames-com/site/html/index.php", "/D/Builds/installer.bat", "/D/Projects/zutgames.com/www/header.php", "/C/tools/xampp/apache/conf/extra/httpd-vhosts.conf", "/D/Projects/zutgames.com/site/.htaccess", "/D/Projects/zutgames.com/site/index.html", "/D/Projects/zutgames.com/site/html/css/zut.css", "/D/Projects/zutgames.com/site/html/header.php", "/D/Projects/zutgames.com/site/html/pushcat.php", "/D/Projects/i-love-hue/_data.xml", "/D/Projects/i-love-hue/index.php", "/D/Projects/i-love-hue/data.xml", "/D/Projects/zutgames.com/www/index.php", "/D/Projects/zutgames.com/site/html/404.php", "/D/Projects/zutgames.com/index.php", "/C/tools/xampp/apache/conf/original/extra/httpd-vhosts.conf", "/C/tools/xampp/apache/conf/extra/httpd-xampp.conf", "/D/Projects/zutgames.com/www/css/zut.css", "/D/Projects/zutgames.com/www/css/logo-nav.css", "/D/Projects/i-love-hue/dev/pub/i-love-hue.com/www/Mobile_Detect.php", "/C/Users/Fritz/AppData/Local/Temp/Temp1_Mobile-Detect-2.8.22.zip/Mobile-Detect-2.8.22/Mobile_Detect.json", "/D/Projects/i-love-hue/dev/pub/i-love-hue.com/www/index.php", "/D/Projects/i-love-hue/dev/pub/i-love-hue.com/www/i-love-hue.css", "/D/Projects/i-love-hue/dev/art/tools/generator.jsx", "/D/Projects/i-love-hue/art/tools/generator.jsx" ], "find": { "height": 40.0 }, "find_in_files": { "height": 178.0, "where_history": [ "<open folders>", "C:\\Work\\Prototypes\\clackymaze\\ClackyMaze", "" ] }, "find_state": { "case_sensitive": false, "find_history": [ "attri", "%", "justUnlocked", "touch", "\n\t", "_touchArea", "touchX", "_didTouch", "cherry", "loop", "sounds.", "y=tile.y", "transition.", "shadowOffset", "shadow", "isVIs", "shadow.isV", "tile.xScale", "shadow", "session.level", "DEBUG_IGNORE_LOCKED", "init", "exit", "Session.level", "dump", "print", "log", "print", "icon", "lock", "connect", "userInit", "connect", "SUBMITsCORE", "scoreboard", "SCOREBOARD", "LEADERBOARD", "leader", "showLeader", "crown", "scoreGroup", "score", "lock", "jump", "lockedS", "col", "DEBUG_TEST_UNLOCK", "unlocked", "unlockedLevel", "ui", "element.ui", "isLocked", "jump", "transito", "transitionOut", "element.locked", "level.unlockedState", "createLevel", "transitionIn", "createLevel", "element.ui", "end", "didJustReachGate", "carousel.sele", "init", "rate", "justUnlocked", "gameOver", "cherry!", "isLocked", "select(", "gate", "icon", "frame", "cherry", "init", "restart", "Session.level", "_selected", "update", "end", "_selected=", "onSelect", "lockLabel", "getEle", "iconButtonScale", "gameOver", "scoreText.", "score", "isVi", "score", "play", "p0lay", "exit", "getCherry", "deletePr", "deletePR", "framesElapsed", "onframe", "restart", "frame", "isPla", "restart", "create", "resetCherry", "reset", "tilesTra", "cherry.x", "resetCHerr", "resetCher", "resetCherry", "restart", "playerSPrite=", "xScale", "playerSPrite.isV", "restart", "pulseCher", "resetCHerry", "resetLevel", "resetCh", "resetCHer", "tile.i", "0.8", "shuffle", "resetBoard", "generat", "init", "orient" ], "highlight": true, "in_selection": false, "preserve_case": false, "regex": false, "replace_history": [ "log", "element.unlockedState", "justUnlocked", "this.elements", "SMALL", "_selected", "closeBtn", "Config", "sheet", "sheetInfo", "Graphics.createImage", "Graphics.createImageRect", "_placementID", "tile.", "b", "#333", "Ubuntu", "Montserrat", "Rubik", "getWorksheetFeed", "cmsWorksheetFeed", "$setID", "rgb3", "rgb4", "rgb3", "rgb2", "rgb1", "width", "height", " || ", " && ", "var", "pinned", " && ", " || ", "var", ";", ")", "}", "if (p", "rgb", "rgb1", "Bus", "App.unit", "_didWatch", "dispatch", "_isRestoring", "iap" ], "reverse": false, "show_context": true, "use_buffer2": true, "whole_word": false, "wrap": true }, "groups": [ { "selected": 6, "sheets": [ { "buffer": 0, "file": "lib/bus.lua", "semi_transient": false, "settings": { "buffer_size": 3492, "regions": { }, "selection": [ [ 2245, 2245 ] ], "settings": { "syntax": "Packages/Lua/Lua.sublime-syntax", "tab_size": 4, "translate_tabs_to_spaces": true }, "translation.x": 0.0, "translation.y": 1152.0, "zoom_level": 1.0 }, "stack_index": 6, "type": "text" }, { "buffer": 1, "file": "scenes/game-scene.lua", "semi_transient": false, "settings": { "buffer_size": 1241, "regions": { }, "selection": [ [ 0, 0 ] ], "settings": { "syntax": "Packages/Lua/Lua.sublime-syntax" }, "translation.x": 0.0, "translation.y": 0.0, "zoom_level": 1.0 }, "stack_index": 4, "type": "text" }, { "buffer": 2, "file": "game/game.lua", "semi_transient": false, "settings": { "buffer_size": 15808, "regions": { }, "selection": [ [ 6478, 6478 ] ], "settings": { "syntax": "Packages/Lua/Lua.sublime-syntax", "translate_tabs_to_spaces": false }, "translation.x": 0.0, "translation.y": 5408.8, "zoom_level": 1.0 }, "stack_index": 3, "type": "text" }, { "buffer": 3, "file": "app/app.lua", "semi_transient": false, "settings": { "buffer_size": 5847, "regions": { }, "selection": [ [ 0, 5847 ] ], "settings": { "syntax": "Packages/Lua/Lua.sublime-syntax", "translate_tabs_to_spaces": false }, "translation.x": 0.0, "translation.y": 2815.2, "zoom_level": 1.0 }, "stack_index": 5, "type": "text" }, { "buffer": 4, "file": "scenes/select-scene.lua", "semi_transient": false, "settings": { "buffer_size": 9323, "regions": { }, "selection": [ [ 8727, 8727 ] ], "settings": { "syntax": "Packages/Lua/Lua.sublime-syntax", "translate_tabs_to_spaces": false }, "translation.x": 0.0, "translation.y": 6240.0, "zoom_level": 1.0 }, "stack_index": 2, "type": "text" }, { "buffer": 5, "semi_transient": false, "settings": { "buffer_size": 1495, "regions": { "match": { "flags": 112, "regions": [ [ 115, 127 ], [ 366, 378 ], [ 495, 507 ], [ 625, 637 ], [ 808, 813 ], [ 834, 839 ], [ 857, 862 ], [ 1006, 1011 ], [ 1372, 1377 ] ], "scope": "" } }, "selection": [ [ 814, 814 ] ], "settings": { "detect_indentation": false, "line_numbers": false, "output_tag": 2, "result_base_dir": "", "result_file_regex": "^([^ \t].*):$", "result_line_regex": "^ +([0-9]+):", "scroll_past_end": true, "syntax": "Packages/Default/Find Results.hidden-tmLanguage" }, "translation.x": 0.0, "translation.y": 425.6, "zoom_level": 1.0 }, "stack_index": 1, "type": "text" }, { "buffer": 6, "file": "services/attribution.lua", "semi_transient": false, "settings": { "buffer_size": 809, "regions": { }, "selection": [ [ 158, 158 ] ], "settings": { "syntax": "Packages/Lua/Lua.sublime-syntax", "translate_tabs_to_spaces": false }, "translation.x": 0.0, "translation.y": 0.0, "zoom_level": 1.0 }, "stack_index": 0, "type": "text" }, { "buffer": 7, "file": "build.settings", "semi_transient": false, "settings": { "buffer_size": 2943, "regions": { }, "selection": [ [ 2734, 2734 ] ], "settings": { "syntax": "Packages/Lua/Lua.sublime-syntax" }, "translation.x": 0.0, "translation.y": 1767.0, "zoom_level": 1.0 }, "stack_index": 7, "type": "text" } ] } ], "incremental_find": { "height": 27.0 }, "input": { "height": 68.0 }, "layout": { "cells": [ [ 0, 0, 1, 1 ] ], "cols": [ 0.0, 1.0 ], "rows": [ 0.0, 1.0 ] }, "menu_visible": true, "output.exec": { "height": 396.0 }, "output.find_results": { "height": 0.0 }, "pinned_build_system": "Packages/Python/Python.sublime-build", "project": "clackymaze.sublime-project", "replace": { "height": 50.0 }, "save_all_on_build": true, "select_file": { "height": 0.0, "last_filter": "", "selected_items": [ ], "width": 0.0 }, "select_project": { "height": 500.0, "last_filter": "", "selected_items": [ ], "width": 380.0 }, "select_symbol": { "height": 0.0, "last_filter": "", "selected_items": [ ], "width": 0.0 }, "selected_group": 0, "settings": { }, "show_minimap": true, "show_open_files": false, "show_tabs": true, "side_bar_visible": true, "side_bar_width": 381.0, "status_bar_visible": true, "template_settings": { } }
data\fetch.py
A Python script that is used to obtain the game's text strings.
index={} index['strings']='https://docs.google.com/spreadsheets/d/e/2PACX-1vR6-duGN9PFsVuvfPzD3maxf1ZvUbJr7LTp6_bT9PRcfAcrfNc-mNh-Aywpkhgca8ImeueqW37D2b_N/pub?gid=0&single=true&output=tsv' import urllib.request import csv import time from pprint import pprint def isNumber(s): try: float(s) return True except ValueError: return False def fetch(url): with urllib.request.urlopen(url) as response: r = response.read() u=r.decode('UTF-8') reader = csv.reader(u.split('\n'),delimiter='\t') index=0 data={} for row in reader: item={} if index==0: names=row else: for i in range(len(row)): name=names[i] if name[0:1]!='_' and len(row[i])>0: cell=row[i] if cell.lower()=='false': cell=False elif cell.lower()=='true': cell=True elif isNumber(cell): cell=int(cell) elif cell[0]=="$": cell=cell[1:] elif ',' in cell: vals=cell.split(',') cell=[x for x in vals if x!=''] item[name]=cell if len(row[0])>0: data[row[0]]=item index=index+1 return data data={} for key,url in index.items(): data[key]=fetch(url) print(key+" ok") time.sleep(1) import json j=json.dumps(data) j=j.replace('True','true') j=j.replace('False','false') print(j) with open('data.txt', 'w') as file: file.write(j)
References
Cleanup > Pages missing developer references
Cleanup > Pages missing publisher references
Games > Games by content > Games with hidden development-related text
Games > Games by developer > Games developed by Zut Games
Games > Games by platform > Android games
Games > Games by platform > IOS games
Games > Games by publisher > Games published by Zut Games
Games > Games by release date > Games released in 2018
Games > Games by release date > Games released in August
Games > Games by release date > Games released in August > Games released on August 21
Games > Games by release date > Games released in August > Games released on August 22