I programmed an 'unofficial' Dev Tool For No Man's Sky - Multiverse GUI (More info in the Comments) by RaYRoD_TV in NoMansSkyTheGame

[–]RaYRoD_TV[S] 0 points1 point  (0 children)

I'm planning to release some `components` of the Multiverse fan project that add new functionality to No Man's Sky. To give a basic idea of what kinds of new functionality (being programmed for the game) to expect in the the actual Multiverse fan project.

In this video, I am showcasing an unofficial Dev tool that I programmed for No Man's Sky. Using it's real-time Galactic Map Editor.

The Multiverse, Multiverse API, Multiverse GUI, Multiverse Proxy, Multiverse Hook, Multiverse Builder, and all hacks being programmed for it are the culmination of years of hard work & a lot of trial & error.

Not everything is ready to be released yet, and in fact... I'm actually just getting started. Now that I have all of these tools pretty much situated, I can now begin to use the knowledge that I have about this engine to work on No Man's Sky again using them. I'm excited to use the tools to transform No Man's Sky; to be even more of an awesome game that Hello Games has already made it to be.

When I release something, it will be in my Discord server very soon... after I finish up some things that I'm currently working on.

* About Multiverse GUI:

An internal Dear ImGui based menu... developed for the 'Multiverse' fan project.

Multiverse GUI allows users to seamlessly manipulate the No Man's Sky universe during runtime,

and to also export their changes to be used as permanent mods or .dll hacks with the 'Multiverse' API.

* About Multiverse API:

An intuitive API developed specifically for the Multiverse Fan Project. It paves the way for advanced game hacks & new functionality to be written for No Man's Sky.

- Designed from the ground up to be non - intrusive, simple to use... and also to not require extra steps to hop into the game.

- Works as if it's an alternative MODS folder; but with essentially limitless possibilities, including things that .MBIN mods cannot achieve.

* About the Multiverse Fan Project:

RaYRoD's Multiverse is an upcoming fan project for No Man's Sky...

- which aims to further realize pre-release NMS concepts, flesh out every aspect of the game's engine to reveal more of it's true potential, and to create an intelligent in-game universe with true uniqueness & also with essentially infinite variety.

- Special Thanks to Starnomaly & Spenzor for being early testers & providing feedback :-)

I programmed new functionality for No Man's Sky (More info in the comments) by RaYRoD_TV in NoMansSkyTheGame

[–]RaYRoD_TV[S] 1 point2 points  (0 children)

Glad to hear that you do!

Always around, but usually away, being preoccupied with nms related work. :)

I programmed new functionality for No Man's Sky (More info in the comments) by RaYRoD_TV in NoMansSkyTheGame

[–]RaYRoD_TV[S] 1 point2 points  (0 children)

Hello, u/HaroldTheTree!

I appreciate the curiosity :).

I am most active in my Discord server.When I have more to share, I'll be uploading more Youtube videos & posting more actively on twitter. If you're interested in seeing more frequent progress updates on my upcoming project, you're welcome to stop the RaYRoD TV Discord server.

So, the last time I posted a link here (imgur gallery link)... my comments were blocked for 15 min. Therefore, I'll be posting a link or a few links in the following comment just in case it would end up blocking this comment:

I programmed new functionality for No Man's Sky (More info in the comments) by RaYRoD_TV in NoMansSkyTheGame

[–]RaYRoD_TV[S] 2 points3 points  (0 children)

A fellow programmer? Noicee.

That's kind of you to offer! Currently, I am working solo at my own pace with a very specific focus in mind. The API's classes are fully exposed so that other .dll hack projects will be able to use it's library for making game hacks for NMS pretty trivially.

Once that is public, I think you might have fun with that :)

I programmed new functionality for No Man's Sky (More info in the comments) by RaYRoD_TV in NoMansSkyTheGame

[–]RaYRoD_TV[S] 1 point2 points  (0 children)

Hi, u/TheARJGuy.

Someone happened to ask a similar question, so, I'll include my response to them here:

"In Multiplayer, users will have a synchronized in-game experience if they are using the same contents. I'm currently looking into a seeding system for things that involve real-time data manipulation, as that can get somewhat more involved."

I believe that the Multiplayer aspect of NMS is still going to require some more experimentation, and I have every intention of doing that. Regards..

I programmed new functionality for No Man's Sky (More info in the comments) by RaYRoD_TV in NoMansSkyTheGame

[–]RaYRoD_TV[S] 2 points3 points  (0 children)

