This week we had two major changes. One was Contacts+ mode for session access, prioritized based on popular community request and the other was a cloud infrastructure upgrade and series bug fixes, which came out of unexpected issues.
The haptics system introduced last week has also received numerous additions, tweaks and bugfixes, not only improving the bHaptics integration itself, but also enabling it for standard VR controllers, allowing you to use Haptic Volumes to create control haptics.
Contacts+ mode (Contacts of Contacts)
Based on popular demand from the community, we have prioritized adding the “Contacts+” session access mode. Unlike the regular “Contacts” which allows only the contacts of the host to join the session, this one will allow users to join as long as any of their contacts are within the session.
This makes the sessions using this setting more accessible, removing the need to figure out who the host is and send them a friend request. It’s also particularly useful for headless sessions, where only a select few users can initially join the session (or only the owner), but once they’re in any contacts and their contacts can join.
Because we value privacy and security, we took special care with how this feature was implemented. Whenever a user joins, they are authenticated and verified, ensuring that people can’t join even if they somehow get the session’s ID or URL. If all of their contacts leave the session, they won’t be able to rejoin either.
At the same time the backend API is designed in a way to make it practically impossible to determine another user’s entire contact list. Obviously it is possible to tell if the user who just joined is someone’s contact, but anything beyond that (including checking any other user) isn’t accessible through the API.
Haptics framework improvements and additions
Since we introduced the new haptics framework last week for the bHaptics vest, we have added multitude of new features, tweaks and bug fixes to it. Notably the system now works with VR controllers as well, allowing you to use Haptic Volumes to trigger haptics on user’s controllers and test how it works.
Both bHaptics and VR controller drivers now also interpret other sensations as well, including Pain, Temperature and Vibration. Since they’re vibro-tactile systems, those sensations are translated to vibrations (for example Pain will produce a pulsing sensation to simulate heartbeat), but once more haptic devices are supported they can interpret this information and create more accurate haptic responses.
We have also showcased the bHaptics integration in our official livestream this Friday. If you missed it, check out the recording below:
Major SDK upgrade and bugfixes for the cloud backend
Earlier this week we noticed some degradation with the cloud backend, particularly with the asset variant system that’s responsible for computing optimized versions of textures to reduce VRAM usage and loading times. The system got flooded with enormous amounts of duplicate jobs, leading the queue to grow to 8 million and progress very slowly, as the system threw invalid jobs one by one.
This discovery has led to a series of upgrades and bug fixes for the cloud backend. We moved to the v12 version of the Azure storage SDK’s, moving away from the deprecated v11 version. This required a large chunk of the code to be updated, as the API’s weren’t compatible with each other, but also provided a noticeable performance improvement.
The asset variant compute system was also improved and partly redesigned to prevent this pathological scenario from occuring again. The system will now prevent most duplicate jobs from being created in the first place, but even when they happen (as is possible with a highly concurrent system) it will discard them much faster than before.
We have fixed some other internal problems with the cloud service, which resulted in certain internal tasks failing (particularly with world/item synchronization). Those failures were compensated by another subsystem, but caused unnecessary processing and bloat, which is now removed.
Another part of the system that received some bug fixes was the NAT punchthrough and relay system, responsible for establishing real time session connections. If you’re using custom session IDs, they would be randomly rendered unjoinable. This behavior has now been fixed.
The relay system, which is used when connection cannot be established directly with NAT punchthrough now also performs several attempts to establish a connection, improving reliability of joining a session with more spotty connections.
With growing population, improving and upgrading the cloud backend is very important to ensure that everything keeps running smoothly and so we can reduce the internal cost. There are many more upgrades and improvements planned, but we’ll handle them as needed.
Regular Oculus Quest / Android builds
Neos has had Oculus Quest builds available in early preview for Patreon supporters for a while, but they were typically seldom updated, as doing so required a lot of manual labor and would often be very behind the main PCVR versions on Steam.
Starting this week, we have automated the process of building and publishing the new APK’s for sideloading, making those builds always match the PCVR version. Currently PCVR is still our main priority and focus, but automating this part of the process will help bring more attention to them in the future as it will ease the development iteration process.
You can expect the Android builds to be typically updated within a day of publishing a regular PCVR build on the private android-preview branch on Steam, which can be obtained through the #android-testers channel in our official Discord.
Community Highlights
Hey there everyone your friendly neighborhood Turk here this week to showcase what the community has made! This week we have Maps aplenty!
Ancient Temple
A very old, somber temple brought to you by Enverex, from it’s nice aesthetics to it’s hidden temples, see if you can find the mysteries that are hidden within. See if you can find the special magic portal! Thanks Enverex!
Japanese Onsen
A nice flavourful Onsen with some nice summer night atmosphere! Come on by, take a dip, appreciate some tranquility gardens, and watch some videos! Thanks Rhenium, GAWAWA, and Cid for the map! (Special Thanks to Vigilabo, Orange, lilhatategami for their object contributions)
Builders Dojo
A wonderful world and concept set up by LosAngelesGraff! A Dojo for builders to build! Hosting the map daily, it’s an open world for people to make wonderful art pieces, creations, toys, or friends that get spread through the Neos Community! Thanks Graff!
Inverse Nebula
Welcome to this canteen amongst the stairs, but inverted? A Casual RP Map made by DeliriousJax and Co. Where there are some scenic views to contemplate as you get a drink at the local Tavern. I hear it’s hosted by a Security Droid S-05 so you’ll feel plenty safe. Thanks S-05!
Breakdance
Also we had another Dance Cypher hosted by the IDA this week! JJfxMultimedia, B-Botics and Charma and the Crew managed to bring Makoto from the Korean Dance Community over and dropped some sick moves! Good Dancing guys! If you want try to stop by sometime, they are open to having people stop by and dancing! Even I‘ve participated and it’s a blast!
This is everything for this week, if you’d like to know more about the smaller additions, tweaks and bug fixes you can always check out the patch notes on Steam or in the #neos-updates channel on our official Discord.
And as always, thank you for your support! Neos wouldn’t be the same metaverse without your help, awesome creations and being part of a great community!
Ever wonder what it would be like if a window broke on a different planet, or in space, where the gravity is different than on Earth? Now you can find out! Here is video of me smashing it up on the Moon! I have added breakables to Mars, the Moon, Earth, and the comet! I have also livened up the graphics for the Moon and Earth.
Hint: the Bowling Ball projectile is the best for breaking glass and other things. It can be unlocked after returning to Mars and finding a secret console. Your normal projectile, a chair, or anything else you can grab also works. Enjoy - I know I have thoroughly enjoyed testing it ːwinter2019joyfultearsdogː!
Hello everyone, this is the 2nd development log for my game and for this one I'd like to update you guys on the progress of the stuff I mentioned next week.
1. Steam Achievements I am happy to say that steam achievements are pretty much good and ready to go. It will be launching with 28 achievements. Though a few will only be unobtainable until later patches.
2. Controller Support Glad to say this one is also pretty much good to go. There are still a few loose ends for this feature, but overall the game should work with most controllers now. For now I will say this is about 80% done, and should be done in the next week. I will be updating the in game control page to reflect the new proper controller bindings.
3. Expediting the gameplay. To start off, I'm giving the option for players starting a new game to skip the tutorial level. In addition to this, any previously watched cutscene will be skipped on subsequent playthroughs to help speed up gameplay.
4. Game Saves This is still in progress. There are still a few existing bugs that I still need to sort out for this one. This one is pretty much blocking a new game patch. This will be the main focus of the remaining week.
Overall, I think there is good progress on the features and you can probably expect a new patch including the above mentioned features around next week.
Moving forward I am going to focus all my efforts on finishing up the final level. This will be the main focus for the next few weeks after this current patch is finished.
In addition to other features and the back burner mentioned in the last log, I am also thinking about allowing players to bind their controls.
Today's patch fixes the following issues: *Issue where textures would not load on 3D character models. *Issue where menu layout would not display correctly.
Live the life of a 1970s soft-rock musician in Southern California. In Yacht Rock, you work to create the best combination of clothing and music styles to help you score points while also recording singles and attending schmoozy parties to make connections, all set in Southern California in the 70's. Whoever can score the most points within three rounds is the winner.
This brand new party game from Prospero & Hall is for 3-6 laidback cool cats, and plays in about 30 minutes. Groovy!
Hey, all! Producer K here! The day has finally arrived! Moe Ninja Girls' final chapter begins today! Everything that has happened in the story has been leading to this moment. You'll have to read it yourself to find out how it ends! Unlike previous Seasons, this one does not have two characters to choose from at the end. Instead, there are three different endings: -True Ending - the real ending to the story. -Happy Ending - an enjoyable (but non-canon!) ending to the story. -Bad Ending - one of many possible (but non-canon!) endings to the story. Whichever ending you may get, we think you'll be happy with the result! We've put a lot of work into each of them! On that note, for those of you power users that make it to any of the endings first, please don't spoil it for the rest of the players. If you have thoughts on how the final Season ends, we greatly appreciate them, but please don't ruin the experience for your fellow players! ❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️ Opening Offers End: Dec. 13, 8 PM (PST) Super Early Bird Ends: Dec. 20, 8 PM (PST) Early Bird Ends: Dec. 30, 8 PM (PST)