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 10 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!

Steam ImageSteam ImageSteam ImageSteam ImageSteam Image
Resonite
Yellow Dog Man Studios Developer
Yellow Dog Man Studios Publisher
2023-10-06 Release
Game News Posts: 162
🎹🖱️Keyboard + Mouse
🕹️ Partial Controller Support
🎮 Full Controller Support
Very Positive (1214 reviews)
Public Linux Depots:
  • [0 B]
2025.5.9.23 - Awwdio - new in-house audio system & Spatial Variables

Hello everyone! I got a huge update for you! :D Awwdio is now our in-house audio system, replacing the previous hybrid system with one that's fully our own! Not only does this finish the last major piece needed to be moved fully into FrooxEngine for The Splittening to happen, but it comes with another cool feature - Spatial Variables! A double combo of coolness! I'll be on a lookout for any issues that pop up and there's few small features I plan to add post-release, but generally... Awwdio is done! Meaning that focus will soon be shifting towards the splittening, so stay tuned! The system will automatically convert any existing content to the new system, with some caveats - notably for Reverb Zones - check the notes below for details. If you run into any issues, DO NOT SAVE the content, because that will bake the issues in. We'll be on lookout for problems post release too and we can fixup conversions as long as you have original versions of worlds and objects. Spatial variables themselves are a huge feature on their own - while relatively simple in principle, they have tons of usecases, from spatially interactive systems, games, culling systems, effect zones and many more! You can watch video on them here if you're interested: https://www.youtube.com/watch?v=83cVUv8on5g Huge thanks to everyone who helped test Awwdio and polish it up for the public release: @anquietas_sys, @bluecyro, @zyro1331, @modernballoonie, @vrbat, @shininghero, @stiefeljackal, @.fulgens, @tobs2007, @foxobread, @dustysprinkles, @ohzee, @bredo, @martysh12, @nytra, @qualium, @gawdl3y, @freyar, @marsmaantje, @989onan, @enziv, @catboy.slim, @epiceaston197, @zenuru, brecert, SylviaAnim8or, @goldenrecord, @grand__, @euphieeuphoria, @badhaloninja, @shdw_x, @lucasro7, @orange3134, @jackthefoxotter, @unskilledwolf, @elektrospy, @art0007i, @yoshiyoshiyoshiyoshiyoshyoshyosh, @karasutengu, @mpmxyz, @pjb, @rabbuttz, @zozokasu and anyone else if I forgot to include you! (poke me and I'll add you to the list).

New Features:


Awwdio - new audio engine