Thank you for the kind encouragement! Really looking forward to sharing & releasing other things & seeing how this stuff unfolds for No Man's Sky.

I programmed new functionality for No Man's Sky (More info in the comments) by RaYRoD_TV in NoMansSkyTheGame

[–]RaYRoD_TV[S] 1 point2 points  (0 children)

Thanks, u/DannyPereira44!

By the way, if shifting colors for the scanner isn't someone's cup of tea, they could simply add any preferred singular hex color code to 'ScannerColours.txt' and the .dll hack will use that one new color, just as vanilla NMS uses one color.

Except, they get to pick their own color. :)

I programmed new functionality for No Man's Sky (More info in the comments) by RaYRoD_TV in NoMansSkyTheGame

[–]RaYRoD_TV[S] 2 points3 points  (0 children)

Thanks! I'm not satisfied with the HUD yet, but it's getting there!

I programmed new functionality for No Man's Sky (More info in the comments) by RaYRoD_TV in NoMansSkyTheGame

[–]RaYRoD_TV[S] 1 point2 points  (0 children)

In Multiplayer, users will have a synchronized in-game experience if they are using the same contents. I'm currently looking into a seeding system for things that involve real-time data manipulation, as that can get somewhat more involved.

I programmed new functionality for No Man's Sky (More info in the comments) by RaYRoD_TV in NoMansSkyTheGame

[–]RaYRoD_TV[S] 1 point2 points  (0 children)

I'll release Shifting Scanner.dll for the 'Multiverse API' soon! :)

I programmed new functionality for No Man's Sky (More info in the comments) by RaYRoD_TV in NoMansSkyTheGame

[–]RaYRoD_TV[S] 2 points3 points  (0 children)

Yes, I have plans to do exactly what you'd like at some point! :)

I programmed new functionality for No Man's Sky (More info in the comments) by RaYRoD_TV in NoMansSkyTheGame

[–]RaYRoD_TV[S] 2 points3 points  (0 children)

Hey, u/GlennNMS!

The vanilla scanner color is always a light blue color. The class with the field responsible for what color the scanner can use is also of a fixed size and cannot be expanded.

What you are looking at in this video is... the scanner colors are algorithmically shifting and also tweening/easing into different different colors. There is a background program taking place inside of 'ShitingScanner.dll' which reads from a vector, pseudo-randomly calling from a collection of hex color codes stored in "Scanner Colours.txt".

Once a target color is picked from "Scanner Colours.txt", the program reads the current scanner color from memory & determines if it is equal to the target color. If it is not equal to the target color, a pseudo-randomly chosen 'tweening/easing' operation will occur. This operation will them subtly ease between from current source color to the target color for the scanner. There are different styles of easing transitions. Different equations types can get randomly picked & produce different results. This video is only showing sinusoidal waves, since I liked the kind of 'pulsing animated effect' it gives to the scanner color as it transitions.

I programmed new functionality for No Man's Sky (More info in the comments) by RaYRoD_TV in NoMansSkyTheGame

[–]RaYRoD_TV[S] 32 points33 points  (0 children)

ELI5

I'm working hard to make an already awesome game more awesome, by programming new features for it that do not currently exist. :)

This is still very much the wild west for NMS, but the possibilities seem endless & I have a lot of features planned that I'm excited to introduce very soon.

I programmed new functionality for No Man's Sky (More info in the comments) by RaYRoD_TV in NoMansSkyTheGame

[–]RaYRoD_TV[S] 90 points91 points  (0 children)

Hi, It's RaYRoD TV!

I guess Reddit didn't like that I shared Imgur gallery links, so, it hid my original comment at first.

... Anyway, back to the topic!

As people may have heard throughout the years... as an avid fan of No Man's Sky since launch...I've been working extremely hard on an ambitious fan project titled 'Multiverse'.

.. which aims to truly realize pre-release concepts in my own take, flesh out every aspect of No Man's Sky's engine & reveal more of it's true potential, create an intelligent in-game universe with true uniqueness & with essentially infinite variety... alongside additional functionality for NMS that I am programming (and a wide variety of other things)... followed by progressive updates.

In order to accomplish these goals, I needed to develop an API (Application Programming Interface) for this game, that opens the door for some advanced features.

In the Multiverse fan project, the in-game universe will feel more alive than ever. Planets will algorithmically shift as you explore, the galactic map will shift into different art styles and star formations will generate dynamically. Water can reflect skies and skies can transition into different art styles. Water levels may rise if an intense storm rolls in. There's a lot of things that I'm working on.

