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.

"New Game +" Alternate Title Screen?

Zak

Member

Hey, I've been wanting to do this for a while but never knew how to. You know how some games have alternate title screens when you complete the game (ie. you're on your New Game +) - such as KH: Chain of Memories, when you complete Sora's story and move on to Riku's, and the title screen changes from Sora to Riku - well, is there a way to do that in XP?

For instance, an ideal situation would be that you turn on a switch and that switch changes the Title Screen itself. But I'm guessing it wouldn't be that easy, and if it's possible a small script of some sort would be required.

Has anyone got any ideas?

Thanks!
 
It is possible to change the title screen graphic based on script as far as I'm aware. I can't take a look at the Scene_Title as I dont have access to RMXP at the moment. It should be a pretty simple edit though.
 
Alright so I decided to check out to see if my method was possible and it seems to be it isn't, sorry about that. Depending on which NG+ script you plan on using it might have a feature already implamented for this kind of thing.
 

Zak

Member

Well I wasn't aware there were any NG+ scripts, and after having a look could only find one. Trickster's Script looked like it was pretty much just what I needed, but surprise surprise... the download is a big old 404 D:

I'm having a go at an evented title, which looks pretty good, but I still can't figure out how to get the title to have a different image when, for example, a certain switch has been set. Has anyone got any ideas on how to make a switch or a script from a saved game impact the game as soon as it loads to its title (or, in this case, the map with the evented title?)
 
Hey dude, sorry. I guess that I didn't back it up. I guess all you could do is get a try at eventing. I will continue to search for the script, just don't expect a response any time soon.

-chromaticed
 
If by title screen you mean the picture, not the menu, Do this:
Import the alternative title screen pic to your game.
Go to scene_title, and find the line:
@sprite.bitmap = RPG::Cache.title($data_system.title_name)
Replace it with:

if $game_switches[number_of_your_switch]
@sprite.bitmap = RPG::Cache.title("your alternate title")
else
@sprite.bitmap = RPG::Cache.title($data_system.title_name)
end
 
Silver wind I tried that and it posed an odd error, it always seemed to display the alternative title no matter if the switch was active or not. That was exactly the idea I had, not sure why that happend though.
 
or you could just use a skip title screen script, make your own title screen with panorama(honestly, unless you want a whole bunch of special effects, it's not that hard), and then set switches up/ make a similar map with a different "title screen" for when you do new game plus.
 

Zak

Member

Yeah, it's tough. Daxis, thanks for the input but the game has to load the switches before the title loads/the saved game is loaded. :/

I don't want anyone spending a lot of time trying to find a solution to this for me - it's not that much of a big deal. But, of course, if anyone is interested themselves in figuring it out, that'd be cool anyway :)
 
I find it to be a good practice. It didn't take me too long, too.
* Paste this in a new page above main.
* Set the id of the switch, and the picture name (in lines 8~9)
* Don't forget to import the title picture.
Code:
 

class Scene_Title

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

  #  Change title-screen if a switch is ON         #

  #   * Set the switch ID & name of title below !  #

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

  def set_title_pic

    switch_ID = 1

    new_title_name = "001-Title05"

    switch_is_on = false

    for i in 0..3

      file = "Save#{i+1}.rxdata"

      if FileTest.exist?(file)

        temp_load_data(file)

        if $game_switches[switch_ID]

          switch_is_on = true

        end

      end

    end

    if switch_is_on

      @sprite.bitmap = RPG::Cache.title( new_title_name )

    else

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

    end

    

  end # method end

  

  def temp_load_data(file)

    # loading the file, copied from Scene_Load 

    file = File.open(file, "rb")

    # Data in the file must be loaded in this order :

    characters = Marshal.load(file)

    Graphics.frame_count = Marshal.load(file)

    $game_system        = Marshal.load(file)

    $game_switches      = Marshal.load(file)

    #p "switch[1] = #{$game_switches[1]}"

    file.close

  end

  

  def main

        # If battle test

    if $BTEST

      battle_test

      return

    end

    # Load database

    $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")

    # Make system object

    $game_system = Game_System.new

    # Make title graphic

    @sprite = Sprite.new

    #-------edit---------#

    set_title_pic

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

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

    # Make command window

    s1 = "New Game"

    s2 = "Continue"

    s3 = "Shutdown"

    @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 determinant

    # Check if at least one save file exists

    # If enabled, make @continue_enabled true; if disabled, make it false

    @continue_enabled = false

    for i in 0..3

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

        @continue_enabled = true

      end

    end

    # If continue is enabled, move cursor to "Continue"

    # If disabled, display "Continue" text in gray

    if @continue_enabled

      @command_window.index = 1

    else

      @command_window.disable_item(1)

    end

    # Play title BGM

    $game_system.bgm_play($data_system.title_bgm)

    # Stop playing ME and BGS

    Audio.me_stop

    Audio.bgs_stop

    # Execute transition

    Graphics.transition

    # Main loop

    loop do

      # Update game screen

      Graphics.update

      # Update input information

      Input.update

      # Frame update

      update

      # Abort loop if screen is changed

      if $scene != self

        break

      end

    end

    # Prepare for transition

    Graphics.freeze

    # Dispose of command window

    @command_window.dispose

    # Dispose of title graphic

    @sprite.bitmap.dispose

    @sprite.dispose

  end

  

  

end

Unless you already solved it yourself.. :)
 

Zak

Member

Hey, thanks a lot! The change in picture is entirely functional with that script, which is fantastic to see... but there's just one problem D: (it can never be easy, eh? :P)

The cursor can't move to "New Game" or "Shutdown". It has to stay on continue. I'm thinking there's probably an easy solution to this, but I just can't find it. :/
 

Zak

Member

I'm using the SDK, which I see now does mess with scene_title. I've noticed that when your script goes below the SDK, the alternate title screen comes up but New Game and Shutdown are disabled; when it goes above the SDK, no alternate title screen appears, but New Game and Shutdown are enabled. Gah D:
 
Go into the SDK and remove all the parts that mess with the Scene_Title, its most likely something in there messing about with the Commands, should be fairly easy to remove and not give any problems.
 

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