Alt-F4 #2 - SPIDERTRON!!!

Scritto da Lovely_Santa, Robynthedevil, Xorimuth, editato da Therenas, EDLEXUS, nicgarner, tradotto da Frank_si_narra il 28-08-2020

Tabella dei Contenuti

Benvenuti nel secondo appuntamento con Alt-F4, il seguito gestito dalla comunity dei Factorio Friday Facts. E, ragazzi, se sono sempre sorpreso dalla comunity! Nel giro di ore dalla pubblicazione del primo articolo, il server Discord si è riempito di persone piene di energia ed entusiaste di aiutare con qualsiasi stadio del processo. Potreste aver notato che la pagina su cui state leggendo questo articolo ha ricevuto un paio di miglioramenti qua e là. Grazie a tutti coloro così entusiasti per il progetto!

Ma questo blog non parla del blog, bensì del gioco. Come tutti sappiamo, gli sviluppatori ci hanno sorpreso il giorno del rilascio aggiungendo Spidertron, un gigantesco ragno meccanico con zampe che si allungano a dismisura. Fin dal FFF #120 (4 anni e mezzo fa) ci era stato anticipato, perciò per l’occasione speciale abbiamo deciso di concentrarci su questo veicolo versatile e su tutti i modi in cui la comunity lo ha sfruttato per ora.

Spidertron ha saltato il Leg Day Lovely_Santa

Penso di parlare per tutta la comunity quando dico di essere stato piacevolmente sorpreso leggendo le note sull’aggiornamento della 1.0! In quanto amichevole mod maker di quartire, non ho potuto fare a meno di dare un’occhiata dietro le quinte, per vedere da più vicino il funzionamento di Spidertron, permettendo così a idee per nuove mod di nascere nella mia mente.

Come buona parte dei fan di Arch666Angel già sa, sono uno dei collaboratori delle Angel’s Mod. Siccome la Angel’s Exploration si trova ancora in uno stato primordiale di sviluppo, ho pensato non ci fosse posto più adatto per fare buon uso di Spidertron. Non vi mostrerò, però, ciò che bolle in pentola, bensì voglio condividere con voi alcuni dei problemi che ho riscontrato nello sviluppo.

Lasciateche vi introduca Crawlertron, lo spidertron marchiato Angel che si aggiungerà agli altri veicoli della famiglia dei Crawler nella Angel’s vehicles. Una caratteristica che voglio per il Crawlertron è la dimensione. Lo voglio più piccolo, decisamente più piccolo in effetti. Ciò significa che ho dovuto introdurre un fattore di scala modificabile per la texture di Spidertron, per poterlo rimpicciolire. Come voi amici mod creator avrete già potuto notare, Spidertron ha il prototipo più grande del gioco per dimensioni fisiche. Un paio d’ore e qualche tazza di deliziosità più tardi, dopo avere inserito il fattore scalare, sono potuto entrare nel gioco per controllare i risultati ottenuti. Scalare Spidertron in piccolo (fattore scalare < 1) non mi avrebbe mostrato gli evidenti errori di codice fatti, ho deciso quindi di scalarlo in grande (Fattore scalare > 1), ottenendo il seguente risultato:

Un grande Crawlertron con zampe minuscole

Come probabilmente avete sicuramente notato le zampe sembrano degli stuzzicadenti! E’ un miracolo che non si sia rotto già una gamba! Ritornando sul codice per scalare le zampe, non sono riuscito a trovare nessun errore, ho quindi scelto di chiedere aiuto sul canale dedicato al modding del server Discord di Factorio. Klonan (uno sviluppatore di Wube, riconoscibile su questa pagina che beve due birre alla volta) ha persino affermato che servirebbe riscrivere intere porzioni dell’engine di gioco per permettere alle zampe di Spidertron di essere scalate in modo corretto. Nel frattempo, Klonan mi ha chiesto di vedere se almeno rimpicciolendolo funzionasse correttamente. Beh, guardate da voi:

Un piccolo Crawlertron con gambe da palestrato

Immagino siate in grado di capire dov’è il problema qui, perché è lo stesso di prima! Possiamo osservare come non tutto funzioni sempre senza problemi, il che può portare a simpatici effetti collaterali. Sono sicuro che questo problema sarà risolto nei seguenti update; nel mentre l’ho già segnalato con un bug report agli sviluppatori. Forse in futuro tornerò a parlarvi di come Crawlertron abbia risolto i suoi problemi agli arti inferiori.

Mod Spotlight: Spidertron Engineer Robynthedevil