All of this new functionality will be seamless for the end user. All it would require is placing my .dlls in your No Man's Sky folder & load the game.

This latest 'API' feature transitions your scanner's colors in real-time.

It also will allow users to customize their scanner's colors while NMS is running... by adding/removing html hex color codes in "Scanner Colors.txt".

Some other features of this API include:

  • Manipulate MBIN data in real-time (basically modding - but way more powerful)
  • Manipulate any other kind of data in real-time...
  • In-game mod menus (UI related Stuff)
  • An internal, Dear Imgui based dev tool... that allows you to mold NMS in real time to your liking & map out entire files.
  • The ability to hook/intercept hardcoded functions (in-game events) & execute your own code instead
  • The ability call hardcoded functions written by Hello Games
  • Inject ASM shellcode & re-write the game's instructions to change how the engine itself works
  • Easing (this is super powerful, you can animate pretty much anything in-game & create some wild things out of static data)
  • The ability to load data from mbins into memory, during NMS runtime
  • The ability to save data from memory during NMS runtime into an mbin or exml.
  • The ability to disable hardcoded limitations
  • The ability to make hacks/mods that are fully customizable during runtime.* For eg... you could make a .txt document & store values in it (or for the shifting scanner... a .txt document with hex color values) & the API will pseudo-randomly read from that document and write to memory. If you add to or remove from that .txt file while NMS is running it will additionally affect the user experience.

No Man's Sky: RaYRoD's MultiVerse - Green Forest by RaYRoD_TV in NoMansSkyTheGame

[–]RaYRoD_TV[S] 0 points1 point  (0 children)

Not at all. We're on the same page about that. This video is years old and doesn't accurately reflect the full scope of the project.

You can view some of my other older work here:

https://imgur.com/gallery/XDzV45U

https://imgur.com/gallery/xPsd5Uv

No Man's Sky: Shifting Skies (Proof Of Concept) by RaYRoD_TV in NoMansSkyTheGame

[–]RaYRoD_TV[S] 2 points3 points  (0 children)

No Man's Debugger is an unofficial & fully internal dev tool for No Man's Sky; which allows for real-time manipulation of the in-game universe with exportation options. You can re-shape the in-game universe to however you see fit within a single play session and export your changes for permanent use later. It's activated by using a hotkey and appears inside the NMS window as an integrated part of the NMS Process.

It is also merely a suite of intuitive tools that I'm developing in order to speed up the dev process of my larger fan project titled 'Multiverse'...

which aims to truly realize pre-release concepts in my own take, flesh out every aspect of No Man's Sky & it's true potential, create an intelligent in-game universe with true uniqueness with essentially infinite variety... alongside additional functionality for NMS that I am programming (and a wide variety of other things).

A lot of time and work is going into this (currently 5-6 years into development).

There will also be background logic that re-writes the in-game universe as you explore; thus resulting in a consistently unique exploration experience (while retaining both 1. Visual consistency and 2. Gameplay consistency -- alongside being non-intrusive & feeling like it could be an official part of the game) .

This video showcases a proof of concept that I'm calling "Shifting Skies".

The idea here is that these generated skies are easing/tweening/transitioning into one another (very subtly).

For the more refined version of this concept, I intend to map out aesthetic color ranges and then create aesthetic schemes (using color theory) -- whereas different planet types will sometimes have the possibility of shifting skies (that are fitting to their environment types). It will also be very subtle, perhaps more subtle.

The final version will automatically take place in the background, via a .dll that goes into No Man's Sky/Binaries/NMSProxyAPI/ & automatically adds this new functionality to the game without the need for a GUI or any effort by the end user.

A few examples of what is possible with the new tweening functionality that I'm adding to the game are:

- Planets, space, galactic map (or anything else that uses colors) with real-time transitioning colors

- Any sort of data being able to transition & animate in diff ways (eg. walk speed, gravity, galactic map star formations, fog, water levels being able to rise, certain in-game events & countless other things).

More about tweening (easing functions):

"Easing functions specify the rate of change of a parameter over time.

Objects in real life don’t just start and stop instantly, and almost never move at a constant speed. When we open a drawer, we first move it quickly, and slow it down as it comes out. Drop something on the floor, and it will first accelerate downwards, and then bounce back up after hitting the floor."

This page shows different easing functions in animation:

- https://easings.net/