-
Posts
1,364 -
Joined
-
Last visited
Content Type
Profiles
Forums
Calendar
Everything posted by Zosimos
-
Ah ecco... non avevo capito che si trattava di un altro tool... In ogni caso, ti posto uno screen... ecco l'evento vuoto, con sopra la finestra che si apre quando si clicca su "Variable Operation": http://xs123.xs.to/xs123/08031/variabile146.jpg.xs.jpg Tu che dici?
-
Ci ho pensato anche io... ma mi appare questo errore: undefined method "bgm_play" for nil:NilClass Deve mancare qualcosa prima... o dopo!
-
Di nuovo qui a chiedere consiglio ai più esperti... Sto usando per il mio progetto il vecchio script (creato da Alato) per la visualizzazione di immagini prima del titolo. Il codice è il seguente: #===================================================== # ■ Scene_PreTitle V1.1 #----------- # Questa scena avviene prima del title e semplicemente mostra # una serie di immagini che il giocatore può saltare premendo # esc o 0. #========== # by Alato # # ______ ______ # # _ / \ / \ _ # # / / __ \ \ # # / / /_ / /| | /| | | \ \ _\ \ \ # # / /_ / / | |_/ | | |_\ \ _\ \ # # /_/ \_\ # # # #========== class Scene_PreTitle #----------- # ● Main #----------- def main @sprite = Sprite.new # Ogni display mostra un'immagine, mettete tra parantesi # il numero di frame e il nome dell'immagine(title) tra virgolette. display (200, "Emma e coccatrice") display (200, "Emma e nonna stanze.png") @sprite.dispose $scene = Scene_Title.new end #----------- # ● Display #----------- def display (frame, name_back) @sprite.bitmap = RPG::Cache.title(name_back) Graphics.transition loop do frame -=1 Graphics.update Input.update if (frame == 0) || Input.trigger?(Input::B) break end end Graphics.freeze end end Con poi l'ovvia sostituzione della riga 15 del Main con $scene = Scene_PreTitle.new Mi domandavo... è possibile far sì che si senta un brano musicale? Secondo i miei ingenuissimi calcoli, dovrebbe bastare inserire qualcosa di simile: $game_system.bgm_play($game_system.battle_bgm) Solo che ho provato ovunque... e mi dà sempre un errore di Method. Qualcuno ha consigli in merito?
-
Ciao Luis, e grazie per aver risposto direttamente! Allora, sono riuscito senza problemi a creare effetti di luce con picture nel caso di mappe piccole. Nel caso di mappe più grandi, da quanto leggevo nel tutorial, c'è necessità di utilizzare il sistema delle "variabili"... ovvero di mostrare la picture inserendo al posto delle coordinate tali "variabili"... e fin qui è facilissimo. Il problema è all'inizio: come impostare tali variabili alle coordinate? In altre parole, che vuol dire (cito dal tutorial): Per prima cosa poniamo due variabili (che chiameremo ad esempio Xeffetti – Yeffetti) alle coordinate X e Y dell’evento (scegliete “pics X” e “pics Y”) Dopodichè dovremo eseguire delle operazioni. Sottraete un valore pari ad 8 alla variabile X, e un valore pari a 16 alla variabile Y. Poi addizionate alle due variabili un valore pari alla metà in pixel della vostra immagine (ad esempio, la nostra pic è 400x560, quindi andremo ad aggiungere 200 alla variabile X, e 280 alla variabile Y.). In che modo, una volta aperto l'evento, si compiono tali operazioni? Tieni conto che io uso la versione RpgMaker Xp in inglese. Grazie mille in anticipo!
-
Per avere un po' di supporto in merito a questa lezione (che mi interessa tantissimo) posso scrivere qui? Non ho capito bene la questione delle variabili... c'è possibilità di avere una spiegazione per niubboni sulla procedura da seguire? Grazie!
-
Ho giocato alla demo, e l'ho trovata assai interessante e originale... almeno, è un modo innovativo di sfruttare rpgmaker per un progetto non rpg. L'aspetto migliore finora è costituito probabilmente dalla colonna sonora, abbastanza atipica. Anche l'idea del blog non è male... se pubblicizzata a dovere, potrebbe diventare un caso mediatico! Attenzione a qualche piccolo errore di battitura.
-
Nulla di difficile, in realtà... il menu non è opera mia, ma proviene da un vecchio script postato sul vecchio RpsShrine. La pagina dello Status è stata ottenuta modificando quella standard con il face del personaggio e alcune variazioni di posizionamento dei valori. La "ruota" è opera di uno script francese... stavo anzi pensando di aggiungere sotto di essa una picture di sfondo a mo' di "bussola", per renderla meno schematica ed esteticamente più gradevole.
-
Purtroppo con i charset l'effetto è adatto solo agli interni... oltre ad essere poco adeguato per le trasparenze... per un grande esterno, preferirei usare una grande picture... Grazie, comunque! Qualche altra idea?
-
Dunque, ho adottato da qualche tempo il sistema delle picture con aloni luminosi da applicare sulle mappe, e devo dire che mi trovo molto bene. Unico problema: le mappe più grandi di una schermata... la picture infatti segue l'eroe nel movimento! Ho provato a leggere il tutorial di Luis (qui), ma non ho capito come si usano le variabili :rovatfl: ... qualcuno con MOLTA pazienza potrebbe spiegarmi passo-passo quali sono i procedimenti per usare 'ste malefiche variabili? Grazie in anticipo a tutti!
-
Ottimo... grazie all'aiuto di Sleeping Leonheart, posso postare una nuovissima prova: http://xs223.xs.to/xs223/08022/Menu.JPG.xs.jpg E, già che ci siamo, una finestra Status che mostra le caratteristiche del PG... basata su quella del menu standard, con alcune piccole modifiche grafiche modestamente realizzate da me. http://xs123.xs.to/xs123/08022/menu2.JPG.xs.jpg
-
Grazie mille! Ora ho capito dove stava il problema... sei stato molto gentile. Ecco qui il risultato: http://xs223.xs.to/xs223/08022/Menu.JPG Grazie ancora!
-
Hai ragione... infatti vorrei cercare di togliere le caratteristiche di status nella pagina principale del menù, e lasciarle vedere nelle sottofinestre, che sono molto più dettagliate... e non comprendono immagini fuorvianti. Ho appena postato una richiesta nel supporto generale, di script me ne intendo davvero TROPPO poco...
-
Salve a tutti, riprendendo in mano il mio vechio progetto "Alysia", mi sono accorto di un piccolo problema che vorrei sottoporre all'attenzione di voi esperti di script (io sono una frana ). Per il mio menu, sto utilizzando un antico script proveniente dal vecchio RpgShrine. L'aspetto della schermata è il seguente: http://xs323.xs.to/xs323/08021/provamenu.JPG.xs.jpg Ora, il problema: è possibile fare in modo che le scritte HP e MP diventino trasparenti, ovvero che non si vedano? Infatti esse si vanno a posizionare in modo molto antiestetico direttamente SULLE facce dei personaggi... Posto qui sotto il codice, che va aggiunto tradizionalmente sopra Main. Qualcuno sa suggerirmi quali parti dovrei modificare? Grazie a tutti! #=========================================================== # - Window_Base #------------------------------------------------------------------------------ # E' la superclasse di tutte le finestre nel gioco #=============================================================== class Window_Base < Window #-------------------------------------------------------------------------- # - Inizializzazione dell'oggetto # x : Coordinate X della finestra # y : Coordinate Y della finestra # width : Larhezza della finestra # height : Altezza della finestra #-------------------------------------------------------------------------- def initialize(x, y, width, height) super() @windowskin_name = $game_system.windowskin_name self.windowskin = RPG::Cache.windowskin(@windowskin_name) self.x = x self.y = y self.width = width self.height = height self.z = 100 end #-------------------------------------------------------------------------- # - Rilascia #-------------------------------------------------------------------------- def dispose # Verrà rilasciato se il bitmap dei contenuti di una finestra # viene sistemato if self.contents != nil self.contents.dispose end super end #-------------------------------------------------------------------------- # - Acquisizione del colore del carattere # n : Numero del colore del carattere (0~7) #-------------------------------------------------------------------------- def text_color(n) case n when 0 return Color.new(255, 255, 255, 255) when 1 return Color.new(128, 128, 255, 255) when 2 return Color.new(255, 128, 128, 255) when 3 return Color.new(128, 255, 128, 255) when 4 return Color.new(128, 255, 255, 255) when 5 return Color.new(255, 128, 255, 255) when 6 return Color.new(255, 255, 128, 255) when 7 return Color.new(192, 192, 192, 255) else normal_color end end #-------------------------------------------------------------------------- # - Acquisizione del colore del carattere: Generale #-------------------------------------------------------------------------- def normal_color return Color.new(255, 255, 255, 255) end #-------------------------------------------------------------------------- # - Acquisizione del colore del carattere: Invalidità #-------------------------------------------------------------------------- def disabled_color return Color.new(255, 255, 255, 128) end #-------------------------------------------------------------------------- # - Acquisizione del colore del carattere: Sistema #-------------------------------------------------------------------------- def system_color return Color.new(192, 224, 255, 255) end #-------------------------------------------------------------------------- # - Acquisizione del colore del carattere: Criticità #-------------------------------------------------------------------------- def crisis_color return Color.new(255, 255, 64, 255) end #-------------------------------------------------------------------------- # - Acquisizione del colore del carattere: Impossibilità #-------------------------------------------------------------------------- def knockout_color return Color.new(255, 64, 0) end #--------------------------------------------------------- # Text Outline Color #------------------------------------------------------------------- def outline_color return Color.new(0, 0, 0) #Per modificare il colore del bordo cambiate i numeri end #-------------------------------------------------------------------------- # - Acquisizione del colore del carattere: Sistema #-------------------------------------------------------------------------- def system_color2 return Color.new(0, 39, 79, 255) end #-------------------------------------------------------------------------- # - Aggiornamento frame #-------------------------------------------------------------------------- def update super # Viene risistemato quando l'interfaccia grafica(skin) di una finestra # viene cambiato if $game_system.windowskin_name != @windowskin_name @windowskin_name = $game_system.windowskin_name self.contents.font.name = "Arial" self.contents.font.size = 24 self.windowskin = RPG::Cache.windowskin(@windowskin_name) end end #-------------------------------------------------------------------------- # - Disegna la grafica # actor : Personaggio # x : Posizione del disegno: Coordinate X # y : Posizione del disegno: Coordinate Y #-------------------------------------------------------------------------- def draw_actor_graphic(actor, x, y) bitmap = RPG::Cache.character(actor.character_name, actor.character_hue) cw = bitmap.width / 4 ch = bitmap.height / 4 src_rect = Rect.new(0, 0, cw, ch) self.contents.blt(x - cw / 2, y - ch, bitmap, src_rect) end #-------------------------------------------------------------------------- # - Disegna il nome # actor : Personaggio # x : Posizione del disegno: Coordinate X # y : Posizione del disegno: Coordinate Y #-------------------------------------------------------------------------- def draw_actor_name(actor, x, y) self.contents.font.name = "Arial" self.contents.font.size = 24 self.contents.font.color = normal_color self.contents.font.color = outline_color self.contents.draw_text(x-1, y-1, 120, 32, actor.name) self.contents.draw_text(x-1, y+1, 120, 32, actor.name) self.contents.draw_text(x+1, y+1, 120, 32, actor.name) self.contents.draw_text(x+1, y-1, 120, 32, actor.name) self.contents.font.color = normal_color self.contents.draw_text(x, y, 120, 32, actor.name) end #-------------------------------------------------------------------------- # - Disegna la classe # actor : Personaggio # x : Posizione del disegno: Coordinate X # y : Posizione del disegno: Coordinate Y #-------------------------------------------------------------------------- def draw_actor_class(actor, x, y) self.contents.font.name = "Arial" self.contents.font.size = 24 self.contents.font.color = normal_color self.contents.font.color = outline_color self.contents.draw_text(x-1, y-1, 120, 32, actor.class_name) self.contents.draw_text(x-1, y+1, 120, 32, actor.class_name) self.contents.draw_text(x+1, y+1, 120, 32, actor.class_name) self.contents.draw_text(x+1, y-1, 120, 32, actor.class_name) self.contents.font.color = normal_color self.contents.draw_text(x, y, 236, 32, actor.class_name) end #-------------------------------------------------------------------------- # - Disegna il livello # actor : Personaggio # x : Posizione del disegno: Coordinate X # y : Posizione del disegno: Coordinate Y #-------------------------------------------------------------------------- def draw_actor_level(actor, x, y) self.contents.font.name = "Arial" self.contents.font.size = 24 self.contents.font.color = system_color2 self.contents.draw_text(x-1, y-1, 32, 32, "LV") self.contents.draw_text(x-1, y+1, 32, 32, "LV") self.contents.draw_text(x+1, y+1, 32, 32, "LV") self.contents.draw_text(x+1, y-1, 32, 32, "LV") self.contents.font.color = system_color self.contents.draw_text(x, y, 32, 32, "LV") self.contents.font.color = outline_color self.contents.draw_text(32 + x-1, y-1, 24, 32, actor.level.to_s, 2) self.contents.draw_text(32 + x-1, y+1, 24, 32, actor.level.to_s, 2) self.contents.draw_text(32 + x+1, y+1, 24, 32, actor.level.to_s, 2) self.contents.draw_text(32 + x+1, y-1, 24, 32, actor.level.to_s, 2) self.contents.font.color = normal_color self.contents.draw_text(x + 32, y, 24, 32, actor.level.to_s, 2) end #-------------------------------------------------------------------------- # - Creazione della sequenza dello stato del personaggio per il disegno # actor : Personaggio # width : Ampiezza del disegno # need_normal : [Normale] E' richiesto o no? (Vero / Falso) #-------------------------------------------------------------------------- def make_battler_state_text(battler, width, need_normal) # Viene acquisita l'ampiezza di una parentesi brackets_width = self.contents.text_size("[]").width # Viene creata la sequanza del carattere del nome dello stato text = "" for i in battler.states if $data_states[i].rating >= 1 if text == "" text = $data_states[i].name else new_text = text + "/" + $data_states[i].name text_width = self.contents.text_size(new_text).width if text_width > width - brackets_width break end text = new_text end end end # Quando la sequanza del carattere del nome dello stato è vuota, # allora diviene "[Normale]" if text == "" if need_normal text = "[Normale]" end else # Viene allegata una parentesi text = "[" + text + "]" end # Torna alla sequenza completata dei caratteri return text end #-------------------------------------------------------------------------- # - Disegna lo stato # actor : Personaggio # x : Posizione del disegno: Coordinate X # y : Posizione del disegno: Coordinate Y # width : Ampiezza del disegno #-------------------------------------------------------------------------- def draw_actor_state(actor, x, y, width = 120) text = make_battler_state_text(actor, width, true) self.contents.font.name = "Arial" self.contents.font.size = 24 self.contents.font.color = outline_color self.contents.draw_text(x-1, y-1, width, 32, text) self.contents.draw_text(x-1, y+1, width, 32, text) self.contents.draw_text(x+1, y+1, width, 32, text) self.contents.draw_text(x+1, y-1, width, 32, text) self.contents.font.color = actor.hp == 0 ? knockout_color : normal_color self.contents.draw_text(x, y, width, 32, text) end #-------------------------------------------------------------------------- # - Disegna i punti EXP # actor : Personaggio # x : Posizione del disegno: Coordinate X # y : Posizione del disegno: Coordinate Y #-------------------------------------------------------------------------- def draw_actor_exp(actor, x, y) self.contents.font.name = "Arial" self.contents.font.size = 24 self.contents.font.color = system_color self.contents.font.color = system_color2 self.contents.draw_text(x-1, y-1, 40, 32, "EXP") self.contents.draw_text(x-1, y+1, 40, 32, "EXP") self.contents.draw_text(x+1, y+1, 40, 32, "EXP") self.contents.draw_text(x+1, y-1, 40, 32, "EXP") self.contents.font.color = system_color self.contents.draw_text(x, y, 40, 32, "EXP") self.contents.font.color = normal_color self.contents.font.color = outline_color self.contents.draw_text(10 + x-1, y-1, 84, 32, actor.exp_s, 2) self.contents.draw_text(10 +x-1, y+1, 84, 32, actor.exp_s, 2) self.contents.draw_text(10 +x+1, y+1, 84, 32, actor.exp_s, 2) self.contents.draw_text(10 +x+1, y-1, 84, 32, actor.exp_s, 2) self.contents.font.color = normal_color self.contents.draw_text(x + 10, y, 84, 32, actor.exp_s, 2) self.contents.font.color = outline_color self.contents.draw_text(124 + x-1, y-1, 12, 32, "/", 1) self.contents.draw_text(124 +x-1, y+1, 12, 32, "/", 1) self.contents.draw_text(124 +x+1, y+1, 12, 32, "/", 1) self.contents.draw_text(124 +x+1, y-1, 12, 32, "/", 1) self.contents.font.color = normal_color self.contents.draw_text(x + 124, y, 12, 32, "/", 1) self.contents.font.color = outline_color self.contents.draw_text(136 + x-1, y-1, 84, 32, actor.next_exp_s) self.contents.draw_text(136 +x-1, y+1, 84, 32, actor.next_exp_s) self.contents.draw_text(136 +x+1, y+1, 84, 32, actor.next_exp_s) self.contents.draw_text(136 +x+1, y-1, 84, 32, actor.next_exp_s) self.contents.font.color = normal_color self.contents.draw_text(x + 136, y, 84, 32, actor.next_exp_s) end #-------------------------------------------------------------------------- # - Disegna i punti HP # actor : Personaggio # x : Posizione del disegno: Coordinate X # y : Posizione del disegno: Coordinate Y # width : Ampiezza del disegno #-------------------------------------------------------------------------- def draw_actor_hp(actor, x, y, width = 144) # Disegna la sequenza dei caratteri: "HP" self.contents.font.color = system_color self.contents.font.name = "Arial" self.contents.font.size = 24 self.contents.font.color = system_color2 self.contents.draw_text(x-1, y-1, 32, 32, $data_system.words.hp) self.contents.draw_text(x-1, y+1, 32, 32, $data_system.words.hp) self.contents.draw_text(x+1, y+1, 32, 32, $data_system.words.hp) self.contents.draw_text(x+1, y-1, 32, 32, $data_system.words.hp) self.contents.font.color = system_color self.contents.draw_text(x, y, 32, 32, $data_system.words.hp) # Calcola se c'è qualche spazio che disegna i punti MaxHp if width - 32 >= 108 hp_x = x + width - 108 flag = true elsif width - 32 >= 48 hp_x = x + width - 48 flag = false end # Disegna i punti HP self.contents.font.color = actor.hp == 0 ? knockout_color : actor.hp <= actor.maxhp / 4 ? crisis_color : normal_color self.contents.font.name = "Arial" self.contents.font.size = 24 self.contents.font.color = outline_color self.contents.draw_text(hp_x - 1, y - 1, 48, 32, actor.hp.to_s, 2) self.contents.draw_text(hp_x - 1, y + 1, 48, 32, actor.hp.to_s, 2) self.contents.draw_text(hp_x + 1, y + 1, 48, 32, actor.hp.to_s, 2) self.contents.draw_text(hp_x + 1, y - 1, 48, 32, actor.hp.to_s, 2) self.contents.font.color = normal_color self.contents.draw_text(hp_x, y, 48, 32, actor.hp.to_s, 2) # Disegna i punti MaxHP if flag self.contents.font.color = normal_color self.contents.font.name = "Arial" self.contents.font.size = 24 self.contents.font.color = outline_color self.contents.draw_text(hp_x + 48 - 1, y - 1, 12, 32, "/", 1) self.contents.draw_text(hp_x + 48 + 1, y + 1, 12, 32, "/", 1) self.contents.draw_text(hp_x + 48 - 1, y + 1, 12, 32, "/", 1) self.contents.draw_text(hp_x + 48 + 1, y - 1, 12, 32, "/", 1) self.contents.font.color = normal_color self.contents.draw_text(hp_x + 48, y, 12, 32, "/", 1) self.contents.font.color = outline_color self.contents.draw_text(hp_x + 60 - 1, y - 1, 48, 32, actor.maxhp.to_s) self.contents.draw_text(hp_x + 60 - 1, y + 1, 48, 32, actor.maxhp.to_s) self.contents.draw_text(hp_x + 60 + 1, y - 1, 48, 32, actor.maxhp.to_s) self.contents.draw_text(hp_x + 60 + 1, y + 1, 48, 32, actor.maxhp.to_s) self.contents.font.color = normal_color self.contents.draw_text(hp_x + 60, y, 48, 32, actor.maxhp.to_s) end end #-------------------------------------------------------------------------- # - Disegna i punti MP # actor : Personaggio # x : Posizione del disegno: Coordinate X # y : Posizione del disegno: Coordinate Y # width : Ampiezza del disegno #-------------------------------------------------------------------------- def draw_actor_sp(actor, x, y, width = 144) # Disegna la sequenza dei caratteri: "MP" self.contents.font.color = system_color self.contents.font.name = "Arial" self.contents.font.size = 24 self.contents.font.color = system_color2 self.contents.draw_text(x-1, y-1, 32, 32, $data_system.words.sp) self.contents.draw_text(x-1, y+1, 32, 32, $data_system.words.sp) self.contents.draw_text(x+1, y+1, 32, 32, $data_system.words.sp) self.contents.draw_text(x+1, y-1, 32, 32, $data_system.words.sp) self.contents.font.color = system_color self.contents.draw_text(x, y, 32, 32, $data_system.words.sp) # Calcola se c'è qualche spazio che disegna i punti MaxMp if width - 32 >= 108 sp_x = x + width - 108 flag = true elsif width - 32 >= 48 sp_x = x + width - 48 flag = false end # Disegna i punti MP self.contents.font.color = actor.sp == 0 ? knockout_color : actor.sp <= actor.maxsp / 4 ? crisis_color : normal_color self.contents.font.name = "Arial" self.contents.font.size = 24 self.contents.font.color = outline_color self.contents.draw_text(sp_x - 1, y - 1, 48, 32, actor.sp.to_s, 2) self.contents.draw_text(sp_x - 1, y + 1, 48, 32, actor.sp.to_s, 2) self.contents.draw_text(sp_x + 1, y + 1, 48, 32, actor.sp.to_s, 2) self.contents.draw_text(sp_x + 1, y - 1, 48, 32, actor.sp.to_s, 2) self.contents.font.color = normal_color self.contents.draw_text(sp_x, y, 48, 32, actor.sp.to_s, 2) # Disegna i punti MaxMP if flag self.contents.font.color = normal_color self.contents.font.name = "Arial" self.contents.font.size = 24 self.contents.font.color = outline_color self.contents.draw_text(sp_x + 48 - 1, y - 1, 12, 32, "/", 1) self.contents.draw_text(sp_x + 48 + 1, y + 1, 12, 32, "/", 1) self.contents.draw_text(sp_x + 48 - 1, y + 1, 12, 32, "/", 1) self.contents.draw_text(sp_x + 48 + 1, y - 1, 12, 32, "/", 1) self.contents.font.color = normal_color self.contents.draw_text(sp_x + 48, y, 12, 32, "/", 1) self.contents.font.color = outline_color self.contents.draw_text(sp_x + 60 - 1, y - 1, 48, 32, actor.maxsp.to_s) self.contents.draw_text(sp_x + 60 - 1, y + 1, 48, 32, actor.maxsp.to_s) self.contents.draw_text(sp_x + 60 + 1, y - 1, 48, 32, actor.maxsp.to_s) self.contents.draw_text(sp_x + 60 + 1, y + 1, 48, 32, actor.maxsp.to_s) self.contents.font.color = normal_color self.contents.draw_text(sp_x + 60, y, 48, 32, actor.maxsp.to_s) end end #-------------------------------------------------------------------------- # - Disegna un parametro # actor : Personaggio # x : Posizione del disegno: Coordinate X # y : Posizione del disegno: Coordinate Y # type : Tipo di parametro (0~6) #-------------------------------------------------------------------------- def draw_actor_parameter(actor, x, y, type) case type when 0 parameter_name = $data_system.words.atk parameter_value = actor.atk when 1 parameter_name = $data_system.words.pdef parameter_value = actor.pdef when 2 parameter_name = $data_system.words.mdef parameter_value = actor.mdef when 3 parameter_name = $data_system.words.str parameter_value = actor.str when 4 parameter_name = $data_system.words.dex parameter_value = actor.dex when 5 parameter_name = $data_system.words.agi parameter_value = actor.agi when 6 parameter_name = $data_system.words.int parameter_value = actor.int end self.contents.font.color = system_color self.contents.font.name = "Arial" self.contents.font.size = 24 self.contents.font.color = system_color2 self.contents.draw_text(x-1, y-1, 120, 32, parameter_name) self.contents.draw_text(x-1, y+1, 120, 32, parameter_name) self.contents.draw_text(x+1, y+1, 120, 32, parameter_name) self.contents.draw_text(x+1, y-1, 120, 32, parameter_name) self.contents.font.color = system_color self.contents.draw_text(x, y, 120, 32, parameter_name) self.contents.font.color = normal_color self.contents.font.name = "Arial" self.contents.font.size = 24 self.contents.font.color = outline_color self.contents.draw_text(120 + x-1, y-1, 36, 32, parameter_value.to_s, 2) self.contents.draw_text(120 + x-1, y+1, 36, 32, parameter_value.to_s, 2) self.contents.draw_text(120 + x+1, y+1, 36, 32, parameter_value.to_s, 2) self.contents.draw_text(120 + x+1, y-1, 36, 32, parameter_value.to_s, 2) self.contents.font.color = normal_color self.contents.draw_text(x + 120, y, 36, 32, parameter_value.to_s, 2) end #-------------------------------------------------------------------------- # - Disegna il nome di un oggetto # item : Oggetto # x : Posizione del disegno: Coordinate X # y : Posizione del disegno: Coordinate Y #-------------------------------------------------------------------------- def draw_item_name(item, x, y) if item == nil return end bitmap = RPG::Cache.icon(item.icon_name) self.contents.blt(x, y + 4, bitmap, Rect.new(0, 0, 24, 24)) self.contents.font.color = normal_color self.contents.font.name = "Arial" self.contents.font.size = 24 self.contents.font.color = outline_color self.contents.draw_text(28 + x-1, y-1, 212, 32, item.name) self.contents.draw_text(28 + x-1, y+1, 212, 32, item.name) self.contents.draw_text(28 + x+1, y+1, 212, 32, item.name) self.contents.draw_text(28 + x+1, y-1, 212, 32, item.name) self.contents.font.color = normal_color self.contents.draw_text(x + 28, y, 212, 32, item.name) end end #======================================== #■ Window_Base #-------------------------------------------------------------------------- # Setting functions for the "Base" #======================================== class Window_Base < Window def draw_actor_A(actor, x, y, opacity) face = RPG::Cache.character("Bat1/" + actor.character_name, actor.character_hue) fw = face.width fh = face.height src_rect = Rect.new(0, 0, fw, fh) self.contents.blt(x - fw / 23, y - fh, face, src_rect) end end def draw_actor_battler_graphic(actor, x, y) bitmap = RPG::Cache.battler(actor.battler_name, actor.battler_hue) cw = bitmap.width ch = bitmap.height src_rect = Rect.new(0, 0, cw, ch) self.contents.blt(x - cw / 2, y - ch, bitmap, src_rect) end #=============================================================== # - Window_MenuStatus #------------------------------------------------------------------------------ # E' la finestra che mostra lo stato di un membro del gruppo nella # schermata di menù #=============================================================== class Window_MenuStatus < Window_Selectable #-------------------------------------------------------------------------- # - Inizializzazione dell'oggetto #-------------------------------------------------------------------------- def initialize super(0, 0, 640, 390) self.contents = Bitmap.new(width - 32, height - 32) @column_max = 4 bw = 155 * @column_max bh = 364 refresh self.active = false self.index = -1 self.cursor_rect.set(-200, 0, 155, 364) end #-------------------------------------------------------------------------- # - Aggiornamento #-------------------------------------------------------------------------- def refresh self.contents.clear self.contents.font.name = "Arial" self.contents.font.size = 24 @item_max = $game_party.actors.size for i in 0...$game_party.actors.size x = i % @column_max * 155 y = i / @column_max * 364 actor = $game_party.actors[i] draw_actor_A(actor, x - 50, y + 520, opacity - 100) draw_actor_graphic(actor, x + 120, y + 45) draw_actor_name(actor, x + 3, y) draw_actor_class(actor, x +3, y + 20) draw_actor_level(actor, x + 3, y + 60) draw_actor_state(actor, x +3, y + 40) self.contents.font.color = outline_color self.contents.draw_text(3 + x-1, 80 + y-1, 140, 32, "Exp.") self.contents.draw_text(3 + x-1, 80 + y+1, 140, 32, "Exp.") self.contents.draw_text(3 + x+1, 80 + y+1, 140, 32, "Exp.") self.contents.draw_text(3 + x+1, 80 + y-1, 140, 32, "Exp.") self.contents.font.color = system_color self.contents.draw_text(x +3, y + 80, 140, 32, "Exp.") # 経験値が負になった場合はNextをハイフンにする if actor.next_exp_s.to_i - actor.exp < 0 nextexp = "--------" else nextexp = (actor.next_exp_s.to_i - actor.exp).to_s end self.contents.font.color = outline_color self.contents.draw_text(24 + x-1, 80 + y-1, 100, 32, nextexp, 2) self.contents.draw_text(24 + x-1, 80 + y+1, 100, 32, nextexp, 2) self.contents.draw_text(24 + x+1, 80 + y+1, 100, 32, nextexp, 2) self.contents.draw_text(24 + x+1, 80 + y-1, 100, 32, nextexp, 2) self.contents.font.color = normal_color self.contents.draw_text(x + 24, y + 80, 100, 32, nextexp, 2) draw_actor_hp(actor, x +3, y + 185) draw_actor_sp(actor, x +3, y + 205) end end #-------------------------------------------------------------------------- # - Aggiornamento del rettangolo del cursore #-------------------------------------------------------------------------- def update_cursor_rect oldIndex = self.cursor_rect.x # カーソル位置が 0 未満の場合 if @index < 0 self.cursor_rect.empty return end # カーソルの幅を計算 cursor_width = 150 # カーソルの座標を計算 x = @index % @column_max * 155 y = @index / @column_max * 45 - self.oy # カーソルの矩形を更新 self.cursor_rect.set(x, y, cursor_width, 45) self.oy = @index / @column_max * 45 if oldIndex != self.cursor_rect.x refresh end end end #=============================================================== # - Window_Gold #------------------------------------------------------------------------------ # E' la finestra che mostra le monete #=============================================================== class Window_GoldSteps < Window_Base #-------------------------------------------------------------------------- # - Inizializzazione dell'oggetto #-------------------------------------------------------------------------- def initialize super(0, 0, 309, 96) self.contents = Bitmap.new(width - 32, height - 32) refresh end #-------------------------------------------------------------------------- # - Aggiornamento #-------------------------------------------------------------------------- def refresh self.contents.clear self.contents.font.name = "Arial" self.contents.font.size = 24 cx = contents.text_size($data_system.words.gold).width self.contents.font.color = normal_color self.contents.draw_text(0, 0, 120-cx-2, 32, $game_party.gold.to_s, 2) self.contents.font.color = system_color self.contents.draw_text(124-cx, 0, cx, 32, $data_system.words.gold, 2) self.contents.font.color = system_color self.contents.draw_text(0, 32, 120, 32, "Passi") self.contents.font.color = normal_color self.contents.draw_text(20, 32, 120, 32, $game_party.steps.to_s, 2) self.contents.font.color = system_color self.contents.draw_text(160, 0, 120, 32, "Tempo:") @total_sec = Graphics.frame_count / Graphics.frame_rate hour = @total_sec / 60 / 60 min = @total_sec / 60 % 60 sec = @total_sec % 60 text = sprintf("%02d:%02d:%02d", hour, min, sec) self.contents.font.color = normal_color self.contents.draw_text(160 - 20, 32, 120, 32, text, 2) end def update super if Graphics.frame_count / Graphics.frame_rate != @total_sec refresh end end end #===================== # ■ Window_MenuCommand #------------------------------------------------------------------------------ # メニュー用のコマンド選択を行うウィンドウです。 #===================== class Window_MenuCommand < Window_Selectable #-------------------------------------------------------------------------- # ● オブジェクト初期化 # commands : コマンド文字列の配列 #-------------------------------------------------------------------------- def initialize(commands) #===================== # コマンドの個数からウィンドウの高さを算出 super(0, 0, 330, (commands.size / 3 + 1) * 32) @column_max = 3 @item_max = commands.size @commands = commands self.contents = Bitmap.new(width - 32, (@item_max / @column_max + 1) * 32) self.contents.font.name = "Arial" self.contents.font.size = 24 refresh self.index = 0 # & #9733;============= end #-------------------------------------------------------------------------- # ● リフレッシュ #-------------------------------------------------------------------------- def refresh # & #9733;============ self.contents.clear for i in 0...@item_max draw_item(i, normal_color) end end #-------------------------------------------------------------------------- # ● 項目の描画 # index : 項目番号 # color : 文字色 #-------------------------------------------------------------------------- def draw_item(index, color) # & #9733;=============================================== self.contents.font.color = color rect = Rect.new(index % @column_max * 110, index / @column_max * 32, 80, 32) self.contents.fill_rect(rect, Color.new(0, 0, 0, 0)) self.contents.draw_text(rect, @commands[index], 1) # & #9733;============================================= end #-------------------------------------------------------------------------- # ● 項目の無効化 # index : 項目番号 #-------------------------------------------------------------------------- def disable_item(index) draw_item(index, disabled_color) end end #=============================================================== # - Scene_Menu #------------------------------------------------------------------------------ # Scena del menu #=============================================================== class Scene_Menu #-------------------------------------------------------------------------- # - Inizializzazione Oggetto # menu_index : Indice della voce selezionata #-------------------------------------------------------------------------- def initialize(menu_index = 0) @menu_index = menu_index end #-------------------------------------------------------------------------- # - Processo Principale #-------------------------------------------------------------------------- def main # Settaggio delle stringhe s1 = $data_system.words.item s2 = $data_system.words.skill s3 = $data_system.words.equip s4 = "Status" s5 = "Salva" s6 = "Esci" @command_window = Window_MenuCommand.new([s1, s2, s3, s4, s5, s6]) @command_window.index = @menu_index @command_window.z = 5 @command_window.x = 0 @command_window.y = 375 # Quando non ci sono eroi if $game_party.actors.size == 0 # Disabilita i primi 4 comandi @command_window.disable_item(0) @command_window.disable_item(1) @command_window.disable_item(2) @command_window.disable_item(3) end # Quando il salvataggio è disabilitato if $game_system.save_disabled # Disabilita il salvataggio @command_window.disable_item(4) end # Creazione finestra del tempo di gioco # @playtime_window = Window_PlayTime.new # @playtime_window.x = 0 # @playtime_window.y = 380 # @playtime_window.z = 4 @stepsgold_window = Window_GoldSteps.new @stepsgold_window.x = 320 @stepsgold_window.y = 380 # Creazione finestra dei passi #@steps_window = Window_Steps.new #@steps_window.x = 0 #@steps_window.y = 320 # Creazione finestra del denaro #@gold_window = Window_Gold.new #@gold_window.x = 0 #@gold_window.y = 416 # Creazione finestra dello status @status_window = Window_MenuStatus.new @status_window.x = 0 @status_window.y = 0 @status_window.z = 3 # Fade Graphics.transition # Loop Principale loop do # Aggiornamento Grafica Graphics.update # Aggiornamento Input Input.update # Aggiornamento Frame update # Quando cambia la scena blocca il loop if $scene != self break end end # Preparazione Fade Graphics.freeze # Eliminazione Finestre @command_window.dispose @stepsgold_window.dispose # @steps_window.dispose # @gold_window.dispose @status_window.dispose end #-------------------------------------------------------------------------- # - Aggiornamento #-------------------------------------------------------------------------- def update # Aggiorna le finestre @command_window.update @stepsgold_window.update # @gold_window.update @status_window.update # Quando è attiva la finestra dei comandi esegui update_command if @command_window.active update_command return end
-
Il problema del menu è che non riesco a rendere invisibili le scritte relative a HP e MP... credo che prima di continuare chiederò aiuto al supporto generico, magari qualche scripter potrebbe aiutarmi! Lo screen del dialogo, alla fine dei conti, è un semplice lavoro di grafica copia-incolla, anche se l'effetto finale sembra più complesso.
-
Da un punto di vista della lunghezza del gioco, dovrei esserci... credo di riuscire a terminare almeno tutta la prima parte del mio "Alysia". Ho qualche dubbio su alcuni dettagli base, spero davvero di trovare il tempo di sistemarli prima della scadenza del contest. Ce la metterò tutta. Z
-
A giudicare da quanto visto e postato finora, mi sembra un lavoro di pregevole fattura, e piuttosto elegante anche sul piano grafico. Sono curiosissimo per la demo... Un appunto: nei diversi screen dei menu e del BS gli sfondi e l'aspetto generale sembrano un po' disomogenei... impressione mia, o si tratta solo di una bozza? Comunque, splendido lavoro!
-
Aggiunto nel primo post uno screen provvisorio del menu... sto cercando di rendere meno invasive le scritte sulle immagini, ma in linea di massima il layout dovrebbe essere quello.
-
Per il momento c'è (comprensibilmente) ancora molto poco, ma lo spunto "religioso" mi pare buono, e vale assolutamente la pena continuare. Mi piace in particolare l'aspetto "morale" della questione, potrebbe implicare tematiche interessanti. Unica osservazione... non è forse meglio impostare dei protagonisti un po' più "adulti", per un argomento simile? A meno che la loro estrema giovinezza non sia funzionale al gioco, ovviamente... Attendiamo nuove!
-
Wow, addirittura quarto? Risultato più che onorevole, per essere il mio primo contest! Vedrò di far meglio la prossima volta (magari non RTP... ) Grazie e complimenti a tutti.
-
L'aspetto del gioco mi pare assai gradevole, e apprezzo il gameplay non convenzionale (so bene che non è facile impostare un gioco che non sia mero combattimento). Anche la finestra dei dialoghi è bellissima (mi piacerebbe sapere come l'hai impostata... ), e l'idea del proiettore mi pare efficace. Attendiamo sviluppi! Ps: Il chara di Lyra è delizioso.
-
Ho provato più e più volte, ma pare che ci sia un piccolo problema con lo script Antilag... mi risulta continuamente errore alla riga 126. Se poi provo a togliere l'Antilag, lo sccript funziona perfettamente, ma ci mette una vita a caricarsi... Qualcuno ha soluzioni?
-
havana, onoratissimo di essere stato commentato da un veterano come te. Come puoi vedere, ho inserito alcuni aggiornamenti (in particolare la descrizione dei 4 personaggi iniziali), nonchè qualche info ulteriore relativa al gameplay. Sul nome della protagonista, ti confesso di aver avuto dubbi anche io, ma alla fine ho deciso di conservalo com'è. Forse non è un nome tradizionalmente "fantasy"... eppure, non so perchè, l'ho visto adeguato al personaggio e alla sua grafica (che, data la mia inesperienza tecnica, sarà necessariamente "standard"...). Per il momento nel gioco funziona abbastanza bene, vedremo in seguito... a cambiarlo non ci vuole poi molto! Grazie ancora.
-
Salute Damocle, Innanzitutto grazie per le osservazioni. sono consapevole che, descritta in questa maniera, la parte introduttiva appaia senza dubbio banale. C'è un problema, però... per rendere giustizia alla trama in fase descrittiva, avrei dovuto rivelare completamente il finale! :ph34r: Infatti gran parte dei presupposti su cui si basa il mondo di Alysia saranno scoperti da Emma solo alla fine del gioco... e dovrà essere lei a decidere se conservarli o meno! In ogni caso, editerò il messaggio precedente per evitare di fornire un'impressione fuorviante. Grazie ancora! MODIFICA A posto! Modificato...
-
Zosimos presenta http://www.studibizantini.it/docs/Logo.png 1. Introduzione Il progetto "Alysia" fu inaugurato circa quattro anni fa. Ne venne fuori un gioco completo, ma mai pubblicato a causa della sana autocensura del sottoscritto. Quel primo abbozzo fu però la base di quanto sto facendo ora. Il genere scelto è il fantasy classico, opportunamente rivisitato. Il modello generale cui faccio riferimento è quello dei prodotti della vecchia scuola del DOS e della Bioware degli anni migliori, in ogni caso l'RPG occidentale dell'era pre-Morrowind. Gli obiettivi principali che mi prefiggo sono: offrire una solida storia, garantire un approccio graduale e personalizzabile al sistema di gioco, e ricercare il massimo coinvolgimento dell'utente. I tempi di realizzazione saranno molto lunghi. Si consentirà al giocatore di affrontare le vicende secondo il proprio stile, grazie alla grande flessibilità nella composizione del party e nello sviluppo dei personaggi, la cui oculata gestione risulta di fondamentale importanza ai fini del successo della missione. 2. Storia La storia è ambientata ad Alysia, una sterminata e immaginaria isola-continente, suddivisa in quattro grandi ducati. La società è organizzata in senso monarchico e feudale. La casa reale (gli Ander) risiede nella capitale Tergarya, ed è incaricata del governo generale di Alysia. Gli Ander sono in realtà ascesi al trono solo da pochi anni, dopo che l'ultimo erede maschio della precedente dinastia (i Dorgan) risultò scomparso in circostanze non meglio chiarite. A coadiuvare il governo del paese interviene anche l'Accademia dei Glysha, antichissima organizzazione sapienziale le cui origini si perdono nella notte dei tempi, e il cui ruolo è appunto quello di fornire alla casa reale le indicazioni e i suggerimenti per il regno. Dell'Accademia fanno parte i sapienti più stimati del regno. Esistono poi altre due gilde, considerate di pari importanza rispetto a quella dei Glysha, e in eterna competizione con quest'ultima: il Consesso dei Seliya, impegnati nello studio e nella conservazione della Natura, e la Legione degli Hardrar, legione militare dedita alle arti del combattimento. La protagonista di questa storia è la giovanissima Emma (10 anni) che vive nella cittadina di Barsylla, a ovest della capitale. La bambina è solita recarsi ogni mattina a lezione di medicina dalla nonna Garuna, ex accademica Glysha nota per essere una valentissima ed esperta guaritrice, anche se eccentrica e svampita; il fratello Arolyus (12 anni) lavora invece come apprendista presso la forgia locale. Si avvicina il giorno della cerimonia del Giuramento del nuovo erede al trono degli Ander, e tutta Alysia è in fibrillazione per l'avvenimento. Una mattina, Garuna riceve una strana lettera... 3. Personaggi I principali personaggi presenti fin dall'inizio del gioco: Spoiler Emma (10 anni) Bambina intelligente, acuta e sarcastica, vive in compagnia della nonna Garuna, del fratello Arolyus e del cugino Solyster. Come gli altri due, non ha mai conosciuto i suoi genitori, ufficialmente rimasti uccisi in un naufragio. Decide di incominciare ad apprendere i rudimenti delle arti guaritive su esempio della nonna; all'inizio dell'avventura, le sue capacità sono appena abbozzate, e la sua esperienza è praticamente nulla. Arolyus (12 anni) Apprendista fabbro, è il fratello e il compagno inseparabile di Emma. Allegro, ottimista e intraprendente, nutre una grande ammirazione per il cugino Solyster, e per le sue abilità in combattimento. Il suo sogno, coltivato con grande impegno, è quello di poter un giorno far parte dell'esercito reale, di cui ha un'immagine molto cavalleresca e "romanzata". Garuna (età non disponibile) E' la nonna (madre delle madri) di Emma, Arolyus e Solyster. Di lei, nel villaggio, si sa piuttosto poco, e si tratta di informazioni vaghe e generiche. Giunse a Barsylla dalla capitale Tergarya una decina di anni prima, assieme ai tre bambini. Le sue profondissime conoscenze, in particolare nella medicina, la resero immediatamente popolare presso tutta la popolazione del villaggio, e i suoi servigi erano continuamente richiesti. Su continua insistenza di Emma, acconsente ad impartirle lezioni sulle arti della guarigione. A questi, vanno aggiunti altri sei personaggi, che completeranno il party base composto dai soli Emma e Arolyus. Il giocatore potrà scegliere quali tra questi sei andranno a comporre la propria "squadra", tenendo conto che ciascuno presenta delle caratteristiche e delle abilità particolari, così come dei punti deboli: Spoiler Eliconio (nome d'arte) è un celebre bardo itinerante, esperto in languide ballate di amori tragici, decisamente vanesio e narcisista. E' un abilissimo affabulatore, sa ben trattare con chiunque incontri sulla sua strada, e conosce piuttosto bene gli ambienti urbani e cortesi. Il suo stile di combattimento è di tipo "elusivo", non disdegna manovre d'aggiramento, rallentamento e illusione. Sofraan è figlia di una delle più nobili e ricche famiglie di Tergarya, la capitale del regno. Abituata agli agi e alle comodità, è viziata, indisponente, egocentrica fino all'eccesso, e difficilissima da trattare. Compensa questi difetti con una eccellente e raffinata istruzione, e una buona conoscenza degli incantesimi Glysha, anche di alto livello. Delle tre "maghe", è la più veloce, ma quella fisicamente più debole. Orfano di madre, Garel proviene dalle Terre dell'Est, patria delle meraviglie più inaudite ma anche delle creature più pericolose. Abituato fin da piccolo a badare a sè stesso, è taciturno, scontroso, spesso anche troppo diretto. Si muove con estrema disinvoltura negli ambienti selvatici (meno bene in città), e dei tre "guerrieri" del gioco è senz'altro il più rapido e il più preciso. E' specializzato nelle armi a distanza. La bella ed esotica Zorel-Ma è, tra i sei, quella forse più stabile ed equilibrata. Originaria della Foresta di Smeraldo, è una delle poche creature di quelle parti ad aver lasciato la terra natia per spostarsi più ad Ovest, allo scopo di diventare Ambasciatrice dei Seliya presso Tergarya. Ha buona conoscenza degli incantesimi Seliya. I suoi poteri si rafforzano quando si trova in aree boscose o selvatiche, mentre nelle grandi città ha bisogno di essere equipaggiata in modo particolare. Nearcor è figlio primogenito di un alto generale della Legione degli Hardrar, ed è stato "condannato" fin dall'infanzia a seguire le orme del padre, pur essendo di indole assolutamente non bellicosa. Si tratta di un giovane goffo e di buon cuore, che predilige lo studio della grande epica antica. Dei guerrieri, Nearcor è il più lento, ma anche quello di gran lunga più forte e resistente. E' specialista di strategia e tecniche difensive, odia invece il Flusso. Delle tre "maghe", Rubinia è la più lenta, ma anche la più pericolosa, possedendo una perfetta conoscenza di alcuni tra i più devastanti incantesimi Hardrar. Nulla si sa della sua origine, nulla si sa delle sue intenzioni. Qualche dettaglio in merito alle tre Gilde presenti nel mondo di Alysia: Spoiler Accademia dei Glysha Simbolo: Fenice Azzurra Istituzione "urbana" per eccellenza, ha il suo quartier generale nel Palazzo Azzurro di Tergarya, la capitale del regno. Da sempre molti dei suoi membri trovano posto nel Consiglio Reale, allo scopo di guidare e supportare la casa regnante nelle decisioni politiche da adottare di volta in volta. L'Accademia è anche una prestigiosissima sede di elevata formazione culturale, ambita da tutti i giovani delle più nobili famiglie del regno. Le abilità dei Maestri nel campo della diplomazia, delle arti politiche e delle scienze sono note ovunque, ed ovunque apprezzate. Le discipline magiche impartite dai Glysha sono essenzialmente di carattere evasivo, in linea con l'aspetto "mediatore" dell'Accademia. Legione degli Hardras Simbolo: Cavallo Rampante Arroccato all'interno dell'imprendibile Fortezza di Granito, il quartier generale degli Xardas riflette bene il carattere inflessibile e militaresco dell'intera Gilda, che fornisce da secoli i migliori professionisti nelle difficili Arti della Guerra. Maestri insuperati di strategia, ottimi conoscitori dei diversi territori di Alysia, eccellenti guerrieri, gli Xardas subiscono fin da giovanissimi un addestramento severo e implacabile, in grado di temprare i loro corpi e i loro spiriti per la battaglia. I migliori di loro entrano a far parte della cosiddetta Guardia Azzurra di Tergarya, destinata alla protezione della Casa Reale; essa, del resto, fa spesso riferimento agli Xardas in caso di eventi bellici. Sebbene questa Gilda preferisca la strategia e il rigore militare alla magia, non disdegna l'apprendimento di incantesimi elementali anche molto potenti, finalizzati all'annientamento dell'avversario o al rafforzamento delle qualità fisiche in battaglia. Consesso dei Seliya Simbolo: Orso Tra le tre Gilde, il Consesso dei Seliya è senza dubbio quello più isolato, trovandosi al centro della impenetrabile Foresta di Smeraldo, in uno splendido palazzo che pochi possono dire di aver ammirato. Sebbene nei tempi antichi i Seliya partecipassero più attivamente alle politiche del Regno, essi si sono pian piano ritirati dalla "vita pubblica", concentrandosi piuttosto sullo studio puro, sull'approfondimento delle discipline naturali. Il carattere "druidico" dei Maestri Seliya si riflette anche sul disprezzo da loro nutrito per le macchinazioni burocratiche dei Glysha, e per l'ottusa disciplina bellica degli Xardas. La magia da loro praticata è essenzialmente difensiva e "armonizzatrice", volta ad eliminare (anche molto violentemente, a volte) gli elementi che disturbino l'equilibrio delle forze naturali. Non si trascurano alcuni incantesimi offensivi, legati specialmente alle energie della terra e della luce. [/indent] 4. Disegni/Fan Art Per il momento non disponibili. 5. Caratteristiche Tecniche/Gameplay Si tratterà di un rpg un po' particolare, in quanto "sporcato" con massicce influenze provenienti da altri generi, soprattutto lle avventure grafiche. In molti punti del gioco, non sarà possibile andare avanti se non risolvendo enigmi specifici, che richiederanno l'utilizzo di una buona dose di materia grigia. Si vuole garantire un buon grado di interazione con il mondo di gioco. Ogni scaffale, armadio e/o contenitoresarà esaminabile. I libri potranno essere letti e consultati, e forniranno informazioni anche "accessorie" sul mondo di Alysia. Gran parte delle piante e infiorescenze saranno prelevabili, e utilizzabili per creazioni alchemiche. Se i 6 "comprimari" saranno dotati di caratteristiche più o meno fisse, la crescita dei due personaggi di base (Emma e Arolyus) è totalmente personalizzabile, sicché anche il tradizionale concetto di "classe" tenderà ad essere decisamente più elastico. Superata una prima fase di "apprendimento" e sperimentazione delle diverse features e delle tre principali scuole di Magia (che in Alysia si chiama Flusso), Emma sarà costretta a scegliere una delle correnti, e potrà apprendere incantesimi di livello più avanzato. Le musiche saranno tutte originali, e composte da me. 6. Screenshot 7. Demo/Link alla versione giocabile Sarà disponibile in occasione del prossimo Contest 8. Crediti Vari Da definire. Molti sono stati gli aiuti ricevuti.
-
Rpg2S Game Contest 2007/2008
Zosimos replied to havana24's topic in Discussioni sui vecchi Game Contest
Rispetto ai lavori e ai progetti presentati dai veterani, il mio è davvero infimo... ma, con un po' di impegno, chissà... almeno un premio secondario! Ho deciso, partecipo che io!
