Envision, Create, Share

Welcome to HBGames, a leading amateur game development forum and Discord server. All are welcome, and amongst our ranks you will find experts in their field from all aspects of video game design and development.

Sexxing Up the Title Screen

Nolund

Sponsor

Alright, I found a tutorial way back in the day about how to change the title screen completely using events, but I lost that project, and I cannot find that tutorial for the life of me.

Basically, what I want to do is change the title screen from the RMXP default, box popping up. I want to make my title screen look better, using pictures for my "Start" "Continue" "Quit". Unfortunately, as it's been quite a while since I last did it, I do not remember a damned thing.

So, for picture references...

I don't want this:

title_sshot.gif

I want to be able to do something like this:

Quintessence-The-Blighted-Venom_1.jpg
 
Queintessence uses a script that skips the title screen, so that Reives (the maker of Quintessence) could effectivley use events to script his own title screen, using various pictures, fogs and SEs and such.

Look for that script, and you'll be able to give it a go.
 
Best thing for this would be searching for "Three Image Title Screen Script" in the script forums. It's a script that uses three seperate images for the options in the menu, which I assume is what Reives did there.
 

Nolund

Sponsor

Well, I remember that the way I did it in the past was that I skipped the title screen completely, and went to a map (which was blank, and just had events on it to bring up various images to create a title screen, and it had a bunch of conditional branches).

Which way do you think would be easier?
 

Pal88

Member

Isn't there one more way to do this?

If you edit the system png and have all of it transparent, you should be able to draw your own cursor in the cursor part of the system png.

Then on your title screen you can add the words, new game, etc and make sure they align to where the cursor is pointing when you test play.
 
I made a lot of time ago an script for that, you need 4 pictures (Start, Load, load unavailable, an exit)

Code:
#==============================================================================

# ■ Scene_Title

#------------------------------------------------------------------------------

 

