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

🌟 Special thanks to our amazing supporters:


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


Creatura, Up To Ludicrous Speed

Warning: Below text contains technicalities. If You are just interested in playing Creatura - TL;DR: Update is coming, performance will be better, unique order of words and numbers achieved this. Thanks for the attention, now for the actual post:
When my work on Creatura started in 2016, the priority was to keep the game performance high. In a game where selecting plants is part of gameplay, the amount of plants that can be displayed at once becomes bound to difficulty level, giving advantage to people with rigs powerful enough to render millions of nodes without the simulation slowing down to keep the frame rate stable. Over the course of 5 years between the prototype and 1.0 release, computer hardware got more powerful, the game gained many more features, and became more complex visually. While the performance would be considered good enough by ~2015 standards, now with screens capable of 300FPS+, Nintendo Switch release coming soon, and the GPUs limited availability, 60FPS is just not good enough anymore. An optimization was necessary.

Any framerate improvement in an already developed game is a success.


A 20%-40% gain can be considered a huge optimization. Anything beyond requires a radical new approach to code functionality, since no simple solutions (like just reducing the number of operations per frame) can itself help that much. For computationally heavy tasks there is always the premise of multithreading, but in the case of Creatura, most of the weight was put on the GPU, required to render thousands of different plants, composed of thousands of unique nodes in various states of growth. One of the solutions was to reduce the draw calls count. Instead of drawing each leaf and stalk, one after another, the game combined all of the growing and grown nodes from a plant into a single mesh, in theory cutting the need for a graphics card to just perform one draw call per each plant in the tank. However, this solution had many issues. Still growing nodes couldn't be efficiently combined, to avoid further increasing number of draw calls material variations in a single plant were considerably limited, and the whole system was incredibly complex, with a constant stream of meshes coming in and out of combine queue, and GPU memory was bogged down with moving around millions of vertices every frame. Countless hours went into creating and maintaining it, even more were required to fix the problems it caused, and frankly - it simply wasn't good enough.

Everyone likes grass.


After the implementation of grass bags, the statistics were obvious - players were attempting to cover the ground with grass or algae, with thousands of simple, but still draw-call consuming plants. With some micro-optimizations, code reduction, or straight trickery, I could probably find an additional 10 to 15 more FPS, but that's just not much room for growth (literally). Even on fairly beefy computers, the built-in benchmark would bog down to around 80FPS, with many milliseconds short to achieve modern refresh rates. My initial approach to optimization was correct, reducing the number of draw calls was an answer to high draw calls count, but the original "fix" was too naive, and wasn't scaling up. I could however, stop batching plants, and start to batch unique node types together. In Creatura, many plant nodes share the same mesh. The textures are different, giving them unique shapes and aesthetics, but the vertices positions are uniform. This allows mesh batching. While there are some variations (hardwood leafs have different shape to softwood, stalks use unique meshes, etc) the total number of unique plant meshes in game is still under 100, much below the number of plants an involved player can grow at once. Even in most complex vivariums, consisting of tens of thousands of plants, the performance should still be comparable to a tank with less than 100 plants. And that would be a massive improvement.

No solution is perfect.


By skipping the rendering pipeline built into the engine and tapping directly into the GPU API, manual memory and render management is required. That creates overhead, and doesnt work on the very old machines without compute buffers support. Performance-wise however, the benchmarks seem to show improvement in order of 2x to 3x. This isn't the gain of a couple frames per second here and there - the frame rate realistically has at least doubled. There are still quirks to iron out, and undoubtedly this solution will introduce many bugs to fix, but it seems to be more than worth it. Vivariums consisting of many more plants can radically change the gameplay experience, and allow new features to get implemented. Lower-end machine should be now able to play in comfortable, constant high frame rates, and the more powerful rigs will be able to run Creatura much smoother, with less energy consumed, perfect to let it run in a window on a side. Creatura 1.1 should be available for testers on the nightly branch soon, and the update will get hopefully released early next month. Thanks, and hope Youll have soon a lot of fun with much more filled tanks.


[ 2021-06-22 20:48:51 CET ] [ Original post ]



