Jump to content

Orbite traballanti


tea_bag97

Recommended Posts

Negli ultimi giorni mi sono dedicato alla messa in orbita di una nuova rete di ComSat con RemoteTech in orbita intorno a Kerbin, uno dei miei primi tentativi. So che non è necessario avere valori precisi fino alla seconda cifra dopo la virgola perché gli errori rientrano in certi margini, ma mi piace fare le cose con accuratezza. Una cosa che ho sempre notato in KSP è che a volte il gioco stesso non è sicuro di quali siano apoapside e periapside, nel senso che i valori indicati nella mappa fluttuano, specialmente quando il veicolo ruota molto velocemente. Attualmente uso il flight computer di RT per effettuare le manovre e mantenere l'attitudine, quindi credo che questo pilota automatico sia forse troppo preciso e tenda a eseguire rotazioni impercettibili ma che a quanto pare confondono il gioco.

Come ho detto prima, questo problema in fin dei conti c'è sempre stato da quando ho iniziato a giocare, ma negli ultimi 2-3 giorni, nella 1.0.2, mi è successa almeno cinque volte una cosa stranissima: mentre cercavo di modificare il maneuver node, l'orbita cominciava a destabilizzarsi pesantemente fino a quando nella barra del ÃŽâ€V appariva NaN. Quindi tutto l'hud scompariva, e senza punti di riferimento non sono mai riuscito a ritrovare nemmeno Kerbin. L'unica cosa che ero in grado di vedere era la skybox. Ora, premetto che utilizzo anche Precise Node di blizzy, e che un paio di volte questo problema è successo mentre stavo editando il node utilizzando valori numerici per alterarne il tempo, ma mi sembra che non sovverta in nessun modo il codice del gioco. Potrebbe anche darsi che, avendo installato kOS, ProcParts e ProcWings, che tutte richiedono le KSPAPIExtensions, visto che le KSPAPIExtensions siano ritenute dal mio gioco incompatibili con la 1.0.2, questo possa essere in qualche modo collegato. Per il resto non so che pensare, ho provato a installare KerbalJointReinforcement ma non è cambiato nulla... che posso fare?

Link to comment
Share on other sites

Gran bella questione...

la fluttuazione dei valori orbitali per i veicoli off-rails è "normale", nel senso che è un effetto del ricalcolo dei valori svolto costantemente da KSP, e della limitata precisione dei parametri (ovvero, gli errori di arrotondamento dei parametri, tipo la velocità, comportano il continuo variare dei valori calcolati tipo periapside e apoapside).

Meno normale, ma l'ho osservato anch'io con add-ons installati, è il decadere dell'orbita pur senza forze visibili che la alterassero. Ovvio che se il veicolo viene accelerato da qualcosa, l'orbita ne sia modificata, ma con alcuni add-ons pare davvero che le modifiche avvengano senza cause esterne.

