Modelli 3D per scenari navali
Pubblico le immagini di alcuni modelli che ho realizzato per Target Tobruk. Appena possibile mettero a disposizione anche i file per blender e ac3d.
Freccia, cacciatorpediniere italiano classe Dardo.
HMS Victorious, portaerei britannica classe Illustrious.
Nell’immagine sulla destra il modello è stato rivestito parzialmente con una texture disegnata da Ebola.
Incrociatore britannico HMS Cairo.
Modello incompleto di una batteria antiaerea QF_2_pounder.
WoW Scripting & Modding – 2
Secondo post della serie. Ci ho messo un po a trovare il tempo e, confesso, la voglia per scriverlo. Non che l’argomento non mi interessi. Però per ora ho avuto altro per la testa, per cui…
Iniziamo subito con una prima informazione utile: come mostrare gli errori di Lua. WoW prevede una opzione in proposito. Nella finestra “Interface”, tab “basic”, nella sezione display, bisogna attivare la voce “Display Lua Errors”, che si trova praticamente al centro della schermata. Attivandola i messaggi d’errore vengono mostrati in una alert. E’ scontato dire che è utile per capire l’errore commesso. Fino ad ora non essendomi accorto di questa opzione ho tirato ad indovinare ogni volta che Lua si rifiutava di fare qualcosa. Ricordatevi di disattivare l’opzione quando giocate, soprattutto se avete installato degli add-on, altrimenti rischiate di veder comparire continuamente messaggi d’errore (forse un metodo utile per capire quali add-on non funzionano più bene e che è quindi meglio disabilitare).
Non ho ancora avuto modo di provare WoWBench. Forse è il caso che lo faccia.
Nel precedente post ho scritto che esiste la versione per Windows. Oggi scopro che esiste anche una beta per mac. Bene! Già mi immaginavo di dover faticare un poco se non di dover ripiegare sulla versione Windows. Per fortuna, se si va nella pagina di istruzioni per l’installazione viene spiegato come installare questa versione.
La prima cosa da fare è installare Lua. La versione richiesta per WoWBenche è la 5.0.3. Non è possibile usare la 5.1 o le versioni successive a causa di alcune incompatibilità. WoWBench già include la versione corretta di Lua per windows. I possessori di Mac con processore PowerPC possono scaricarsi il binario da LuaBinaries. I possessori di Mac Intel, come me, devono scaricare i sorgenti e compilarli. Per chi ha un po di esperienza con la shell non è un’operazione eccessivamente complicata. Decomprimendo i sorgenti si trova nella directory il file “INSTALL” dove è spiegato come procedere per l’installazione.
La prima operazione suggerita è abilitare il supporto per il caricamento dinamico modificando il file “config” alle righe 28 e 29 (togliere il carattere ‘#’):
LOADLIB= -DUSE_DLOPEN=1 DLLIB= -ldl
Poi, basta compilare con il comando
make
e procedere all’installazione nel sistema con
sudo make install
Per richiamare l’interprete da shell è necessario che nella variabile PATH sia incluso il percorso /usr/local/bin. Per fare questo basta aggiungere la riga
export PATH=/usr/local/bin:$PATH
al file .bash_profile presente nella propria home.
A questo ci sono un paio di operazioni che è necessario fare prima di poter richiamare WoWBench. Seguendo le istruzioni, bisogna prima creare un file di configurazione e poi, su mac, modificare il file “wowbench.lua”.
Il file di configurazione contiene informazioni importanti come: la posizione di WoW (utile quando si vuole testare gli add-on); come richiamare il compilatore Lua; quale editor di testo utilizzare; il nome del nostro account di prova (non serve che sia un account reale); i nomi dei membri fittizzi del party; opzioni di debugging e altro. Esiste già il file “config-dist.lua” con una configurazione predefinita. Dopo aver rinominato il file in “config.lua” ho provato a modificarlo per far si che puntasse correttamente alla posizione di WoW, ottenendone però come risultato un mesaggio d’errore. Quindi, per il momento mi sono limitato ad impostare editor di testi (vi) e compilatore lua (luac).
Il file “wowbench.lua” richiede che la linea 173 venga rimpiazzata con la seguente:
local fil,msg = io.open(_WOWDIR.."/World of Warcraft.app/Contents/MacOS/World of Warcraft");
Basta a rendere funzionante WoWBench su Mac. Gli utenti Windows possono lasciare il file inalterato.
A questo punto si può lanciare l’emulatore da shell in questo modo:
lua wowbench.lua -f
Dopo alcuni messaggi si presenta il prompt dei comandi
cmd>
Da cui è possibile iniziare a provare i propri script.
Modello King George V
Un anno fa circa stavo realizzando con Blender un modello della HMS King George V, nave da battaglia della marina britannica utilizzata durante la seconda guerra mondiale. Si trattava di un modello con un numero di poligoni pari a poche migliaia (dai 3000 ai 5000) da utilizzare all’interno di mod per simulatori di volo o per giochi di altro tipo. Poi per varie ragioni ho smesso di lavorarci.
Come si vede nell’immagine, il modello è incompleto. Mancano parte delle sovrastrutture e parte dell’armamento. Poi è da ottimizzare, riducendo il numero di poligoni in aree in cui basta un livello basso di dettaglio. Infine, vanno definiti gli spigoli smussati per ottenere l’effetto delle superfici curve.
Il file blender e gli schemi della nave sono a disposizione di chi volesse utilizzarli, magari per completare il modello. Seguite questo il link.
WoW Scripting & Modding – 1
Visto che sto facendo degli esperimenti col LUA in Word of Warcraft ho pensato di raccontare le mie scoperte a beneficio di possibili interessati, ad esempio qualcuno tra i membri dei Templari Veggenti di Mazrigos. Il mio primo obiettivo è divertirmi e imparare a sviluppare add-on. Poi cosa farne di questo “talento” acquisito vedrò più in la.
Non cercherò di spiegare qui tutto quello che c’è da sapere per scrivere script e sviluppare add-on di WoW. Questo è semplicemente un diario del mio percorso di apprendimento. Al massimo, mi limiterò a scrivere delle problematiche che riterrò più opportuno approfondire e analizzare. Insomma, non scriverò altra documentazione. Per quella vi rimando a ciò che si può trovare già in rete.
La prima cosa che ho fatto è cercare documentazione. Dopo qualche tentativo ho raccolto un paio di indirizzi interessanti. Il primo è wowwiki, in particolare la sezione relativa alla “Interface Customization“. Altro è quello relativo al manuale di riferimento di LUA, il linguaggio di scripting utilizzato in WoW. Quindi, col browser aperto ho lanciato il gioco e sono passato alla modalità di visualizzazione su finestra.
Dentro wowwiki ho notato un tutorial denominato “UI Beginners’ guide“. Il tutorial spiega, per chi non li conoscesse, cosa sono gli slash-command, cioè quelli che è possibile richiamare dalla chat utilizzando il carattere /. Poi si passa alle macro e infine si fa qualche esempio di script. In pratica, dalla chat è possibile eseguire script utilizzando la macro “/script”. Ad esempio:
/script SendChatMessage("ti faccio un esempio", "GUILD");
Questo script composto di un solo comando scrive nella chat della vostra gilda il messaggio “ti faccio un esempio”. Come ogni spiegazione che si rispetti, si inizia sempre dal classico hello world.
Possiamo fare qualcosa di più carino utilizzando il comando SendChatMessage con una funzione LUA: string.reverse
/script SendChatMessage(string.reverse("ti faccio un esempio"), "GUILD");
Il messaggio che comparirà nella chat sarà “oipmese nu oiccaf it”, cioè il messaggio di prima scritto al contrario.
Dalla documentazione di wowwiki si scopre che il comando SendChatMessage prevede alcuni parametri, tra cui il tipo di canale a cui inviare il messaggio (“GUILD” nel nostro esempio). Se scrivere un parametro non valido, ad esempio “GULD” al posto di “GUILD”, semplicemente non accada nulla. Immagino che la stessa cosa accada se il vostro personaggio non è membro di una gilda e utilizzate “GUILD” come tipo di canale. Cioè, sembra che in caso di errore nello script WoW non mostri l’errore sullo schermo. Forse è necessario guardare da un’altra parte (una conoscenza utile da acquisire!).
Non ho trovato altri comandi che mi permettano di stampare un output su una console. Sarebbe utile poterlo fare per evitare di intasare la chat di messaggi di prova, incomprensibili agli altri giocatori. Per il momento una soluzione possibile sembra quella di mandarsi il messaggio. Ad esempio, se il mio personaggio si chiama Tenoris, dovrò scrivere:
/script SendChatMessage(string.reverse("Ammazza che roba"), "WHISPER", "Common", "Tenoris");
Adesso, scoperto come trasformare le informazioni contenute nel runtime di WoW, vediamo se riusciamo a stampare qualcosa di utile. C’è una lista di API utilizzabili in wowwiki, dove si possono trovare varie funzioni utili per raccogliere informazioni sugli argomenti più disparati. Ad esempio, per stampare la Bind Location, cioè il posto dove si ritorna quando si usa la Hearthstone, si può usare GetBindLocation:
/script SendChatMessage(GetBindLocation(), "WHISPER", "Common", "Tenoris");
Oppure, per stampare gli onor point spendibili, basta usare GetHonorCurrency:
/script SendChatMessage(tostring(GetHonorCurrency()), "WHISPER", "Common", "Tenoris");
Usate in questo modo l’utilità di queste funzioni è relativa. E’ più interessante combinarle con altre funzioni facendo uso dei costrutti del linguaggio LUA, magari all’interno di add-on. Però in un primo momento, senza buttarsi necessariamente nella scrittura di add-on, ci si potrebbe limitare ai soli script. Servirebbe un modo più comodo per interagire col runtime di WoW che non la semplice chat. Sempre da wowwiki scopro che esiste un emulatore del runtime di WoW chiamato WoWBench. E’ scritto in lua e può essere scaricato liberamente dal sourceforge. Sul sito si trova il runtime lua per Windows. Io, avendo un mac, dovrò fare diversamente. Tanto per iniziare, devo superare lo scoglio di una libreria nativa, bitlib.dll, che WoWBench usa e che dovrò rimpiazzare con la versione Mac… sempre che esista! In caso contrario, posso sempre usare Parallels.
-
Archivi
- Maggio 2009 (2)
- Febbraio 2009 (1)
- Gennaio 2009 (1)
- Dicembre 2008 (2)
- Ottobre 2008 (1)
- Settembre 2008 (5)
- Agosto 2008 (6)
- Giugno 2008 (2)
- Maggio 2008 (1)
- Aprile 2008 (1)
- Marzo 2008 (4)
- Febbraio 2008 (2)
-
Categorie
- 3d
- amenità
- amici
- animali
- apple
- atomica
- bug
- canvas
- cazzate
- css
- curiosità
- dieta
- discussioni
- divertente
- drm
- excel
- Explorer
- Firefox
- Firefox 3
- folklore
- freedom
- freeware
- gatti
- giochi
- gpl
- gwt
- hardware
- html
- html 5
- iMac
- internet
- java
- javascript
- libertà
- linux
- mac
- Macintosh
- mobile
- mod
- modellismo ferroviario
- movimenti
- navi
- news
- objective c
- open source
- Opera
- p2p
- performance
- personale
- Safari
- sdk
- seam
- sicurezza
- singleton
- software
- standard
- static methods
- storia
- svg
- sviluppo
- tecnologia
- troubleshooting
- tv
- ubuntu
- umorismo
- Uncategorized
- usabilità
- videogame
- vista
- web
- WebKit
- windows
- wise
- world of warcraft
- wwii
- xhtml
- xml
- xpath
- xslt
-
RSS
Ingressi RSS
Commenti RSS
