-
Posts
3,215 -
Joined
-
Last visited
-
Days Won
4
Content Type
Profiles
Forums
Calendar
Everything posted by ProGM
-
[RPG Maker 2003] Personalizzare il proprio progetto in c++ con DynRPG
ProGM replied to ProGM's topic in Tutorial vari
Proponi proponi :3 -
[RPG Maker 2003] Personalizzare il proprio progetto in c++ con DynRPG
ProGM replied to ProGM's topic in Tutorial vari
Dopo un'occhiata veloce mi tocca bocciare lo script di testament. Nella libreria non c'è alcuna funzione che lo permette e forse non è neanche possibile farlo manualmente. Vedrò in futuro. Per quanto riguarda la minimappa... forse è possibile, ma tutte le funzioni di libreria riguardo alla gestione dei chipset pare non funzionino o non siano implementate. http://rpg-maker.cherrytree.at/dynrpg/class_r_p_g_1_1_map.html#a443757998abb4a309f971370f61f0c96 Ci posso provare cmq... Altre proposte? -
[RPG Maker 2003] Personalizzare il proprio progetto in c++ con DynRPG
ProGM replied to ProGM's topic in Tutorial vari
Ok, sarò crudele nello scartare le proposte che mi richiederanno piú di 30 minuti XD cmq ci do un occhio appena sono a casa -
[RPG Maker 2003] Personalizzare il proprio progetto in c++ con DynRPG
ProGM replied to ProGM's topic in Tutorial vari
Oddio, proponete eventuali plugin utili, se non mi costa troppo tempo li faccio. ^^ Ovvio intendo cose facili, non script che cambiano DRASTICAMENTE il gioco X°D -
[RPG Maker 2003] Personalizzare il proprio progetto in c++ con DynRPG
ProGM replied to ProGM's topic in Tutorial vari
... Guardian, uccellaccio della malora. E si che sei un coniglio XD -
[RPG Maker 2003] Personalizzare il proprio progetto in c++ con DynRPG
ProGM replied to ProGM's topic in Tutorial vari
Ho timore che nessuno ci proverà mai T_T. -
Personalizzare il proprio progetto in c++ con DynRPG 1. Introduzione Per: RPG Maker 2003 Autore: Io. Descrizione: Visto che già in due hanno chiesto di scrivere qualcosa, spiegherò rapidamente come effettuare modifiche ai propri giochi tramite questo fantastico plugin sviluppato da Cherry. Il funzionamento è semplice. Una volta scaricata e installata la patch è possibile creare delle dll di proprio pugno, indipendenti tra loro, che si occupano di modificare vari aspetti del gioco. Il plugin lo potete scaricare da qui: http://rpg-maker.cherrytree.at/dynrpg/files/dynrpg.rar E vi consiglio di tenervi sotto mano questa pagina, con tutta la documentazione in inglese: http://rpg-maker.cherrytree.at/dynrpg/index.html Due piccole precisazioni: -Questo tutorial presuppone che voi conosciate c++, o che perlomeno lo mastichiate. Non è richiesta conoscenza di programmazione ad oggetti molto specifica, basta conoscere le basi. -DynRPG è fortemente instabile e sperimentale. Ciò implica che non tutte le funzioni documentate funzionano come si deve e che spesso non sono utilizzabili. Ultima modifica: 06/12/2012. 2. Installazione Questo è un semplice riassunto/traduzione di quanto potete trovare sul sito di Cherry: 1) Create un nuovo progetto (che userete per testare il plugin) e applicate la patch che trovate qui: http://rpg-maker.cherrytree.at/dynrpg/patch.html 2) Scaricate Code::Blocks, un IDE C++ (compilatore) basato su mingW da questa apgina: http://www.codeblocks.org/downloads/binaries Scaricate la versione "grossa", ovvero quella che include mingW (esempio: codeblocks-12.11mingw-setup.exe) 3) Installate Code::Blocks e tenete segnato in un angolo la directory di installazione (es: C:\Programmi\CodeBlocks\ ) 4) Accedete alla cartella annotata nel passaggio precedente, entrate nella cartella MingW. Copiate in questa cartella il contenuto del file zip che avete scaricato precedentemente (solo i file che stanno nella cartella sdk). Confermate la sostituzione delle cartelle lib e include. 5) avviate code::Blocks e create un nuovo progetto, selezionando Dynamic Link Library. 6)Selezionate il nome della vostra DLL, facendo attenzione a non inserire spazi nel nome. Nella seconda casella inserite il percorso della cartella DynPlugins che si trova nella cartella del vostro gioco. Nell'ultimo field dovrebbe comparire qualcosa del genere: C:\Users\My Username\Documents\My Test Project\DynPlugins\are_you_sure\are_you_sure.cbp 7) Verificate che il compilatore predefinito sia GNU GCC Compiler 8) Deselezione la voce Debug 9) Sotto la voce "Release" options cambia Output Dir con ..\ (due punti e un backslash), quindi clicka Finish. 10) Sul menu Project seleziona Build Options..., quindi Linker Settings 11) Nella sezione linker libreries premete Add e inserite DynRPG, quindi confermare 12) Sempre nel menu Project selezionare Set programs' arguments... 13) Nella casella Host application premere il tasto a destra e seleziona il file RPG_RT.exe del vostro progetto di testing. 14) Nella casella Program Arguments inserire TestPlay ShowTitle Window 15) Nella schermata principale del programma, eliminare il file Main.h (remove file from project) 16) Sostituite il contenuto del file Main.cpp con: #define AUTO_DLLMAIN #include <DynRPG/DynRPG.h> A questo punto possiamo iniziare a scrivere il nostro primo plugin ^^. 3. Concetti generali Non vi spiegherò per filo e per segno come fare ogni cosa, vi spiegherò in linea di massima come funziona questo SDK. La tipologia di programmazione su cui dovremo lavorare è, se mi consentite il termine, basata sulle callback. In sostanza il gioco richiamerà delle funzioni con dei nomi documentati nella libreria all'accadere di uno specifico evento. Ad esempio, quando il gioco viene avviato, verrà richiamata la funzione onStartup(char *pluginName). Tutta il nostro lavoro si focalizza sulla sovrascrittura di queste funzioni, al fine di ottenere un comportamento desiderato. Fondamentale comprendere un paio di concetti: DynRPG supporta più DLL applicate contemporaneamente sullo stesso progetto. Nel momento in cui si verifica una condizione per cui dovrebbe essere richiamata una funzione di callback, il programma richiama TUTTE le funzioni di callback di quel tipo su ognuna delle DLL installate. Ciò significa che se si hanno 4 librerie che definiscono la funzione OnStartup, ognuna di esse sarà richiamata in ordine. Fortunatamente è possibile controllare questo comportamento. Ogni funzione callback richiede un return di tipo booleano. Se si restituisce true verrà richiamata la funzione della prossima DLL, altrimenti nessun'altra DLL potrà più controllare quella specifica condizione. Se quindi scriviamo in questo modo: bool onSetVariable(int id, int value) { if(MessageBox( NULL, // We don't need a window handle "Vuoi che qualche altra DLL catturi questo evento?", // Text "Rispondi con sincerità u.u", // Title MB_YESNO | MB_ICONQUESTION // Flags (yes/no buttons and question icon) ) == IDYES) { return true; } else { return false; } } Apparirà un message box nel momento in cui una variabile verrà settata ad un certo valore. Rispondendo positivamente alla domanda la stessa funzione verrà richiamata nella prossima DLL, altrimenti no. Non tutte le funzioni di callback hanno questo comportamento, ma questo è ampiamente documentato. Ecco un elenco di tutte le possibili funzioni di callback: http://rpg-maker.cherrytree.at/dynrpg/group__callbacks.html Ad esempio OnStartup, nel caso si restituisca il valore true il gioco proseguirà la sua esecuzione normalmente, altrimenti verrà chiuso all'avvio. Le funzioni di callback hanno come parametri le informazioni relative all'evento che si è verificato, ma non sempre queste informazioni sono sufficienti per fare quello che ci serve. Spesso avremo quindi bisogno di accedere a informazioni e settaggi del gioco in maniera più generale. Vi sono quindi una lista di variabili "globali", facilmente accessibili in ogni momento, che ci fanno da database ambulante. Ad esempio RPG::actors contiene la lista dei combattenti in battaglia, RPG::map contiene le informazioni relative alla mappa attuale, RPG::variables le variabili di gioco e così via. Ecco una lista completa: http://rpg-maker.cherrytree.at/dynrpg/group__game__objects.html Infine, altra funzione importante, è la possibilità di definire una sorta di database d'appoggio usando il file di configurazione DynRPG.ini, tramite la funzione di libreria RPG::loadConfiguration(pluginName). Un esempio completo è presente nel prossimo capitolo. 4. Un esempio commentato Mi accingo dunque a commentarvi un plugin d'esempio, disponibile nella sezione Getting Started della documentazione di Cherry, sperando che sia più utile di tanta teoria. Lo scopo di questa DLL è quello di mostrare in battaglia delle icone sulla testa dei combattenti per indicarne gli status alterati. Ecco uno screen: http://rpg-maker.cherrytree.at/dynrpg/files/screen_condition_icons.png Iniziamo, dunque: #define AUTO_DLLMAIN #include <DynRPG/DynRPG.h> #include <sstream> // For std::stringstream // We store the configuration here std::map<std::string, std::string> configuration; // We store the images of the conditions here std::map<int, RPG::Image *> images; // This handler is called on startup bool onStartup(char *pluginName) { // We load the configuration from the DynRPG.ini file here configuration = RPG::loadConfiguration(pluginName); return true; // Don't forget to return true so that the start of the game will continue! } In questa prima parte non c'è gran che: includiamo la funzione di libreria sstream, che ci servirà per fare qualche elaborazione di stringhe più tardi. Definiamo 2 variabili d'appoggio, una contenente le info di configurazione (che prenderemo dal file DynRPG.ini), l'altra contenente le immagini che ci accingiamo ad usare come icone degli status. Infine definiamo il callback OnStartup, in cui carichiamo nella variabile configuration le info dal file ini. Spiegherò in fondo come andrà formattato il contenuto del file. Entriamo ora nella funzione contenente la parte più succosa del codice, quella per mostrare le icone!. // This handler is called after a battler is drawn bool onBattlerDrawn(RPG::Battler *battler, bool isMonster, int id) { int totalWidth = 0; // We store the total width of the condition icons here // We loop through all the elements of the battler's "conditions" array here // Note that the "condition" array is one-based, thus we start at index 1 for(int i = 1; i <= battler->conditions.size; i++) { La funzione di callback su coi lavoriamo viene richiamata ogni frame, poco dopo aver disegnato su schermo un certo battler. Le tre variabili d'ingresso della funzione (RPG::Battler *battler, bool isMonster, int id) ci danno informazioni riguardo a chi è appena stato disegnato. battler contiene un puntatore all'entità "combattente", isMonster ci dice se esso è un mostro o un eroe, id ci dà l'id del mostro o player che sia all'interno del database (quello con cui ci accederemmo tramite le variabili globali, in sostanza). Definiamo una variabile d'appoggio per memorizzare la dimensione dell'icona, quindi iniziamo ad iterare tutte le possibili condizioni (status) di battaglia di quel battler. Attenzione, come scritto nella documentazione le condizioni di battaglia sono contenute in un array che inizia il conteggio da 1, non da 0!! // If the battler has the condition (see documentation)... if(battler->conditions[i] > 0) { // If the image isn't loaded yet... if(!images[i]) { // First, we create an RPG::Image object images[i] = RPG::Image::create(); // Yes, we want to use the transparent color images[i]->useMaskColor = true; // Now, we put the key name for the configuration entry together // It should be "Condition12" for condition 12, for example std::stringstream keyName; keyName << "Condition" << i; // Now, we try to load the image. If loading the image fails, // nothing special will happen (because of the "false" at the // "showErrors" parameter), the image will just be empty. images[i]->loadFromFile(configuration[keyName.str()], false); } // We add the image's width to the total width totalWidth += images[i]->width; } } Se il battler in questione ha lo status che sto iterando (o più precisamente, se ha quello status e il numero di turni rimanenti prima che se ne vada è > 0) allora: Se non è la prima volta che l'immagine di questo status viene caricata: Creo un nuovo oggetto immagine di tipo trasparente, quindi carico la grafica da un'immagine associata al nome "Condition"+IDDELLACONDIZIONE. Questo nome viene definito all'interno del file DynRPG.ini, e a fine tutorial viene spiegato come va formattato, e associa a quel nome il percorso dell'immagine da caricare. Quindi sommo alla variabile temporanea creata prima le dimensioni dell'immagine attualmente caricata e chiudo il for. Tutta questa parte di codice verrà eseguita sostanzialmente per caricare in una cache tutte le icone degli status nel caso sia la prima volta che vengano usate. // Now we need to know the Y coordinate of the top of the battler int topY; if(isMonster) { // It is a monster. We just use the monster's image to find out // its size. RPG::Monster *monster = (RPG::Monster *)battler; // First, we cast the "battler" to a "Monster" topY = monster->y - monster->image->height / 2; // Now we calculate the top position } else { // Okay, since we don't have a way to find out the size of an actor's // battle graphic, we will just "guess" that it's a normal BattleCharSet // which is 48 pixels tall. // In a "good" plugin, there would be a way to set the actual height // for each actor in the configuration, but this would be too much // for this tutorial. topY = battler->y - 48 / 2; } // We will use this variable to store the current X coordinate while we // draw the images. We will increase this variable every time we draw an // image. int currentX = battler->x - totalWidth / 2; // Okay, let's loop again through the conditions. This is necessary // because we first had to find out the total width before we could Tutta questa parte non è niente di che, semplicemente è una serie di conti per determinare le coordinate in cui posizionare le icone, in modo che non si sovrappongano e che stiano sulla testa dell'eroe. Notare che il discrimine per come posizionarle sta nel fatto che il battler attuale sia un Mostro (ovvero sta a sinistra) o un eroe. Tramite battler->x e battler->y ottengo le coordinate del battler e uso la variabile totalWidth, che rappresenta la lunghezza totale della "striscia" di icone, per centrarle per bene. Lascio a voi una lettura più accurata del codice. // start drawing the images. Now we will draw them. for(int i = 1; i <= battler->conditions.size; i++) { // If the battler has the condition (see documentation)... if(battler->conditions[i] > 0) { // Okay, here we actually draw the image on the screen! RPG::screen->canvas->draw(currentX, topY - images[i]->height, images[i]); // And we increase the current X coordinate. currentX += images[i]->width; } } Ora, dopo aver determinato la posizione di ogni grafica e caricato il tutto in cache, ci occupiamo di disegnare effettivamente le immagini su schermo, tramite il comando RPG::screen->canvas->draw, reiterando da capo tutti gli status che affliggono il battler. // Clear the condition cache which is normally used to determine which // conditions should be shown in the "info window" on top of the screen // during target selection (we don't need to display the conditions twice!) for(int i = 0; i < 5; i++) { battler->displayedConditions[i] = 0; } return true; // It's okay that the battler is drawn, so we return true. Don't forget that! } Infine azzerando il valore dell'attributo displayedConditions impedisco al menu di battaglia di mostrare scritto in che condizione stanno i mostri, in modo da evitare informazioni ridondanti per il giocatore. // This handler is called when the game exits void onExit() { // We will unload all images here. // If you are not familiar with C++ iterators: This "for" loop just iterates // through all items in "images". for(std::map<int, RPG::Image *>::const_iterator iter = images.begin(); iter != images.end(); ++iter ) { // The reason we don't use images[iter->first] instead of iter->second // is that RPG::Image::destroy also takes a reference and sets the // parameter to zero at the end. RPG::Image::destroy(images[iter->first]); } } Ultima, ma non meno importante, la funzione onExit(), che verrà richiamata alla chiusura del gioco, elimina dalla memoria le immagini della cache. Se lavorate con immagini caricate da voi ricordate sempre di eliminarle non appena non vi serviranno più o, per lo meno, alla chiusura del gioco. Ecco come dovrà essere formattato file DynRPG.ini per contenere le informazioni utili: [condition_icons] Condition2=Picture\poison.png Condition3=Picture\blind.png Condition5=Picture\berserk.png Condition6=Picture\confused.png Condition7=Picture\sleep.png Come titolo inseriamo il nome della DLL tra parentesi quadre, quindi definiamo dei nomi che vengono poi richiamati all'interno del codice. Con questo ho concluso questo tutorial. Spero vi possa essere utile! Postate qui dubbi o problemi che si presentano ;D
-
Bene, bene, vedo che l'hai rilasciato :3 Appena posso lo riscarico e rigioco. Odio rigiocare i giochi, ma per Carnelian farò un'eccezione T_T PS. Guardian contattami per mp se ti interessa u.u
-
Della serie... Il raduno più deprimente della storia... http://i49.tinypic.com/28hfjhe.jpg La riunione degli admin!!! (Guardian, ProGM, Flame, Otaku) PS wow, ho solo uno sguardo da ebete, non sono deforme! La qualità delle mie foto ai raduni è migliorata del 200% u.u *sob*
-
come si fanno a mettere tag di html diciamo...? [RISOLTO]
ProGM replied to Freank's topic in Problemi tecnici
Per motivi di sicurezza il forum blocca questo tipo di link. Per ovviare questo problema (che potrebbe presentarsi con altri tipi di forum) puoi usare il mod rewrite di apache. Eccoti una guida ^^ http://forum.html.it/forum/showthread.php?threadid=871868 è molto comodo per camuffare all'utente gli indirizzi "brutti", così come anche ai forum :3 -
Viaggio verso Oriente - [Versione Stand Alone Aggiunta]
ProGM replied to ProGM's topic in Release XP
oops eccoloqui! -
Hai usato la chat integrata sul forum? Non è studiata per girare su smartphone, quindi è probabile che non vada o.o Ti conviene scaricare una applicazione per accedere alla rete IRC e connetterti da lì. ^^
-
Ti consiglio di dare un occhio a Rai4, fanno tante serie carine, anche se intervallate da serie orrende. C'è un po' di tutto... per dirti, mi sono visto lì tutte le stagioni del doctor who e qualche episodio di primeval, battlestar galactica ecc... (Non che io segua tanto le serie, se mi capitano davanti a cena le guardo, quindi boh, prendi questa informazione con le pinze XD) Sempre su rai4 poi fanno anche qualche anime (es: madoka magica ultimamente ed ergo proxy)
-
RPG2S CHARA BATTLE ROYAL TN - VOTAZIONI 1° TURNO
ProGM replied to La fine di An Another Life's topic in R²S Challenge
1)John Nebrasky da Dead Flesh : The Asylum Commento: Devo ammettere che un soldato, di stampo americanissimo e in più in lotta con zombie non colpisce esattamente il mio gusto. In più la descrizione non lascia particolare spazio a dettagli sul personaggio in sè concentrandosi di piu che sui suoi dati personali (es: data di nascita... era così fondamentale da sostituire altri dettagli sul personaggio?). Indubbiamente un pg adatto al gioco in cui sta, ma che non metterei come primo nella lista di questo contest. Aggiungo poi che il chara visto dall'alto, fuori dal contesto del gioco, a malapena riuscivo a distinguerne i tratti. Voto: 5 2)Lazarus da Haeralis Commento: Indubbiamente un personaggio completo e ben descritto, sia dal lato caratteriale che da quello tecnico. Le immagini sono indubbiamente rappresentative. Interessante come ci sia una riscontro del background da zombie sul gameplay. Voto: 8 3)Anupo da Along the road of DREAMS Commento: Mmh devo dire, la descrizione del personaggio non mi ha dato un'ottima impressione. Sembra che tu abbia pensato prima a cosa fa il personaggio, poi ci abbia appiccicato un carattere cliché anime, senza pensare troppo al perché si comporti così. Per questo motivo sembra un pelo incoerente. Carina l'immagine animata. P.S. Le informazioni nello spoiler non ho ben capito a che servono XD Voto: 5 4)Mr Trippozza da Wild Rage Commento: Un buon personaggio di contorno da videogame, simpatico e divertente. Purtroppo essendo un personaggio di contorno non riesce a colpirmi al 100%. Apprezzo la coerenza e lo spot. XD Voto: 7 5)Nostroeroe da Our Hero! Commento: Un personaggio che viene da un gioco che ho sicuramente apprezzato per i suoi toni allegri e parodistici. Ammetto che come personaggio a sé stante non brilla, il personaggio ha senso solo nel contesto in cui è posto. La descrizione tuttavia è completa e ben strutturata. Voto: 5 6)Gunner da Shin Quest Commento: Nonostante il personaggio ricalchi un po' il cliché dell'(anti-)eroe solitario, la sua scheda mi pare ben studiata, abbastanza completa e che, nonostante stringata sulla psicologia, fa almeno intuire la tipologia di personaggio. Belle le immagini correlate. ...Dopo aver visto il video in effetti mi chiedo se non hai un pelo "mitigato" il suo carattere in questa descrizione. Mah, brucia gente, ammazza qui e là. Non direi esattamente "scontroso". E' più un Kenshiro cattivo. Voto: 7 7)Cleo da Pocket Quest! Commento: Così andrebbero proposti i personaggi di contorno di un gioco. Ha talmente tanti dettagli che potrei io, che non ho creato il personaggio, utilizzarlo in un gioco coerentemente. Niente da dire, ottimo lavoro. Voto: 9 8)Lil da Chaos Age VX Commento: Devo dire, il personaggio è interessante, abbastanza originale, il video di presentazione molto carino, ma come è presentato... beh, potevi almeno rileggere quello che hai scritto. In più non ti sei sprecato troppo nel farmi capire chi sia, questa ragazzina. Peccato, l'idea era carina. Voto: 6 9)Cammy da VII SCARS: Rebirth Commento: Ehr... sì ok spiegare qualche dettaglio, ma hai praticamente riassunto il background di un pg in 3 righe (per altro male). "Massì, no, perché è una ragazzina della razza dei *** che in effetti no, sì, la tradiscono e alla fine muoiono tutti." WTF!? Anche qui, il personaggio sembra interessante, ma non hai rappresentato in modo molto sensato chi sia, solo gli atteggiamenti che ti è parso sensato che abbia (o forse hai ripensato ai dialoghi del gioco). Se dovessi capire dalla tua descrizione chi è direi che avrei le idee un po' confuse. Voto: 6 10)Sigfreed De Dargh da Aastror War Commento: Eccoci un altro personaggio "eroe solitario", stavolta con una descrizione che osa raccontarci qualcosa del suo passato. Diciamo "osa" per non dire "abbozza", anche perché messa così sembra veramente la storia più banale del mondo: "mi hanno ucciso la famiglia quindi ammazzo tutti." Unico appunto grafico. Mi mostri un personaggio cupo e negativo, poi mi presenti una fan art con un'espressione da Justin Biber depresso... NAAAh. XD Voto: 6 11)Odessa da Crystalis Commento: Descrizione estremamente stringata, ma anche molto rappresentativa, lo apprezzo molto. Un personaggio interessante di cui mi piacerebbe seguire la storia. Forse troppo stringato? Voto: 8 12)Frost da Dragonball Ultimate Showdown Commento: Un sayan stile Broly, supercattivone e superforte, ma non hai detto niente di più. Un po' poverello e, sinceramente, mi dispiace che non sia neanche troppo affine allo stile di Toriyama (es: non ha un nome da sayan, ovvero ispirato alla verdura). Mi spiace, ma non riesce ad appassionarmi. Voto: 5 13)Disdoro da Ad Quietem Postremam Commento: Un personaggio estremamente complesso e intrigante, che attira fin dalle prime righe. Purtroppo, mi spiace dirlo, la descrizione è eccessivamente criptica per chi non ha giocato il gioco: troppi riferimenti alla trama del gioco e poche spiegazioni sui termini usati. Poteva ambire a un voto più alto. Voto: 8 14)Ao da The Kingdom of Crystal Commento: Già la prima frase che mi fa rabbrividire per l'italiano, mi inquieta continuare. In più hai perso 3 righe a dire che assomiglia a un umano, ma non hai sprecato mezza parola sul suo carattere. Più che un personaggio è una mascotte XD. Voto: 4 15)Dottore da Ribellion Commento: Arg, ma sei un erede degli antichi romani? Otto righe di descrizione senza un punto. Vabé, a parte i dettagli, mi risulta difficile comprendere appieno il personaggio. Un dottore, che dall'immagine sembra più che altro un guerriero (sayan), che sopravvive a un attentato, perde tutto e distrugge tutta la sua roba (non ho ben capito perché) e... boh, fa il medico nelle zone franche, in attesa di uccidere il suo ex migliore amico. Non è che mi convinca molto, posto così. Decisamente confuso e poco coerente. Voto: 4 16)Nastaa da Secret Pages Commento: Mh. La storia che c'è attorno al personaggio è originale e interessante, nonché il suo mestiere, ma... tutto ciò che mi lascia come personaggio è "l'omino che raccoglie pagine". Hai dato più importanza a cosa faccia rispetto a chi egli sia, e questo ti penalizza parecchio. Non dico che tutti i personaggi debbano avere una super psicologia o un super passato, ma almeno qualche abbozzo sui suoi ideali/credenze/convinzioni. Voto: 5 17)Seth Sheridan da Theia - The Crimson Eclipse Commento: Più vado avanti a leggere le descrizioni dei personaggi, più mi rendo conto quanto sia difficile riassumere in così poche righe tutto ciò che sarebbe importante dire. Un buon personaggio, ma anche tu hai preferito accennarlo piuttosto che rivelarne i dettagli. Immagino che sia per evitare spoiler, ma purtroppo dà l'idea che manchi qualcosa. Voto: 7 18)The God da Default -Remake Commento: Ehr... beh... è tipo... un Dio. Tipo possiede tutte le qualità del mondo ed è pure "ironico" (un giorno mi spiegherai cosa vuol dire essere una "persona ironica"). Boh, che ti devo dire. L'idea della lotta contro il creatore del gioco è molto carina, e ha anche senso che sia forte... Mah. Beh, si intuisce un'idea buona, ma si capisce pochissimo. Voto: 6 19)Gadh da The God's Hell Commento: Ok allora: freddo, cupo, molto distratto (non si sposa con una tizia perché c'erano dei "contrattempi"!?) e fa amicizia con gente che vuole aiutarlo, ma non subito. No, no, no non ci siamo, anche qui la descrizione caratteriale sembra appiccicata, non pensata. La frase: "pare che più la sua vita vada avanti più guadagni esperienza" cosa dovrebbe voler dire XD? Voto: 5 -
*ciuled* 3d o non 3d, c# o non c# è pur sempre un tool gratis. XD
-
Doctor Who - 8bit Parody
ProGM replied to ProGM's topic in Progetti (mobile o con altri tool o linguaggi)
Purtroppo non ci si può fare granché, tutte le guide per GB consigliano di usare i != al posto dei > e -
Doctor Who - 8bit Parody
ProGM replied to ProGM's topic in Progetti (mobile o con altri tool o linguaggi)
Gh... per quanto riguarda i nemici scemi... è un random fatto con un catorcio, purtroppo talvolta è un po' poco random. XD La riga bianca sotto ai meteoriti e il tardis blocchettoso li ho notati anche io, ma non capisco perché cazpita si verifichi XD proverò a ridare un occhio al codice °_°. -
Doctor Who - 8bit Parody
ProGM replied to ProGM's topic in Progetti (mobile o con altri tool o linguaggi)
Ignorate Flame ù.ù Non è che non ci stava, è che con tutte ste animazioni e nemici sto povero gameboy laggava XD Coomunque eccovi la musichetta su youtube: E... Ho messo UNO screen, così siete contenti XD -
Doctor Who - 8bit Parody
ProGM replied to ProGM's topic in Progetti (mobile o con altri tool o linguaggi)
Che di screen dobbiamo mettere, che basta clickare il link e lo si gioca direttamente XD? Non è manco da scaricare. XD Cmq già pensavo di caricare un video con la musichetta :3 Devo dire, questo progettino mi è stato molto utile, ho capito veramente dove andare a toccare per fare un gioco fatto e finito. Chissà che appena non abbia un po' di tempo libero non completi il tutorial! Cmq per i più impavidi ho rilasciato anche il codice in C, tutto bello completo e (quasi) ordinato :3 -
Doctor Who - 8bit Parody
ProGM replied to ProGM's topic in Progetti (mobile o con altri tool o linguaggi)
I rallentamenti dipendono sia dal computer, sia dal browser... Se non erro su chrome per windows da qualche problemino °° cercherò di risolvere. -
ProGM & Flame presentano http://elfgames.altervista.org/doctor_how/images/banner.png 1. Introduzione E' un tributo alla serie televisiva del Doctor Who (che per motivi di copyright, il gioco si chiama Doctor How.) Dialogando dopo aver visto un'episodio della serie TV, io e Flame, ci siamo immaginati come sarebbe potuta essere il tema del dottor who in 8bit, da qui siamo passati direttamente a immaginarci il gioco XD (viaggi mentali di due maker alle 4 di mattina). E così in 3 o 4 giorni abbiamo messo in piedi questo giocherello. Per gli appassionati della serie, sarà un piacevole e sciocco tributo. Per chi non la conosce, poco male, cercate di essere pacifisti e di evitare tutti gli ostacoli crudeli e cattivi che vi si presenteranno davanti! Non fatevi ingannare dalla presenza di tanti zeri nei punteggi. Non arriverete MAI a fare 9.999 punti... fidatevi. 2. Storia http://it.wikipedia....wiki/Doctor_Who 3. Personaggi Il TARDIS (Time And Relative Dimension In Space): Nel gioco ci troveremo ad impersonare la "macchina del tempo" del Dottore, dall'aspetto esteriore di una cabina telefonica di emergenza della polizia britannica. I Dalek: Eterni nemici dei signori del tempo, sono forme di vita di un pianeta alieno, mutati e inscatolati in un corpo di metallo dal malvagio scienziato Davros. (le saliere più crudeli dell'universo). 4. Caratteristiche Tecniche/Gameplay Le meccaniche del gioco/minigioco sono molto semplici: Il tasto start per iniziare. Tasti direzionali per schivare Dalek, meteoriti e spari dei dalek. Non è possibile sparare, in quanto il dottor Who aborre le armi in qualsiasi forma. Tradotto: Salvate l'universo in modo pacifico... scappando da tutto e tutti! XD Più si sopravvive, più punti si prendono. 5. Screens http://i44.tinypic.com/2nrob4w.png 6. Demo/Link alla versione giocabile È disponibile in varie versioni: Solo ROM (Giocabile con un qualsiasi emulatore per gameboy) (Attenzione: NO$GBA non è un emulatore per gameboy) ROM + codice sorgente completo Versione Gioca Online 7. Crediti Vari Grafica: Flame Programmazione: ProGM Arrangiamento musicale: ProGM Michael Hope: GBDK (compilatore C per gameboy) Lemon - Autore del Lemon music player (convertitore e riproduttore musicale per gameboy)
-
Cancellato le risposte, bloccato per 20 giorni fino a chiarimenti o.O
-
Il pifferaio di Hamelin - Ultimo aggiornamento 8/12/2010
ProGM replied to ProGM's topic in Progetti VX e VX-Ace
Ehr, sì holy, da tipo 2 anni. XDDDD
