TUXDB - LINUX GAMING AGGREGATE
made by: NuSuey
NEWSFEED
GAMES
▪️CROWDFUNDING▪️COMMUNITY DEALS▪️STEAM DECK▪️CALENDAR
tuxdb.com logo
Support tuxDB on Patreon
Currently supported by 11 awesome people!

🌟 Special thanks to our amazing supporters:


✨ $10 Tier: [Geeks Love Detail]
🌈 $5 Tier: [Benedikt][David Martínez Martí]

Any feedback for tuxDB? Join us!

Screenshot 1
Fullscreen Screenshot 1
×
Screenshot 2
Fullscreen Screenshot 2
×
Screenshot 3
Fullscreen Screenshot 3
×
Screenshot 4
Fullscreen Screenshot 4
×
This little sandbox game generates gigabytes of procedural city, traffic and world around you as you move.
  • Use the in-game editor to define the rules for creating your terrain, grass, rocks, trees, city and traffic
  • Create your own unique look using the wide range of graphical settings from retro-pixelated to film-noir and more
  • Walk and fly around your creation
  • More features (and gameplay) coming soon...
Infinicity
Ben MorrisDeveloper
Ben MorrisPublisher
1970-01-01Release
🎹🖱️ Keyboard + Mouse
🕹️ Partial Controller Support
🎮 Full Controller Support
No user reviews (0 reviews)
Dev Blog: Tile caching

Tile Caching = 159x Faster City Streaming

Today I want to share a technical update rather than a visual one but its a huge boost for performance. My game uses procedural city tiles. Generating a full city tile costs around 1 millisecond. When the player is flying fast over the world, dozens of tiles may need to be created quickly, and that can become a bottleneck even when each tile is loaded in a background thread (actually as a tile load task serviced by a fixed sized pool of threads). So I implemented a tile caching system and the speedups are dramatic.

Benchmark Results

