This commit introduces a major architectural overhaul, migrating the data backend from a flat JSON file to a relational MySQL database. - Replaced multiple scraping scripts with a unified `main.py` that handles crawling, parsing, and database synchronization. - Introduced `mysql_helper.py` for robust database interaction with a connection pool. - Added `queries.sql` defining the new database schema for assets, categories, tags, and changelogs. - Removed all obsolete frontend code (v1, v2) and old scraping scripts. This change provides a more scalable and maintainable foundation for managing asset data.
1 line
25 KiB
JSON
1 line
25 KiB
JSON
[{'name': 'Mobile Controls', 'category': '2D', 'series': '', 'page_link': 'https://www.kenney.nl/assets/mobile-controls'}, {'name': 'City Kit (Industrial)', 'category': '3D', 'series': 'City', 'page_link': 'https://www.kenney.nl/assets/city-kit-industrial'}, {'name': 'New Platformer Pack', 'category': '2D', 'series': '', 'page_link': 'https://www.kenney.nl/assets/new-platformer-pack'}, {'name': 'Coaster Kit', 'category': '3D', 'series': '', 'page_link': 'https://www.kenney.nl/assets/coaster-kit'}, {'name': 'Minimap Pack', 'category': '2D', 'series': '', 'page_link': 'https://www.kenney.nl/assets/minimap-pack'}, {'name': 'Mini Market', 'category': '3D', 'series': 'Mini', 'page_link': 'https://www.kenney.nl/assets/mini-market'}, {'name': 'Toy Car Kit', 'category': '3D', 'series': '', 'page_link': 'https://www.kenney.nl/assets/toy-car-kit'}, {'name': 'UI Pack - Pixel Adventure', 'category': '2D', 'series': 'UI Pack', 'page_link': 'https://www.kenney.nl/assets/ui-pack-pixel-adventure'}, {'name': 'Prototype Kit', 'category': '3D', 'series': '', 'page_link': 'https://www.kenney.nl/assets/prototype-kit'}, {'name': 'UI Pack - Adventure', 'category': '2D', 'series': 'UI Pack', 'page_link': 'https://www.kenney.nl/assets/ui-pack-adventure'}, {'name': 'Pico-8 Platformer', 'category': '2D', 'series': 'Pico-8', 'page_link': 'https://www.kenney.nl/assets/pico-8-platformer'}, {'name': 'Train Kit', 'category': '3D', 'series': 'Transport', 'page_link': 'https://www.kenney.nl/assets/train-kit'}, {'name': 'Mini Characters 1', 'category': '3D', 'series': 'Mini', 'page_link': 'https://www.kenney.nl/assets/mini-characters-1'}, {'name': 'Cursor Pixel Pack', 'category': '2D', 'series': '', 'page_link': 'https://www.kenney.nl/assets/cursor-pixel-pack'}, {'name': 'Mini Arcade', 'category': '3D', 'series': 'Mini', 'page_link': 'https://www.kenney.nl/assets/mini-arcade'}, {'name': 'Building Kit', 'category': '3D', 'series': '', 'page_link': 'https://www.kenney.nl/assets/building-kit'}, {'name': 'Brick Kit', 'category': '3D', 'series': '', 'page_link': 'https://www.kenney.nl/assets/brick-kit'}, {'name': 'Cursor Pack', 'category': '2D', 'series': '', 'page_link': 'https://www.kenney.nl/assets/cursor-pack'}, {'name': 'Space Station Kit', 'category': '3D', 'series': '', 'page_link': 'https://www.kenney.nl/assets/space-station-kit'}, {'name': 'Googly Eyes', 'category': '2D', 'series': '', 'page_link': 'https://www.kenney.nl/assets/googly-eyes'}, {'name': 'Yellow Paint Pack', 'category': '2D', 'series': '', 'page_link': 'https://www.kenney.nl/assets/yellow-paint-pack'}, {'name': 'Input Prompts', 'category': '2D', 'series': 'Input Prompts', 'page_link': 'https://www.kenney.nl/assets/input-prompts'}, {'name': 'Mini Arena', 'category': '3D', 'series': 'Mini', 'page_link': 'https://www.kenney.nl/assets/mini-arena'}, {'name': 'Fantasy UI Borders', 'category': '2D', 'series': '', 'page_link': 'https://www.kenney.nl/assets/fantasy-ui-borders'}, {'name': 'Monochrome Pirates', 'category': '2D', 'series': 'Monochrome', 'page_link': 'https://www.kenney.nl/assets/monochrome-pirates'}, {'name': 'Shape Characters', 'category': '2D', 'series': '', 'page_link': 'https://www.kenney.nl/assets/shape-characters'}, {'name': 'Pixel Platformer Food Expansion', 'category': '2D', 'series': 'Pixel Platformer', 'page_link': 'https://www.kenney.nl/assets/pixel-platformer-food-expansion'}, {'name': 'Pico-8 City', 'category': '2D', 'series': 'Pico-8', 'page_link': 'https://www.kenney.nl/assets/pico-8-city'}, {'name': 'Mini Skate', 'category': '3D', 'series': 'Mini', 'page_link': 'https://www.kenney.nl/assets/mini-skate'}, {'name': 'Tiny Battle', 'category': '2D', 'series': 'Tiny', 'page_link': 'https://www.kenney.nl/assets/tiny-battle'}, {'name': 'Isometric Miniature Bases', 'category': '2D', 'series': 'Isometric Miniature', 'page_link': 'https://www.kenney.nl/assets/isometric-miniature-bases'}, {'name': 'Mini Dungeon', 'category': '3D', 'series': 'Mini', 'page_link': 'https://www.kenney.nl/assets/mini-dungeon'}, {'name': 'Tiny Ski', 'category': '2D', 'series': 'Tiny', 'page_link': 'https://www.kenney.nl/assets/tiny-ski'}, {'name': 'Conveyor Kit', 'category': '3D', 'series': '', 'page_link': 'https://www.kenney.nl/assets/conveyor-kit'}, {'name': 'Tiny Town', 'category': '2D', 'series': 'Tiny', 'page_link': 'https://www.kenney.nl/assets/tiny-town'}, {'name': 'Platformer Kit', 'category': '3D', 'series': '', 'page_link': 'https://www.kenney.nl/assets/platformer-kit'}, {'name': 'Minigolf Kit', 'category': '3D', 'series': '', 'page_link': 'https://www.kenney.nl/assets/minigolf-kit'}, {'name': 'Pattern Pack Pixel', 'category': 'Textures', 'series': 'Patterns', 'page_link': 'https://www.kenney.nl/assets/pattern-pack-pixel'}, {'name': 'Pixel Platformer Industrial Expansion', 'category': '2D', 'series': 'Pixel Platformer', 'page_link': 'https://www.kenney.nl/assets/pixel-platformer-industrial-expansion'}, {'name': 'Pattern Pack 2', 'category': 'Textures', 'series': 'Patterns', 'page_link': 'https://www.kenney.nl/assets/pattern-pack-2'}, {'name': 'Pixel Platformer Farm Expansion', 'category': '2D', 'series': 'Pixel Platformer', 'page_link': 'https://www.kenney.nl/assets/pixel-platformer-farm-expansion'}, {'name': 'Animated Characters 3', 'category': '3D', 'series': 'Animated Characters', 'page_link': 'https://www.kenney.nl/assets/animated-characters-3'}, {'name': 'Sketch Desert', 'category': '2D', 'series': 'Sketch', 'page_link': 'https://www.kenney.nl/assets/sketch-desert'}, {'name': '1-Bit Input Prompts Pixel 16×', 'category': '2D', 'series': 'Input Prompts', 'page_link': 'https://www.kenney.nl/assets/1-bit-input-prompts-pixel-16'}, {'name': 'Marble Kit', 'category': '3D', 'series': '', 'page_link': 'https://www.kenney.nl/assets/marble-kit'}, {'name': 'Planets', 'category': '2D', 'series': '', 'page_link': 'https://www.kenney.nl/assets/planets'}, {'name': 'Car Kit', 'category': '3D', 'series': 'Transport', 'page_link': 'https://www.kenney.nl/assets/car-kit'}, {'name': 'Block Pack', 'category': '2D', 'series': '', 'page_link': 'https://www.kenney.nl/assets/block-pack'}, {'name': 'Tiny Dungeon', 'category': '2D', 'series': 'Tiny', 'page_link': 'https://www.kenney.nl/assets/tiny-dungeon'}, {'name': 'Graveyard Kit', 'category': '3D', 'series': '', 'page_link': 'https://www.kenney.nl/assets/graveyard-kit'}, {'name': 'Fantasy Town Kit', 'category': '3D', 'series': '', 'page_link': 'https://www.kenney.nl/assets/fantasy-town-kit'}, {'name': 'Food Kit', 'category': '3D', 'series': '', 'page_link': 'https://www.kenney.nl/assets/food-kit'}, {'name': 'Blaster Kit', 'category': '3D', 'series': '', 'page_link': 'https://www.kenney.nl/assets/blaster-kit'}, {'name': 'Survival Kit', 'category': '3D', 'series': '', 'page_link': 'https://www.kenney.nl/assets/survival-kit'}, {'name': 'Sketch Town Expansion', 'category': '2D', 'series': 'Sketch', 'page_link': 'https://www.kenney.nl/assets/sketch-town-expansion'}, {'name': 'Splat Pack', 'category': '2D', 'series': '', 'page_link': 'https://www.kenney.nl/assets/splat-pack'}, {'name': 'Scribble Dungeons', 'category': '2D', 'series': 'Scribble', 'page_link': 'https://www.kenney.nl/assets/scribble-dungeons'}, {'name': 'Board Game Info', 'category': '2D', 'series': 'Board Games', 'page_link': 'https://www.kenney.nl/assets/board-game-info'}, {'name': 'Monster Builder Pack', 'category': '2D', 'series': '', 'page_link': 'https://www.kenney.nl/assets/monster-builder-pack'}, {'name': 'Board Game Icons', 'category': '2D', 'series': 'Board Games', 'page_link': 'https://www.kenney.nl/assets/board-game-icons'}, {'name': 'Pixel Platformer Blocks', 'category': '2D', 'series': 'Pixel Platformer', 'page_link': 'https://www.kenney.nl/assets/pixel-platformer-blocks'}, {'name': '1-Bit Pack', 'category': '2D', 'series': '', 'page_link': 'https://www.kenney.nl/assets/1-bit-pack'}, {'name': '1-Bit Platformer Pack', 'category': '2D', 'series': '', 'page_link': 'https://www.kenney.nl/assets/1-bit-platformer-pack'}, {'name': 'Micro Roguelike', 'category': '2D', 'series': '', 'page_link': 'https://www.kenney.nl/assets/micro-roguelike'}, {'name': 'Monochrome RPG', 'category': '2D', 'series': 'Monochrome', 'page_link': 'https://www.kenney.nl/assets/monochrome-rpg'}, {'name': 'Pixel Shmup', 'category': '2D', 'series': '', 'page_link': 'https://www.kenney.nl/assets/pixel-shmup'}, {'name': 'Pattern Pack', 'category': 'Textures', 'series': 'Patterns', 'page_link': 'https://www.kenney.nl/assets/pattern-pack'}, {'name': 'City Kit (Roads)', 'category': '3D', 'series': 'City', 'page_link': 'https://www.kenney.nl/assets/city-kit-roads'}, {'name': 'City Kit (Commercial)', 'category': '3D', 'series': 'City', 'page_link': 'https://www.kenney.nl/assets/city-kit-commercial'}, {'name': 'Input Prompts Pixel 16×', 'category': '2D', 'series': 'Input Prompts', 'page_link': 'https://www.kenney.nl/assets/input-prompts-pixel-16'}, {'name': 'Pixel Line Platformer', 'category': '2D', 'series': '', 'page_link': 'https://www.kenney.nl/assets/pixel-line-platformer'}, {'name': 'Retro Medieval Kit', 'category': '3D', 'series': 'Retro', 'page_link': 'https://www.kenney.nl/assets/retro-medieval-kit'}, {'name': 'Pixel Platformer', 'category': '2D', 'series': 'Pixel Platformer', 'page_link': 'https://www.kenney.nl/assets/pixel-platformer'}, {'name': 'Sketch Town', 'category': '2D', 'series': 'Sketch', 'page_link': 'https://www.kenney.nl/assets/sketch-town'}, {'name': 'Retro Urban Kit', 'category': '3D', 'series': 'Retro', 'page_link': 'https://www.kenney.nl/assets/retro-urban-kit'}, {'name': 'Simple Space', 'category': '2D', 'series': '', 'page_link': 'https://www.kenney.nl/assets/simple-space'}, {'name': 'Rolling Ball Assets', 'category': '2D', 'series': '', 'page_link': 'https://www.kenney.nl/assets/rolling-ball-assets'}, {'name': 'City Kit (Suburban)', 'category': '3D', 'series': 'City', 'page_link': 'https://www.kenney.nl/assets/city-kit-suburban'}, {'name': 'Playing Cards Pack', 'category': '2D', 'series': 'Board Games', 'page_link': 'https://www.kenney.nl/assets/playing-cards-pack'}, {'name': 'Sci-fi Sounds', 'category': 'Audio', 'series': '', 'page_link': 'https://www.kenney.nl/assets/sci-fi-sounds'}, {'name': 'Holiday Kit', 'category': '3D', 'series': '', 'page_link': 'https://www.kenney.nl/assets/holiday-kit'}, {'name': 'Space Kit', 'category': '3D', 'series': '', 'page_link': 'https://www.kenney.nl/assets/space-kit'}, {'name': 'Cartography Pack', 'category': '2D', 'series': '', 'page_link': 'https://www.kenney.nl/assets/cartography-pack'}, {'name': 'Hexagon Kit', 'category': '3D', 'series': '', 'page_link': 'https://www.kenney.nl/assets/hexagon-kit'}, {'name': 'Nature Kit', 'category': '3D', 'series': '', 'page_link': 'https://www.kenney.nl/assets/nature-kit'}, {'name': 'Prototype Textures', 'category': 'Textures', 'series': '', 'page_link': 'https://www.kenney.nl/assets/prototype-textures'}, {'name': 'Scribble Platformer', 'category': '2D', 'series': 'Scribble', 'page_link': 'https://www.kenney.nl/assets/scribble-platformer'}, {'name': 'Interface Sounds', 'category': 'Audio', 'series': '', 'page_link': 'https://www.kenney.nl/assets/interface-sounds'}, {'name': 'Foliage Sprites', 'category': '2D', 'series': '', 'page_link': 'https://www.kenney.nl/assets/foliage-sprites'}, {'name': 'Animated Characters 2', 'category': '3D', 'series': 'Animated Characters', 'page_link': 'https://www.kenney.nl/assets/animated-characters-2'}, {'name': 'Impact Sounds', 'category': 'Audio', 'series': '', 'page_link': 'https://www.kenney.nl/assets/impact-sounds'}, {'name': 'Road Textures', 'category': 'Textures', 'series': '', 'page_link': 'https://www.kenney.nl/assets/road-textures'}, {'name': 'Animated Characters 1', 'category': '3D', 'series': 'Animated Characters', 'page_link': 'https://www.kenney.nl/assets/animated-characters-1'}, {'name': 'Toon Characters 1', 'category': '2D', 'series': '', 'page_link': 'https://www.kenney.nl/assets/toon-characters-1'}, {'name': 'Tower Defense Kit', 'category': '3D', 'series': '', 'page_link': 'https://www.kenney.nl/assets/tower-defense-kit'}, {'name': 'Pixel Vehicle Pack', 'category': '2D', 'series': '', 'page_link': 'https://www.kenney.nl/assets/pixel-vehicle-pack'}, {'name': 'Background Elements Redux', 'category': '2D', 'series': '', 'page_link': 'https://www.kenney.nl/assets/background-elements-redux'}, {'name': 'Isometric Miniature Farm', 'category': '2D', 'series': 'Isometric Miniature', 'page_link': 'https://www.kenney.nl/assets/isometric-miniature-farm'}, {'name': 'Isometric Miniature Dungeon', 'category': '2D', 'series': 'Isometric Miniature', 'page_link': 'https://www.kenney.nl/assets/isometric-miniature-dungeon'}, {'name': 'Isometric Miniature Library', 'category': '2D', 'series': 'Isometric Miniature', 'page_link': 'https://www.kenney.nl/assets/isometric-miniature-library'}, {'name': 'Isometric Miniature Prototype', 'category': '2D', 'series': 'Isometric Miniature', 'page_link': 'https://www.kenney.nl/assets/isometric-miniature-prototype'}, {'name': 'RPG Urban Pack', 'category': '2D', 'series': '', 'page_link': 'https://www.kenney.nl/assets/rpg-urban-pack'}, {'name': 'Racing Kit', 'category': '3D', 'series': '', 'page_link': 'https://www.kenney.nl/assets/racing-kit'}, {'name': 'Furniture Kit', 'category': '3D', 'series': '', 'page_link': 'https://www.kenney.nl/assets/furniture-kit'}, {'name': 'Pirate Kit', 'category': '3D', 'series': '', 'page_link': 'https://www.kenney.nl/assets/pirate-kit'}, {'name': 'Emotes Pack', 'category': '2D', 'series': '', 'page_link': 'https://www.kenney.nl/assets/emotes-pack'}, {'name': 'Particle Pack', 'category': '2D', 'series': '', 'page_link': 'https://www.kenney.nl/assets/particle-pack'}, {'name': 'Simplified Platformer Pack', 'category': '2D', 'series': '', 'page_link': 'https://www.kenney.nl/assets/simplified-platformer-pack'}, {'name': 'Ranks Pack', 'category': '2D', 'series': '', 'page_link': 'https://www.kenney.nl/assets/ranks-pack'}, {'name': 'Crosshair Pack', 'category': '2D', 'series': '', 'page_link': 'https://www.kenney.nl/assets/crosshair-pack'}, {'name': 'Animal Pack Redux', 'category': '2D', 'series': '', 'page_link': 'https://www.kenney.nl/assets/animal-pack-redux'}, {'name': 'Fish Pack', 'category': '2D', 'series': '', 'page_link': 'https://www.kenney.nl/assets/fish-pack'}, {'name': 'Top-down Tanks Redux', 'category': '2D', 'series': '', 'page_link': 'https://www.kenney.nl/assets/top-down-tanks-redux'}, {'name': 'Voiceover Pack (Fighter)', 'category': 'Audio', 'series': 'Voiceover', 'page_link': 'https://www.kenney.nl/assets/voiceover-pack-fighter'}, {'name': 'Platformer Pack Industrial', 'category': '2D', 'series': 'Platformer Pack', 'page_link': 'https://www.kenney.nl/assets/platformer-pack-industrial'}, {'name': 'Castle Kit', 'category': '3D', 'series': '', 'page_link': 'https://www.kenney.nl/assets/castle-kit'}, {'name': 'Sports Pack', 'category': '2D', 'series': '', 'page_link': 'https://www.kenney.nl/assets/sports-pack'}, {'name': 'Sokoban', 'category': '2D', 'series': '', 'page_link': 'https://www.kenney.nl/assets/sokoban'}, {'name': 'Pirate Pack', 'category': '2D', 'series': '', 'page_link': 'https://www.kenney.nl/assets/pirate-pack'}, {'name': 'Tanks', 'category': '2D', 'series': '', 'page_link': 'https://www.kenney.nl/assets/tanks'}, {'name': 'Platformer Characters', 'category': '2D', 'series': '', 'page_link': 'https://www.kenney.nl/assets/platformer-characters'}, {'name': 'Holiday Pack 2016', 'category': '2D', 'series': '', 'page_link': 'https://www.kenney.nl/assets/holiday-pack-2016'}, {'name': 'Sci-Fi RTS', 'category': '2D', 'series': 'RTS', 'page_link': 'https://www.kenney.nl/assets/sci-fi-rts'}, {'name': 'Foliage Pack', 'category': '2D', 'series': '', 'page_link': 'https://www.kenney.nl/assets/foliage-pack'}, {'name': 'Space Shooter Extension', 'category': '2D', 'series': '', 'page_link': 'https://www.kenney.nl/assets/space-shooter-extension'}, {'name': 'Medieval RTS', 'category': '2D', 'series': 'RTS', 'page_link': 'https://www.kenney.nl/assets/medieval-rts'}, {'name': 'Platformer Pack Medieval', 'category': '2D', 'series': 'Platformer Pack', 'page_link': 'https://www.kenney.nl/assets/platformer-pack-medieval'}, {'name': 'Tower Defense (Top-Down)', 'category': '2D', 'series': '', 'page_link': 'https://www.kenney.nl/assets/tower-defense-top-down'}, {'name': 'Generic Items', 'category': '2D', 'series': '', 'page_link': 'https://www.kenney.nl/assets/generic-items'}, {'name': 'Map Pack', 'category': '2D', 'series': '', 'page_link': 'https://www.kenney.nl/assets/map-pack'}, {'name': 'Watercraft Kit', 'category': '3D', 'series': 'Transport', 'page_link': 'https://www.kenney.nl/assets/watercraft-kit'}, {'name': 'Modular Buildings', 'category': '3D', 'series': '', 'page_link': 'https://www.kenney.nl/assets/modular-buildings'}, {'name': 'Rune Pack', 'category': '2D', 'series': '', 'page_link': 'https://www.kenney.nl/assets/rune-pack'}, {'name': 'Blocky Characters', 'category': '3D', 'series': '', 'page_link': 'https://www.kenney.nl/assets/blocky-characters'}, {'name': 'Abstract Platformer', 'category': '2D', 'series': '', 'page_link': 'https://www.kenney.nl/assets/abstract-platformer'}, {'name': 'Isometric Blocks', 'category': '2D', 'series': '', 'page_link': 'https://www.kenney.nl/assets/isometric-blocks'}, {'name': 'Top-down Shooter', 'category': '2D', 'series': '', 'page_link': 'https://www.kenney.nl/assets/top-down-shooter'}, {'name': 'Hexagon Pack', 'category': '2D', 'series': '', 'page_link': 'https://www.kenney.nl/assets/hexagon-pack'}, {'name': 'Roguelike Modern City', 'category': '2D', 'series': '', 'page_link': 'https://www.kenney.nl/assets/roguelike-modern-city'}, {'name': '3D Road Tiles', 'category': '3D', 'series': '', 'page_link': 'https://www.kenney.nl/assets/3d-road-tiles'}, {'name': 'Voiceover Pack', 'category': 'Audio', 'series': 'Voiceover', 'page_link': 'https://www.kenney.nl/assets/voiceover-pack'}, {'name': 'Jumper Pack', 'category': '2D', 'series': '', 'page_link': 'https://www.kenney.nl/assets/jumper-pack'}, {'name': 'Shooting Gallery', 'category': '2D', 'series': '', 'page_link': 'https://www.kenney.nl/assets/shooting-gallery'}, {'name': 'Racing Pack', 'category': '2D', 'series': '', 'page_link': 'https://www.kenney.nl/assets/racing-pack'}, {'name': 'Voxel Pack', 'category': '2D', 'series': '', 'page_link': 'https://www.kenney.nl/assets/voxel-pack'}, {'name': 'Roguelike Caves & Dungeons', 'category': '2D', 'series': '', 'page_link': 'https://www.kenney.nl/assets/roguelike-caves-dungeons'}, {'name': 'Roguelike Indoors', 'category': '2D', 'series': '', 'page_link': 'https://www.kenney.nl/assets/roguelike-indoors'}, {'name': 'Roguelike Characters', 'category': '2D', 'series': '', 'page_link': 'https://www.kenney.nl/assets/roguelike-characters'}, {'name': 'Brick Pack', 'category': '2D', 'series': '', 'page_link': 'https://www.kenney.nl/assets/brick-pack'}, {'name': 'Alien UFO Pack', 'category': '2D', 'series': '', 'page_link': 'https://www.kenney.nl/assets/alien-ufo-pack'}, {'name': 'Puzzle Pack 2', 'category': '2D', 'series': '', 'page_link': 'https://www.kenney.nl/assets/puzzle-pack-2'}, {'name': 'Robot Pack', 'category': '2D', 'series': '', 'page_link': 'https://www.kenney.nl/assets/robot-pack'}, {'name': 'Pixel UI Pack', 'category': '2D', 'series': '', 'page_link': 'https://www.kenney.nl/assets/pixel-ui-pack'}, {'name': 'Platformer Pack Redux', 'category': '2D', 'series': 'Platformer Pack', 'page_link': 'https://www.kenney.nl/assets/platformer-pack-redux'}, {'name': 'Roguelike/RPG pack', 'category': '2D', 'series': '', 'page_link': 'https://www.kenney.nl/assets/roguelike-rpg-pack'}, {'name': 'Animal Pack', 'category': '2D', 'series': '', 'page_link': 'https://www.kenney.nl/assets/animal-pack'}, {'name': 'Background Elements', 'category': '2D', 'series': '', 'page_link': 'https://www.kenney.nl/assets/background-elements'}, {'name': 'Letter Tiles', 'category': '2D', 'series': '', 'page_link': 'https://www.kenney.nl/assets/letter-tiles'}, {'name': 'Tower Defense', 'category': '2D', 'series': '', 'page_link': 'https://www.kenney.nl/assets/tower-defense'}, {'name': 'Isometric Vehicles #1', 'category': '2D', 'series': '', 'page_link': 'https://www.kenney.nl/assets/isometric-vehicles-1'}, {'name': 'Isometric Buildings #1', 'category': '2D', 'series': '', 'page_link': 'https://www.kenney.nl/assets/isometric-buildings-1'}, {'name': 'Isometric City', 'category': '2D', 'series': '', 'page_link': 'https://www.kenney.nl/assets/isometric-city'}, {'name': 'Isometric Landscape', 'category': '2D', 'series': '', 'page_link': 'https://www.kenney.nl/assets/isometric-landscape'}, {'name': 'Game Icons (Expansion)', 'category': '2D', 'series': '', 'page_link': 'https://www.kenney.nl/assets/game-icons-expansion'}, {'name': 'Game Icons', 'category': '2D', 'series': '', 'page_link': 'https://www.kenney.nl/assets/game-icons'}, {'name': 'Top-Down Tanks', 'category': '2D', 'series': '', 'page_link': 'https://www.kenney.nl/assets/top-down-tanks'}, {'name': 'Modular Characters', 'category': '2D', 'series': '', 'page_link': 'https://www.kenney.nl/assets/modular-characters'}, {'name': 'Smoke Particles', 'category': '2D', 'series': '', 'page_link': 'https://www.kenney.nl/assets/smoke-particles'}, {'name': 'Physics Assets', 'category': '2D', 'series': '', 'page_link': 'https://www.kenney.nl/assets/physics-assets'}, {'name': 'UI Pack - Sci-Fi', 'category': '2D', 'series': 'UI Pack', 'page_link': 'https://www.kenney.nl/assets/ui-pack-sci-fi'}, {'name': 'Construct Game Sources', 'category': 'Other', 'series': '', 'page_link': 'https://www.kenney.nl/assets/construct-game-sources'}, {'name': 'Board Game Pack', 'category': '2D', 'series': 'Board Games', 'page_link': 'https://www.kenney.nl/assets/boardgame-pack'}, {'name': 'Kenney Fonts', 'category': '2D', 'series': '', 'page_link': 'https://www.kenney.nl/assets/kenney-fonts'}, {'name': 'RPG Base', 'category': '2D', 'series': '', 'page_link': 'https://www.kenney.nl/assets/rpg-base'}, {'name': 'Medieval Town (Base)', 'category': '3D', 'series': '', 'page_link': 'https://www.kenney.nl/assets/medieval-town-base'}, {'name': 'UI Pack (RPG Expansion)', 'category': '2D', 'series': '', 'page_link': 'https://www.kenney.nl/assets/ui-pack-rpg-expansion'}, {'name': 'Platformer Art Extended Tileset', 'category': '2D', 'series': 'Platformer Pack', 'page_link': 'https://www.kenney.nl/assets/platformer-art-extended-tileset'}, {'name': 'Music Jingles', 'category': 'Audio', 'series': '', 'page_link': 'https://www.kenney.nl/assets/music-jingles'}, {'name': 'RPG Audio', 'category': 'Audio', 'series': '', 'page_link': 'https://www.kenney.nl/assets/rpg-audio'}, {'name': 'UI Pack', 'category': '2D', 'series': 'UI Pack', 'page_link': 'https://www.kenney.nl/assets/ui-pack'}, {'name': 'Tappy Plane', 'category': '2D', 'series': '', 'page_link': 'https://www.kenney.nl/assets/tappy-plane'}, {'name': 'Space Shooter Redux', 'category': '2D', 'series': '', 'page_link': 'https://www.kenney.nl/assets/space-shooter-redux'}, {'name': 'Platformer Art Pixel Redux', 'category': '2D', 'series': 'Platformer Pack', 'page_link': 'https://www.kenney.nl/assets/platformer-art-pixel-redux'}, {'name': 'Hexagon Buildings', 'category': '2D', 'series': '', 'page_link': 'https://www.kenney.nl/assets/hexagon-buildings'}, {'name': 'Platformer Art Deluxe', 'category': '2D', 'series': 'Platformer Pack', 'page_link': 'https://www.kenney.nl/assets/platformer-art-deluxe'}, {'name': 'Platformer Art Extended Enemies', 'category': '2D', 'series': 'Platformer Pack', 'page_link': 'https://www.kenney.nl/assets/platformer-art-extended-enemies'}, {'name': 'Hexagon Tiles', 'category': '2D', 'series': '', 'page_link': 'https://www.kenney.nl/assets/hexagon-tiles'}, {'name': 'Platformer Art Requests', 'category': '2D', 'series': 'Platformer Pack', 'page_link': 'https://www.kenney.nl/assets/platformer-art-requests'}, {'name': 'Platformer Art Buildings', 'category': '2D', 'series': 'Platformer Pack', 'page_link': 'https://www.kenney.nl/assets/platformer-art-buildings'}, {'name': 'Platformer Art Candy', 'category': '2D', 'series': 'Platformer Pack', 'page_link': 'https://www.kenney.nl/assets/platformer-art-candy'}, {'name': 'Platformer Art Winter', 'category': '2D', 'series': 'Platformer Pack', 'page_link': 'https://www.kenney.nl/assets/platformer-art-winter'}, {'name': 'Platformer Bricks', 'category': '2D', 'series': '', 'page_link': 'https://www.kenney.nl/assets/platformer-bricks'}, {'name': 'Platformer Art Mushrooms', 'category': '2D', 'series': 'Platformer Pack', 'page_link': 'https://www.kenney.nl/assets/platformer-art-mushrooms'}, {'name': 'Medals', 'category': '2D', 'series': '', 'page_link': 'https://www.kenney.nl/assets/medals'}, {'name': 'Isometric Roads Water', 'category': '2D', 'series': '', 'page_link': 'https://www.kenney.nl/assets/isometric-roads-water'}, {'name': 'Isometric Roads', 'category': '2D', 'series': '', 'page_link': 'https://www.kenney.nl/assets/isometric-roads'}, {'name': 'Puzzle Pack', 'category': '2D', 'series': '', 'page_link': 'https://www.kenney.nl/assets/puzzle-pack'}, {'name': 'Casino Audio', 'category': 'Audio', 'series': '', 'page_link': 'https://www.kenney.nl/assets/casino-audio'}, {'name': 'Digital Audio', 'category': 'Audio', 'series': '', 'page_link': 'https://www.kenney.nl/assets/digital-audio'}, {'name': 'UI Audio', 'category': 'Audio', 'series': '', 'page_link': 'https://www.kenney.nl/assets/ui-audio'}] |