O Novo RPG Maker MV Terá Suporte Multiplataforma

4 de agosto de 2015
acessar O Novo RPG Maker MV Terá Suporte Multiplataforma

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.

RPG-Maker-MV

Apesar que da data de lançamento ainda não ter sido anunciada, o RPG Maker MV, segundo a revista, promete algumas novidades interessantes:

  • Suporte para multiplataforma (ou cross-platform), o que deve significar poder jogar um jogo feito num sistema diferente do que foi desenvolvido;
  • Batalhas de visão lateral incluídas;
  • Suporte para controles de toque e de mouse;
  • Grande aumento no limite dos itens da database;
  • Mapas automaticamente com três layers (ou camadas);
  • Os jogos poderão rodar em alta resolução.

O que acha desta notícia? Ficou ansioso ou tá satisfeito com os makers antigos? Compartilhe as suas opiniões comentando!

Fonte

Novo Doom não vai ter suporte para mods além do SnapMap

3 de agosto de 2015
acessar Novo Doom não vai ter suporte para mods além do SnapMap

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 »

The Deep Caves 2

2 de agosto de 2015
acessar The Deep Caves 2

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 […]

Path Finding Para O RPG Maker XP

31 de julho de 2015
acessar Path Finding Para O RPG Maker XP

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.

Utilização

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

Pinball Space

30 de julho de 2015
acessar Pinball Space

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 […]

Derrotando Guile com o Ken no SF2CE

29 de julho de 2015
assistir Derrotando Guile com o Ken no SF2CE

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 […]

View Range Module 5.0

28 de julho de 2015
acessar View Range Module 5.0

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.

Código do View Range Module 5.0:

#==============================================================================
# ** 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

Resource Hacker 4.2.4

27 de julho de 2015
acessar Resource Hacker 4.2.4

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 »

Flappy Turd

25 de julho de 2015
acessar Flappy Turd

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 […]

MOG Resume V1.1

24 de julho de 2015
acessar MOG Resume V1.1

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.

Utilização

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

Inscreva-se na nossa newsletter!