Heres how long each operation now takes:

  • Full city generation: 1.08 ms

    [/*]
  • Generate + save to cache (first time): 4.09 ms

    [/*]
  • Load from cache (disk hit): 6.79 s

    [/*]
  • Load tile already in memory: 6.8 ns

    [/*]

That means loading from cache is roughly 159x faster than generating a tile from scratch. Thats a huge performance win for streaming an open world.

[img src=\"https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/clans/44960045/735595175ef8e01fcc123de62a55cef06571d041.png\"][/img]

How the Cache Works

The core idea is simple:

[olist]
  • Generate the tile once.

    [/*]
  • Serialize the result to disk.

    [/*]
  • Next time, load it instead of regenerating it.

    [/*][/olist]

    Some technical details:

    • I compute a BLAKE3 hash of the map file to detect changes. If the map changes, the cache automatically invalidates.

      [/*]
    • Each tile uses a filename based on its coordinates, e.g. 5_7.bin.

      [/*]
    • Tile requests return a std::shared_future, so only the first thread generates the tile others wait for the same result.

      [/*]
    • The system is fully thread-safe and works perfectly with my streaming worker threads.

      [/*]

    Where the Cache Lives

    The game ships on Steam for Windows and Linux, including AppImage builds. AppImages are mounted as read-only, so the cache must go into the players writable directories, not beside the game files. Heres where tile cache files are stored:

    • Windows: %LOCALAPPDATA%/Infinicity/TileCache

      [/*]
    • Linux / Steam Deck: $XDG_CACHE_HOME/Infinicity/TileCache or ~/.cache/Infinicity/TileCache

      [/*]

    This keeps everything clean, safe, and consistent with OS conventions.\n

    What I (re)Learned

    • Caching procedural data is a massive win for performance.

      [/*]
    • Hashing the map file is a clean solution to cache invalidation.

      [/*]
    • Don\'t write to the game\'s install directory especially with AppImages.

      [/*]
    • std::shared_future is perfect for eliminating redundant work across threads.

      [/*]
    • strace is an excellent debugging tool when you want to see where your game is trying to write files.

      [/*]

    Tile caching has completely transformed streaming performance in the world and its exciting to see how much smoother everything feels now. More updates soon!

  • [ 2025-12-09 19:01:58 CET ] [Original Post]

    Minimum Setup

    • OS: Linux + SteamOS
    • Processor: Requires a 64-bit processor and operating system
    • Graphics: OpenGL 3.3

    Recommended Setup

    • OS: Linux + SteamOS
    • Processor: Requires a 64-bit processor and operating system
    • Graphics: OpenGL 3.3
    ⭐ SPOTLIGHT DEAL ⭐
    Moonlighter 2: The Endless Vault
    Moonlighter 2: The Endless Vault
    $23.89
    -20% OFF
    Fanatical
    GAMEBILLET

    [ 6422 ]

    7.07$ (12%)
    49.77$ (17%)
    33.17$ (17%)
    16.57$ (17%)
    41.47$ (17%)
    17.55$ (12%)
    16.79$ (16%)
    16.96$ (15%)
    8.39$ (16%)
    24.87$ (17%)
    12.42$ (17%)
    16.57$ (17%)
    17.48$ (13%)
    49.77$ (17%)
    8.39$ (16%)
    13.34$ (11%)
    16.79$ (16%)
    12.42$ (17%)
    16.57$ (17%)
    16.79$ (16%)
    24.87$ (17%)
    19.59$ (22%)
    41.47$ (17%)
    24.87$ (17%)
    53.35$ (11%)
    24.99$ (50%)
    33.17$ (17%)
    4.68$ (77%)
    16.57$ (17%)
    15.11$ (24%)
    FANATICAL

    [ 5888 ]

    14.99$ (25%)
    19.67$ (11%)
    67.99$ (15%)
    82.49$ (25%)
    23.89$ (20%)
    8.99$ (10%)
    23.89$ (20%)
    33.99$ (15%)
    35.89$ (10%)
    33.99$ (15%)
    84.89$ (15%)
    33.99$ (15%)
    23.89$ (20%)
    58.09$ (17%)
    33.59$ (16%)
    43.99$ (12%)
    61.49$ (25%)
    59.49$ (15%)
    26.88$ (10%)
    22.39$ (10%)
    15.89$ (21%)
    76.49$ (15%)
    42.49$ (15%)
    57.39$ (18%)
    60.89$ (13%)
    61.59$ (12%)
    17.88$ (11%)
    70.39$ (12%)
    52.79$ (12%)
    23.89$ (20%)
    GAMERSGATE

    [ 1559 ]

    3.9$ (70%)
    1.19$ (83%)
    2.25$ (85%)
    2.1$ (70%)
    9.9$ (67%)
    0.51$ (83%)
    2.1$ (70%)
    0.85$ (91%)
    4.0$ (80%)
    3.4$ (91%)
    8.93$ (70%)
    3.4$ (91%)
    2.55$ (91%)
    20.99$ (30%)
    2.1$ (70%)
    2.7$ (70%)
    1.75$ (75%)
    2.1$ (70%)
    1.28$ (91%)
    2.1$ (70%)
    2.1$ (70%)
    2.25$ (89%)
    0.5$ (90%)
    3.3$ (78%)
    20.0$ (60%)
    2.55$ (91%)
    2.1$ (70%)
    2.55$ (87%)
    2.5$ (90%)
    0.68$ (91%)
    MacGameStore

    [ 2356 ]

    21.99$ (27%)
    1.19$ (88%)
    1.24$ (75%)
    8.99$ (55%)
    2.98$ (80%)
    42.49$ (15%)
    2.48$ (75%)
    5.99$ (85%)
    1.10$ (84%)
    51.49$ (26%)
    2.49$ (75%)
    18.99$ (24%)
    8.99$ (10%)
    4.49$ (70%)
    73.99$ (8%)
    1.19$ (88%)
    3.49$ (91%)
    1.19$ (85%)
    1.99$ (80%)
    1.99$ (60%)
    2.49$ (75%)
    0.99$ (75%)
    2.54$ (87%)
    9.49$ (5%)
    1.42$ (93%)
    8.99$ (10%)
    1.28$ (87%)
    1.99$ (90%)
    1.19$ (87%)
    3.99$ (69%)
    INDIEGALA

    [ 546 ]

    1.69$ (90.0%)
    3.99$ (20.0%)
    0.49$ (75.0%)
    2.39$ (80.0%)
    2.49$ (50.0%)
    5.89$ (76.43%)
    1.49$ (75.0%)
    1.49$ (90.0%)
    1.99$ (90.0%)
    1.49$ (90.0%)
    1.29$ (90.0%)
    1.49$ (70.0%)
    1.19$ (90.0%)
    0.49$ (90.0%)
    1.49$ (90.0%)
    4.99$ (75.0%)
    1.49$ (85.0%)
    1.19$ (90.0%)
    6.24$ (75.0%)
    11.24$ (55.0%)
    3.49$ (75.0%)
    10.19$ (49.02%)
    3.99$ (90.0%)
    9.74$ (35.0%)
    1.49$ (90.0%)
    1.49$ (90.0%)
    0.99$ (90.0%)
    1.99$ (80.0%)
    6.24$ (75.0%)
    0.89$ (90.0%)

    FANATICAL BUNDLES

    Time left:

    356097 days, 11 hours, 14 minutes


    Time left:

    356097 days, 11 hours, 14 minutes


    Time left:

    1 days, 19 hours, 14 minutes


    Time left:

    29 days, 19 hours, 14 minutes


    Time left:

    32 days, 19 hours, 14 minutes


    Time left:

    33 days, 19 hours, 14 minutes


    Time left:

    55 days, 11 hours, 13 minutes


    GMG BUNDLES
    Indie Adventures

    Time left:

    7 days, 5 hours, 14 minutes


    HUMBLE BUNDLES

    Time left:

    2 days, 13 hours, 14 minutes


    Time left:

    8 days, 13 hours, 14 minutes


    Time left:

    9 days, 13 hours, 14 minutes


    Time left:

    14 days, 13 hours, 14 minutes


    Time left:

    16 days, 13 hours, 14 minutes


    Time left:

    20 days, 13 hours, 14 minutes


    INDIEGALA BUNDLES
    Huge Pixel 2 Bundle

    Time left:

    0 days, 2 hours, 15 minutes

    Adult Positions 2 Bundle

    Time left:

    4 days, 19 hours, 15 minutes

    Holiday Tales Bundle

    Time left:

    6 days, 18 hours, 15 minutes

    Psycho Gates Bundle

    Time left:

    12 days, 1 hours, 25 minutes

    Indie Corp Bundle

    Time left:

    20 days, 21 hours, 44 minutes

    by buying games/dlcs from affiliate links you are supporting tuxDB
    🔴 LIVE