-
Posts
327 -
Joined
-
Last visited
Content Type
Profiles
Forums
Calendar
Everything posted by TheVillAngel
-
E' più lunga la spiegazione che tutto il procedimento in realtà, alla fine son tre eventini, mi sono concentrato molto sulo spiegare la logica perchè alla fine è quella che aiuta i maker a crescere e a capire le potenzialità del tool. Comunque sono cose belle e stimolanti da fare, mi piacerebbe che ci fosse un topic dove si possano porre delle questioni da tradurre in eventi che esulino dalle quelle classiche riproposte troppo spesso, perchè alla fine i miei tutorial vengono fuori dalle mie esigenze, con le esigenze di tutti può venire fuori tanta roba utile se si collabora. Concordo, molte volte cose che possono sembrare difficili possono essere risolte in modo banale, e il bello della programmazione (anche se con rpg maker) sta proprio lì.
-
1. Introduzione Per: RPG Maker XP/VX/Ace Autore: TheVillAngel Descrizione: Salve a tutti ragazzi, I'm back, questioni lavorative e universitarie mi hanno tenuto quasi un anno lontano dal making e dal mio progetto, ma questo non mi ha impedito, nei momenti morti, di utilizzare rpg maker per elaborare delle piccole aggiunte che serviranno al prosieguo del mio lavoro e spero possano aiutare anche voi. Il primo dei due tutorial che vi andrò a proporre tratta, come da titolo, l'implementazione dell'algoritmo per il calcolo della radice quadrata in rpg maker e un esempio del suo utilizzo, ossia il calcolo della distanza tra due punti, che nell'economia di rpg maker è utile per definire cosa succede quando due eventi, oppure l'eroe ed un evento, sono ad una certa distanza l'uno dall'altro, un esempio banale può essere la definizione del range di aggro di un npc ostile. Per questioni legate all'utilizzo di numeri decimali, purtroppo, questo metodo è utilizzabile solo dall'XP in su, poichè attraverso una piccola modifica via script, che per l'XP troverete QUI, sarà possibile utilizzare i decimali soltanto su questi tools, o almeno credo, se qualcuno è in grado di smentirmi ne sarei felice. Il prossimo tutorial invece tratterà un metodo di Pathfinding sempre ad eventi, di cui in un certo senso questo sarà propedeutico, ma non necessariamente, in quanto con altri metodi sarà possibile utilizzarlo comunque e, cosa più importante, su tutti i tools, il che è un'ottima cosa a mio avviso, data l'assenza di script su 2k e 2k3. Detto questo, possiamo iniziare. 2. Tutorial 2.1 Teoria Partiamo con un po' di teoria, utile a capire la logica che c'è dietro le operazioni che faremo, ma non necessaria, quindi, se volete, saltate al punto 2.2 Tra i diversi algoritmi esistenti per il calcolo della radice quadrata, il migliore e più facilmente applicabile al nostro Rpg Maker, nonchè quello usato anche da qualsiasi calcolatrice, è senza dubbio il Metodo di Erone, poichè è l'unico che, solo attraverso le 4 operazioni principali, (le uniche che il tool ci mette a disposizione) ci permette di estrarre la radice quadrata di un numero. Il metodo di Erone parte dal presupposto che, dato un numero X e costruendo un rettangolo di con lati che misurino L1=X e L2=1, si possa arrivare, con approssimazioni successive, ad un quadrato di lato √X Per fare ciò dovremo dunque calcolarci prima la media aritmetica dei due lati, per ottenere il primo lato del secondo rettangolo che si avicinerà al quadrato, in questo modo: L1' = (L1+L2)/2 Per ottenere, invece, il secondo lato, dovremo dividere il lato originario L1 (che corrisponde ovviamente all'area del rettangolo, poichè L1 x L2= L1 x 1 = L1) per il nuovo lato L1', quindi avremo che L2' = L1/L1' questa operazione andrebbe ripetuta finchè L1n non sia uguale a L2n, ossia finchè i lati del quadrato siano uguali e corrispondano, quindi, alla radice quadrata del primo lato che era anche area del rettangolo, ma, per un'approssimazione già ottimale, basterà ripetere l'operazione circa 9 volte. Confusi? Facciamo un esempio numerico: troviamo la √4 ora sappiamo che L1 = 4 e L2 =1, quindi facciamo: L1' = (4 + 1) / 2 = 5/2 = 2,5 L2'= 4/2,5 = 1,6 continuiamo L1'' = (2,5 + 1,6) / 2 = 4,1/2 = 2,05 L2'' = 4/2,05 = 1,95 ancora L1''' = (2,05 + 1,95) / 2 = 2 L2''' = 4/2 = 2 abbiamo trovato la radice quadrata di 4, cioè 2, allora perchè andare avanti, e soprattutto, cosa succede se andiamo avanti? Per numeri più grandi, le 3 approssimazioni non sono sufficenti, ma continuare ad approssimare non avrà alcun effetto sulla radice già trovata, vediamo perchè: L1'''' = (2 + 2) /2 = 2 L2'''' = 4/2 = 2 questa operazione dovrà essere quindi svolta 9 volte. 2.2 Implementazione Passiamo all'implementazione via codice avremo bisogno di un solo piccolo evento e di alcune variabili: poniamo la variabile L2 = 1 la variabile L1 invece assumerà il valore del numero del quale vogliamo trovare la radice (chiamiamolo X) L1 = X creiamo poi la variabile contatore, inizializzandola uguale a 0. Questa ci servirà a sapere quante volte è stata fatta l'operazione di approssimazione e quindi quando il ciclo dovrà fermarsi. contatore = 0 Ciclo Aggiungiamo 1 alla variabile 'contatore' contatore + 1 Poniamo la variabile L1' uguale alla variabile X, poichè X ci serve integro, utilizzeremo L1' per le operazioni L1' = X Sommiamo L1 ad L2 e dividiamo per 2 per ottenere il primo lato L1+L2 L1/2 Dividiamo L1' per L1 per ottenere il secondo lato L1'/L1 Poniamo L2 uguale a L1' per memorizzare il secondo lato L2 = L1' Ora diciamo al programma che se l'operazione è stata fatta 9 volte, può rompere il ciclo. If contatore = 8 rompi ciclo fine 2.3 Evento ricapitolando, l'evento sarà var L2 = 1 var L1 = X var contatore = 0 loop var contatore + 1 var L1' = X var L1+ var L2 var L1 / 2 var L1'/ var L1 var L2 = var L1' If var contatore = 8 break loop end 2.4 Distanza tra due punti Ora che abbiamo la nostra funzione per il calcolo della radice quadrata, l'implementazione della formula della distanza tra 2 punti sarà un giochetto da ragazzi, supponiamo di voler calcolare tale distanza tra il nostro eroe e l'evento 1 avremo bisogno di : 2.4.1 Evento su mappa un evento su mappa in processo parallelo che rilevi le coordinate dell'eroe e dell'evento, quindi var x = hero x var y = hero y var EV x = Ev001 x var EV y = Ev002 y 2.4.2 Evento Comune un evento comune in processo parallelo in cui impostare la nostra formula, che sappiamo essere √[(x2-x1)^2 + (y2-y1)^2] dove x2 = var x x1 = var EV x y2 = var y y1 = var EV y Ora, dato che, come sempre, i valori ci servono integri e non modificati dalle varie operazioni, eguaglieremo due nuove variabili (var distX e var distY) a var x e var y var distX = var x var distY = var y successivamente faremo x2 - x1 var distX - var EV x al quadrato var distX * var distX e y2 - y1 var distY - var EV y al quadrato var distY * var distY ed ora l'addizione var distX + var distY. A questo punto ci basterà richiamare la funzione radice quadrata e sostituire a 'var L1 = X', 'var L1= var dist X' common event: radice quadrata 2.4.3 Ricapitolando gli eventi saranno quindi Evento su mappa, processo parallelo var x = hero x var y = hero y var EV x = Ev001 x var EV y = Ev002 y Evento comune in processo parallelo var distX = var x var distY = var y var distX - var EV x var distX * var distX var distY - var EV y var distY * var distY var distX + var distY. common event: radice quadrata Evento radice quadrata modificato in questo modo var L2 = 1 var L1 = var dist X var contatore = 0 loop var contatore + 1 var L1' = var dist X var L1+ var L2 var L1 / 2 var L1'/ var L1 var L2 = var L1' If var contatore = 8 break loop end ora nella variabile L1 avrete la vostra distanza tra i due eventi, con cui potrete fare quello che volete, ad esempio far si che se la distanza è minore di 5 tile, e quindi di 5, l'evento si avvicini all'eroe o viceversa, che si senta un determinato suono, ecc. Bene, questa è la fine, sempre disponibile per qualsiasi domanda e a presto col nuovo tutorial.
-
Il download è completato, mi manca il tempo (esame tra 3 giorni ç_ç). No no ma infatti mi sembra una gilda ottima, a misura d'uomo, e credetemi, è importantissimo in un MMO, ho visto gente rovinarsi per rientrare negli standard di alcune gilde su WoW, e si perde tutto il divertimento che consiste soprattutto nel fare minchiate con gli amici, io della mia gilda ho ricordi indimenticabili per fortuna ^_^
-
A me va bene (quando inizierò a giocare XD) anche entrare in una gilda già consolidata, è utile se siamo tutti novizi o quasi avere sempre qualche punto di riferimento, e una gilda ne offre sempre tanti. Certo ci son gilde e gilde, spero non sia una di quelle di pseudo pro con la puzza sotto il naso XD ma non mi da questa impressione visto che accetta di buon grado novizi ^_^
-
fastweb ha l'ip statico, quindi il giochetto "cambio l'ip per aggirare i limiti" non funziona.
-
http://i0.kym-cdn.com/photos/images/original/000/089/665/tumblr_l96b01l36p1qdhmifo1_500.jpg Perchè nessuno considera gli utenti fastweb che con jdownloader ci si puliscono il... ehm non ci fanno nulla? Comunque mi sembra mediafire sia supportato da JDownloader, e si, secondo me è il migliore per tutto quello detto sopra.
-
Decisamente mediafire, anche perchè rapidshare limita il download a 30 Kb\s, nuova politica per attrarre più premiums, fallimentare a mio avviso. Mediafire permette download in contemporanea, non ha limiti di download o tempo di attesa, con skipscreen per firefox parte in automatico il download, che dire, è il servizio definitivo per me.
-
Ah Ecco XD, no io pensavo ad Addon che segnassero gli obbiettivi delle quest o chi droppa cosa e a che percentuale. Un database online affidabile allora?
-
I privati non sono propriamente legali ma sono di solito tollerati poiché i content sono sempre inferiori rispetto agli ufficiali e fungono da attrattiva verso gli ufficiali, data la grande presenza di bug solitamente chi vuole un'esperienza di gioco completa finirà per spostarcisi. Per quanto riguarda RO mi sembra di aver letto che neanche esiste più un server ufficiale per non rinnovato accordo Tra la casa produttrice e la server farm. Comunque volevo chiedere un'altra cosa, esistono degli Add on per il gioco? Se si, quali mi consigliate per l'exping?
-
No ma sai perchè chiedevo, se è un gioco pieno di gente che ninja lo evito ^^ li ho sempre odiati. Comunque sto scaricando, spero di avere un po' di tempo per provarlo
-
Eh ma io chiedevo per questa parte Se per "chi gli ha fatto più danni" intendi il singolo, allora un healer/tank sarà sempre svantaggiato, se intendi party allora è tutto più chiaro.
-
Ah istance pure qua, ne deduco però che le classi son tutte autonome visto il world pve, non ci sono tank/healer/dps, perchè se no col piffero che un healer riesce a droppare un buon equip da un world boss e visto che mi posso fare le istance in solo.
-
Anche questa è un'ottima cosa, non ho ID quindi, cioè se lo faccio una volta non hobisogno di aspettare il giorno dopo o una settimana per rifarlo (in WoW funziona così, se fai un'istance o un Raid prendi ID, l'ID di un'istance dura un giorno, quella dei raid una settimana), basta aspettare il respawn, o mi sbaglio? Comunque ci faccio più di un pensierino ^^
-
Sarebbe l'MvP, non mi ero accorto che era chiamato in modo diverso ^_^
-
Tanto farming fine a se stesso quindi, il che non è un male, permette di giocarselo in tranquillità. Io sono un amante del PvE in realtà, anche se non disdegno il PvP che di solito è la parte che richiede meno tempo e più adatta ad un giocatore occasionale. Per questo mi viene da chiedere com'è strutturato il PvE? Luoghi istanziati con id? O è un world PvE senza grandi necessità di organizzazione?
-
Mmh sono molto tentato, ma forse più in là, quando sarà passato il periodo esami. Giusto qualche domanda, è un gioco equip based? Se si mi sa che rinuncio, ho davvero poco tempo da dedicarci. Anche il drop rate è 100x O_O? A che nome posso whisparvi e/o a che gilda appartenete?
-
Questo gioco per essere un progetto di "prova" mi sembra ben strutturato e pensato, sembra un po' un dungeon crawler da come lo descrivi e devo dire che l'idea è molto apprezzata (da me XD). Bello anche il mapping, soprattutto quello degli interni reso, a mio avviso, molto bene. Mi piace anche l'idea della lanterna fondamentale per interagire con gli oggetti, rende tutto molto più verosimile. Seguirò, buon making^^
-
Io ho giocato per un anno e mezzo a World of Warcraft, non su retail però, non potevo permettermi l'abbonamento. Poi mi sono disintossicato, l'esperienza di gioco di un MMO non ha eguali secondo me, però sono periclosi, se perdi l'autocontrollo rischi di far passare tutto il resto in secondo piano, soprattutto se ti trovi a gestire una gilda. Comunque non l'ho mai lasciato completamente, ora gioco sporadicamente su un server PVP only, giusto per passare il tempo. WoW non ha contenuti acquistabili che stravolgono il gioco, però di contro richiede molto tempo per essere pro, e io quel tempo non ce l'ho più, anzi, in realtà non l'ho mai avuto, ma me lo ricvavo sacrificando altro.
-
Si l'idea era un'Hud laterale in verticale. Tanto saranno solo 4 slot, non sarà invasiva.
-
L'avevo pensato anch'io, solo che poi in fase di test danno problemi a me perchè f1 apre i settaggi dei tasti ad esempio. Però sarebbero i più comodi probabilmente.
-
Ah capito. Comunque considera che è solo una demo tecnica del BS, una sola mappa con i nemici, ci si perdono 5 minuti anche lì. Comunque i tasti occupati sono QASD per l'uso delle skill Z per l'attacco Spazio per il salto M per il menu L per il questbook 1234 per il cambio di strategia. C per le varie azioni X come tasto annulla.
-
Probabilmente si, ci capisco poco di script. Resta però il problema di quali tasti impostare.
-
Bene, anche se non conto di inserire moltissime mappe, anche perché bs e mapping si sviluppano in parallelo su progetti diversi per motivi di comodità. Ma tu la demo postata L'hai provata? Se si, come ti girava? Anche se è vecchiotta e alcune cose son cambiate, ma dovrebbe risultare addirittura più pesante a livello di lag rispetto alla versione attuale. Altra cosa che volevo chiedere: per quanto riguarda l'uso degli oggetti avevo intenzione di rilasciare 2 versioni del gioco, una con la possibilità di utilizzarli con i tasti 1,2,3.4 del numpad che sono molto comodi, l'altra invece per i portatili che ne sono sprovvisti, ma in quel caso non so quali tasti settare, considerando anche che i normali 1,2,3,4 sono occupati dal cambio strategia, Voi cosa suggerite? Quali sono i più comodi?
-
Io ho avuto una nonna generosa ^_^ altrimenti sarei nelle tue stesse condizioni. Comunque grazie per la disponibilità Guardian, vediamo cosa riusciamo a raffinare con Maxy e poi posto.
-
Pare di no, ma ne stavo discutendo proprio ieri con Maxy, sembra che però appesantisca parecchio, vediamo cosa riusciamo a fare. @Guardian: quella è la mia paura, facciamo una cosa, vi rilascio appena posso una versione con bs e questa cosa del teleport e mi fate un piccolo report per quanto riguarda la lag? Ho cambiato di recente pc e con un i7 e 8 gb di ram non posso rendermi conto di come potrebbe girare su Altri pc, magari qualcuno col pc più vecchio potrebbe aiutarmi, Si tratta di perderci 5 minuti
