Improving LRS - kind of planification - Adding a Knowledge Base system #376
Replies: 17 comments 12 replies
-
There's a lot here and I'm not going to address all of it right now, but I would like to mention something in case you are not aware of it.
I'm not quite sure what screen you're talking about here, NAV, or SCIENCE. If you are talking about SCIENCE, did you know that there already is a drop down menu? You might not, because I elected to hide it when not in use. But if you move your mouse to the upper left part of the screen drop down menus will appear, and you can select various ships, planets, starbases, warp gates, etc. that you have scanned from those menus. Maybe you already knew about that. Demon screen has a similar menu in the upper right part of the screen. Perhaps I should make these menus always visible by default with some option for the hiding behavior. As for an in game "knowledge base" ... what specifically do you imagine would be in this knowledge base? Right now, the "details" part of science has some small amount of info about planets, ships, etc. A lot of that is fluff, information that is window dressing but is not actually very useful to the player except as ambiance. I suspect you have in mind a vague notion of some information that would actually be useful to the player. Like what, specifically? That kind of stuff is hard to come up with. Another thing to consider, if you remember the Star Trek TV show, the characters would often consult "the computer" about things, and that was the knowledge base aboard the Enterprise. I have tried to replicate that, in a limited way. For example, on COMMS, you can type "/computer how far is it to sb-00", or, "/computer describe the nearest planet", or you can ask it anything, just precede it by "/computer", although, I admit its grasp of English is quite limited. And if you would prefer to talk to the computer as they did on Star Trek instead of typing that is also possible -- although even more gimmicky and frustrating. But my point is "the computer" is another place to put bits and pieces of knowledge.
Not quite sure what that means. Right now (iirc), the voice chat system (push to talk system) has two modes, F12 just transmits audio to members of your same bridge, and Ctrl-F12 transmits to all stations on all bridges in the snis_server. The voice chat was added during COVID to facilitate over-the-internet play, but I do not know if anyone has really used it. I've never played a game with multiple bridges for real (only testing by myself), and I kind of doubt anyone else has either. It has of course crossed my mind to have an in game radio, or even (like Star Trek) video chat, but a) this is probably beyond my abilities and b) it's a lot of work for a feature nobody would use because almost nobody can gather even one crew to play this silly game, much less two to necessitate such a feature. Alright, that's enough for me for now. |
Beta Was this translation helpful? Give feedback.
-
One more thing, if you really want to add things to the game to make it more than just a ship that you can fly around in space, I think what is really needed is more Lua mission scripts. Reading through the documentation for the Lua API may give you some sense of what is possible. |
Beta Was this translation helpful? Give feedback.
-
Shame on me!
Yes, I was talking about the Science station.
Yes! Or maybe just a discreet high chevron [ ^ ] pointing to it. That would give players a clue that's not too intrusive.
I'm well aware that it's difficult, and it's obvious that you've already put a lot of work into your game!
I'll need some time to structure my idea and my answer, to avoid it being too wordy.
Oh sorry, just a joke! Joke's Like: It's a difficult function to develop, with a lot of work, for a nice little function that's not useful at all! |
Beta Was this translation helpful? Give feedback.
-
I'm going to contextualize my answer to make this idea understandable... I'm in the process of adapting the game to a 2-player easier version, maybe 1player too. So I've done a lot of configuration to minimize hardware and maximize transversality between stations. Example: I've made other cross-functional configurations for the pilot's station, for example, with the weaponizing configuration of an X52 Pro, where i can manage missile. So we're playing more an X-Wing crew than an Enterprise's one :D For my part, I manage the other screens, and it's very difficult to manage the Bounty and mission conversations, for example, when the SB spam attack reports.
The data I'd see in a knowledge-base probably all exists already. So there is two concept in my idea. The first use drop-down menu's entries.Example:
Of course, information on transport contracts, passengers, etc., could also be available in the KB. The second concept would be based, for example, on the LRS interface,but in a “parallel” way, as this would be decorellated from the radar constraint. The information in the knowledge base could be consulted using 3D visualizations. But I realize that this is mainly because :
Even without the user missions, playing in the dynamic universe could already be “constructive” (if you can save the state and regenerate it as is...). I know that this game is not created to be a two player/one player game. Here was my thought. |
Beta Was this translation helpful? Give feedback.
-
Thanks for the detailed feedback. I will give these things some thought. One thing that comes to mind immediately though, regarding the starbase spam, you can shut that off by going on the demon screen console and typing "set suppress_starbase_complaints=1". I should probably make that the default, those complaining messages were put in about 13 years ago before the game was very far along. |
Beta Was this translation helpful? Give feedback.
-
Thanks for this ! |
Beta Was this translation helpful? Give feedback.
-
If you want to experiment with this, try changing XKNOWN_DIM in snis.h.
But, there are other values and things that would need to change along with this. For example, the renderer ceases to draw things beyond a certain distance, so far away things become not just hard to see, but invisible. The range of the scanners will be too short. etc. etc. Things are "tuned" at the moment to the current value of XKNOWN_DIM (600000), not to say tuned ideally, but tuned. I don't actually know what all the other things are that would need to change if you change XKNOWN_DIM to keep things sane. Furthermore, as things move farther from (0, 0, 0), floating point error increases. You will probably first notice this as jitteriness with the weapons turret. The next to last paragraph in the file called TODO has some links to some ideas of how to mitigate this floating point problem, but writing that paragraph is as far as I have gotten with that. I have learned about this, forgotten about it, and learned it again at least once: #251
You should realize that in its original conception circa 2012-2015, the game consisted only of a single snis_server and a number of snis_clients. That is to say, a single solar system with no warp gates. The warp gate idea was added on after the fact, and in a very rudimentary way. The only data that transfers from one star system to another is the data about the player's ship. What occurs in one star system is otherwise 100% unknown to any other star system. There is no designed mechanism to transfer passengers or any other thing from one system to another, except for player ships. I don't know what will happen if you try to transport a passenger through a warp gate. I should try it, as it might expose a bug. I suspect the passenger locations are "object ids", which are not portable between snis_server instances. Note also that mission scripts are started within the solarsystem they occur in (most of them re-build the solarsystem from scratch when they start), and are executed by snis_server. Currently the only way to make a multi-solarsystem mission is to basically divide them into separate independent "episodes", as there is no communication between snis_server instances at all, except indirectly via snis_multiverse, and that is only for login information and player ship data.
I think the range is about 1/3 the length of the solar system, that is the radius of the science scanner, so covers about 2/3. ships and smaller things are not scannable unless reasonably close (I forget exactly what that means), but planets and starbases are scannable at any distance up to the 1/3 * XKNOWN_DIM limit. One thing about artificially limiting the range of the scanner ... it is sort of annoying to players not to be able to at least detect if not scan things which can be plainly seen visually, esp. planets, so there is potentially some tension there between what's right for game play vs. what "makes sense." You might be interested to know that this bug exists: #261 |
Beta Was this translation helpful? Give feedback.
-
To help discoverability of these menus, now they appear briefly when you switch to SCIENCE or DEMON screens before hiding themselves. 328e3b3 Make pull down menus appear briefly when switched to new screen |
Beta Was this translation helpful? Give feedback.
-
The problem with this idea is that although it is not the default setup, it is possible that the lobby process, every instance of snis_server, and every instance of snis_client can in theory be running on separate computers, and communicate only via network, so they cannot rely on a shared filesystem. |
Beta Was this translation helpful? Give feedback.
-
I just tried it. The passenger disappears. Bug #384 |
Beta Was this translation helpful? Give feedback.
-
Yeah... Indeed But I think there's an important question behind this (which you may have already answered) 🤔 I like some ideas in IDEAS.txt and i have some to suggest, that i maturing on my side while i grasp your code to see what can be done or not, and how. Seems more complicated now 😄 |
Beta Was this translation helpful? Give feedback.
-
Just some thoughts. I think you have two demographics. Your current one: But as you know, it is hard to gather and retain these crews as time is expensive and effort, is well, effort. The second "potential" demographic is smaller home bound crews OR crews over the internet. I hear what you are saying that you don't want people getting attached to their ships, then fighting over ownership, but if they do, they can copy the hashed ship file and (share) take it with them if they want to find another crew. OK, now you have two or more diverging ships. This is probably a heretical statement, but have you considered having an option for lone wolves (one or two crew ships) to fly in your universes? I am not sure what that would even look like, but that sounds cool. |
Beta Was this translation helpful? Give feedback.
-
Already Done ! Im notified and consult your issue atm, full of teaching for me !
That's two very good point indeed !! I am a kind of a "Rogue-like-game-are-the bests" guy... And i forgot that's not the case of everybody.
It is in fact something mandatory regarding the continuous development of SNIS ! On the other hand, not being afraid of "death and loss" prevents a certain level of immersion. But perhaps persistence isn't necessary to increase this level of immersion. In view of our discussion, if you ever want to go further into the persistency point, maybe you should see the game through a “Captain” profile system, and his fleet. This makes the game cheatable, but I don't think it's a real problem... (As long as it can't be exploited for anti-game in multi-bridge games). Anyway, ideas, ideas... Im really to -v EDIT :
There is some little tweak to do in the configuration ! Currently, we play the game @2, and the only missing thing for us right now is the ability to cycle-select trough short target, for complicated situation where turret and nav is occupied. |
Beta Was this translation helpful? Give feedback.
-
You might be interested in this project: https://github.com/smcameron/snis-consoles though it is a work in progress, and progress is slow. Hardware is not my strong suit. The "notes" page goes into some detail: https://spacenerdsinspace.com/snis-consoles/notes.html But maybe you weren't thinking of that sort of cockpit (i.e. physical console with buttons and lights and so on.) The idea of the main screen is to mimic the big screen on the bridge of the Enterprise, like in this video at the indicated timestamp:
Eh, it's open source, if people want to cheat themselves, they may. We operate on the honor system aboard this ship. |
Beta Was this translation helpful? Give feedback.
-
Well, if you happen to have 3 monitors, you can run 3 clients, and connect
them all together to make a widescreen view:
https://www.youtube.com/watch?v=xqjor36kdsM You can do the same with
weapons as well.https://www.youtube.com/watch?v=NEFGWxXMHJM
…-- steve
On Tue, Mar 11, 2025 at 5:22 PM Stigmate-Fr ***@***.***> wrote:
The idea of the main screen is to mimic the big screen on the bridge of
the Enterprise
Dam' ! I haven't the ref ! Now i understand ! 😄
But maybe you weren't thinking of that sort of cockpit
Yeah, indeed it was not that kind of cockpit !
I was thinking to have a third view switch on the Main, that add a kind of
cockpit view. But something very light.
I will try to explain that... 🤔
We'd just see the structures connecting the screens.
Like the Enterprise screen, but trying to mimic a real cockpit view.
I really liked this in the Rogue System alpha :
https://youtu.be/sVXUPBDGxRM?si=o6nR-Mk5fPdTAm5z&t=9
Of course, the idea is simpler.
Basically, just add the structural bars linking the screens together, and
giving the impression of looking at a kind of reinforced “bay window”, cut
out with the central screen, and a piece up, down, left, right...
And I was thinking of creating "switched-off, on, off" behavior for
several parts, to give the understanding that these are screens.
(This way it wont be too weird to zoom all screen at once, this become
understandable)
And if I could do that, the aim would be to have some screen shut down
with dammage, in combat.
Where you could lose some or all of these screens... (I am sure that just
a beautiful series of JPEG can do the job, at start 😅 )
Eh, it's open source, if people want to cheat themselves, they may. We
operate on the honor system aboard this ship.
❤️
—
Reply to this email directly, view it on GitHub
<#376 (reply in thread)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAAF22GNASXGOQDKCBW5ZJL2T5HZVAVCNFSM6AAAAABXS6RBNOVHI2DSMVQWIX3LMV43URDJONRXK43TNFXW4Q3PNVWWK3TUHMYTENBWG4YTANQ>
.
You are receiving this because you commented.Message ID:
<smcameron/space-nerds-in-space/repo-discussions/376/comments/12467106@
github.com>
|
Beta Was this translation helpful? Give feedback.
-
Regarding persistence, this commit, ae11932 Allow cargo to transit warp gates should allow cargo to transit warp gates, and persist between sessions. There are some limitations, there is the notion of transport contracts, which attach a source and destination to the cargo. This source and destination are lost in the warp gate transition, or session halt/resume, but other attributes should be preserved. I plan on doing something similar for passengers tomorrow. |
Beta Was this translation helpful? Give feedback.
-
It's not quite clear to me what you're imagining here. Perhaps you could elaborate? |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Hello, Fellow space nerds
(Pew Pew Pew 🚀 ❤️ 🔫 )
I have some suggestions (no code to provide, just concept),
But they require button mechanics that i haven't seen anywhere in the game.
Without these, the system seems harder to implement.
Two system described here, but working together
(in echo with Long range scanner is confusing and not helpful enough #261 )
The concept would make it possible to have a semblance of a readable Knowledge Base, without having to use the Demon.
(Note : the Demon's UI, in a “Simulation” version of the "player/computer's knowledge of the world" would surely be top-notch!)
We could consider this suggestion of evolution as a “planning” mode, and would therefore perhaps merit a dedicated view, rather than integration with the LRS directly.
This would make it possible to monitor the ship's perimeter, while another officer/captain/Navigator.. does the research.
But in itself, I think it's better to have this in the LRS, to deepen the Science role.
I hope this will ring some bells for this beautiful SBS that is SNIS 🤟
Concept
Objects have a new property: predictability.
Meaning :
The emplacement of planets, asteroid fields, (maybe even stations and warp-gates), can be considered predictable.
And therefore could be stored in a ship-specific knowledge base.
(In the Ship file? )
This information can perhaps be bought from the stations, for a derisory (planet)
or very high (asteroid fields, money-money) price.
And, more naturally, every time the ship scans a predictable, it is added to the ship's knowledge base.
(With scanned ship support ? automatic, or manually ? Deletable ?)
An alternative LRS view become a way to parse this ship knowledge base.
UI
For understanding, I divide the view into two obvious panels.
Panel Left, is the left part of the LRS, Panel Right, is the right part, with the permanent “Details” frame.
Let's start with Panel Right
A new button at the bottom:
SRS - LRS - KB - Details
(Knowledge Base)
Right panel now has an additional mode called Knowledge Base, which transforms the Details frame into a new model, same size :
(The ultimate mechanic would also permit to keep information on scanned vessels, but with an “unknown” position if the object is no longer scanned).
Left panel
Options at bottom
Ex: I only see planets, or stations, etc...
and the maximum range gives me so a full view of the system, with only known object.
(if possible, can see object of another system, but i presume game design will not permit this ?)
Gameplay :
Planning
A jump through Warp Gate + all the warp needed + indicate possible Starbases stops along the way.
(NO STEPHENMCAMERON - STOP TO HATE ME, RIGHT NOW)
(Or i open a discussion to ask to integration of web-radio support that cut with Red Alert system and voice-call)
Bounty hunter, cargo, mining, passenger :
This knowledge system could be applied to Starbase missions.
And bounty (but maybe it's already the case with registration query, which I haven't quite figured out).
The mission creator can, via mission script or live, add the information of the searched vessel to the KB of the player vessel.
The Bounty Hunter mission gived by Starbase also has this feature.
“Such a ship type, Such registration code, Last know coordinate etc”.
Stations also keep a register (their own KB) of past ships, and can provide, for a fee, this information to the player, by radio.
(Other bridge hunter <3)
Taking any type of mission could add object information, or even the possibility of targeting a waypoint at a distance in this KB view, since it would be decorrelated from the radar “range”.
Et voila
I hope this can bring some inspiration !
Thanks for reading
Beta Was this translation helpful? Give feedback.
All reactions