Introducing a fully custom in-house audio engine - Awwdio! Replacing the previous hybrid system (which was about 80 % our custom audio handling and 20 % Unity's system), this is the last major piece needed for the "splittening" - the final phase of the big performance update with switch to .NET 9. It also gives us full control over how audio works in Resonite, fixing a number of issues and opening door for many new faetures in the future. - Implemented & integrated Awwdio - our in-house audio system (requsted by me, issue #2430) -- The system is heavily multi-threaded for high performance, with lock-free concurrent mixing -- Spatialization is provided by Steam Audio with direct integration -- Default number of audio voices is 64 and can be increased in settings (be careful with very large values as they impact performance and might cause popping) -- The default latency is configured to be same as Unity - 1024 buffer for simulation, with 4096 playback buffer -- You can lower the latency in Settings. However note that lowering the latency can cause more crackles and RunAfterFinalPoseUpdate - Added AudioListener component which provides an explicit way to determine where audio is rendered from -- It can also be used as a source for audio data for AudioOutput, working as a virtual microphone (This only works on listeners that aren't bound to specific user - ActiveUser must be null) -- The listener has a list of effects that are applied to the audio it hears (currently just reverb zones, but there will be more in the future) -- By default this list is managed by CloningReferenceSpatialVariableCollector, but this is not necessary - the list can be updated statically too (right now we don't provide mechanism to replace the default template yet) - Implemented ZitaReverb to replace legacy ReverbZones -- ZitaReverb has been integrated by @bluecyro -- This is a different implementation so it does sound different, which is expected -- Legacy reverb zones are mapped to a preset that's closest to the legacy one (mapping has been implemented by @bluecyro to match the vibe of old presets as much as possible) -- This is a stereo reverb effect -- Reverb zones now work with spatialized audio sources - including user voices in normal mode! - Implemented AudioFilterBlendWrapper, which wraps other filters around and provides blending functionality -- This is useful for audio reverb zones, allowing each listener with its own blend weight to share the same instance of AudioZitaReverb (and potentially other filters in the future) - Added "Preserve Legacy Reverb Zone Handling" setting (under Music -> Legacy Feature Settings") (based on request by @bluecyro, issue #4231) -- By default this is off - meaning by default all spatialized audio outputs will now be affects by reverb zones (unless they explicitly checked "IgnoreReverbZones" setting) -- While this is a breaking change, it generally should be a positive one, making existing content and avatars more immersive -- By turning this setting on, the legacy behavior will be preserved exactly for any subsequently loaded content - you can re-save the content loaded this way to bake the behavior in - Added Pitch to AudioOutput, which allows altering the pitch of the output without affecting its length -- Note: Altering pitch by altering Speed of the clip player is still preferred method - it's more performant with less artifacts (and better handling for extreme values) -- Unlike Speed, this works on any source - even realtime sources like user voices -- This uses realtime pitch shift effect, which will have some artifacts - especially the larger the pitch shift is -- Pitch shifting algorithm integrated by @bluecyro - AudioOutput now exposes SpatializationStartDistance and SpatializationTransitionRange -- This controls where the spatialization starts and blends from stereo audio to spatialized -- It's useful if you want to make the audio go "broadcast" when you get near the source - Implemented auto-audio ducking, that automatically lowers the gain when the signal exceeds 1.0 and then slowly(ish) recovers -- This is applied at three levels - individual audio output renders for each listener, listener mixes and final output mix (e.g. combining multiple listeners) -- This fixes clipping caused by the binaural effect, which adds gain to the signal (reported by @.fulgens, issue #4127) -- This was also requested by @.fulgens, @Zyro1331 in issue #4117 to happen globally - Added support for 7.1 channel audio buffers -- This fixes audio not working with 8 channel headsets (based on report by @dustysprinkles, issue #4079)

Spatial Variables


Coming alongside Awwdio is the spatial variable system, which was added to handle the reverb zones with the new system! This provides a new and easy way to sample values at various points in space and build variety of different systems. - Implemented Spatial Variables (issue #574, requested by @frooxius (me :3)) -- This system allows to define values in space and then sample points in space to determine value at that point -- Sampling spatial variables is very efficient, using BepuV2 acceleration structure for spatial queries -- There's a number of spatial variable shapes and samplers with different behaviors for various use-cases and more will be added in the future! -- Spatial variables are identified by a combination of their type and name -- Name can contain characters, digits, spaces and following symbols: `- _ .`. The rest are reserved for future use. Spaces cannot be at the beginning & end. -- Each spatial variable shape supports blend distance - blend weight is calculated based on the distance from the "outer shell" of the shape -- Blend weight is used for proportional blending and priority computation - Added BoxConstant(Value/Reference)SpatialVariable -- The value/reference is the same throughout the whole volume - Added BoxGradientValueSpatialVariable -- The value changes from Start to End value along a Direction -- This works best when the direction is aligned with one of the axes - Added BoxVertexValueSpatialVariable -- Each corner of the box can have a unique value -- The value is interpolated based on the relative position within the box - Added Texture3D_SpatialVariable -- This is specifically for colorX spatial variables - you're reponsible for mapping these values to other things -- This is a box spatial variable that provides colorX spatial variables sampled from a Texture3D (this must be readable) -- You can adjust the scale/offset of the texture in local space -- You can either use absolute coordinates or normalized ones (normalized ones will squish/stretch with the box) -- You can control how the texture wraps in each of the directions - Added SphereConstant(Value/Reference)SpatialVariable -- The value/reference is the same throughout the whole volume - Added SphereStartEndValueSpatialVariable -- The value interpolates from the center to the outer edge of the SphereConstant - Added (Value/Reference/Type)SpatialVariableDriver -- This will drive a field with value sampled at the current global position of the slot it's on -- The value used is one with highest priority (highest explicit priority, then highest blend and then highest ReferenceID) -- You can define a default value/target - Added NumericValueSpatialVariableDriver -- This works specifically for numeric values and allows for multiple sampling modes: --- HighestPriority - this simply gives a single value that has highest priority (same as the simpler variants) --- WeightedAverage - all found values at particular point are averaged, with the blend weight used to weigh the values. If total blend weight is less than 1, it's blended with the default value --- PrioritySortedBlend - the final value is series of Lerps from the default value and then lowest priority to the highest priority values, with the blend weight of each being the lerp factor --- Additive - the final value is sum of all the found values multiplied by their blend weight - Added BooleanSpatialVariableDriver -- This is specifically for boolean values, which combines all the found bool spatial values at given point -- Supported combine modes are: --- Any - result will be true if there's at least one true value --- All - result will be true if all found boolean values are true --- XOR - each found boolean value (sorted by priority) flips the value. The initial value is the default value. - Added MinMaxValueSpatialVariableDriver -- This is for numeric types specifically -- It drives two fields (it's not necessary to have both), one with the Minimum found value at given point and one with Maximum -- If there's no spatial variables, Min/Max will be the Max/Min possible values for that datatype - Added ReferenceSpatialVariableCollector -- This is specifically for reference types -- This drives a list of references, filling it with all the found spatial variables - Added CloningReferenceSpatialVariableCollector -- This works similarly to ReferenceSpatialVariableCollectoro, but specifically for components -- For each component it finds at the point, it will create & maintain a duplicate -- It can duplicate either just the component itself or the whole Slot it's on -- The duplicates can be made Local only (it's your responsibility to make sure that the target list can reference local elements) -- It will never clone spatial variables present on the slot - Added SpatialVariableBlendDriver -- This combines with CloningReferenceSpatialVariableCollector -- If a field on a spatial variable component is driven by this component, the cloned version will be driven with the current blend weight for that clone -- This is used for the BlendWeight for the new reverb zones - Added ProtoFlux nodes to sample spatial variables (requested by @jackthefoxotter, issue #4215 and @unskilledwolf, issue #4216) -- Sample(Value/Object)SpatialVariable - works with any time, samples the highest priority one at given point -- SampleNumericSpatialVariable - works with numeric types, supports various way to combine them (same as component) -- SampleMinMaxSpatialVariable - works with numeric types - finds the Min & Max value at certain point and whether any was found at all -- SampleBooleanSpatialVariable - samples boolean variables with multiple modes to combine them (same as the component)

Other stuff


- Added SetActive actions to the Skybox and AmbientLightSH2 components (requested by @aegis_wolf and @ryuvi, issue #4218, implemented by @ryuvi) -- This allows you to set an instance of either component as the "active" one via ProtoFlux, button action triggers, etc. - Added IsActive bools to the Skybox and AmbientLightSH2 components (requested by @aegis_wolf and @ryuvi, issue #4218, implemented by @ryuvi) -- This is a read-only field on each component which is true if that instance of the component is the currently active one. - Added "RunAfterFinalPoseUpdate" to PositionAtUser to run a second update after user's final pose for the frame has been computed -- This only works when the target user is local user (either through TargetUser or PositionAtLocalUser) -- It runs a second update outside of normal update cycle specifically after the user's final pose has been computed to ensure the slot is positioned to the latest value -- This fixes listener root falling behind when moving fast (reported by @ohzee, @bluecyro, @dustysprinkles, @epiceaston197, brecert and others, issue #4251) - Added ReferenceList component

Tweak:


- IgnoreReverbZones is now IgnoreAudioEffects on AudioOutput -- It functions largerly the same, but it will skip all effects on a listener -- In the future we'll expand the system - ViewPosition & ViewRotation nodes now actually position based on the actual target user (e.g. on PositionAtUser), rather than the local user

Locale:


- Merged Japanese locale update by @.aesc - Merged German locale update by @muppeq - Merged Korean locale update by @mirpasec - Merged Mongolian locale update by modimobeikete

Fixes:


- Reworked resampling mechanism for CircularAudioBuffer to fix incorrect math -- This fixes audio sizzling artifacts when using non-48 kHz audio devices (reported by @martysh12, issue #4072) - Fixed exceptions in LegacyAudioPlayer when some pieces are missing - Fixed references between multiple components not transferring properly when a group of components is cloned together to a different slot - Fixed clipping audio samples not limiting the negative amplitude (reported by @Nytra, issue #4208) - Fixed Enum shifting skipping enum members which have variants that have been marked obsolete (based on report by @Zyro1331, @shdw_x, issue #4206) - Fixed MultiValueTextFormatDriver showing obsolete names of enums used as arguments (based on report by @Zyro1331, @shdw_x, issue #4206) - Improved robustness of disposing of systems when disposing worlds (e.g. when they are closed) which prevented subsystems from being disposed when there are errors disposing other systems -- This fixes audio system not getting disposed in case of errors with other systems, causing audio to continue playing (reported by @yoshiyoshiyoshiyoshiyoshyoshyosh, issue #4249) - Fixed inconsistent generic type validation, resulting in some systems not validating some generic types -- This fixes being able to instantiate or load certain generic types (based on report by @Tobs2007, @Zozokasu and @UnskilledWolf, issue #4282)


[ 2025-05-09 00:32:54 CET ] [ Original post ]

Dive into a brand new digital universe with infinite possibilities. Whether you come here to socialize and hang out with people around the world or to build, create and develop anything from beautiful art, interactive avatars and gadgets, to complex interactive worlds and games, Resonite is an endlessly customizable place where you'll be welcome and where you'll find a group to resonate with.

Thanks to our advanced engine, we ensure that multiplayer experiences stay perfectly synchronized between players with zero effort for our community content creators. Whether you're just hanging out with people or building complex worlds and contraptions with other creators, Resonite will make sure every details stays in perfect sync and keeps you in control of your experience.

Socialize with anyone

Online socialization and real-time communication whether you're in desktop or VR is the foundational layer of everything in Resonite. Being able to communicate and be yourself is an important part of the platform. To make this possible, we offer a number of key features:


  • Low latency voice - communicate in real time with other users in session with latency rivaling that of other messaging applications
  • Fully custom avatars - import, build and customize any avatars in-game and in real-time to look like the best version of you
  • Full body tracking, eye & face tracking - to maximize your avatar's expressivity we support 8 trackers (feet, knees, hips, chest and elbows) as well as eye and face tracking
  • Haptics support - with support for haptic vests such as bHaptics, you can increase your immersion and become part of the virtual world
  • Instant messaging - chat over text, send invites, voice messages or even arbitrary items to your contacts
  • Flexible session visibility & security - you are in control of the visibility and accessibility of your sessions, anywhere from public to fully private, with an access list you control. All validation and verification of joining users is done on your client - if you set your session to Private, you can be sure that it is private
  • Customizable UI - the user interface is your gateway to using the platform and just like everything else in Resonite, it can be customized and extended to better suit your needs and make your daily experience more comfortable
  • Self-moderation tools - we understand that not every interaction on the platform will be good and that's why we want to empower you with a number of self-moderation tools - moderate your own worlds with silence, kick and ban functions or easily mute and block individual users avatars or their entire presence. Our goal is to give you as much control over your virtual experience as we can.
  • Multi-world presence - just like tabs in a web browser, you can be present in multiple worlds and switch between them in a fraction of second

Play, explore and share

Socializing does not have to end at chatting with your fellow users. Resonite is a universe full of fun gadgets, avatars and games to explore, with features to make any session fun and exciting.


  • Easy media sharing - drag & drop pictures, audio/music or videos into any world to share with other users with synchronized playback - it's that easy!
  • Inventory system - did you find or made something cool? Save it to your inventory! You can spawn any items, gadgets and tools in any world (as long as you have permissions to do so) - everything is fully synchronized too!
  • Dynamic avatar scaling - exploring the world or interacting with users at different scales can give you quite a different experience - you can change your avatar's scale anywhere, at any time (unless it's limited by the host of the session)!
  • High quality audio streaming - want to host a party and be the DJ? Streaming your system audio in full stereo in high quality is a few clicks away
  • World search & session discovery system - looking for a cool world to visit or what your friends are up to? Searching worlds by their names and tags as well as seeing which worlds your contacts are in will help you there
  • Stream to your audience - our in-game recording and streaming tools make it easy to produce captivating and dynamic camera shots, whether you're streaming or filming videos for social media
  • Custom locomotion - we don't limit you to just walking around - you can fly, noclip switch to zero-g or build your own customized locomotion system - ever tried to walk on a surface of a Möbius strip?

Build and create

If you have a creative itch, you may enjoy the powerful toolset that Resonite offers to you. Not only you can build and edit absolutely anything - from your avatar, items, to the entire worlds or even making your own tools, you can collaborate with others in real time and achieve true creative resonance!


  • Realtime collaboration - the collaboration on our platform is so seamless, that you will often forget it's there - our powerful engine ensures that the world and everything in it starts in perfect sync, no matter what you do - you'd be hard pressed to find any feature or functionality that'd be visible only to you (unless it's your private UI of course!)
  • Edit anything - everything you see in the world can be edited and customized with the game tools - in fact, we built a lot of the official functionality in-game with the same tools that are accessible to you - from the home world, default avatars, to video players, color picker UI or progress bar - you can take them apart or build your own from scratch and favorite them
  • Save anything - you can save literally anything on the platform! Whether you built a new item, an avatar or a world, or made modifications to an existing one, everything can be persisted with a single click of a button. You can efficiently store multiple copies as well - our deduplication system will ensure that any shared assets only get counted once
  • Development tools - our development tools range from simple brushes and procedural meshes to more advanced and powerful ones, similar to ones you find in classical game development tools - except that you can use them in VR with real time collaboration!
  • Cross-world synchronization and persistence - with our integrated cloud tools, you can easily preserve user data between sessions or synchronize state across multiple different worlds
  • Import 3D models - thanks to open source libraries, it's extremely easy to bring in large variety of 3D model formats - simply drag and drop your FBX, OBJ, GLB or other files and bring them in
  • Texture/Audio/Model processing - need to make a quick edit to a texture, audio file or 3D mesh? Basic editing functions are fully accessible in-game - from hue-shifting textures, normalizing and clipping audio to recalculating normals and tangents on meshes or baking them
  • Export content for external tools - as easy as it is to bring content in, it's just as easy to take it out! With this, you can make edits using external tools or make Resonite part of your workflow

Code and develop



  • ProtoFlux - ProtoFlux is the crown jewel of our creative tools - the most powerful visual programming language that our experienced team has designed to date, which lets you quickly prototype and build anything from simple interactions to complex games and systems - with full real-time collaboration support and immediate feedback
  • Script anything - ProtoFlux can interact with anything - the world, the items, your avatar and any combinations of these!
  • Websockets - thanks to built-in websocket support, you can easily communicate with external applications and scripts and build extensive functionality, such as your own game servers, fetching external data to integrating new and custom hardware, without having to depend on official integration
  • Async Flows - creating code that needs to yield or wait across different frames is a native feature of ProtoFlux, with full execution scope preservation - you can even have multiple async flows running off the same code, each with their own unique context, which is a highly powerful and flexible tool for simplifying your logic
  • Flexible storage system - locals, stores and data model - pick where you store your computational data depending on the desired scope and context, to build highly efficient systems

Resonate with anything, anyone, anywhere...

We are a team of passionate developers, who are developing more than just a piece of software, but something that we call a second home. We are committed continuous development, with frequent updates and community driven focus. This project is a combination of our dreams and visions of what digital spaces like this should offer and the collective needs, desires and aspirations of our community.


Much of our focus and vision is on giving you, the users and inhabitants of this virtual universe, as much power and agency as we can, whether it's over controlling your experience on the platform or being able to (re)build anything we do.

It would be our honor if you decide to join our universe and help us build it together. Whatever your background or interests are, we want to build a place where everyone can resonate together.

MINIMAL SETUP
  • OS: Ubuntu 18.04
  • Processor: Dual-core CPU or higherMemory: 8 GB RAM
  • Memory: 8 GB RAM
  • Graphics: GTX 750 (or equivalent)Network: Broadband Internet connection
  • Storage: 2 GB available space
RECOMMENDED SETUP
  • OS: Ubuntu 20.04
  • Processor: Octa-core CPU or higherMemory: 16 GB RAM
  • Memory: 16 GB RAM
  • Graphics: RTX 2070 (or equivalent) and higherNetwork: Broadband Internet connection
  • Storage: 20 GB available spaceVR Support: SteamVR

GAMEBILLET

[ 6082 ]

16.79$ (16%)
12.42$ (17%)
20.72$ (17%)
8.27$ (17%)
7.44$ (17%)
9.33$ (38%)
17.75$ (11%)
49.77$ (17%)
3.93$ (21%)
16.79$ (16%)
13.30$ (11%)
8.85$ (11%)
8.39$ (16%)
12.42$ (17%)
8.27$ (17%)
20.72$ (17%)
24.89$ (17%)
16.57$ (17%)
20.72$ (17%)
3.93$ (21%)
17.75$ (11%)
24.79$ (17%)
8.27$ (17%)
12.42$ (17%)
26.65$ (11%)
49.77$ (17%)
12.59$ (16%)
20.72$ (17%)
9.98$ (67%)
16.59$ (17%)
GAMERSGATE

[ 1511 ]

5.09$ (49%)
8.0$ (60%)
1.19$ (83%)
30.0$ (50%)
20.0$ (50%)
19.13$ (62%)
1.5$ (70%)
10.2$ (66%)
8.49$ (58%)
1.28$ (91%)
2.55$ (83%)
2.76$ (82%)
2.55$ (91%)
8.25$ (67%)
20.0$ (50%)
3.0$ (80%)
6.38$ (87%)
6.8$ (83%)
4.5$ (77%)
0.68$ (91%)
0.42$ (79%)
2.25$ (89%)
1.32$ (91%)
6.0$ (80%)
0.45$ (85%)
10.49$ (65%)
4.2$ (79%)
1.28$ (91%)
0.68$ (91%)
1.28$ (91%)
MacGamestore

[ 1888 ]

38.99$ (13%)
2.49$ (88%)
25.49$ (15%)
11.49$ (71%)
2.99$ (70%)
1.42$ (93%)
2.99$ (93%)
4.99$ (50%)
3.99$ (80%)
1.99$ (80%)
1.28$ (87%)
4.99$ (80%)
42.49$ (15%)
1.79$ (90%)
7.99$ (20%)
5.09$ (83%)
29.99$ (50%)
1.49$ (75%)
1.19$ (88%)
2.99$ (75%)
1.49$ (85%)
1.49$ (94%)
1.10$ (93%)
0.69$ (30%)
8.99$ (55%)
4.24$ (79%)
5.99$ (80%)
5.99$ (70%)
1.24$ (75%)
2.48$ (75%)

FANATICAL BUNDLES

Time left:

356346 days, 8 hours, 48 minutes


Time left:

2 days, 15 hours, 48 minutes


Time left:

12 days, 15 hours, 48 minutes


Time left:

17 days, 15 hours, 48 minutes


Time left:

1 days, 15 hours, 48 minutes


Time left:

23 days, 15 hours, 48 minutes


Time left:

31 days, 15 hours, 48 minutes


Time left:

46 days, 15 hours, 48 minutes


Time left:

24 days, 15 hours, 48 minutes


Time left:

47 days, 15 hours, 48 minutes


Time left:

46 days, 15 hours, 48 minutes


Time left:

47 days, 15 hours, 48 minutes


Time left:

31 days, 15 hours, 48 minutes


Time left:

25 days, 15 hours, 48 minutes


Time left:

53 days, 15 hours, 48 minutes


HUMBLE BUNDLES

Time left:

0 days, 9 hours, 48 minutes


Time left:

4 days, 9 hours, 48 minutes


Time left:

9 days, 9 hours, 48 minutes


Time left:

13 days, 9 hours, 48 minutes


Time left:

18 days, 9 hours, 48 minutes

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