Creatura
Koksny.com
  • Developer

  • Koksny.com
  • Publisher

  • 2018-10-29
  • Release

  • Indie Strategy Simulation Singleplayer EA
  • Tags

  • Game News Posts 124  
    🎹🖱️Keyboard + Mouse
  • Controls

  • Mixed

    (171 reviews)


  • Review Score

  • http://creaturathegame.com
  • Website

  • https://store.steampowered.com/app/781130 
  • Steam Store



  • Creatura Linux [491.65 M]

  • Public Linux depots

  • Seed, Breed, Create.

    From single cell organisms to complex ecosystems. Creatura is a virtual aquarium/terrarium tank to manage and simulate evolution from the very ground up. Every plant and animal inside takes part in natural and artificial selection, creating unlimited possibilities in simulating or recreating unique environments and pets, while being scientifically accurate with up-to-date biology research and helping to understand Charles Darwin and Gregor Mendel great discoveries with simple and captivating gameplay.

    At The Beginning, There Was (Mostly) Water.

    With empty vivarium tank at hand, start your journey to create thriving biomes using only time and artificial/natural selection mechanisms. Begin with single cyanobacteria to rush the botanical travel through algae, ferns, vines, grasses up to modern flowers and fruit trees, just by strategically taking plant cuttings, the same method agriculture used for last ten thousands of years. Every plant shape, colour and type is possibility, just wait for desired mutation to appear, take a clipping and plant it to create new and unique flora species.

    then, Wild Fish Appeared.

    While some multicellular organisms thrive using only sun for photosynthesis, other quickly evolve ability to cannibalize living entities for energy. Where access to sunlight is unlimited, the algae will conquer ecosystem, but in other places, deep below, within abundance of decomposing biological material, the mighty proto-sponge will start the process of eumetazoic evolution. With Your guidance and just right conditions, the sponge will slowly free itself from ground and start the millennial crawl towards complex lifeforms. From that point, it's up to You to create and grow environment providing food and safety for one specie, while simultaneously crafting hunting grounds for others.

    the Ape That Ate the Fish.

    After contemplating the cycle of life and beauty of it's creation - how about breaking it with science? Instead of waiting millennia for proper mutations randomly popping up, use in-game GCAT-DNA editor (based on state of art very real software used by modern scientists all over the world), sequence the genome, lookup DNA amino-acid groups on Wikipedia and play god... even more! While at it - claim the creations as new species, fill the animal and plant almanac with new entries, and create a unique life-tree. For the science! (And XP points, too)

    by the End, the Water Was Gone.

    Whether You are completionist looking to unlock every specie and genus in game, or just casual player growing his own perfect virtual tank, Creatura provides relaxing gameplay, thousands of customization options and pleasant environment with limitless progress conditions. Play with your animals, trade plant cuttings, share tank designs and enjoy the unique digital world You've created from scratch, in the ultimate evolution vivarium experience.

      [/h2][/h2][/h2][/h2]
    • - Procedurally generated plants allowing for billions of possible combinations.
    • - Create new flora species by taking cuttings of your plants and cultivating the mutations.
    • - Authentic GCAT-DNA editor based on software currently used by scientists
    • - Interfere with natural selection by modifying tank environment.
    • - Discover new species of animals and plants, be first to name them and share online.
    • - Design new, stunning vivaria, or recreate real-life aquariums and terrariums.
    • - Relaxing gameplay, incorporating botany and biology research into game.

    MINIMAL SETUP
    • OS: Any modern Linux
    • Processor: Intel Core. AMD PhenomMemory: 4 GB RAM
    • Memory: 4 GB RAM
    • Graphics: OpenGL 4.3 compatible
    • Storage: 500 MB available space
    RECOMMENDED SETUP
    • OS: Any modern Linux
    • Processor: Intel iX. AMD RyzenMemory: 8 GB RAM
    • Memory: 8 GB RAM
    • Graphics: Vulkan compatible
    • Storage: 1 GB available space
    GAMEBILLET

    [ 5951 ]

    6.37$ (79%)
    25.00$ (50%)
    21.24$ (15%)
    17.59$ (16%)
    11.99$ (40%)
    33.59$ (16%)
    6.79$ (15%)
    33.17$ (17%)
    3.90$ (80%)
    3.90$ (80%)
    4.44$ (56%)
    14.22$ (29%)
    16.97$ (15%)
    16.99$ (15%)
    26.33$ (47%)
    3.29$ (18%)
    40.99$ (18%)
    3.33$ (78%)
    4.24$ (-42%)
    8.88$ (78%)
    32.02$ (47%)
    7.35$ (8%)
    8.27$ (17%)
    1.15$ (81%)
    1.72$ (89%)
    9.19$ (8%)
    8.00$ (60%)
    25.95$ (13%)
    16.39$ (18%)
    16.79$ (16%)
    GAMERSGATE

    [ 3154 ]

    2.7$ (86%)
    0.94$ (81%)
    3.75$ (75%)
    1.13$ (92%)
    1.58$ (77%)
    10.8$ (82%)
    9.4$ (53%)
    1.28$ (87%)
    0.68$ (83%)
    1.31$ (81%)
    0.94$ (81%)
    1.05$ (85%)
    0.68$ (89%)
    0.6$ (92%)
    2.64$ (87%)
    9.49$ (50%)
    4.0$ (80%)
    4.0$ (80%)
    1.13$ (89%)
    9.0$ (70%)
    3.0$ (92%)
    5.0$ (75%)
    0.75$ (92%)
    0.38$ (92%)
    1.88$ (62%)
    7.5$ (81%)
    10.13$ (22%)
    4.5$ (62%)
    4.5$ (70%)
    1.5$ (81%)

    FANATICAL BUNDLES

    Time left:

    2 days, 12 hours, 42 minutes


    Time left:

    25 days, 12 hours, 42 minutes


    Time left:

    7 days, 12 hours, 42 minutes


    Time left:

    38 days, 12 hours, 42 minutes


    Time left:

    44 days, 12 hours, 42 minutes


    HUMBLE BUNDLES

    Time left:

    5 days, 6 hours, 42 minutes


    Time left:

    5 days, 6 hours, 42 minutes


    Time left:

    14 days, 6 hours, 42 minutes

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