-
Posts
124 -
Joined
-
Last visited
Content Type
Profiles
Forums
Calendar
Posts posted by espert
-
-
Guarda, io quelle risorse le ho tutte (comprate su steam nel periodo natalizio che erano scontate di molto). Se vuoi, ti passo lo script per le 8 direzioni che era incluso nel pacco.
A me piacciono molto, l'unico problema è per i tileset: sono pochi e non ci puoi fare moltissimo. Se il gioco lo basi su una sola città visitabile più qualche dungeon, allora va più che bene, altrimenti è difficile riuscire a rendere tutto il più vario possibile.
Però ammetto che le animazioni non sono un granché con quella grafica, ma almeno con esse, puoi rendere meglio giochi basati su trame più dark, dato che lo stile puccioso delle RTP di RPGMaker te lo snaturano troppo il dark theme.
-
x Guardian:
1) Sì è la mappa con teletrasporto. Ora le città le si vedono in rosso lampeggiante (ovviamente in screen non si nota l'animazione), ma quando vengono sbloccate, si colorano di blu e ci si può teletrasportare tramite un'apposita funzione che vi spiegherò più avanti.
2) Sì, rispecchiano la loro posizione. Diciamo che ogni continente è stato pensato come una trasposizione della realtà, per quanto riguarda cultura e altro. Galonde, ad esempio, sarebbe una sorta di Spagna, mentre Valumen è una specie di Inghilterra bretone. Kisuba sarebbe una piccola regione Giapponese in stile feudale, separata da Mizumya (che si trova dall'altra parte del mare), poichè sono quegli abitanti che hanno preferito spostarsi più lontano per via delle guerre, formando poi un continente loro in quel piccolo spazio su mappa.
x Cris:
Grazie. Ma come dice anche Buddy, è più ripreso da D&D/Pathfinder che da Final Fantasy. I 17 personaggi poi sono in via di "scrittura", poichè nonostante avessi trovato le immagini, ad un tratto, mi sono reso conto che c'era qualcosa che non andava. Chiamatemi pazzo, ma mi dava enormemente fastidio non avere personaggi di colore nè nel party nè tra gli npc. Perciò ho contattato una mia amica che sa disegnare e le ho chiesto se le andava di disegnarmi i mezzi busti e i faceset dei chara. Per i charasets, invece, dovrò vedere come fare, perchè non sono in grado di farli e dovrò vedere se trovo qualche anima pia che potrà realizzarmeli. Altrimenti, almeno per questa volta, li farò poco somiglianti alla loro controparte disegnata, utilizzando quei programmi che ci sono in giro per la costruzione di chara personalizzati. Ma almeno sarà un inizio.
x Buddy:
Ottima correzione :D
-
#Update#
Un immagine presa dalla mappa del gioco. Su di essa potrete scegliere la destinazione, man mano che avrete attivato determinati "oggetti" che vi garantiranno un immediato teletrasporto nel luogo da voi scelto.
http://i62.tinypic.com/2q084fp.jpg
-
Ahahahahahahah d'accordo d'accordo XD
Allora lo tolgo. Meno male non mi hanno creato problemi gli altri script............ finora XD
-
Ciao Holy,
Scusa se ti disturbo, ma avrei un problema...
Praticamente, nel mio progetto, c'è uno script di moghunter (Animated Title A (v2.2)) che non mi fa partire il tuo script del logo, facendo comparire solo il suo di logo.
Ti copio incollo lo script, così magari mi sai dire se c'è qualcosa da modificare:
#==============================================================================
# +++ MOG - Animated Title A (v2.2) +++
#==============================================================================
# By Moghunter
# http://www.atelier-rgss.com/
#==============================================================================
# Tela de titulo animado, com logo, imagens aleatórias e outros efeitos visuais.
#==============================================================================
#==============================================================================
# IMAGENS NECESSÁRIAS
#==============================================================================
# Serão necessários as seguintes imagens na pasta Graphics/Titles2/
#
# Cursor.png
# Commmand_Name.png (image filename = name of command)
# Particle.png (Opcional)
# Logo.jpg (Opcional)
# Animated.png (Opcional)
#==============================================================================
#==============================================================================
# NOTA 1 - Para definir a imagem de texto basta selecionar no banco de dados
# a imagem do titulo numero 2 (Segunda camada)
#==============================================================================
#==============================================================================
# NOTA 2 - O nome da imagem de comando é iguál ao nome do comando definido
# no banco de dados do Rpg Maker.
#==============================================================================
#==============================================================================
# ● Histórico (Version History)
#==============================================================================
# v 2.2 - Possibilidade de colocar valores de movemento negativo nas partículas.
# v 2.1 - Correção do Bug quando a quantidade de imagens aleatórias é definida
# com a quantidade menor que 1.
# v 2.0 - Adição do Sprite Animado. (Opcional)
# - Adição de cores aleatórias nas partículas.
# - Adição do multiplas camadas de imagens. (Opcional)
# - Adição do efeito Wave no texto do titulo.
# - Opção de definir a velocidade de movimento das partículas.
# - Opção de ativar ou não o tremor na seleção de comando.
#
# v 1.2 - Melhoria no sistema de dispose de imagens.
#
# v 1.1 - Opção de pular o logo ao apertar alguma tecla.
# - Adição de comandos em pictures.
# - Adição de cursor de comando.
#==============================================================================
module MOG_SCENE_TITLE_A
#--------------------------------------------------------------------------
# ▼ LOGO ▼
#--------------------------------------------------------------------------
# Apresenta um Logo ao começar a tela de titulo.
# Será necessário ter a imagem LOGO.jpg (png) na pasta Graphics/Title2
#--------------------------------------------------------------------------
# Ativar Logo
LOGO = false
# Duração do logo.
LOGO_DURATION = 2 #(Sec)
#--------------------------------------------------------------------------
# ▼ RANDOM BACKGROUND ▼
#--------------------------------------------------------------------------
#Definição das pictures.
#--------------------------------------------------------------------------
RANDOM_PICTURES = [
"Title1"
#"Title4","Title5","Title6","Title7"
]
#Tempo de duração para ativar a troca de imagens.
RANDOM_PICTURES_DURATION = 10#(sec)
#Seleção aleatória.
RAMDOM_SELECTION = true
#Velocidade de Scrolling. (Speed X , Speed Y)
RANDOM_PICTURES_SCROLL_SPEED = [0,0]
#--------------------------------------------------------------------------
# ▼ MULTIPLE LAYERS ▼
#--------------------------------------------------------------------------
# Definição de multiplas camadas. * (não há limíte na quantidade de camadas
# usadas)
#--------------------------------------------------------------------------
# MULTIPLE_LAYERS = [ ["A",B,C,D], ["A",B,C,D], ["A",B,C D], ["A",B,C,D ], ....]
#
# A - Nome da imagem.
# B - Velocidade de scroll na horizontal.
# C - Velocidade de scroll na vertical.
# D - Tipo de Blend. (0 - Normal / 2 - Add / 3 - Substract)
#
MULTIPLE_LAYERS = [
["Layer1",1,0,1],
["Layer2",3,0,1],
["Layer3",0,0,0]
# ["Layer4",0,0,0],
# ["Layer5",0,0,0],
# ["Layer6",0,0,0]
]
#--------------------------------------------------------------------------
# ▼ PARTICLES ▼
#--------------------------------------------------------------------------
# Adiciona partículas animadas na tela do titulo.
# Será necessário ter a imagem PARTICLE.png na pasta Graphics/Title2
#--------------------------------------------------------------------------
# Ativar Partículas.
PARTICLE = true
# Ativar Cores Aleatórias.
PARTICLE_RANDOM_COLOR = true
# Definição do tipo de blend. (0,1,2)
PARTICLE_BLEND_TYPE = 1
#Definição do limite de velocidade das partículas.
PARTICLE_MOVEMENT_RANGE_X = 3
PARTICLE_MOVEMENT_RANGE_Y = 3
PARTICLE_ANGLE_RANGE = 3
#--------------------------------------------------------------------------
# ▼ WAVE TITLE ▼
#--------------------------------------------------------------------------
# Ativa o efeito WAVE no texto do titulo, o Texto do titulo é definido
# na camada do titulo 2, que pode ser definido através do banco de dados
#--------------------------------------------------------------------------
#Ativar o efeito do titulo com efeito WAVE.
TITLE_WAVE = true
#Configuração do efeito WAVE
#
# TITLE_WAVE_CONFIG = [ AMP, LENGTH , SPEED]
#
TITLE_WAVE_CONFIG = [6 , 232 , 360]
#--------------------------------------------------------------------------
# ▼ ANIMATED_SPRITE ▼ (Opcional)
#--------------------------------------------------------------------------
# Adiciona um sprite animado no titulo.
# A quantidade de frames é proporcional a largura dividido pela altura
# da imagem, ou seja, não há limite de quantidade de frames e nem de
# tamanho da imagem.
# Será necessário ter a imagem ANIMATED.png (Jpg) na pasta Graphics/Title2
#--------------------------------------------------------------------------
# Ativar Sprite animado.
ANIMATED_SPRITE = false
# Posição do Sprite animado.
ANIMATED_SPRITE_POSITION = [130,150]
# Velocidade da animação
ANIMATED_SPRITE_SPEED = 10
# Tipo de Blend. (0 - Normal / 2 - Add / 3 - Substract)
ANIMATED_SPRITE_BLEND_TYPE = 1
# Definição do zoom,
ANIMATED_SPRITE_ZOOM = 1.5
#--------------------------------------------------------------------------
# ▼ COMMANDS / SELECTION ▼
#--------------------------------------------------------------------------
# Configuração extras da tela de titulo.
#--------------------------------------------------------------------------
# Posição do comando.
COMMANDS_POS = [220 , 280]
# Ativar o efeito de tremor ao selecionar o comando.
COMMAND_SHAKE = true
# Definição da posição do cursor.(Para ajustes)
CURSOR_POS = [-42,-7]
# Ativar flash ao mover o comando.
CURSOR_FLASH_SELECTION = true
# Definição da posição do flash.
CURSOR_FLASH_SLECTION_POS = [-180,0]
# Tipo de Blend. (0 - Normal / 2 - Add / 3 - Substract)
CURSOR_FLASH_SLECTION_BLEND_TYPE = 1
end
#==============================================================================
# ■ Window TitleCommand
#==============================================================================
class Window_TitleCommand < Window_Command
attr_reader :list
end
#==============================================================================
# ■ Particle Title
#==============================================================================
class Particle_Title < Sprite
include MOG_SCENE_TITLE_A
#--------------------------------------------------------------------------
# ● Initialize
#--------------------------------------------------------------------------
def initialize(viewport = nil)
super(viewport)
self.bitmap = Cache.title2("Particle")
self.tone.set(rand(255),rand(255), rand(255), 255) if PARTICLE_RANDOM_COLOR
self.blend_type = PARTICLE_BLEND_TYPE
@cw = self.bitmap.width
@ch = self.bitmap.height
@nx = PARTICLE_MOVEMENT_RANGE_X
@ny = PARTICLE_MOVEMENT_RANGE_Y
reset_setting
end
#--------------------------------------------------------------------------
# ● Reset Setting
#--------------------------------------------------------------------------
def reset_setting
zoom = (50 + rand(100)) / 100.1
self.zoom_x = zoom
self.zoom_y = zoom
self.x = (rand(576) -32)
self.y = rand(448 + @ch)
self.opacity = 0
self.angle = rand(360)
nx2 = rand(@nx).abs
nx2 = 1 if (@nx != 0 and nx2 < 1)
@speed_x = @nx > 0 ? nx2 : @nx < 0 ? -nx2 : 0
ny2 = rand(@ny).abs
ny2 = 1 if (@ny != 0 and ny2 < 1)
@speed_y = @ny > 0 ? ny2 : @ny < 0 ? -ny2 : 0
@speed_a = [[rand(PARTICLE_ANGLE_RANGE), PARTICLE_ANGLE_RANGE].min, 0].max
end
#--------------------------------------------------------------------------
# ● Dispose
#--------------------------------------------------------------------------
def dispose
super
self.bitmap.dispose
end
#--------------------------------------------------------------------------
# ● Update
#--------------------------------------------------------------------------
def update
super
self.x += @speed_x
self.y -= @speed_y
self.angle += @speed_a
self.opacity += 5
reset_setting if can_reset_setting?
end
#--------------------------------------------------------------------------
# ● Can Reset Setting
#--------------------------------------------------------------------------
def can_reset_setting?
return true if (self.x < -48 or self.x > 592)
return true if (self.y < -48 or self.y > 464)
return false
end
end
#==============================================================================
# ■ Multiple Layers Title
#==============================================================================
class Multiple_Layers_Title
#--------------------------------------------------------------------------
# ● Initialize
#--------------------------------------------------------------------------
def initialize(name = "", scroll_x = 0, scroll_y = 0, blend = 0, index = 0)
@layer = Plane.new
@layer.bitmap = Cache.title1(name.to_s) rescue nil
@layer.bitmap = Bitmap.new(32,32) if @layer.bitmap == nil
@layer.z = 10 + index
@layer.opacity = 0
@layer.blend_type = blend
@scroll_speed = [scroll_x, scroll_y]
end
#--------------------------------------------------------------------------
# ● Dispose
#--------------------------------------------------------------------------
def dispose
@layer.bitmap.dispose
@layer.bitmap = nil
@layer.dispose
end
#--------------------------------------------------------------------------
# ● Update
#--------------------------------------------------------------------------
def update
@layer.opacity += 2
@layer.ox += @scroll_speed[0]
@layer.oy += @scroll_speed[1]
end
end
#==============================================================================
# ■ Scene Title
#==============================================================================
class Scene_Title < Scene_Base
include MOG_SCENE_TITLE_A
#--------------------------------------------------------------------------
# ● Start
#--------------------------------------------------------------------------
def start
super
RPG::BGM.fade(2000)
@logo_active = LOGO
SceneManager.clear
@phase = 1
@phase_time = -1
dispose_title_sprites
create_logo if @logo_active
create_command_window
create_commands
create_background
create_light
create_cursor
create_animated_object
create_flash_select
create_multiple_layers
play_title_music unless @logo_active
end
#--------------------------------------------------------------------------
# ● Create Multiple Layers
#--------------------------------------------------------------------------
def create_flash_select
return if !CURSOR_FLASH_SELECTION
@flash_select = Sprite.new
@flash_select.bitmap = Cache.title2("Cursor2")
@flash_select.z = 99
@flash_select.opacity = 0
@flash_select.blend_type = CURSOR_FLASH_SLECTION_BLEND_TYPE
end
#--------------------------------------------------------------------------
# ● Create Multiple Layers
#--------------------------------------------------------------------------
def create_multiple_layers
@m_layers = []
index = 0
for i in MULTIPLE_LAYERS
@m_layers.push(Multiple_Layers_Title.new(i[0],i[1],i[2],i[3],index))
index += 1
end
end
#--------------------------------------------------------------------------
# ● Create_Logo
#--------------------------------------------------------------------------
def create_animated_object
return if !ANIMATED_SPRITE
@object_index = 0
@object_animation_speed = 0
@object = Sprite.new
@object.z = 98
@object.opacity = 0
@object.blend_type = ANIMATED_SPRITE_BLEND_TYPE
@object.zoom_x = ANIMATED_SPRITE_ZOOM
@object.zoom_y = ANIMATED_SPRITE_ZOOM
@object_image = Cache.title2("Animated")
@object_frame_max = @object_image.width / @object_image.height
@object_width = @object_image.width / @object_frame_max
@object.bitmap = Bitmap.new(@object_width,@object_image.height)
@object.x = ANIMATED_SPRITE_POSITION[0]
@object.y = ANIMATED_SPRITE_POSITION[1]
make_object_bitmap
end
#--------------------------------------------------------------------------
# ● Create_Logo
#--------------------------------------------------------------------------
def create_cursor
@cursor = Sprite.new
@cursor.bitmap = Cache.title2("Cursor")
@cursor.opacity = 0
@cursor.z = 130
@cursor_position = [0,0]
@mx = [0,0,0]
end
#--------------------------------------------------------------------------
# ● Create_Logo
#--------------------------------------------------------------------------
def create_logo
@phase = 0
@logo = Sprite.new
@logo.bitmap = Cache.title2("Logo")
@logo.opacity = 0
@logo_duration = 180 + (LOGO_DURATION * 60)
@logo.z = 200
end
#--------------------------------------------------------------------------
# ● Create Commands
#--------------------------------------------------------------------------
def create_commands
@command_window.visible = false
@commands_index_old = -1
@commands = []
@commands_shake_duration = 0
index = 0
for com in @command_window.list
sprite = Sprite.new
sprite.bitmap = Cache.title2(com[:name].to_s) rescue nil
if sprite.bitmap == nil
sprite.bitmap = Bitmap.new(200,32)
sprite.bitmap.font.size = 24
sprite.bitmap.font.bold = true
sprite.bitmap.font.italic = true
sprite.bitmap.draw_text(0, 0, 200, 32, com[:name].to_s,1)
end
sprite.x = COMMANDS_POS[0] - 100 - (index * 20)
sprite.y = index * sprite.bitmap.height + COMMANDS_POS[1]
sprite.z = 100 + index
sprite.opacity = 0
index += 1
@commands.push(sprite)
end
@command_max = index
end
#--------------------------------------------------------------------------
# ● create_background
#--------------------------------------------------------------------------
def create_background
@rand_title_duration = 120
@old_back_index = 0
@sprite1 = Plane.new
@sprite1.opacity = 0
@sprite1.z = 1
if RAMDOM_SELECTION
execute_random_picture(false)
else
execute_random_picture(true)
end
@sprite2 = Sprite.new
@sprite2.bitmap = Cache.title2($data_system.title2_name)
@sprite2.z = 140
@sprite2.opacity = 0
if TITLE_WAVE
@sprite2.wave_amp = TITLE_WAVE_CONFIG[0]
@sprite2.wave_length = TITLE_WAVE_CONFIG[1]
@sprite2.wave_speed = TITLE_WAVE_CONFIG[2]
end
end
#--------------------------------------------------------------------------
# ● Create Light
#--------------------------------------------------------------------------
def create_light
return unless PARTICLE
@viewport_light = Viewport.new(-32, -32, 600, 480)
@viewport_light.z = 50
@light_bitmap =[]
for i in 0...20
@light_bitmap.push(Particle_Title.new(@viewport_light))
end
end
#--------------------------------------------------------------------------
# ● dispose Background1
#--------------------------------------------------------------------------
def dispose_background1
@sprite1.bitmap.dispose
@sprite1.bitmap = nil
@sprite1.dispose
@sprite1 = nil
end
#--------------------------------------------------------------------------
# ● Dispose Background2
#--------------------------------------------------------------------------
def dispose_background2
if @sprite2.bitmap != nil
@sprite2.bitmap.dispose
@sprite2.bitmap = nil
@sprite2.dispose
@sprite2 = nil
end
end
#--------------------------------------------------------------------------
# ● Dispose Light
#--------------------------------------------------------------------------
def dispose_light
return unless PARTICLE
if @light_bitmap != nil
for i in @light_bitmap
i.dispose
end
@light_bitmap = nil
end
@viewport_light.dispose
end
#--------------------------------------------------------------------------
# ● Dispose Logo
#--------------------------------------------------------------------------
def dispose_logo
return unless @logo_active
@logo.bitmap.dispose
@logo.dispose
end
#--------------------------------------------------------------------------
# ● Dispose Multiple Layers
#--------------------------------------------------------------------------
def dispose_multiple_layers
return if @m_layers == nil
@m_layers.each {|layer| layer.dispose }
end
#--------------------------------------------------------------------------
# ● Terminate
#--------------------------------------------------------------------------
def terminate
super
dispose_title_sprites
end
#--------------------------------------------------------------------------
# ● Dispose Title Sprites
#--------------------------------------------------------------------------
def dispose_title_sprites
return if @cursor == nil
dispose_background1
dispose_background2
dispose_light
dispose_logo
dispose_multiple_layers
@cursor.bitmap.dispose
@cursor.dispose
@cursor = nil
if @flash_select != nil
@flash_select.bitmap.dispose
@flash_select.dispose
end
for com in @commands
com.bitmap.dispose
com.dispose
end
if ANIMATED_SPRITE
@object.bitmap.dispose
@object.dispose
@object_image.dispose
end
end
#--------------------------------------------------------------------------
# ● Update
#--------------------------------------------------------------------------
def update
super
update_logo
update_initial_animation
update_command
update_background
update_light
update_object_animation
update_multiple_layers
end
#--------------------------------------------------------------------------
# ● Update Multiple Layers
#--------------------------------------------------------------------------
def update_multiple_layers
return if @m_layers == nil
@m_layers.each {|layer| layer.update }
end
#--------------------------------------------------------------------------
# ● Make Object bitmap
#--------------------------------------------------------------------------
def make_object_bitmap
@object.bitmap.clear
src_rect_back = Rect.new(@object_width * @object_index, 0,@object_width,@object_image.height)
@object.bitmap.blt(0,0, @object_image, src_rect_back)
end
#--------------------------------------------------------------------------
# ● Update Object Animation
#--------------------------------------------------------------------------
def update_object_animation
return if !ANIMATED_SPRITE
@object.opacity += 2
@object_animation_speed += 1
if @object_animation_speed > ANIMATED_SPRITE_SPEED
@object_animation_speed = 0
@object_index += 1
@object_index = 0 if @object_index >= @object_frame_max
make_object_bitmap
end
end
#--------------------------------------------------------------------------
# ● Update Cursor Position
#--------------------------------------------------------------------------
def update_cursor_position
@cursor.opacity += 5
execute_animation_s
execute_cursor_move(0,@cursor.x,@cursor_position[0] + @mx[1])
execute_cursor_move(1,@cursor.y,@cursor_position[1])
end
#--------------------------------------------------------------------------
# ● Execute Animation S
#--------------------------------------------------------------------------
def execute_animation_s
@mx[2] += 1
return if @mx[2] < 4
@mx[2] = 0
@mx[0] += 1
case @mx[0]
when 1..7; @mx[1] += 1
when 8..14; @mx[1] -= 1
else
@mx[0] = 0
@mx[1] = 0
end
end
#--------------------------------------------------------------------------
# ● Execute Cursor Move
#--------------------------------------------------------------------------
def execute_cursor_move(type,cp,np)
sp = 5 + ((cp - np).abs / 5)
if cp > np
cp -= sp
cp = np if cp < np
elsif cp < np
cp += sp
cp = np if cp > np
end
@cursor.x = cp if type == 0
@cursor.y = cp if type == 1
end
#--------------------------------------------------------------------------
# ● Update Logo
#--------------------------------------------------------------------------
def update_logo
return if @phase != 0
loop do
break if @logo_duration == 0
execute_logo
Graphics.update
Input.update
end
play_title_music
end
#--------------------------------------------------------------------------
# ● Execute Logo
#--------------------------------------------------------------------------
def execute_logo
if @logo_duration > 120 and (Input.trigger?(:C) or Input.trigger?(:B))
@logo_duration = 120
end
@logo_duration -= 1
if @logo_duration > 120
@logo.opacity += 5
else
@logo.opacity -= 5
end
if @logo.opacity <= 0
@logo_duration = 0
@phase = 1
end
end
#--------------------------------------------------------------------------
# ● Update Background
#--------------------------------------------------------------------------
def update_background
@sprite1.ox += RANDOM_PICTURES_SCROLL_SPEED[0]
@sprite1.oy += RANDOM_PICTURES_SCROLL_SPEED[1]
@sprite2.opacity += 2
@sprite2.update
return if RANDOM_PICTURES.size < 1
@rand_title_duration -= 1
if @rand_title_duration <= 0
@sprite1.opacity -= 5 unless RANDOM_PICTURES.size < 2
else
@sprite1.opacity += 5
end
return if @sprite1.opacity != 0
execute_random_picture
end
#--------------------------------------------------------------------------
# ● Execute Random Picture
#--------------------------------------------------------------------------
def execute_random_picture(initial = false)
@rand_title_duration = [[60 * RANDOM_PICTURES_DURATION, 9999].min, 60].max
if @sprite1.bitmap != nil
@sprite1.bitmap.dispose
@sprite1.bitmap = nil
end
if RAMDOM_SELECTION
rand_pic = rand(RANDOM_PICTURES.size)
if rand_pic == @old_back_index
rand_pic += 1
rand_pic = 0 if rand_pic >= RANDOM_PICTURES.size
end
@old_back_index = rand_pic
else
@old_back_index += 1 unless initial
@old_back_index = 0 if @old_back_index >= RANDOM_PICTURES.size
end
pic = RANDOM_PICTURES[@old_back_index]
@sprite1.bitmap = Cache.title1(pic) rescue nil
@sprite1.bitmap = Cache.title1("") if @sprite1.bitmap == nil
end
#--------------------------------------------------------------------------
# ● Update Light
#--------------------------------------------------------------------------
def update_light
return unless PARTICLE
if @light_bitmap != nil
for i in @light_bitmap
i.update
end
end
end
#--------------------------------------------------------------------------
# ● Update Initial Animation
#--------------------------------------------------------------------------
def update_initial_animation
return if @phase != 1
@phase_time -= 1 if @phase_time > 0
if @phase_time == 0
@phase = 2
@phase_time = 30
end
for i in @commands
index = 0
if i.x < COMMANDS_POS[0]
i.x += 5 + (2 * index)
i.opacity += 10
if i.x >= COMMANDS_POS[0]
i.x = COMMANDS_POS[0]
i.opacity = 255
if @phase_time < 15 / 2
@phase_time = 15
end
end
end
index += 1
end
end
#--------------------------------------------------------------------------
# ● Update Command
#--------------------------------------------------------------------------
def update_command
return if @phase != 2
update_command_slide
update_cursor_position
update_flash_select
end
#--------------------------------------------------------------------------
# ● Update Command Slide
#--------------------------------------------------------------------------
def update_command_slide
if @commands_index_old != @command_window.index
@commands_index_old = @command_window.index
@commands_shake_duration = 30
if @flash_select != nil
@flash_select.opacity = 255
end
end
return if @commands_shake_duration == 0
@commands_shake_duration -= 1 if @commands_shake_duration > 0
@commands_shake_duration = 0 if !COMMAND_SHAKE
for i in @commands
if (i.z - 100) == @command_window.index
i.opacity += 10
@cursor_position = [COMMANDS_POS[0] + CURSOR_POS[0],i.y + CURSOR_POS[1]]
i.x = COMMANDS_POS[0] + rand(@commands_shake_duration)
else
i.opacity -= 7 if i.opacity > 100
i.x = COMMANDS_POS[0]
end
end
end
#--------------------------------------------------------------------------
# ● Update Flash Select
#--------------------------------------------------------------------------
def update_flash_select
return if !CURSOR_FLASH_SELECTION
@flash_select.opacity -= 8
@flash_select.x = @cursor_position[0] + CURSOR_FLASH_SLECTION_POS[0]
@flash_select.y = @cursor_position[1] + CURSOR_FLASH_SLECTION_POS[1]
end
end
$mog_rgss3_animated_title_a = true -
Grazie Guardian!
I continenti sono abbastanza grandi, ma non tutti. Alcuni hanno un buon numero di città/villaggi, mentre altri sono molto piccoli. In gioco, le storie si baseranno su diversi continenti. Nel primo capitolo, andremo ad esplorare Valumen e Kisuba. Più profondamente il primo che il secondo. Quindi poi, in game, vedremo solo la parte di Yluja dove vengono mostrati questi due continenti confinanti quasi tra loro. Ma sarà interessante parlare con i vari npc sulle mappe, perchè potrebbero tralasciare qualcosa su ciò che si vedrà nei prossimi capitoli.
Non sarà possibile entrare in quelle gilde, ma sicuramente ci saranno quest che avranno a che fare con loro. Che si vada contro o a favore di queste, lo si vedrà in game.
Per le news grafiche non vedo l'ora anche io, perchè almeno potrò aggiornare il primo post inserendo tutte le modifiche fatte negli ultimi due mesi.
-
#Update#
Buonsalve, gente!
Come sapete ormai sono tornato a lavorare attivamente su questo progetto. L'altra volta vi ho detto come stavo ricreando il sistema delle classi e quanti personaggi reclutabili ci saranno.
Questa volta invece, vi aggiorno su quello a cui ci ho buttato 4/5 ore di lavorazione l'altra sera: il Mondo (ovvero Yluja).
Yluja non è altro che il nome stesso del pianeta, ovvero quello che noi chiamiamo Terra. Già dal titolo, si capisce che avremo a che fare con le varie avventure di Yluja, ma quello che non ho mai detto prima (credo) è che non gireremo tutto il mondo già in questo gioco. La mia idea infatti è basata sul creare una saga (potrebbe essere una trilogia quanto una saga da 6 episodi), con episodi che si svolgono o simultaneamente ad altri avvenimenti o a distanza di un determinato lasso di tempo.
Ovviamente, per poter fare questo, ho dovuto iniziare con il creare il mondo intero, quindi tutta Yluja. Lavorare a questo mondo, significa aver creato diversi continenti con diverse popolazioni, culture e religioni. Scrivere la storia che vi verrà narrata in gioco tramite libri e manufatti, inventare festività e giorni importanti per ogni luogo, gli Dei a cui fanno riferimento le varie religioni, gli scrittori delle opere, i rituali e le gilde e i gruppi che si possono incontrare o di cui sentirete parlare.
Perciò vado ad elencarvi ora alcune cose messe già su penna...
Continenti (10)
- Galonde
- Sirastir
- Thonyamar
- Valumen
- Karne
- Edhelest
- Brasea
- Caenay
- Mizumya
- Kisuba
Questi sono i 10 continenti che danno forma e limiti del mondo di Yluja. Qui sono però escluse alcune isole che potrebbero essere visitate. Non tutte le isole saranno esplorabili, ma in una buona parte di esse, ci si andrà anche solo per svolgere una qualche quest o pezzo di storia.
Quello che ora vado ad esporvi, sono le gilde e/o gruppi che saranno presenti nella saga:
Gilde e Gruppi (15)
- La Rosa Rossa (Assassini)
- Gli Scudi Cremisi (Avventurieri)
- I Segugi di Swaford (Assassini)
- Il Concilio d'Argento (Gruppo Segreto)
- Gli Eroi di Ferro (Truppe di soldati di Biziram, in Karne)
- Le Spine di Vertou (Spie)
- I Viandanti di Bellorca (Spie)
- La Legione di Craham (Guardiani)
- I Martelli Corvini (Guerrieri)
- Le Spade di Atell (Guerrieri)
- Il Lupo Bianco (Schiavisti)
- I Cavalieri di Braywick (Ordine Cavaliere)
- La Viverna d'Oro (Ribelli)
- I Crociati (Ordine Cavaliere)
- La Legione dello Scettro (Banditi)
Questi sono i maggiori gruppi importanti della saga. Ovviamente potrebbero essercene altri, ma non così importanti. Potreste ritrovarveli davanti in un qualsiasi momento. Ho omesso di proposito determinati dettagli su questi gruppi, dettagli scritti affianco ai loro nomi, per non spoilerarvi qualcosa.
Questa è invece la lista di alcune guerre accadute durante il periodo pre-game, ovvero che si sono andate svolgendosi nel passato di questo mondo:
Battaglie e Guerre (7)
- L'Assedio di Noki
- La Campagna del Divino
- La Guerra delle Cicatrici
- La Battaglia di Videklif
- La Marcia del Serpente
- Il Regno del Caos
- La Crociata del Vuoto
Tutte queste guerre si sono svolte presso diversi continenti, a volte sono state combattute da più continenti messi insieme, a seconda di quale minaccia affrontassero. Coloro che diedero i nomi a tali battaglie, furono i sopravvissuti ad esse. Quindi coloro che ancora oggi (forse) rammentano le atrocità accadute in quegli anni bui.
Per ora, vi lascio con queste informazioni. Spero che vi attraggano in qualche modo.
In questi giorni sto anche lavorando alla grafica del game. Sto modificando vari file affinchè venga tutto amalgamato alla grafica di gioco. Quindi inserendo elementi particolari ogni qual volta venga richiamata una funzione del gioco che attinge a qualche tipo di immagine.
Spero di potervi mostrare qualcosa quanto prima, che siano semplici screen di dialogo o qualche mappa.
A presto!
-
Mi sono guardato tutto il topic e ho capito che questo gioco merita :D
Buona fortuna per lo sviluppo!
P.S. Secondo me dovresti caricare i diversi screen che hai fatto ultimamente anche nel primo post di apertura del topic. Credimi: sono di grande effetto e non ne vale la pena nasconderli tra le pagine del topic.
-
Sto gioco spacca! Appena posso lo provo. Sono invidioso delle vostre abilità, siete davvero magnifici! ;)
-
Ineffetti sì, a parte che speravo di intravedere qualcosa su mappa sempre da quei due screen, ma avete utilizzato una windowskin con poca trasparenza.. maledetti XD
Però anche io noto lo screen delle statistiche un pò vuoto. E' una scelta aver nascosto le altre caratteristiche di quello script o è voluto proprio così?
-
Guarda, anche io ho dei ninja nel mio progetto, ma mi sono basato molto sulla classe presente in Pathfinder per vedere bene cosa potergli far fare.
Le varie cose che posso suggerirti sono:
- Tecniche con cui avvelenano i nemici
- Tecniche che permettono di svanire per un breve periodo e poi magari attaccano, provocando colpi critici (come fosse un attacco alle spalle)
- Lancio di oggetti (pugnali, shuriken, ...)
- Attacco con una catena (sai, stile Scorpion di Mortal Kombat)
- Tecnica delle ombre (praticamente una tecnica che immobilizza i nemici, nell'immaginazione ci sarebbe sto ninja che lancia i suoi shuriken sull'ombra del nemico e lo immobilizza come per magia)
- Una tecnica in cui fanno più attacchi, come se si muovesse talmente velocemente da colpire più volte il nemico
Queste sono solo alcune. Ti basti pensare che i Ninja sono abili, veloci e letali, quindi tenendo in considerazione queste cose, dovrebbero venirti in mente anche altri tipi di abilità da mettergli
-
Ho finalmente letto tutto.
La trama sembra interessante, perchè mi pare di capire che sarà un gioco abbastanza investigativo (me gusta!).
Per quel che ho capito del gameplay, pare quasi semplice, con poche aggiunte. Ma se la trama lo richiede, non vedo per quale motivo aggiungere tante altre cose che poi magari non c'entra nulla con la storia.
Praticamente hai ripreso il tuo vecchio progetto e lo stai "modernizzando", ottimo. Mi ricorda qualcuno (io).
Buona fortuna con il tuo game ;)
-
Ho iniziato la demo proprio stasera....
Minchia oh! E' fighissimo il gioco!
Mi sono già sbellicato dalle risate più volte durante i primi dialoghi e nei messaggi che comparivano durante alcuni combattimenti. Il sistema è fantastico e mi piace molto il lavoro che ci hai dedicato.
Sti cavoli del mapping e dei personaggi RTP... non ci ho fatto nemmeno caso durante la prima ora di gioco.
Fantastico, davvero!
-
Sì sì, ma infatti ci sono, come detto prima, 4 buff/debuff + 4 attacchi speciali. Ovviamente, alcune delle classi che non si basano molto sugli attacchi (vedi il cerusico) ha più roba come cure e buff, poichè il suo utilizzo è dovuto proprio a tale scopo e non a far danni ai nemici.
Forse porterò il totale delle loro skill a 10 (5 buff/debuff + 5 attacchi), poichè penso che almeno per quanto riguarda il Cavaliere e il Combattente, ci sia bisogno di più attacchi che mai.
-
#Update#
Allora, ieri sera mi sono messo al lavoro sulla "configurazione" delle classi. Guardando bene alle classi di Pathfinder, ho notato che, in un certo qualmodo, potevo riassumerle in gruppi, ovvero creare una classe unica che racchiudesse un determinato numero di specializzazioni. Eccovi spiegato come ho agito:
- Barbaro, Guerriero, Monaco = Combattente
- Bardo, Ladro, Ninja = Ladro
- Cavaliere, Paladino, Samurai = Cavaliere
- Druido, Chierico, Alchimista = Cerusico
- Mago, Stregone, Magus = Mistico
- Ranger, Pistolero = Avventuriero
- Negromante = Negromante
- Inquisitore = Inquisitore
In questo modo, diventa quasi più semplice dare una classe ad un pg, sul quale poi peserebbero però le conseguenze della razza. Tra le razze, ci sono ovviamente Umani e Elfi. Non so ancora se aggiungere i Nani, ma sto pensando anche ad altri tipi di razze che siano meno conosciute o addirittura inventate da me (ma comunque prese di ispirazione da quelle già create in altri giochi).
Le classi, come potete vedere, sono 8. Ma i personaggi totali recrutabili saranno 17. Attenzione però: perchè sono sì 17 pg in tutto, ma ne potrete reclutare "solo" 16. Ci sarà infatti un momento del gioco in cui dovrete scegliere tra due personaggi. Ognuno con le sue peculiari abilità ma della stessa classe. Sarete voi a scegliere chi dei due.
Inoltre, sulle classi citate prima, avevo in mente di dare loro un massimo di 8 Skill da utilizzare: 4 power-up + 4 attacchi, con alcuni casi in cui si presentano o una maggioranza di power-up o una maggioranza di attachi. Nel caso del Mistico, ad esempio, avremo solo attacchi, in quanto ho pensato a questa classe come un mago che usa tutti gli elementi a disposizione per danneggiare i nemici. Gli incantesimi dovrebbero essere i seguenti (salvo cambiamenti futuri): Fiamma -> Inferno, Tuono -> Tempesta, Iceberg -> Gelo, Ventaglio -> Tornado, Bolla -> Inondazione, Pietra -> Terremoto, Luce -> Santuario, Buio -> Oscurità.
Per le altre classi, ci sono diversi buff e debuff da poter usare, che in ogni caso, presentano alterazioni di status differenti dalle altre, in maniera tale da diversificare le strategie di battaglia (questo spiega anche il perchè dovrebbe essere concesso al giocatore di cambiare il party in qualsiasi momento, non solo dal castello/campo/rifugio).
Che ne pensate?
-
Il mapping è fantastico e mi pare che tutto il sistema sia ben congeniato. Appena posso (perchè ora vado di fretta) darò una lettura dettagliata a tutta la presentazione del progetto.
Lo seguo molto volentieri.
-
Ti ringrazio molto, anche se in realtà, questo topic è molto vecchio e penso che prima o poi dovrò aggiornarlo per bene ;)
-
Il problema è per i disegni e la pixel grafica, perchè in quei campi sono una frana. Però il problema sarebbe sempre trovare i suddetti lavoratori, perchè l'unica maniera per trovarli/fidarti di loro è quella di conoscerli di persona
-
Ri-buon salve,
E' da parecchio che non mi facevo sentire.
A causa della vita privata, il lavoro, la ragazza, SOPRATTUTTO Dragon Age et similia... mi sono un tantino allontanato dal mio progetto. Ma non ho mai mollato ed anzi, ho continuato in qualche modo ad "aggiornarlo" e migliorarlo lì dove potevo.
Per ora posso solo dirvi che mi sono creato (già da qualche tempo) un blog apposito per i miei progetti. Il link è nella mia firma e trovate già qualche update in merito al progetto su di esso.
Sono tornato poichè questa è l'unica comunità davvero bella e italiana che ci sia sul making. Ho sempre visto progetti di un certo spessore e qualitativi all'interno di questo forum, per non parlare dell'utenza sempre pronta a dare consigli utili ad ogni nuovo "maker" che si presentava.
Ne approfitto soprattutto per dirvi che il mio game non è morto, come giustamente avrete pensato. Ma anzi è in una fase in cui sto rilavorando la storia e sto vedendo cosa fare con i personaggi, in quanto li sto riscrivendo e tentando di migliorarli anche sotto l'aspetto visivo.
Ultimamente poi, stavo anche riguardando il progetto con alcuni miei amici con cui gioco spesso a Pathfinder (un "gdr da tavolo", per chi non lo conoscesse), poichè alcuni di loro fanno da tempo anche i master in quel gioco e hanno quindi abbastanza esperienza per darmi una mano su mostri, quest, caratterizzazione dei personaggi e creazione degli scenari.
Con loro sto appunto discutendo sulla possibilità di utilizzare le classi di Pathfinder (non tutte, ovviamente) da inserire nel progetto, portando il party a presentare un roster di diversi pg, uno per ogni classe. Quindi dando al player la possibilità di sbizzarrirsi su diversi tipi di formazione da usare nei combattimenti.
Ma man mano che leggevo i miei manuali del gioco e guardavo alle abilità e magie delle varie classi, mi rendevo conto che non era facile riassumere con poche skills le classi del mago, stregone, druido, guerriero arcano e compagnia bella... Per cui stiamo vedendo come poter fare una cosa simile, facendo sì che ci siano un tot di skills per ogni classe, facendo risultare abbastanza "magie" sia per i maghi e stregoni, sia per i guerrieri e ladri. Perchè l'infinito abisso di cose che possono fare le classi magiche in confronto a quelle più classiche (come appunto un guerriero o un barbaro), fanno risultare quasi inutili le classi basate sulla sola forza fisica.
E' anche vero che potrei semplicemente ricreare delle classi a mia invenzione, che ne riassumano più o meno tutti i talenti, ma equilibrandoli in maniera da farli risultare tutti utili e forti.
Poi c'è il fatto che, volendo collegare alcuni personaggi tra loro, ci vorrebbero un grafico e un pixellatore... ma molto spesso, questi ultimi, hanno già da fare con altri progetti e capita che preferiscano farsi pagare per un lavoro simile. Per cui mi era venuta l'idea, nel caso, di utilizzare Patreon per racimolare i soldi con cui avrei poi pagato questa gente... ma poi mi è sorta la domanda: perchè dovrei far pagare la gente per un progetto che, molto probabilmente, potrebbe non piacere a causa del fatto che non sono, ovviamente, così espero nello sviluppare un videogame, soprattutto con RPG Maker?
Inoltre, cosa dovrei garantire a chi paga, avendo visto cosa è successo ad altri che hanno fatto lo stesso con Patreon e altri siti simili?
Sono tante cose che sono nate negli ultimi mesi. Tante piccole cose atte però solo al miglioramento del prodotto.
Questo è un progetto che, ripeto, sono più di 5 anni che porto avanti e mi darebbe non poco fastidio mandarlo a quel paese così, dopo gli anni passato a rivisitarlo ogni volta, specie in quei momenti in cui dovetti passare il gioco da RPG Maker XP al VX ed infine al VX Ace (sul quale rimpiango solo che non si possano utilizzare quei mega tileset dell'XP).
Per cui mi scuso ancora per la lunghissima assenza e avverto già da ora che, nel caso dovessi assentarmi di nuovo, bisogna sempre considerare il fatto che questo progetto non verrà abbandonato per nessun caso (eccetto la mia morte, che si spera avvenga un pò più in là).
Grazie comunque del sostegno di tutti coloro che già conoscevano il progetto e di coloro che, forse, lo conosceranno dopo questo piccolo update
-
Edit:
Volevo informarvi che ho già trovato il suddetto script per VX Ace. Un ragazzo si era già impegnato per fare questo porting dalla vecchia alla nuova versione.
Eccovi il link: http://rmrk.net/index.php/topic%2c48152.0.html
Mi scuso per avervi "importunato", perchè bastava cercare meglio -.-' Vi suggerisco di dare un occhiata al blog dell'autore, perchè ha fatto tanti altri script, di cui alcuni molto interessanti.
Inoltre, penso che gli amministratori, potrebbero mettere entrambi gli script nelle liste già esistenti sul forum, poichè sono davvero molto utili, per chi, come me, non gli piace creare giochi con una moltitudine di armi, quando si può tranquillamente livellare quelle già esistenti.
-
Salve a tutti,
Forse qualcuno si ricorderà di me per Chronicles of Yluja o Light into the Night (che sto ancora finendo... entrambi)... comunque sia, sono tornato operativo e, finalmente, se così possiamo dire, ho ripreso alla grande lo sviluppo di entrambi i game, avendo trovato tutto ciò che mi serviva o che volevo inserire.
Purtroppo però, con il sistema delle armi, di cui parlavo nel topic del progetto (http://www.rpg2s.net/forum/index.php/topic/16332-chronicles-of-yluja-progetto/), ho trovato uno script che è esattamente quello che cercavo di fare, dato che riprende proprio il sistema del fabbro di Suikoden 2.
Il problema è che è per la versione VX normale, non per l'Ace, e volevo sapere se qualche anima pia, poteva cercare di modificarlo affinchè funzionasse con Ace.
E' più una supplica, che una richiesta :(
Eccovi il link dello script: http://forums.rpgmakerweb.com/index.php?/topic/13752-smithing-simply-upgrade-your-weapon/
Rispondetemi il prima possibile, vi prego!
-
Skype...?
-
@Cosmo: XD vabbè dai, a volte esagerano anche negli hentai con le forme delle protagoniste (tipo quelle che hanno seni che arrivano fin sotto le ginocchia)
@Enom: ti ringrazio per i due post che hai scritto. La mia fortuna è che a breve incontrerò molti ragazzi che fanno scuola di fumetto e potrei chiedere loro se sono interessati in tale opera. Spero siano maggiorenni, perchè non vorrei iniziare qualche minorenne al porno giapponese XD
-
Bella grafica e anche bel mapping... ma qualcosa in più sul gameplay? sono curioso, sembra in stile FF

Bloody Vengeance - Lullaby of Lost Souls
in Progetti VX e VX-Ace
Posted
Ambè, tanto tramite IP vi scoviamo e se non finite sto giocone, vi veniamo a fare la pelle <.<