-
Posts
5 -
Joined
-
Last visited
Content Type
Profiles
Forums
Developer Articles
KSP2 Release Notes
Everything posted by corbeau217
-
interesting :O i had a feeling there was some weirdness with the conversion and type sizing for 64 bit the thing i was trying to explain was kinda what you mention a little at the start? like if you used approximations until you needed the precision then chose float for fast approximate precision and double for latency heavy precision honestly im curious what the difference become in the float algorithms to the double algorithms that make it that much faster. is it the size of the numbers or the fact we had more time with float and (sleepy brain cant think of other examples right now) fast inverse square root? also kinda what was mentioned by both, im aware of how floats work right now but it's also less and less acurate at larger numbers. my idea was that you have them totally seperate so you dont have the weirdness of some float numbers having their fraction portion equal to more than 1 because of the math equation you apply to it to figure out its value (i cant remember what it was but it was goofy) i feel like you both missunderstood my sleepy words and me not realising the word arrangement was unique to australia (or very uncommon elsewhere). "im willing to put money on ..." is like saying "ill wager ..." or "i bet you `undefined`, that ..." I'm not interested in giving unity money, they're doing fine as it is. Also I got the sense that Squad customised the physics engine from the unity default by the way it's been talked about by the devs but maybe my mind has been playing tricks Good points about the dlc/reputation, i hadn't thought of it that way. the customising the source code to handle their mods was more about ksp1 potentially having code to prevent copy+paste files into gamedata from another person's install, and needing to remove that then recompile (this is a guess about how it works, it makes sense to me for that to be there) also for reference: almost all of what I say is in relation to ksp1 unless I specified ksp2 bc i havent touched ksp2 yet. All guesses about the inner workings from experience with other similar... situations (NDA, was government. soz)
- 373 replies
-
- ksp1
- source code
-
(and 2 more)
Tagged with:
-
ah rip, i dont think it was very clear after reading that back and ill forget in the morning what i was even on about i mean console and logging and file system access interchangeably here since in ksp all three of those are linked (now that i say that, i wonder if it's still accessing all 3, which is 3 times the lock wait/free of a the naive approach to just directly `fprint(gameLogFsPtr,"[%s]: %s\n",System.getCurrentTime().formatAsUTC(), loggableContentStr);` or w/e it is in c#. also that kiinda points out to me that there's probably another lock again in accessing the current time which happens every update of anything at all. also soz for the java/c mix, ill rabbit hole if i google the C method for it) (had to send as another post bc i am still <5 approved and ill forget in the morning bc i overloaded brain today. thank you mods for approving this one too ) EDIT: now I have the 5 approved priveledge and sleep, yet still remember: immediately after posting this last night, I was playing ksp and noticed the behaviour of the dv calculator from stock staging with parts. I kinda messed with it in the past a bit, and it was very clear to me that it wasnt removing deleted parts from the list of parts it was including in vessel mass portion of the dv calc I'm wondering if this is because when you click to have one on your mouse, scrapyard (or adjacent mod that plays with parts and part selection) is adding it into `theRealPartList` and then when you try to delete by clicking in the part selector window to get the delete sound and have it leave your cursor, it's: 1. empties fuel 2. keeps the part in some local space for reference by mod that has a part inventory system 3. dv calc is using the same method as flowgraph, and can access these parts when trying to get the mass of current vessel (by this logic, other squad code might also be doing this for rendering and ship files etc) KER installed at the same time seems to not see these hypothetical extra loitering references so must be just accessing the list of parts in the visible workspace? maybe the visible workspace for rendering is seperate to the purchasedPartList/theRealPartList which is some list or or array or tree in the background replacing what squad code expects to exist maybe squad code actually seperated these out themself, so that you could get multicore behaviour with rendering and that it only links to the actual stuff if there's a change? could explain some of the krakens too (like as in, you have some list, you tell the gpu the list and it's like "on it boss", and renders it and handles the physics then if a part calls its "onDestroy" or maybe "onExplode" [maybe there's more than one with different behaviours] it'll then tell the part list to update whichever part was deaded? ) vry theory about it all. hope this helps c:
-
@ the humans working on flowgraph error: i have an idea for what the flowgraph lag might be caused but i dont know c# so cant verify (or how it handles under the hood other than generalist/from c/c++/java knowledge) i think the lag might be due to the time it takes to perform I/O reads and writes, and waiting for locks on things like the file system or output streams if it behaves in the way i think it is, every time there's a write for logging (kinda symptom now, but like "already exists in flowgraph" [which might be able to work with sorting and or using redblack trees or vertex cover bc it might be using struts for circles and then it's like network graphs, you gotta time to live or something, or modified dijkstra (i cant find the thing now and illegal to post screenshots of the lecture it was in at uni rip), or maybe it was bellman-ford idr ] might just be cycles or references to part A exist in child B's child which is called C and B might have C and D as a child, and D might have A as a child? [maybe the stronger joints mods do something with that? but i dont imagine LGG codes like that by the sheer number of mods they manage and what that implies about compsci knowledge] ) but uhhh, mostly, (idk how familiar u r with logging/output streams but i love them a lot) they usually have a lock they gotta wait for access to write, and if multiple readers they gotta tell them to get lost with their lock before they can write. otherwise u get into spooky land. i think there's some goofiness with it in unity but i dont imagine it's much different from a standard System.out.println/printf/cout call. any time i use the console for displaying stuff or providing info it gets substantially slower just by it needing to do all the legwork of requesting access to the console and writing to it then letting go of access each time to make sure someone else isnt i heard on another post that ksp is a bit strange with multithreading tho and that it's likely all singly threaded in logic? but idk if that's still the case, i keep forgetting to check dates. also idk if that means ksp burst is just somewhat multithreading or if it's all smoke and mirrors and we're just overworking the poor thread like that 1 network admin at a regional school but uh, each thread could be trying to add the "next" item and end up trying to add one that already exists, and rather than just giving up straight away bc it's understandable with race conditions, it's hanging around and shouting all like "im leabing this gronp" and taking up resources/locking up that poor overworked thread with asking it about what fonts to use in a powerpoint presentation (guilty :') ) (i gotta be honest, im still not sure who made the flowgraph or who's playing around with it) the other idea was if in the back-upping of ships that various mods im using are doing, maybe scrapyard too? i noticed a settings about parts and memory blurry, but it might be keeping those backups or references in an environment that the flowgraph algorithm can access so it's ransacking those references without it being the intended outcome. if C# has its own garbage collector (as implied by all the people saying it's microsoft take on java), then it might be straight up accessing the list of current active part references and then just linear search for ones that are part of the current ship, then checking if it's an option to traverse to, then if it's better to traverse to then trying for its descendants (re-doing the linear search :'), O(bruh) complexity) now that i think about it i think scrapyard was trying to access an inventory for parts, but im still not sure on how that works but there was mention in difficulty settings about pricing of part selection and (i think) something about testing for if it could make the ship cost cheaper, and the interval for testing those things? there's also the chance it's just a symptom of some rotten code smell buried in the unity game engine's asset tree structure and its navigation (again, no hablo C#/unity, but i've been accumulating resources so i can when i have free time. probably after doing computer graphics/distributed systems this semester, or after completing the intro gamedev units that all the C#/unity units are gated behind at my uni. absolute pain, but i get it ) uhh tangents there a few times, apologies if it's hard to read. i havent slept much lately, bc uni starts back in <2 weeks and i need to fix sleep schedule before then vry vry vry hope this helps, i love your work and i love the mod and what some of those settings imply. i keep filling pages with brainstorming ideas of mods and then finding scrapyard/mks/oks(/wolf?)/konstruction/kis/usi does it already or is working on it lmao tl;dr im mostly certain it's to do with time waiting for access to locks bc of an interaction with common concurrently used mods that all try to fix a thing or have different methods of fixing the thing based off assumptions of code state from last time the maker looked at the other mod (this sounds kinda finger pointy and like a water is wet but i dont mean it like that. u all have lives other than modding and cant all be 0-bug-hyperdimensional-beings like we want u to be)
-
oh my god, same thing with me! I started playing again because of for all mankind and now I've transfered degrees just so I can do more physics/aerospace units While releasing the source would be neat, and very good for mod development and the community, it causes a lot of issues for future dlc options and also can cause issues for ksp2 the majority of their core code feels the same as it has since the days of HarvesteR, and I dont imagine much of the core has changed since (other than patching and mild refactoring to include new mechanics). I don't think it's a good business idea for them to release the source code, as I'm willing to put money on the modifications made to unity (to let them do the things ksp does) are very close to what was done for ksp2, and that with a bit of time you'd be able to make ksp1 into ksp2 just by porting over content. it'd also make DLCs pointless because then you could just install mods that do what the DLC does, and recompile the source to allow it not to mention the various things already mentioned before about updates, and the potential for reputation damages from some of it, or the code bugs that have existed for a long time being pointed out (also i imagine the way they handle things may actually be rather unique yet simple, making it the "goods"/IP that take-two/private division wanted from ksp rather than the game as a whole, since then it makes it unique and hard to replicate. possibly something on the level of fast inverse square root used to perform the physics calculations within O(n log n)/constant time [which is probably also why the kraken exists bc it's probably using approximations to reduce the number of operations rather than it being just the standard float/double precision issues, which could be solved with seperating out the numerical storage into (0.0->1.0] and another for (0->UINT64_MAX) to keep the accuracy] )
- 373 replies
-
- 1
-
- ksp1
- source code
-
(and 2 more)
Tagged with:
-
How much time do you spend playing KSP each time?
corbeau217 replied to Dacou2000's topic in The Lounge
I feel like during semester it'll be much less than it is now ( i got till the 19th feb ), which is about ~6-10 hours a day or something but i took a long break after ~600 hours recorded on steam (idk the pre-steam hours) for a few years, and came back to it while watching for all mankind lol (now i have 913.3 at the time of typing this, but im about to open it) -
totm march 2020 So what song is stuck in your head today?
corbeau217 replied to SmileyTRex's topic in The Lounge
yesterday it was alternating between these two: today though it seems to be this one: -
if you're still interested in this, it could be all resources are assigned a volume per litre then the tank has volume limit, and for fuels it wasnt originally designed for you have issues like less volume, leakage like in cryotanks then it could be like for freight or something maybe?