Come giustamente dici, PreciseNode non modifica l'orbita attuale, consente solo di cambiare i valori per i nodi e di determinare le orbite future di conseguenza. E' senz'altro possibile alterare i parametri fino a rendere le orbite future degeneri (es. di orbita degenere, quando l'ellisse diventa una linea retta avendo perfettamente azzerato la velocità agli apsidi), fatto che potrebbe anche creare difficoltà a KSP se non è più in grado di calcolarne correttamente i parametri (ma non l'orbita attuale). Possibile che la scomparsa dell'hud e di Kerbin nel tuo esempio sia dovuta a questo? Ci sono diversi casi in cui KSP ha prodotto simili effetti collegati ad orbite degenerate.

Con altri add-ons installati, ho invece notato spesso il decadimento progressivo dell'orbita, ma non ho mai trovato la causa (uso anche troppi add-ons per poterla isolare facilmente). In taluni casi le oscillazioni sono molto pronunciate quando il veicolo cambia orientazione, il che mi fa sospettare un errore nella gestione della physics tra le parti (come se i momenti delle diverse parti in rotazione col veicolo non dessero una risultante nulla, ma si avesse una forza spuria per errori di calcolo). Ma il problema potrebbe benissimo essere diverso.

Se ti riesce di isolare il problema, individuando azioni che portano sicuramente alla destabilizzazione (e quindi possano essere ripetute indipendentemente) con il minimo possibile di add-ons necessari perchè questo avvenga, questo potrebbe risultare un prezioso contributo per migliorare KSP.

Link to comment
Share on other sites

Riguardo all'isolare il problema, non saprei da dove cominciare... sembra avvenire senza un motivo, in genere quando passo da mapmode e viceversa. L'unica azione che avevo pensato potesse essere correlata era alterare i valori con Precise Node, ma se è come tu dici... Comunque, andando per esclusione, direi che RemoteTech è in qualche modo responsabile della scomparsa dell'HUD. Un'altra cosa da riportare è che in ogni caso interessato sul veicolo erano presenti soltanto parti di stock, ad eccezione di un solo serbatoio di ProcParts.

Tra l'altro è successo di nuovo qualche minuto fa, per fortuna in orbita bassa di Kerbin, e ho notato un paio di cose in più: Kerbin continua a trovarsi lì, non scompare, mentre il veicolo è completamente svanito. Nessuna traccia. In modalità mappa però, se faccio doppio click su Kerbin per poi premere backspace, la visuale si focalizza di nuovo dove dovrebbe essere il satellite. Dopo un po' di tempo però non sono più riuscito a passare da mapmode a zoom sul veicolo, infatti premendo M la visuale si restringeva e basta, non c'era un cambio di scena.

Poi se ritorno alla schermata dello Space Center o torno al menù principale, l'hud non riappare nella scena di gioco, mentre appare nella tracking station. Se invece chiudo il gioco seguendo la procedura standard e lo riavvio, perché premendo esc almeno il menù di pausa risponde, tutto ritorna alla normalità. Il satellite è dove lo ho lasciato prima che l'HUD scomparisse ed è come se non fosse successo nulla. Spero che queste poche informazioni che sono riuscito a raccogliere possano aiutare in qualche modo.

Link to comment
Share on other sites

Senz'altro aiuta, almeno si inizia a restringere il problema. Dunque, se dici che RemoteTech è implicato, ma PreciseNode deve essere installato per provocare le alterazioni, sarebbe da vedere se il problema avviene usando solo quei due mods. Da evitare non solo di usare altre parti, ma di avere plug-ins relativi ad altri mods caricati con KSP.

Sarebbe utile a quel punto avere una situazione di partenza (tipo un savegame) e una lista di passi da effettuare che sicuramente provocano il problema (per poter ripetere l'esperienza). Per esperienza, consiglio di riprovare tu stesso la sequenza un paio di volte, per verificare se sia effettivamente completa. Per passi intendo qualunque azione svolta, tipo passare in Map mode, aprire un maneuver node, o impostare una DeltaV su una direzione specifica; inoltre la sequenza dei passi dovrebbe riportare le osservazioni pertinenti il problema in concomitanza dei passi svolti (tipo, se si torna allo Space Center da Mapmode, e kerbin è sparito). So che è noioso, ma purtroppo necessario.

Dato che il veicolo non appare, devo ritenere che KSP abbia dei problemi. Come noto, KSP scrive sul log una quantità di informazioni utili. Leggere il log è talvolta essenziale per dare un senso a quanto si sperimenta. Personalmente, uso una utility che mi permette di vedere il log costantemente mentre KSP è aperto, molto utile per collegare subito quanto viene riportato con quello che succede in KSP. Altra cosa relativa al log, per avere più informazioni occorre modificare una linea nel file "settings.cfg" (VERBOSE_DEBUG_LOG = True, di regola è su False perchè ogni cosa riportata sul log richiede tempo, e serve vederle solo se si fanno test). Se ti riuscisse di notare cosa riporta il log quando torni in Mapmode e non trovi più il veicolo, con ogni probabilità KSP deve riportare una qualche NullReferenceException (NRE) legata alle routines implicate nel problema (anche gli add-ons riportano gli eventi nel log, quindi in genere si riesce a desumere cosa non funziona anche per loro). Non serve che mi interpreti il log, beninteso, ed io cercherò di ottenere gli stessi eventi ripetendo la tua procedura (quindi, dovrei finire con l'avere un log simile); ma l'uso del log potrebbe darti qualche idea circa cosa sta succedendo.

Link to comment
Share on other sites

Scusa se non ho risposto prima, tra un impegno e l'altro... comunque sono riuscito ad avere di nuovo il solito bug, ma stavo usando baretail e credo di essere riuscito a individuare il punto nel log che riporta cosa è successo. Nel log appaiono svariate "NullReferenceException: Object reference not set to an instance of an object PlanetariumCamera.LateUpdate ()" (la prima è a riga 179), ma anche verso la fine del paste che ho caricato (dalla riga 706) ci sono stringhe che mi sembrano strane... Soltanto che non ho disinstallato nulla, ci sono comunque le mod che utilizzo di solito, anche se oltre a RT nessuna sembra essere particolarmente coinvolta.

http://pastebin.com/2miHj3Ua

Link to comment
Share on other sites

Peccato che i messaggi nel log non siano più espliciti. "PlanetariumCamera.LateUpdate()" sta indicando che l'elenco degli oggetti su cui deve operare (per aggiornare le posizioni in Mapmode) include qualcosa di non valido. Parrebbe che qualche oggetto sia stato inserito nell'elenco senza i parametri corretti, oppure sia stato distrutto ma non rimosso dall'elenco. Forse l'esame del savegame potrebbe rendere esplicito di quale oggetto si tratti, in pratica stiamo cercando un "VESSEL { }" nel savegame che non compare in Mapmode (inclusi tutti i debris, asteroidi, tutto).

In quanto alla routine che abbia mal gestito questo oggetto... purtroppo questo potrebbe risalire ad una sessione di gioco precedente con quel savegame, quindi non avremmo messaggi nel log che ci indicano cosa sia successo. (Nota: l'esistenza di un oggetto non corretto può anche non pregiudicare il funzionamento di KSP, ma comunque rappresenta una forma di corruzione del save, tanto che se si riuscisse ad individuare, proverei ad editare il savegame per toglierlo, se il save sia da portare avanti).

L'esistenza di un oggetto errato potrebbe anche essere messa in relazione al blocco della visuale (flight/mapmode), se lo stesso oggetto finisce con l'entrare nella scena (o addirittura, sia l'oggetto su cui si focalizza la camera). Eliminando dal gioco l'oggetto su cui si focalizza la scena, la visuale passa all'oggetto precedente nell'elenco: in un caso (risolto tempo fa) la gestione in KSP non era corretta e se non c'erano più oggetti in elenco, la visuale passava ad un ipotetico oggetto con indice nullo, bloccando il gioco.

Quanto al decadimento delle traiettorie... il log non dice nulla in proposito. Posso notare alcuni add-ons che stai usando, e proverei ad escludere FAR (inclusa la dll ModularFlightIntegrator che questo usa), in quanto sicuramente è un add-on che avrebbe la potenzialità di alterare le orbite (non dico sia quello, va fatta una prova senza e ripetuta con quell'add-on, usando uno stesso savegame, meglio caricando sempre uno stesso quicksave: solo se viene osservato che le orbite si modificano in presenza dell'add-on, e non in sua assenza, si può dedurre che l'add-on sia implicato, e potrebbe ancora essere l'effetto di qualcos'altro che interferisce con quell'add-on). L'unico altro add-on che rilevo dal log che potrebbe modificare le orbite sarebbe RemoteTech, se si usasse il FlightComputer, ma ritengo che lo avresti già notato.

Circa le ultime righe "strane"del log... se intendi il ciclo di RemoteTech che fa le verifiche per i link ed i satelliti funzionanti, mi sembrano normali.

Link to comment
Share on other sites

Per fortuna poco prima che riscontrassi il bug avevo eseguito un quicksave... nel caso posso analizzare quello. Che programma consigli per farlo?

In ogni caso ho riscontrato il bug anche oggi, ma stavolta mi sono spinto un po' oltre nell'analisi: ciò che non appare è solo ed esclusivamente la possibilità di vedere il veicolo (premendo M praticamente, non so come si chiama tecnicamente) mentre in mapmode scompaiono linee delle orbite e possibilità di selezionare bersagli e tutto il resto. Tuttavia rimangono la toolbar superiore e la navball. Non sono in grado di capire se il veicolo ruota veramente, però quando imprimo una rotazione viene consumata carica, e soprattutto se incremento la manetta il carburante viene consumato e la velocità orbitale nella navball aumenta.

Prima di provare ad alterare la velocità orbitale però ho salvato, quindi ho provato, dopodiché ho ricaricato il salvataggio precedente, dove l'hud era scomparso, ed era lì. A quanto pare facendo quicksave e subito quickload risolve il problema, anche se è strano, perché ritornando al menù principale e ricaricando la stessa partita, senza chiudere il gioco, non risolve nulla.

Link to comment
Share on other sites

Per esaminare i savegame, i file di config, i .craft ed ogni altro file puramente testuale, va benissimo un qualunque editor di testo. Personalmente uso Notepad++.

Se ti è possibile, suggerirei di cominciare con un nuovo savegame: la quantità di informazioni salvate in un savegame "vissuto" può rendere difficile orizzontarsi. Sopratutto all'inizio, conviene comprendere la struttura del savegame, le diverse sezioni che lo compongono con le informazioni che ciascuna contiene. Una volta chiaro cosa si trova in un savegame "normale", può diventare più facile individuare sezioni spurie (tipo i "VESSEL { }" non corretti). D'altra parte, per riprodurre un problema (a meno di casi particolari) non servono savegame vecchi.

Nella situazione ideale per la riproduzione dei problemi, si parte con una installazione nuova di KSP, si installano solo il minimo di add-on che risultano implicati, si inizia una nuova partita e si effettuano tutti i passi che portano al problema. Evitando ogni altra azione e modifica che potrebbero modificare i risultati. Capita di imbattersi in problemi mai scoperti prima anche usando savegame "datati", ma in genere si cerca di riprodurli come sopra prima di segnalarli. Se non si riesce a riprodurli, il problema è spesso dovuto ad un savegame avariato invece che un bug in KSP o negli add-ons (magari poi si riesce anche a correggere il savegame, ma la sua sorte è ininfluente ai fini della ricerca dei bug).

Circa la sintomatologia del tuo problema, presumo possa essere corretta ma non vorrei sbilanciarmi: sarebbe meglio poter riprodurre gli stessi sintomi (ovviamente con il savegame ed i passi che ti portano alla situazione) per poterci ragionare sopra. Anche se mi sembra plausibile la possibile causa che ho indicato in precedenza, non posso escludere ci sia altro.

Circa i quicksave, quando li ricarichi, ritrovi esattamente la stessa situazione in cui eri al momento del salvataggio. Quando ritorni al menu principale, viene invece salvata automaticamente una copia del savegame in corso (il file si chiama "persistent.sfs"), quindi è ovvio che ricaricando la partita dal savegame (invece che da un quicksave) ritrovi la situazione deteriorata come prima di andare al menu principale.

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...