class Scene_Title

  #--------------------------------------------------------------------------

  def main

    if $BTEST

      battle_test

      return

    end

    $data_actors        = load_data("Data/Actors.rxdata")

    $data_classes       = load_data("Data/Classes.rxdata")

    $data_skills        = load_data("Data/Skills.rxdata")

    $data_items         = load_data("Data/Items.rxdata")

    $data_weapons       = load_data("Data/Weapons.rxdata")

    $data_armors        = load_data("Data/Armors.rxdata")

    $data_enemies       = load_data("Data/Enemies.rxdata")

    $data_troops        = load_data("Data/Troops.rxdata")

    $data_states        = load_data("Data/States.rxdata")

    $data_animations    = load_data("Data/Animations.rxdata")

    $data_tilesets      = load_data("Data/Tilesets.rxdata")

    $data_common_events = load_data("Data/CommonEvents.rxdata")

    $data_system        = load_data("Data/System.rxdata")

    $game_system = Game_System.new

    @sprite = Sprite.new

    @sprite.bitmap = RPG::Cache.title($data_system.title_name)

    s1 = "Comenzar"

    s2 = "Continuar"

    s3 = "Salir"

    @command_window = Window_Command.new(192, [s1, s2, s3])

    @command_window.back_opacity = 160

    @command_window.x = -320 - @command_window.width / 2

    @command_window.y = -288

    @continue_enabled = false

    @sprite_ima = Sprite.new

    @sprite_ima.bitmap = RPG::Cache.picture("juego nuevo")

    @sprite_ima.x = 100

    @sprite_ima.y = 120

    for i in 0..3

      if FileTest.exist?("Save#{i+1}.rxdata")

        @continue_enabled = true

      end

    end

    if @continue_enabled

      @command_window.index = 1

    else

      @command_window.disable_item(1)

    end

    $game_system.bgm_play($data_system.title_bgm)

    Audio.me_stop

    Audio.bgs_stop

    Graphics.transition

    loop do

      Graphics.update

      Input.update

      update

      if $scene != self

        break

      end

    end

    Graphics.freeze

    @command_window.dispose

    @sprite_ima.dispose

    @sprite.dispose

  end

  #--------------------------------------------------------------------------

  def update

    @command_window.update

    if Input.trigger?(Input::C)

      case @command_window.index

      when 0 

        command_new_game

      when 1 

        command_continue

      when 2 

        command_shutdown

      end

    end

    case @command_window.index   

    when 0 # Comando 1

       @sprite_ima.bitmap = RPG::Cache.picture("juego nuevo") 

    when 1 # Comando 2

      unless @continue_enabled

       @sprite_ima.bitmap = RPG::Cache.picture("continuar_no")

      return

      end

       @sprite_ima.bitmap = RPG::Cache.picture("continuar") 

    when 2 # Comando 3

     @sprite_ima.bitmap = RPG::Cache.picture("salir1")  

   end

  end

  #--------------------------------------------------------------------------

  def command_new_game

    $game_system.se_play($data_system.decision_se)

    Audio.bgm_stop

    Graphics.frame_count = 0

    $game_temp          = Game_Temp.new

    $game_system        = Game_System.new

    $game_switches      = Game_Switches.new

    $game_variables     = Game_Variables.new

    $game_self_switches = Game_SelfSwitches.new

    $game_screen        = Game_Screen.new

    $game_actors        = Game_Actors.new

    $game_party         = Game_Party.new

    $game_troop         = Game_Troop.new

    $game_map           = Game_Map.new

    $game_player        = Game_Player.new

    $game_party.setup_starting_members

    $game_map.setup($data_system.start_map_id)

    $game_player.moveto($data_system.start_x, $data_system.start_y)

    $game_player.refresh

    $game_map.autoplay

    $game_map.update

    $scene = Scene_Map.new

  end

  #--------------------------------------------------------------------------

  def command_continue

    unless @continue_enabled

      $game_system.se_play($data_system.buzzer_se)

      return

    end

    $game_system.se_play($data_system.decision_se)

    $scene = Scene_Load.new

  end

  #--------------------------------------------------------------------------

  def command_shutdown

    $game_system.se_play($data_system.decision_se)

    Audio.bgm_fade(800)

    Audio.bgs_fade(800)

    Audio.me_fade(800)

    $scene = nil

  end

  #--------------------------------------------------------------------------

  def battle_test

    $data_actors        = load_data("Data/BT_Actors.rxdata")

    $data_classes       = load_data("Data/BT_Classes.rxdata")

    $data_skills        = load_data("Data/BT_Skills.rxdata")

    $data_items         = load_data("Data/BT_Items.rxdata")

    $data_weapons       = load_data("Data/BT_Weapons.rxdata")

    $data_armors        = load_data("Data/BT_Armors.rxdata")

    $data_enemies       = load_data("Data/BT_Enemies.rxdata")

    $data_troops        = load_data("Data/BT_Troops.rxdata")

    $data_states        = load_data("Data/BT_States.rxdata")

    $data_animations    = load_data("Data/BT_Animations.rxdata")

    $data_tilesets      = load_data("Data/BT_Tilesets.rxdata")

    $data_common_events = load_data("Data/BT_CommonEvents.rxdata")

    $data_system        = load_data("Data/BT_System.rxdata")

    Graphics.frame_count = 0

    $game_temp          = Game_Temp.new

    $game_system        = Game_System.new

    $game_switches      = Game_Switches.new

    $game_variables     = Game_Variables.new

    $game_self_switches = Game_SelfSwitches.new

    $game_screen        = Game_Screen.new

    $game_actors        = Game_Actors.new

    $game_party         = Game_Party.new

    $game_troop         = Game_Troop.new

    $game_map           = Game_Map.new

    $game_player        = Game_Player.new

    $game_party.setup_battle_test_members

    $game_temp.battle_troop_id = $data_system.test_troop_id

    $game_temp.battle_can_escape = true

    $game_map.battleback_name = $data_system.battleback_name

    $game_system.se_play($data_system.battle_start_se)

    $game_system.bgm_play($game_system.battle_bgm)

    $scene = Scene_Battle.new

  end

end

 

You need pictures like this:

http://www.megaupload.com/?d=WG89DZCU

If you use it, giveme credits.
 
Oh, I know. I worked that out as I went. I'm toying with the idea of using it in a slightly different way from your pictures, but I haven't decided yet.

What I like about yours over the similar one above is that the options are another layer over the main title screen, which lets me adjust one or the other independently. That's easier for me.
 

Thank you for viewing

HBGames is a leading amateur video game development forum and Discord server open to all ability levels. Feel free to have a nosey around!

Discord

Join our growing and active Discord server to discuss all aspects of game making in a relaxed environment. Join Us

Content

  • Our Games
  • Games in Development
  • Emoji by Twemoji.
    Top