Acabamos de receber a notícia que a Famitsu, a revista japonesa sobre videogames publicadas pela Enterbrain (a atual dona do RPG Maker), anunciou hoje a próxima versão da ferramenta, que se chamará RPG Maker MV.
Dentre outras funcionalidades prometidas, o novo maker terá suporte para multiplataforma, resolução maior e Sideview Battle embutida.
Apesar que da data de lançamento ainda não ter sido anunciada, o RPG Maker MV, segundo a revista, promete algumas novidades interessantes:
O que acha desta notícia? Ficou ansioso ou tá satisfeito com os makers antigos? Compartilhe as suas opiniões comentando!
Postado em: Notícias
De acordo com uma entrevista cedida a respeito da QuakeCon 2015, infelizmente, o novo Doom (Doom 2016) não vai ter ferramenta para mods além do SnapMap.
Quando o novo game da franquia de FPSs da id Software for lançado no próximo ano, ele não vai oferecer ferramentas para modificações no game além das que são oferecidas pelo SnapMap, o negócio embutido no game que vai servir para edição de mapas, segundo Pete Hines da Bethesda. Acesse o resto deste post »
Postado em: Notícias
The Deep Caves 2 é a continuação do clone em flash online do clássico H.E.R.O. do Atari 2600, The Deep Caves, onde você controla um sujeito que tem que resgatar seus companheiros que ficaram presos em uma mina subterrânea. Muita nostalgia e diversão com o segundo game desta série! Controles Setinhas – Movimentam ↑ – Voa ↓:– Usa a dinamite […]
Postado em: Jogos Online
Segue o clássico script de Path Finding, que leva o jogador ou um evento a um determinado ponto do mapa, pegando o menor percurso e desviando dos objetos, num projeto/game do RPG Maker XP.
O Path Finding foi desenvolvido pelo Near Fantastica, e oferece um método simples e rápido de fazer isto, pois o processo de procurar o caminho é incorporado no Game Character.
O pathfinding pode ser interrompido ou redesenhado a qualquer hora.
Para utilizar, chame o script:
find_path(x,y)
Onde x e y são as posições finais para o evento percorrer.
E, para instalar, basta inserir o código abaixo acima do Main:
#============================================================================== # ** Path Finding #============================================================================== # Near Fantastica # Version 1 # 29.11.05 #============================================================================== # Lets the Player or Event draw a path from an desonation to the source. This # method is very fast and because the palthfinding is imbeded into the Game # Character the pathfinding can be inturputed or redrawn at any time. #============================================================================== # Player :: $game_player.find_path(x,y) # Event Script Call :: self.event.find_path(x,y) # Event Movement Script Call :: self.find_path(x,y) #============================================================================== #-------------------------------------------------------------------------- # * SDK Log Script #-------------------------------------------------------------------------- SDK.log("Path Finding", "Near Fantastica", 1, "29.11.05") #-------------------------------------------------------------------------- # * Begin SDK Enable Test #-------------------------------------------------------------------------- if SDK.state("Path Finding") == true class Game_Character #-------------------------------------------------------------------------- alias nf_pf_game_character_initialize initialize alias nf_pf_game_character_update update #-------------------------------------------------------------------------- attr_accessor :map attr_accessor :runpath #-------------------------------------------------------------------------- def initialize nf_pf_game_character_initialize @map = nil @runpath = false end #-------------------------------------------------------------------------- def update run_path if @runpath == true nf_pf_game_character_update end #-------------------------------------------------------------------------- def run_path return if moving? step = @map[@x,@y] if step == 1 @map = nil @runpath = false return end dir = rand(2) case dir when 0 move_right if @map[@x+1,@y] == step - 1 and step != 0 move_down if @map[@x,@y+1] == step - 1 and step != 0 move_left if @map[@x-1,@y] == step -1 and step != 0 move_up if @map[@x,@y-1] == step - 1 and step != 0 when 1 move_up if @map[@x,@y-1] == step - 1 and step != 0 move_left if @map[@x-1,@y] == step -1 and step != 0 move_down if @map[@x,@y+1] == step - 1 and step != 0 move_right if @map[@x+1,@y] == step - 1 and step != 0 end end #-------------------------------------------------------------------------- def find_path(x,y) sx, sy = @x, @y result = setup_map(sx,sy,x,y) @runpath = result[0] @map = result[1] @map[sx,sy] = result[2] if result[2] != nil end #-------------------------------------------------------------------------- def clear_path @map = nil @runpath = false end #-------------------------------------------------------------------------- def setup_map(sx,sy,ex,ey) map = Table.new($game_map.width, $game_map.height) map[ex,ey] = 1 old_positions = [] new_positions = [] old_positions.push([ex, ey]) depth = 2 depth.upto(100){|step| loop do break if old_positions[0] == nil x,y = old_positions.shift return [true, map, step] if x == sx and y+1 == sy if $game_player.passable?(x, y, 2) and map[x,y + 1] == 0 map[x,y + 1] = step new_positions.push([x,y + 1]) end return [true, map, step] if x-1 == sx and y == sy if $game_player.passable?(x, y, 4) and map[x - 1,y] == 0 map[x - 1,y] = step new_positions.push([x - 1,y]) end return [true, map, step] if x+1 == sx and y == sy if $game_player.passable?(x, y, 6) and map[x + 1,y] == 0 map[x + 1,y] = step new_positions.push([x + 1,y]) end return [true, map, step] if x == sx and y-1 == sy if $game_player.passable?(x, y, 8) and map[x,y - 1] == 0 map[x,y - 1] = step new_positions.push([x,y - 1]) end end old_positions = new_positions new_positions = [] } return [false, nil, nil] end end class Game_Map #-------------------------------------------------------------------------- alias pf_game_map_setup setup #-------------------------------------------------------------------------- def setup(map_id) pf_game_map_setup(map_id) $game_player.clear_path end end class Game_Player #-------------------------------------------------------------------------- alias pf_game_player_update_player_movement update_player_movement #-------------------------------------------------------------------------- def update_player_movement $game_player.clear_path if Input.dir4 != 0 pf_game_player_update_player_movement end end class Interpreter #-------------------------------------------------------------------------- def event return $game_map.events[@event_id] end end #-------------------------------------------------------------------------- # * End SDK Enable Test #-------------------------------------------------------------------------- end
Postado em: Programação XP
Jogue um pinball espacial e divirta-se, relembrando os velhos tempos dos fliperamas, Pinball Space, este joguinho online! Mande as bolas e tente pegar a MultiBall, para conseguir marcar as maiores pontuações e depois desafiar seus amigos a batê-las. Este game tem os gráficos simples, mas a física usada para simular a jogabilidade de uma máquina pinball é muito boa. Controles […]
Postado em: Jogos Online
No mais novo vídeo do nosso canal do YouTube, nós ensinamos como pode ser vencido o Guile com o Ken, no Street Fighter 2: Champion Edition. Nós gravamos este gameplay outro dia, na mesma partida de quando estávamos fazendo o vídeo da fase de bônus do Street Fighter 2, só que esquecemos disso… Mas agora está aí! A estratégia para […]
Postado em: Dicas e soluções, Vídeos
View Range Module é um script para o RPG Maker XP, desenvolvido pelo Near Fantastica e o SephirothSpawn, que é usado para testar a posição de objetos em comparação com outro objeto.
Ele pode testar se um objeto está em um raio circular definido ou em uma região retangular defina. O módulo também vai dizer a você as distâncias entre os objetos. Você pode usar isto como condições, opções de script ou em variáveis stock.
#============================================================================== # ** Modules.View Range (5.0) By Near Fantastica & SephirothSpawn #------------------------------------------------------------------------------ # * Description : # # The View Range Module is used to test objects position in comparision with # another object. It can test if an object is within a defined circular # range of another object or a rectangular defined region. It can also tell # you this distances between objects. #------------------------------------------------------------------------------ # * Syntax : # # Test if object is within defined range from another object : #- VR.in_range?(object1, object2, range) #- VR.in_range?(object1x, object1y, object2x, object2y, range) # # Test if object is within defined rectanlge : #- VR.in_rect_range?(object, <args>) #- VR.in_rect_range?(x, y, <args>) # #args can either be : x, y, width, height or Rect.new(x, y, width, height) # # Test range between objects : #- range = VR.range(object1, object2, <integer>) #- range = VR.range(object1x, object1y, object2x, object2y, <integer>) # #integer : if true, returns integer ; if false, returns float #============================================================================== MACL::Loaded << 'Modules.View Range' #============================================================================== # ** View Range #============================================================================== module VR #---------------------------------------------------------------------------- # * Within Range Test #---------------------------------------------------------------------------- def VR.in_range?(*args) # If 3 Arguments (Element, Object, Range) if args.size == 3 x = (args[0].x - args[1].x) ** 2 y = (args[0].y - args[1].y) ** 2 r = args[2] # If 5 Arguments (Elementx, Elementy, Objectx, Objecty, Range) elsif args.size == 5 x = (args[0] - args[2]) ** 2 y = (args[1] - args[3]) ** 2 r = args[4] else p 'Wrong Defined Number of Arguments' return end return (x + y) <= (r * r) end #---------------------------------------------------------------------------- # * Within Rect Range Test #---------------------------------------------------------------------------- def VR.in_rect_range?(*args) # If 2 Arguments (Object, Rect) if args.size == 2 x_, y_ = args[0].x, args[0].y x, y, w, h = args[1].x, args[1].y, args[1].width, args[1].height # If 3 Arguments (Objectx, Objecty, Rect) elsif args.size == 3 x_, y_ = args[0], args[1] x, y, w, h = args[2].x, args[2].y, args[2].width, args[2].height # If 5 Arguments (Object, Rectx, Recty, Rectwidth, Rectheight) elsif args.size == 5 x_, y_ = args[0].x, args[0].y x, y, w, h = args[1], args[2], args[3], args[4] # If 6 Arguments (Objectx, Objecty, Rectx, Recty, Rectwidth, Rectheight) elsif args.size == 6 x_, y_, x, y, w, h = *args else p 'Wrong Defined Number of Arguments' return end # Return Object Within Rect return x_.between?(x, x + w) && y_.between?(y, y + h) end #---------------------------------------------------------------------------- # * Range #---------------------------------------------------------------------------- def VR.range(*args) # If 2 Arguments (Element, Object) if args.size == 2 x = (args[0].x - args[1].x) * (args[0].x - args[1].x) y = (args[0].y - args[1].y) * (args[0].y - args[1].y) integer = true # If 3 Arguments (Element, Object, Integer elsif args.size == 3 x = (args[0].x - args[1].x) * (args[0].x - args[1].x) y = (args[0].y - args[1].y) * (args[0].y - args[1].y) integer = args[2] # If 4 Arguments (Elementx, Elementy, Objectx, Objecty) elsif args.size == 4 x = (args[0] - args[2]) * (args[0] - args[2]) y = (args[1] - args[3]) * (args[1] - args[3]) integer = true # If 5 Arguments (Elementx, Elementy, Objectx, Objecty, integer) elsif args.size == 5 x = (args[0] - args[2]) * (args[0] - args[2]) y = (args[1] - args[3]) * (args[1] - args[3]) integer = args[4] else p 'Wrong Defined Number of Arguments' return end r = Math.sqrt(x + y) return integer ? r.to_i : r end end
Postado em: Programação XP
O Resource Hacker BR é uma conhecida ferramenta usada pelos makers brasileiros desde a época do RPG Maker 2000, que foi desenvolvida por Angus Johnson e traduzida para o português brasileiro.
Entretanto, este programa já é bem antigo que várias versões novas dele já foram lançadas pelo autor original. Pensando nisso, adicionamos aqui a mais nova versão até o momento, a 4.2.4 do Resource Hacker. Acesse o resto deste post »
Postado em: Downloads, Ferramentas Makers
O infame Flappy Bird é um dos jogos que mais ganharam clones em menos tempo… E alguns são mais toscos que os outros e o Flappy Turd é, provavelmente, o pior deles. Depois de ajudar o passarinho a escapar dos cocôs voadores em Shit Bird, você agora vai ter que ajudar o cocô voador a ir o mais longe que […]
Postado em: Jogos Online
MOG Resume é um script desenvolvido pelo Moghunter para ser usado no RPG Maker XP, que implementa um sistema que permite salvar e carregar o jogo apenas um vez por partida. Ou seja, o script salva o progresso e automaticamente sai do jogo. Assim que você iniciar outra partida, ele automaticamente carregará o jogo salvo, e por fim, apagará o arquivo carregado.
É um esquema semelhante aos jogos táticos como Ogre Battle e Final Fantasy Tactics Advanced.
Aperte a tecla ALT para chamar o menu de Quick Save (Configurável). É também possível desativar o Quick Save pela Switch ID 10 (Configurável).
Para instalar o MOG Resume V1.1 no seu projeto, basta inserir o código abaixo acima do “Main”:
#_______________________________________________________________________________ # MOG Resume V1.1 #_______________________________________________________________________________ # By Moghunter # http://www.atelier-rgss.com #_______________________________________________________________________________ # Permite salvar e carregar o jogo apenas um vez por partida. # Ou seja, o script salva o progresso e automaticamente sai do # jogo e assim que você reiniciar o jogo ele automaticamente # carregará o jogo e apagará o save carregado. # Sistema semelhante ao jogos Taticos como Ogre Battle e # Final Fantasy Tactics Advanced. #_______________________________________________________________________________ module MOG #Botão que ativa a janela de Quick Save. QUICK_BUTTON = Input::ALT #ID da switch que desativa o Quick Save. QUIK_DISABLE = 10 end #=============================================================================== # Scene_Title #=============================================================================== class Scene_Title #-------------------------------------------------------------------------- # main #-------------------------------------------------------------------------- alias mog41_main main def main if FileTest.exist?("ResumeSave.rxdata") $scene = Auto_Load.new end mog41_main end end #=============================================================================== # Scene_Quick #=============================================================================== class Scene_Quick #-------------------------------------------------------------------------- # initialize #-------------------------------------------------------------------------- def initialize(menu_index = 0) @menu_index = menu_index end #-------------------------------------------------------------------------- # main #-------------------------------------------------------------------------- def main s1 = "Resume" s2 = "Cancel" @command_window = Window_Command.new(160, [s1, s2]) @command_window.index = @menu_index @command_window.x = 640 @command_window.y = 180 @command_window.contents_opacity = 0 @command_window.opacity = 0 @spriteset = Spriteset_Map.new if $game_switches[MOG::QUIK_DISABLE] == true @command_window.disable_item(0) end Graphics.transition loop do Graphics.update Input.update update if $scene != self break end end for i in 0..15 @command_window.x -= 30 @command_window.contents_opacity -= 15 @command_window.opacity -= 15 Graphics.update end Graphics.freeze @command_window.dispose @spriteset.dispose end #-------------------------------------------------------------------------- # update #-------------------------------------------------------------------------- def update if @command_window.x > 240 @command_window.x -= 25 @command_window.contents_opacity += 15 @command_window.opacity += 15 elsif @command_window.x <= 240 @command_window.x = 240 @command_window.contents_opacity = 255 @command_window.opacity = 255 end @command_window.update if Input.trigger?(Input::B) $game_system.se_play($data_system.cancel_se) $scene = Scene_Map.new return end if Input.trigger?(Input::C) case @command_window.index when 0 if $game_switches[MOG::QUIK_DISABLE] == true $game_system.se_play($data_system.cancel_se) else $game_system.se_play($data_system.decision_se) $scene = Auto_Save.new end when 1 $game_system.se_play($data_system.cancel_se) $scene = Scene_Map.new end end end end #=============================================================================== # Scene_Map #=============================================================================== class Scene_Map #-------------------------------------------------------------------------- # update #-------------------------------------------------------------------------- alias mog41_update update def update if Input.trigger?(MOG::QUICK_BUTTON) $game_system.se_play($data_system.decision_se) $scene = Scene_Quick.new end mog41_update end end #=============================================================================== # Auto_Save #=============================================================================== class Auto_Save #-------------------------------------------------------------------------- # main #-------------------------------------------------------------------------- def main asv(make_filename) return end #-------------------------------------------------------------------------- # make_filename #-------------------------------------------------------------------------- def make_filename return "ResumeSave.rxdata" end #-------------------------------------------------------------------------- # avs #-------------------------------------------------------------------------- def asv(filename) $game_system.se_play($data_system.save_se) file = File.open(filename, "wb") write_save_data(file) file.close Audio.bgm_fade(800) Audio.bgs_fade(800) Audio.me_fade(800) $scene = nil end #-------------------------------------------------------------------------- # write_save_data #-------------------------------------------------------------------------- def write_save_data(file) characters = [] for i in 0...$game_party.actors.size actor = $game_party.actors[i] characters.push([actor.character_name, actor.character_hue]) end Marshal.dump(characters, file) Marshal.dump(Graphics.frame_count, file) $game_system.save_count += 1 $game_system.magic_number = $data_system.magic_number Marshal.dump($game_system, file) Marshal.dump($game_switches, file) Marshal.dump($game_variables, file) Marshal.dump($game_self_switches, file) Marshal.dump($game_screen, file) Marshal.dump($game_actors, file) Marshal.dump($game_party, file) Marshal.dump($game_troop, file) Marshal.dump($game_map, file) Marshal.dump($game_player, file) end end #=============================================================================== # Auto_Load #=============================================================================== class Auto_Load #-------------------------------------------------------------------------- # main #-------------------------------------------------------------------------- def main $game_temp = Game_Temp.new Graphics.transition ald(make_filename) return end #-------------------------------------------------------------------------- # make_filename #-------------------------------------------------------------------------- def make_filename return "ResumeSave.rxdata" end #-------------------------------------------------------------------------- # ald #-------------------------------------------------------------------------- def ald(filename) if FileTest.exist?(filename) $game_system.se_play($data_system.load_se) file = File.open(filename, "rb") read_save_data(file) file.close File.delete(filename) $game_system.bgm_play($game_system.playing_bgm) $game_system.bgs_play($game_system.playing_bgs) $game_map.update $scene = Scene_Map.new else Audio.bgm_fade(800) Audio.bgs_fade(800) Audio.me_fade(800) $scene = nil end end #-------------------------------------------------------------------------- # read_save_data #-------------------------------------------------------------------------- def read_save_data(file) characters = Marshal.load(file) Graphics.frame_count = Marshal.load(file) $game_system = Marshal.load(file) $game_switches = Marshal.load(file) $game_variables = Marshal.load(file) $game_self_switches = Marshal.load(file) $game_screen = Marshal.load(file) $game_actors = Marshal.load(file) $game_party = Marshal.load(file) $game_troop = Marshal.load(file) $game_map = Marshal.load(file) $game_player = Marshal.load(file) if $mogscript["menu_sakura"] == true $game_system.load_count += 1 end if $game_system.magic_number != $data_system.magic_number $game_map.setup($game_map.map_id) $game_player.center($game_player.x, $game_player.y) end $game_party.refresh end end $mog_rgss_Resume = true
Postado em: Programação XP