Una razza di artropodi sintetici affligge questa galassia. Anche un solo esemplare di questa specie inteligente a base di silicone, può convertire le risorse di un intero pianeta in metallo sferragliante e calore scottante, dedito ad un solo scopo: produrre di più. I robot distruggono flora e fauna ovunque mettono piede, e con una metodica infallibile costruiscono nuove macchine sempre più complesse e armi sempre più potenti. Il processo continua all’infinito fino a quando non riescono a lanciare una quantità incalcolabile di quei loro cloni bastardi verso le stelle; in cerca di pianeti ignari e ricchi di risorse da sfruttare. Gli spidertron sono impassibili, insensibili e infallibili. Non dormono. Non hanno pietà. La loro fabbrica deve crescere.

Un ingegnere spidertron con la sua navetta schiantatasi

La storia di Factorio è molto simile a quella di altri giochi survival/base-building di oggi: L’Ingegnere si è schiantato su un pianeta sconosciuto e deve sopravvivere fino a progredire scientificamente abbastanza da riuscire a fuggire (in questo caso: lanciare molti razzi). Si tratta di un concetto interessante, ma che rimane ai margini della nostra mente quando stiamo giocando effettivamente al gioco.

La Spidertron Engineer semplicemente rimpiazza l’ingegnere che amiamo e conosciamo, con un freddo e apatico spidertron fin dall’inizio della partita. Ci sono tecnologie sulla strada che permettono di aggiornare il personaggio (spidertron) rimpiazzando le migliorie all’armatua del vanilla. Anche solo questo piccolo cambiamento risulta in un’esperienza di gioco ben diversa. Con questa mod, mi sento più pronto fin da subito a fronteggiare i pericoli dell’universo. Lo so che non sarà così per tutti (specialmente per chi è araconofobico) ma dal mio punto di vista, un aspetto secondario del gioco viene preso e modificato ottenendo una storia e un’endgame molto più accattivanti.

Dietro le quinte: Spidertron Weapon Switcher Xorimuth

La Spidertron Weapon Switcher è una mod che permette a spidertron di utilizzare qualsiasi tipo di arma. In questo post parleremo di come funzioni dietro le quinte. Ma prima, date un’occhiata a quanto è figo in azione:

Dimostrazione di un Cambio di Armi

Se non avete mai scritto una mod per Factorio, potreste non essere a conoscenza del fatto che molte cose non possano essere modificate durante una partita, ad esempio la portata di un’arma, le grafiche di un macchinario e, quello che a me importava, gli slot per le armi di un veicolo. Ovviamente, le armi che ha spidertron possono essere modificate tramite mod, ma solo creando un nuovo ‘tipo’ di spidertron durante la schermata di caricamento.

Ho aggirato questo problema semplicemente creando cinque ‘tipi’ di spidertron, uno per ciascun tipo di arma. Perciò, cambiando arma in-game, la mod esegue i seguenti passaggi:

  1. Salva tutti i dati di rilievo riguardo lo spidertron, ad esempio gli oggetti contenuti nell’inventario e la loro posizione
  2. Elimina lo spidertron in uso
  3. Crea un nuovo spidertron con la nuova arma in posizione
  4. Carica tutti i dati di prima nel nuovo spidertron

Tutti questi passaggi avvengono in un tick, dando l’impressione di una transizione (quasi) perfetta. (Alcuni effetti collaterali, come ad esempio tutti i telecomandi degli spidertron che vengono disconnessi all’unisolo, vengono risolti in maniera complicata e sono fuori dallo scopo di questo articolo.)

Il processo funziona a meraviglia per trasferire gli oggetti fra i due inventari, ma c’è una cosa che non ha senso trasferire: le munizioni. Se è in uso un fucile a pompa con 300 proiettili caricati e si cambia arma prendendo ad esempio un lanciafiamme, i proiettili del fucile a pompa non dovrebbero (e non possono, infatti) essere trasferiti nello slot proiettili del lanciafiamme.

Per risolvere questo problema ho implementato una tabella per ciascun spidertron: nello step 1 i proiettili vengono salvati nello slot “fucile a pompa” della tabella, nello step 4 i proiettili dello slot “lanciafiamme” vengono caricati. Quando il player rimuove lo spidertron, tutti i proiettili dello stesso, vengono piazzati nell’inventario del player o lasciati per terra se non c’è spazio.

Come contribuire

Dalla scorsa settimana il processo per contribuire è diventato incredibilmente più rifinito (c’è effettivamente una procedura ora). Se avete familiarità con GitHub, date un’occhiata al project repo che spiega in dettaglio come contribuire. Se non è il vostro caso, non disperate, c’è sempre il Discord a vostra disposizione con tutti i suoi membri ad aiutarvi. Basta entrare e chiedere in giro! Se non sapete su cosa scrivere un articolo, date andate a vedere la prima edizione, sono presenti dei consigli nello stralcio in coda alla pubblicazione.

Voglio ringraziare specialmente Thaui, Dr.MagPie, xthexder, Lovely_Santa e Conor per essere i cervelli dietro a quest’operazione, avendo messo su un fantastico sito in uno o due giorni. Grazie anche a Landmine, ora abbiamo un logo e delle grafiche!