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í]


Big performance increases (I/O) - Universe update dev dump 4 [30 OCT - 7 NOV]

Screenshot and station build by SkylordLuke. This is the fourth universe update dump copied from our official Discord server, in the channel #universe-update-dev-news-dump. To receive universe update news as it happens, join our Discord channel here: Join the StarMade Discord Server! Previous Discord dumps:

TL;DR Between the dates of the 30th of October - 7th of November, the following was done: Write/read overhaul, the goal being to eliminate lag caused by sector changes entirely. Sector changes would be hidden internally, and we'll switch to a more straightforward region system. This is split up into three main parts.
  • Decoupling of data accumulation and the actual writing. Essentially we no longer need to synchronise the writing thread during writing, making I/O operations not affect performance.
  • System to mark objects in a sector for writing, as well as a spawn/cleanup system for new sectors and for sectors no longer loaded.
  • Sector change performance tweaks to make switching sectors a seamless experience.
Further information: As part of the decoupling, we've switched block data to off-heap memory (unsafe native memory). This is a lot faster in pretty much all operations. Memory for block chunks is preallocated in one big chunk of memory. This is so the access speed is as fast as possible by reducing cache misses. It is then segmented for maximum optimisation for memory I/O. For writing, a second chunk is allocated as a buffer and memory can be copied over and queued up to be written. That copy operation is extremely fast, and that subsequent disk I/O operation would be done completely independently in another thread without the need to sync. The only thing we need to make sure of is that the object does not get unloaded while it's writing. This wouldn't cause a bad write (the data is already copied), but a load would read old data. The current system already has the same conditions, so nothing actually changes there. The drawbacks for this are that if something does go wrong, it goes spectacularly wrong. So far, there does not seem to be any issues since switching to unsafe native memory. Excitingly this same procedure can be used to speed up other aspects of the game, such as lighting calculations. And since the new planet generation is written in C++, we can potentially eliminate overhead of passing arrays back and forth, since we can just tell the C++ library the memory address to store a chunk in. What's coming up:
  • New universe creation details, creating an ultimate goal for the game, conquer the galaxy! This would be a separate gamemode from our standard sandbox experience. Compacting resources and gameplay into a central area.
  • Population system plans. A new "resource" to fuel and grow an empire, represented by physical NPCs!
  • New planet discussion and screenshots of some of the planet work we've currently got in development!
--- Below is the more detailed discord posts about development done --- October 30th likely starting on the write/read overhaul now. The goal is to eliminate lag etc from sector changes, making sector changes in general something that can be hidden internally, and instead use a more simple region system for the game (as was planned) This update would incorporate different things step one would be the decoupling of data accumulation and the actual writing. Doing that will enable putting removing any necessity to synchronize the writing thread during the actual writing, making I/O operations not affect the game at all. The second one is the system that marks objects of a sector for writing as well as the spawn/cleanup system for new sectors and for sectors no longer loaded The third one would be the actual sector change, making that as smooth as possible for the player. This is likely one of the biggest parts of the universe update. because once that is in, i'll be able to restructure the universe. After that I'll likely work on the new planets. I'm aiming to have both done so I can give a small snapshot this year. This snapshot version would be completely dysfunctional of course, but hopefully people could test out some of the new stuff under the hood. October 31st as part of the uncoupling, I'm switching block data to off heap memory. This is a ton faster in pretty much all operations. it's pretty unsafe in case of mistake. However it is worth it. So the plan is that memory for block-chunks is preallocated in one big chunk of memory which is then segmented for the maximum optimization for memory I/O. For writing, a second chunk is allocated as a buffer and memory can be copied over and queued up to be written. That copy operation is extremely fast, and that subsequent disk I/O operation would be done completely independenly in another thread without the need to synch (only thing is to make sure the object doesn't get unloaded while it's writing. not because that would cause a bad write since the data already copied, but because a load would read old data. However, the current system already has the same conditions anyways, so nothing really changes there) Happy Halloween! 1st of November Alright, chunk data is now running on unsafe native memory. So far there seems to be no issues. I added a manual range check just for debugging, which can be deactivated later for another little performance boost. It's now also possible to speed up some other aspects using the same tech (e.g. the lighting calculations) 4th of November Still in the middle of memory stuff. But this is the kind of stuff i love doing most in programming. 7th of November Ok. Got a nice manager going for the chunks stored in native memory. Memory will be reused as chunks get unloaded. Also protection against leaks my making sure that every chunk unregisters itself from that page. This is also one huge chunk of memory, which means that access speed is as fast as it can be, by reducing cache misses. Wouldn't get the same result with a heap array, since it is not guaranteed to be one continuous chunk of memory even. There is a flag for java to use big memory pages, which helps a little. This flag of course is only relevant for the heap. However, the chunks are now outside of the heap in spooky scary manually managed memory. Using this kind of memory completely bypasses all java heap functionality, including garbage collection. The advantage is of course a fastest possible access speed, the disadvantage is that IF something goes wrong, it goes wrong spectacularly. With raw data as blocks, the potential of complete meltdown is relatively simple, as long as you make sure you only address the memory you allocated. You could also store whole objects etc on there in which case any misstep would lead to catastrophe from random fields changing to complete object corruption. Another nice side effect is, that since the new planet generation is written in C++, we can potentially eliminate the overhead of passing arrays back and forth since we can just tell C++ library the memory address to store the chunk in.


[ 2019-11-30 13:30:47 CET ] [ Original post ]



StarMade
Schine, GmbH
  • Developer

  • Schine, GmbH
  • Publisher

  • 2014-12-04
  • Release

  • Action Indie Strategy RPG Adventure Simulation Singleplayer Multiplayer Coop EA
  • Tags

  • Game News Posts 115  
    🎹🖱️Keyboard + Mouse
    🕹️ Partial Controller Support
  • Controls

  • Mixed

    (2175 reviews)


  • Review Score

  • http://www.star-made.org
  • Website

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

  • The Game includes VR Support



    StarMade Launcher - Linux [2.38 M]StarMade Launcher v2 - Linux [239.03 M] [0 B]

  • Public Linux depots

  • A voxel-based 3D sandbox set in the never-ending darkness of space. Create your own ships, explore new galaxies, stars and planets. Discover and salvage space stations, fight against pirates or opposing factions in multiplayer. Equip your ships with completely customisable weapons and conquer the galaxy. Trade and make a fortune, mass produce materials in gigantic factories. Design your very own space station. Create warp gates and network the universe at your front door.

    The universe is a vast, mystical, beautiful, awe-inspiring place.... the universe is yours.

    Built for scalability to facilitate massive fully interactable objects, almost anything is possible. Gameplay elements have been skillfully constructed to bring the ultimate space sandbox experience.

    Dive into your own unique universe, and choose your path.

    Key Features:


    • Procedurally generated infinite universe, with quadrillions of galaxies - The universe is massive. It'd take approximately 10,000 years to cross from one end to the other! Singleplayer and Multiplayer worlds can be heavily customised with our extensive config options.
    • Developed for scalability- We have a broad range of graphical and performance options that cater to our low-end users as well as those with heavy rigs and servers.
    • Advanced Build Tools - Powerful and easy to use building tools, quickly design awesome ships, stations and bases. Including functions: Copy & paste, undo, redo, replace, symmetry modes, shape assistance systems (spheres, cycles, torus and more) and rotation of templates.
    • Modular Weapon Systems - Combine weapon systems for countless configurations of weapons. From sniper beams to swarm missiles.
    • Comprehensive Rail & Logic Systems - Use the rail system to build moving parts. You can do anything from simple elevators, sliding or rotating doors, to complex cranes.

      Tinker with our logic systems to control any system in the game, be it weapons, lights, rails, or explosives. Logic covers all basic gate types for convenient use (AND, OR, NOT, DELAY, Flip-Flop), allows in flight control and wireless connections between entities. You can use it for simple things like timers, switches, buttons. Or, build complex systems like working clocks and even a real CPU.
    • Community multiplayer (dedicated servers) - Play with others in our community hosted servers. Our configs allow administrators to customise core game mechanics for a tailored experience. Most settings can be tweaked to squeeze the best performance out of hardware.
    • Platform independent (Windows, Linux, Mac) - StarMade is completely platform independent. We support the three most widely used operating systems.
    • Free to play in alpha - We offer the full game free to play while in alpha development. Play our game through this period for free while in return we receive invaluable feedback and bug reports.
    MINIMAL SETUP
    • OS: Ubuntu 14.04 - 64 bit
    • Processor: Intel Core i3 (2nd Generation and above) | AMD FX 6xxx or equivalentMemory: 4 GB RAM
    • Memory: 4 GB RAM
    • Graphics: Nvidia GeForce GTX 260. 275. 280. 460 SE. 550 Ti | AMD Radeon HD 4870. 5770. 4890. 5830. 6770. 6790 or equivalent with OpenGL 2.1Network: Broadband Internet connection
    • Storage: 3 GB available spaceAdditional Notes: 2GB of memory must be available for StarMade. Lower specs may work by modifying graphics and other performance options. Try out our demo to get an indication for your system. System components such as Integrated Graphics cards may not be supported. Requirements may change in further updates.
    RECOMMENDED SETUP
    • OS: Ubuntu 15.04 - 64 bit
    • Processor: Intel Core i7-2600 @ 3.4 GHz | AMD FX-8320 Eight-Core @ 3.5 GHz or equivalentMemory: 8 GB RAM
    • Memory: 8 GB RAM
    • Graphics: Nvidia GeForce GTX 560. 650 Ti. 750 | AMD Radeon HD 5850. 6870. 7790 (or equivalent)Network: Broadband Internet connection
    • Storage: 3 GB available space
    GAMEBILLET

    [ 5951 ]

    13.19$ (12%)
    16.59$ (17%)
    52.75$ (12%)
    15.87$ (60%)
    5.29$ (74%)
    8.49$ (15%)
    20.99$ (16%)
    31.85$ (20%)
    1.08$ (93%)
    17.22$ (71%)
    5.37$ (79%)
    3.78$ (68%)
    16.99$ (15%)
    0.70$ (90%)
    5.87$ (16%)
    2.22$ (78%)
    15.99$ (20%)
    6.79$ (15%)
    13.19$ (12%)
    6.71$ (16%)
    10.48$ (74%)
    18.39$ (8%)
    3.00$ (85%)
    16.99$ (15%)
    3.88$ (81%)
    12.42$ (17%)
    24.49$ (18%)
    3.86$ (81%)
    33.19$ (17%)
    16.52$ (17%)
    GAMERSGATE

    [ 3198 ]

    0.94$ (81%)
    13.59$ (32%)
    0.53$ (92%)
    3.38$ (66%)
    0.53$ (92%)
    0.88$ (91%)
    3.5$ (65%)
    4.5$ (70%)
    4.69$ (81%)
    3.75$ (81%)
    0.6$ (92%)
    3.75$ (85%)
    1.45$ (79%)
    4.75$ (84%)
    17.99$ (40%)
    0.56$ (81%)
    5.63$ (62%)
    5.06$ (66%)
    0.45$ (85%)
    5.0$ (75%)
    1.31$ (74%)
    3.75$ (81%)
    11.99$ (20%)
    2.03$ (89%)
    2.7$ (85%)
    7.5$ (75%)
    1.13$ (77%)
    1.5$ (85%)
    0.75$ (92%)
    1.69$ (89%)

    FANATICAL BUNDLES

    Time left:

    0 days, 21 hours, 18 minutes


    Time left:

    23 days, 21 hours, 18 minutes


    Time left:

    5 days, 21 hours, 18 minutes


    Time left:

    36 days, 21 hours, 18 minutes


    Time left:

    42 days, 21 hours, 18 minutes


    HUMBLE BUNDLES

    Time left:

    3 days, 15 hours, 18 minutes


    Time left:

    3 days, 15 hours, 18 minutes


    Time left:

    12 days, 15 hours, 18 minutes


    Time left:

    19 days, 15 hours, 18 minutes

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