Game Development Your number one stop for anything related to creating games (except ROM hacks). You can even make your own!

Closed Thread
 
Thread Tools
  #1    
Old April 13th, 2013 (11:01 AM). Edited April 17th, 2013 by Rayquaza..
Rayquaza.'s Avatar
Rayquaza. Rayquaza. is offline
Lead Dev in Pokémon Chaos
     
    Join Date: Sep 2011
    Location: United Kingdom
    Age: 20
    Gender: Male
    Nature: Adamant
    Posts: 688

    I haven't been here in a while, but while I'm off I do hatch quite a few ideas; many of which I'm sure others on this community have had but have not put-forth:
    I have no idea how many people on this community like Pokémon Mystery Dungeon, but for those who do and want to build a fangame; they have to start from scratch and script everything - and in doing so making most, if not, all of the scripts private - which got me thinking; "Why not make a kit where the scripts are public?" Although my scripting knowlege is far below 0, as a community (for those who like the mystery dungeon games and for those who just like contributing) we could pull through a successful kit fairly easily.
    I know there is CNG's kit, but is wasn't the best. It was a couple of scripts and no battle system, but I think it's high-time we, of this community, pulled through a working kit which could enable more mystery dungeon fangames on this community, as it is very rare that we ever have a different sort of fangame around here that doesn't revolve around pokémon essentials and it would be good to see things around here that deliver more variety to this forum, different sorts of Pokémon fangames and so on.

    Why don't we do this?

    Current Progress:

    Spoiler:


    Current Contributors:

    Rayquaza.
    Angelican
    Varion
    __________________

    Relevant Advertising!

      #2    
    Old April 14th, 2013 (2:58 AM).
    Zodiac.'s Avatar
    Zodiac. Zodiac. is offline
    Flannary Returns!
       
      Join Date: Dec 2012
      Location: Wherever I drift off to next...
      Age: 21
      Gender: Male
      Posts: 53
      Come to think of it, it's a very good idea. It'd be better to have a community-made kit because it would give everyone (who contributed) a sense of achievement and it would take less time to develop.

      That aside Mystery dungeon is a whole lot more complex than regular Pokémon games, and the tiles are very awkward. But we, who love mystery dungeon, really would like one to arise. While I too have no scripting knowledge if this lifts off I will contribute as much to it as possible.
      __________________

        #3    
      Old April 14th, 2013 (6:24 AM).
      Radical Raptr's Avatar
      Radical Raptr Radical Raptr is offline
      #BAMFPokemonNerd
         
        Join Date: Mar 2011
        Location: everywhere
        Age: 22
        Gender: Male
        Nature: Sassy
        Posts: 1,116
        I could make mugshots for the Pokemon and some tiles I guess, I can't help with scripts but that stuff is fun
        __________________

        ~My Deviantart - Litharreon Wiki - Litharreon Game Download~

          #4    
        Old April 14th, 2013 (6:31 AM).
        Varion Bluefire's Avatar
        Varion Bluefire Varion Bluefire is offline
        A.K.A The Glitch
           
          Join Date: Apr 2013
          Age: 22
          Gender: Male
          Nature: Naughty
          Posts: 662
          I probably won't be able to do a whole much, mostly getting mugshots, sprites, and organizing them,
          __________________

          Just strollin' to my next destination...
            #5    
          Old April 14th, 2013 (6:32 AM).
          Elaitenstile's Avatar
          Elaitenstile Elaitenstile is offline
          I am legend
             
            Join Date: Feb 2013
            Posts: 1,909
            This is a very nice idea to boot up. In fact, one of my upcoming games is itself related to PMD, so when I fully learn how to script and things I would like to heavily contribute. Until then I'll just help with graphics and stuff; and yes, this Project should be brought forward much.

            Yeah I liked CNG's stuff, and he was one of the first to think that way.

            Considering the fact that we don't have all the Unova Pokémon's OW sprites under our belt, I think it'd be a good idea to have some made!

            Mystery Dungeon is liked by me far as the second best Game System, first being Pokémon Conquest (When the time comes, I will make something for this).

            I do hope everyone agrees!
            __________________
            ~
              #6    
            Old April 14th, 2013 (8:22 AM). Edited April 14th, 2013 by Rayquaza..
            Rayquaza.'s Avatar
            Rayquaza. Rayquaza. is offline
            Lead Dev in Pokémon Chaos
               
              Join Date: Sep 2011
              Location: United Kingdom
              Age: 20
              Gender: Male
              Nature: Adamant
              Posts: 688
              Thanks guys. While the graphics side of things are looking-up the script side still needs one or two more players so if you know any who like this idea then please inform them. Many aspects of the PMD games have been ripped already (mainly by the spriters-resource); making the job that bit easier:
              E.G.
              Spoiler:



              Unforntunately there was no PMD DS game for the new gen 5 pokémon and as a result the graphics for anything to do with gen 5 will be custom.

              A quick tip for tilers and scripters who are interested:
              - Looking into PMD, I have discovered that in total the maps use 2 layers; the bottom layer with everything animated on it and the top layer with everything static.
              (Examples in the attachments)

              The Aesthetic Aims for this kits succession should include simple script calling methods and tying scripts to the generic RMXP/VX/A event options as much as possible.
              Attached Thumbnails
              Waterfall_1.png‎   Waterfall_2.png‎   Waterfall_3.png‎  
              __________________
                #7    
              Old April 14th, 2013 (9:05 AM).
              Radical Raptr's Avatar
              Radical Raptr Radical Raptr is offline
              #BAMFPokemonNerd
                 
                Join Date: Mar 2011
                Location: everywhere
                Age: 22
                Gender: Male
                Nature: Sassy
                Posts: 1,116
                I could make some custom mugs but there seems to be a lot of different amounts of them for each pokemon
                __________________

                ~My Deviantart - Litharreon Wiki - Litharreon Game Download~

                  #8    
                Old April 14th, 2013 (9:50 AM).
                Rayquaza.'s Avatar
                Rayquaza. Rayquaza. is offline
                Lead Dev in Pokémon Chaos
                   
                  Join Date: Sep 2011
                  Location: United Kingdom
                  Age: 20
                  Gender: Male
                  Nature: Adamant
                  Posts: 688
                  That'd be a great help. If you could also help in the ripping of graphics that'd be helpful too, particularly the cutscenes like in explorers of time/darkness/sky where primal dialga appears. It's fairly easy with desmume.
                  __________________
                    #9    
                  Old April 14th, 2013 (10:05 AM).
                  FL's Avatar
                  FL FL is offline
                  Pokémon Island Creator
                     
                    Join Date: Sep 2010
                    Gender: Male
                    Posts: 1,693
                    All custom B2W2 mugs (click for original page):
                    __________________
                      #10    
                    Old April 14th, 2013 (10:09 AM).
                    Rayquaza.'s Avatar
                    Rayquaza. Rayquaza. is offline
                    Lead Dev in Pokémon Chaos
                       
                      Join Date: Sep 2011
                      Location: United Kingdom
                      Age: 20
                      Gender: Male
                      Nature: Adamant
                      Posts: 688
                      Thanks (I just realised that this was in my Da favourites!). Pokemon-Diamond sure is good at ths stuff. Just need to worry about the OWs to be honest.
                      __________________
                        #11    
                      Old April 14th, 2013 (10:10 AM).
                      venom12's Avatar
                      venom12 venom12 is offline
                      Pokemon Crystal Rain Relased
                         
                        Join Date: Sep 2006
                        Age: 26
                        Gender: Male
                        Nature: Adamant
                        Posts: 529
                        Quote:
                        Originally Posted by Rayquaza. View Post
                        Thanks (I just realised that this was in my Da favourites!). Pokemon-Diamond sure is good at ths stuff. Just need to worry about the OWs to be honest.
                        Why for now you wont use HGSS Styled overworlds?
                          #12    
                        Old April 14th, 2013 (10:12 AM).
                        Rayquaza.'s Avatar
                        Rayquaza. Rayquaza. is offline
                        Lead Dev in Pokémon Chaos
                           
                          Join Date: Sep 2011
                          Location: United Kingdom
                          Age: 20
                          Gender: Male
                          Nature: Adamant
                          Posts: 688
                          Currently there is nothing to build on. Would you be able to help? After all; your scripting knowlege is amazing.
                          __________________
                            #13    
                          Old April 15th, 2013 (1:06 AM).
                          Varion Bluefire's Avatar
                          Varion Bluefire Varion Bluefire is offline
                          A.K.A The Glitch
                             
                            Join Date: Apr 2013
                            Age: 22
                            Gender: Male
                            Nature: Naughty
                            Posts: 662
                            Quote:
                            Originally Posted by venom12 View Post
                            Why for now you wont use HGSS Styled overworlds?
                            IF it's a PMD engine, HGSS overworld are out of the question. Lack of detail, lack of animations, Only bad 2 framed animations.

                            It would be better finding someone to sprite the overworlds.
                            Which I might try later, I'll try Snivy, see how it goes.
                            __________________

                            Just strollin' to my next destination...
                              #14    
                            Old April 15th, 2013 (1:16 AM).
                            Rayquaza.'s Avatar
                            Rayquaza. Rayquaza. is offline
                            Lead Dev in Pokémon Chaos
                               
                              Join Date: Sep 2011
                              Location: United Kingdom
                              Age: 20
                              Gender: Male
                              Nature: Adamant
                              Posts: 688
                              I agree. But like I said; it won't matter what sprites we use until we actually have some scripts to change an RMXP/VX/A project into a PMD kit.

                              Another idea popped into my head recently: Instead of scripting from scratch; we use CNG's kit as a base as it already has basic PMD style scripts (but no battle system). I permission is required then I'll ask him.
                              __________________
                                #15    
                              Old April 15th, 2013 (1:16 AM).
                              UnderMybrella's Avatar
                              UnderMybrella UnderMybrella is offline
                              Some Game Developer
                                 
                                Join Date: Jan 2011
                                Location: Atlantis
                                Gender: Male
                                Nature: Calm
                                Posts: 280
                                Ooo! This should be interesting. My scripting knowledge in Ruby is tiny, Java being my 'native' language. I've actually been working on a Java version for a bit. However, In a way, you can model the new battle system off the Essentials one.
                                a) Moves are largely the same
                                b) The only major change you make is with the actual battle scene. I'm not on Windows, so I can't have a look at the moment, however, you know that minigame with all the jumping around and stuff? Combine that, with the essentials battle system, do a bit of tweaking, and you *should* be largely done... I think
                                  #16    
                                Old April 15th, 2013 (1:20 AM).
                                Varion Bluefire's Avatar
                                Varion Bluefire Varion Bluefire is offline
                                A.K.A The Glitch
                                   
                                  Join Date: Apr 2013
                                  Age: 22
                                  Gender: Male
                                  Nature: Naughty
                                  Posts: 662
                                  Quote:
                                  Originally Posted by Rayquaza. View Post
                                  I agree. But like I said; it won't matter what sprites we use until we actually have some scripts to change an RMXP/VX/A project into a PMD kit.

                                  Another idea popped into my head recently: Instead of scripting from scratch; we use CNG's kit as a base as it already has basic PMD style scripts (but no battle system). I permission is required then I'll ask him.
                                  I'd help with scripting and stuff, but I lack knowledge.
                                  Only thing I could do is generic Town events.
                                  Or at least try... :/
                                  __________________

                                  Just strollin' to my next destination...
                                    #17    
                                  Old April 15th, 2013 (1:25 AM).
                                  UnderMybrella's Avatar
                                  UnderMybrella UnderMybrella is offline
                                  Some Game Developer
                                     
                                    Join Date: Jan 2011
                                    Location: Atlantis
                                    Gender: Male
                                    Nature: Calm
                                    Posts: 280
                                    Also, which PMD version are we using? Red/Blue had infinite storage, only 2 bag pages, and held items were counted separately, while Time/Darkness/Sky had limited storage that increased as time went on, as with the bag, and held items remained in the bag.
                                      #18    
                                    Old April 15th, 2013 (1:27 AM). Edited April 15th, 2013 by Rayquaza..
                                    Rayquaza.'s Avatar
                                    Rayquaza. Rayquaza. is offline
                                    Lead Dev in Pokémon Chaos
                                       
                                      Join Date: Sep 2011
                                      Location: United Kingdom
                                      Age: 20
                                      Gender: Male
                                      Nature: Adamant
                                      Posts: 688
                                      Quote:
                                      Originally Posted by Anglican View Post
                                      Ooo! This should be interesting. My scripting knowledge in Ruby is tiny, Java being my 'native' language. I've actually been working on a Java version for a bit. However, In a way, you can model the new battle system off the Essentials one.
                                      a) Moves are largely the same
                                      b) The only major change you make is with the actual battle scene. I'm not on Windows, so I can't have a look at the moment, however, you know that minigame with all the jumping around and stuff? Combine that, with the essentials battle system, do a bit of tweaking, and you *should* be largely done... I think
                                      Good idea, but even with my puny scripting knowlege I know that when combining scripts you must consider "script compatibility".

                                      Also the mystery dungeon battle scenes aren't exactly the same at all. Most of the battles in PMD happen in maps without transitions.


                                      Quote:
                                      Originally Posted by Varion View Post
                                      I'd help with scripting and stuff, but I lack knowledge.
                                      Only thing I could do is generic Town events.
                                      Or at least try... :/
                                      Do you mean like the storage and shops? If not, at least that gives us something to go on.

                                      Quote:
                                      Originally Posted by Anglican View Post
                                      Also, which PMD version are we using? Red/Blue had infinite storage, only 2 bag pages, and held items were counted separately, while Time/Darkness/Sky had limited storage that increased as time went on, as with the bag, and held items remained in the bag.
                                      Explorers of the Sky.

                                      I'd also hope that this kit has some sort of dual screen in order to add more functionality to it (Like in Time/Darkness/Sky).
                                      __________________
                                        #19    
                                      Old April 15th, 2013 (1:39 AM).
                                      Zodiac.'s Avatar
                                      Zodiac. Zodiac. is offline
                                      Flannary Returns!
                                         
                                        Join Date: Dec 2012
                                        Location: Wherever I drift off to next...
                                        Age: 21
                                        Gender: Male
                                        Posts: 53
                                        You mean like the map, sprites, text and faces on the bottom screen and team stats on the top screen?
                                        Attached Thumbnails
                                        Untitled-3.png‎  
                                        __________________

                                          #20    
                                        Old April 15th, 2013 (1:41 AM). Edited April 15th, 2013 by Rayquaza..
                                        Rayquaza.'s Avatar
                                        Rayquaza. Rayquaza. is offline
                                        Lead Dev in Pokémon Chaos
                                           
                                          Join Date: Sep 2011
                                          Location: United Kingdom
                                          Age: 20
                                          Gender: Male
                                          Nature: Adamant
                                          Posts: 688
                                          Precisely, using that graphic that you attached would be ideal. If I remember rightly CNG also made a dual screen script that put the map on the bottom and parralaxes at the top.

                                          Just found something useful here. It's a random dungeon generator for VX (I think) with instructions that are to complicated for me to understand but I think others may be able to.

                                          Spoiler:
                                          Code:
                                          #===============================================================================
                                          # Roguelike Random Dungeon Generator
                                          #-------------------------------------------------------------------------------
                                          # Version: 2.0a
                                          # Author: cozziekuns (rmrk)
                                          # Last Date Updated: 4/11/2011
                                          #===============================================================================
                                          # Description:
                                          #-------------------------------------------------------------------------------
                                          # A random dungeon generator akin to that of games like Rogue or Pokemon Mystery
                                          # Dungeon.
                                          #===============================================================================
                                          # Updates
                                          # ------------------------------------------------------------------------------
                                          # o 16/07/2011 - Started Script
                                          # o 17/07/2011 - Updated Script to support black outlines and some autotile 
                                          #                features
                                          # o 15/09/2011 - Bugfix.
                                          # o 17/09/2011 - Major overhaul of the entire script. Now has fully functional
                                          #                autotile support, and a much faster algorithm that can create a 
                                          #                500 * 500 tile map with 1000 features in less than 10 seconds.
                                          #===============================================================================
                                          # To-do List
                                          #------------------------------------------------------------------------------- 
                                          # o Nothing! Suggest some features.
                                          #===============================================================================
                                          # Instructions
                                          #-------------------------------------------------------------------------------
                                          # Copy and paste this script above ? Main Process but below ? Materials, and
                                          # edit the modules to your liking. Some difficult modules have links to the 
                                          # instructions.
                                          #===============================================================================
                                          # Maps
                                          #-------------------------------------------------------------------------------
                                          # Start editing at:
                                          #   case id
                                          #   when [id] - Replace [id] with your map id.
                                          #     ROOM_MIN_WIDTH : Minimum width for a single "Room"
                                          #     ROOM_MAX_WIDTH : Maximum width for a single "Room"
                                          #     ROOM_MIN_HEIGHT : Minimum height for a single "Room"
                                          #     ROOM_MAX_HEIGHT : Maximum height for a single "Room"
                                          #     FEATURES : How many features you want to fit in the map
                                          #     WALL_TILE : Tile of the wall
                                          #     FLOOR_TILE : Tile of the floor
                                          #     BLACK_OUTLINE : Do you want a black outline surrounding your random 
                                          #                     dungeon (slow).
                                          #   end
                                          #===============================================================================
                                          
                                          module COZZIEKUNS
                                            
                                            module RDG
                                              
                                              def self.map_settings(id)
                                                case id
                                                when 1
                                                  room_min_width = 3
                                                  room_max_width = 6
                                                  room_min_height = 3
                                                  room_max_height = 6
                                                  features = 200
                                                  wall_tile = 0
                                                  floor_tile = 16
                                                  black_outline = false
                                                when 2
                                                  room_min_width = 4
                                                  room_max_width = 8
                                                  room_min_height = 4
                                                  room_max_height = 8
                                                  features = 75
                                                  wall_tile = 6
                                                  floor_tile = 52
                                                  black_outline = false
                                                end
                                                return [room_min_width, room_max_width, room_min_height, room_max_height,
                                                features, wall_tile, floor_tile, black_outline].compact 
                                              end
                                            
                                            end
                                            
                                          end
                                          
                                          #==============================================================================
                                          # ** Game_Map
                                          #==============================================================================
                                          
                                          class Game_Map 
                                            
                                            alias coz_rdg_gm_setup setup
                                            def setup(*args)
                                              coz_rdg_gm_setup(*args)
                                              create_dungeon if not COZZIEKUNS::RDG.map_settings(@map_id).empty?
                                            end
                                            
                                            def create_dungeon
                                              set_variables
                                              fill_wall_tiles
                                              dig_random_room
                                              for i in 0...@features
                                                count = 0
                                                loop do
                                                  count += 1
                                                  choose_next_wall
                                                  make_new_feature
                                                  break if @can_make or count == 5
                                                end
                                              end
                                              refine_tilemap
                                              set_player_and_events
                                            end
                                            
                                            def set_variables
                                              settings = COZZIEKUNS::RDG.map_settings(@map_id)
                                              @rmiw = settings[0]
                                              @rmaw = settings[1]
                                              @rmih = settings[2]
                                              @rmah = settings[3]
                                              @features = settings[4]
                                              @walls = []
                                              @floor = []
                                              @next_wall = []
                                              @wall_tile = (settings[5] + 80) * 48 + 2048
                                              @wall2_tile = (settings[5] + 88) * 48 + 2048
                                              @floor_tile = (settings[6] + 128) + 1408
                                              @black_outline = settings[7]
                                              @next_feature = 0
                                              @can_make = false
                                              @player_transfered = false
                                            end
                                            
                                            def set_player_and_events
                                              for event in $game_map.events.values + [$game_player]
                                                loop do
                                                  ax = @floor[rand(@floor.size)][0]
                                                  ay = @floor[rand(@floor.size)][1]
                                                  if passable_in_area?(ax - 1, ay - 1, event)
                                                    event.moveto(ax, ay)
                                                    break
                                                  end
                                                end
                                              end
                                            end
                                            
                                            alias coz_rdg_gm_update update
                                            def update
                                              coz_rdg_gm_update
                                              unless @player_transfered or COZZIEKUNS::RDG.map_settings(@map_id).empty?
                                                @player_transfered = true
                                                set_player_and_events
                                              end
                                            end
                                            
                                            def passable_in_area?(x, y, char, width = 3, height = 3)
                                              for i in x...x + width; for j in y...y + height
                                                return false if not char.passable?(i, j)
                                              end; end
                                              return true
                                            end
                                            
                                            def fill_wall_tiles
                                              for i in 0...width; for j in 0...height
                                                @map.data[i, j, 0] = @wall_tile
                                              end; end
                                            end
                                            
                                            def dig_random_room
                                              x = [rand(width) + 1, width - @rmaw - 1].min
                                              y = [rand(height) + 1, height - @rmah - 1].min
                                              dig_room(x, y)
                                            end
                                            
                                            def dig_room(x, y, direction = 2)
                                              width = rand(@rmiw) + @rmaw - @rmiw + 1
                                              height = rand(@rmih) + @rmah - @rmih + 1
                                              for i in 0...width
                                                for j in 0...height
                                                  case direction
                                                  when 0; new_x = x + j; new_y = y + i
                                                  when 1; new_x = x - i; new_y = y + j
                                                  when 2; new_x = x + i; new_y = y + j
                                                  when 3; new_x = x + j; new_y = y - i
                                                  end
                                                  @map.data[new_x, new_y, 0] = @floor_tile
                                                  @floor.push([new_x, new_y]) 
                                                  @walls.push([new_x - 1, new_y, 1]) if new_x == x
                                                  @walls.push([new_x + 1, new_y, 2]) if new_x == x + width - 1
                                                  @walls.push([new_x, new_y - 1, 3]) if new_y == y
                                                  @walls.push([new_x, new_y + 1, 0]) if new_y == y + height - 1
                                                end
                                              end
                                              @next_feature = 1
                                            end
                                            
                                            def dig_corridor(x, y, direction)
                                              j = 0
                                              width = rand(@rmiw) + @rmaw - @rmiw + 1
                                              height = 0
                                              for i in 0...width
                                                case direction
                                                when 0; new_x = x + j; new_y = y + i
                                                when 1; new_x = x - i; new_y = y + j
                                                when 2; new_x = x + i; new_y = y + j  
                                                when 3; new_x = x + j; new_y = y - i 
                                                end
                                                @map.data[new_x, new_y, 0] = @floor_tile
                                                @floor.push([new_x, new_y]) 
                                                @walls.push([new_x - 1, new_y, 1]) if new_x == x
                                                @walls.push([new_x + 1, new_y, 2]) if new_x == x + width - 1
                                                @walls.push([new_x, new_y - 1, 3]) if new_y == y
                                                @walls.push([new_x, new_y + 1, 0]) if new_y == y + height - 1
                                              end
                                              case direction
                                              when 0; @next_wall = [x + height, y + width, 0]
                                              when 1; @next_wall = [x - width, y + height, 1]
                                              when 2; @next_wall = [x + width, y + height, 2]
                                              when 3; @next_wall = [x + height, y - width, 3]
                                              end
                                              @next_feature = 0
                                            end
                                            
                                            def choose_next_wall; @next_wall = @walls[rand(@walls.size)]; end
                                            
                                            def make_new_feature
                                              direction = rand(4)
                                              @can_make = scan_area(@next_wall[0], @next_wall[1], @next_wall[2])
                                              return if not @can_make
                                              @walls.delete(@next_wall)
                                              dig_corridor(@next_wall[0], @next_wall[1], @next_wall[2])
                                              @can_make = scan_area(@next_wall[0], @next_wall[1], @next_wall[2])
                                              dig_room(@next_wall[0], @next_wall[1], @next_wall[2]) if @can_make
                                              @next_feature = 1
                                            end
                                            
                                            def scan_area(x, y, direction)
                                              case @next_feature
                                              when 0
                                                for i in 0..@rmaw + 1; for j in 0..@rmah + 1
                                                  case direction
                                                  when 0; return false if passable?(x + j, y + i) or !valid?(x + j, y + i)
                                                  when 1; return false if passable?(x - i, y + j) or !valid?(x - i, y + j)
                                                  when 2; return false if passable?(x + i, y + j) or !valid?(x + i, y + j)
                                                  when 3; return false if passable?(x + j, y - i) or !valid?(x + j, y - i)
                                                  end
                                                end; end
                                              when 1
                                                for i in 0..@rmaw + 1; for j in -2..2
                                                  case direction
                                                  when 0; return false if passable?(x + j, y + i) or !valid?(x + j, y + i)
                                                  when 1; return false if passable?(x - i, y + j) or !valid?(x - i, y + j)
                                                  when 2; return false if passable?(x + i, y + j) or !valid?(x + i, y + j)
                                                  when 3; return false if passable?(x + j, y - i) or !valid?(x + j, y - i)
                                                  end
                                                end; end
                                              end
                                              return true
                                            end
                                            
                                            def refine_tilemap
                                              for point in @floor
                                                next if passable?(point[0], point[1] - 1)
                                                if passable?(point[0], point[1] - 2)
                                                  @map.data[point[0], point[1] - 1, 0] = @floor_tile
                                                else
                                                  @map.data[point[0], point[1] - 1, 0] = @wall2_tile
                                                end
                                              end
                                              for i in 0...width; for j in 0...height
                                                next if @map.data[i, j, 0] == @floor_tile 
                                                type = @map.data[i, j, 0] == @wall2_tile ? 1 : 0
                                                @map.data[i, j, 0] = rdg_tilemap_id(i, j, type) 
                                              end; end
                                              return if not @black_outline
                                              for i in 0...width; for j in 0...height
                                                next if @floor.include?([i, j])
                                                if (@map.data[i, j, 0] - 2048) % 48 == 0 
                                                  @map.data[i, j, 0] = 0
                                                end
                                              end; end
                                            end
                                            
                                            def rdg_tilemap_id(x, y, type)
                                              data = @map.data
                                              base = @map.data[x, y, 0]
                                              return base if x == 0 or x == width - 1 or y == 0 or y == width - 1
                                              case type
                                              when 0
                                                count = 0
                                                count += 1 if (data[x - 1, y, 0] - 2048) / 48 != (base - 2048) / 48 rescue false
                                                count += 2 if (data[x, y - 1, 0] - 2048) / 48 != (base - 2048) / 48 rescue false
                                                count += 4 if (data[x + 1, y, 0] - 2048) / 48 != (base - 2048) / 48 rescue false
                                                count += 8 if (data[x, y + 1, 0] - 2048) / 48 != (base - 2048) / 48 rescue false
                                                id = case count 
                                                when 0 then check_corners(x, y, base)
                                                when 1 then 16 + ((check_corners(x, y, base, [2, 4])) / 2)
                                                when 2 then 20 + ((check_corners(x, y, base, [4, 8])) / 4)
                                                when 3 then 34 + ((check_corners(x, y, base, [4])) / 4)
                                                when 4 then 24 + ([0,8,1,9].index(check_corners(x, y, base, [1, 8])))
                                                when 5 then 32
                                                when 6 then 36 + ((check_corners(x, y, base, [8])) / 8)
                                                when 7 then 42
                                                when 8 then 28 + check_corners(x, y, base, [1, 2])
                                                when 9 then 40 + ((check_corners(x, y, base, [2])) / 2)
                                                when 10 then 33
                                                when 11 then 43
                                                when 12 then 38 + check_corners(x, y, base, [1])
                                                else
                                                  31 + count
                                                end
                                              when 1
                                                count = 0
                                                count += 1 if passable?(x - 1, y)
                                                count += 4 if passable?(x + 1, y)
                                                id = count + 10
                                              end
                                              return base + id
                                            end
                                          
                                            def check_corners(x, y, base, corners = [1, 2, 4, 8])
                                              count = 0
                                              data = @map.data
                                              count += 1 if corners.include?(1) and (data[x - 1, y - 1, 0] - 2048) / 48 != (base - 2048) / 48 rescue false
                                              count += 2 if corners.include?(2) and (data[x + 1, y - 1, 0] - 2048) / 48 != (base - 2048) / 48 rescue false
                                              count += 4 if corners.include?(4) and (data[x + 1, y + 1, 0] - 2048) / 48 != (base - 2048) / 48 rescue false
                                              count += 8 if corners.include?(8) and (data[x - 1, y + 1, 0] - 2048) / 48 != (base - 2048) / 48 rescue false
                                              return count
                                            end
                                            
                                          end
                                          __________________
                                            #21    
                                          Old April 15th, 2013 (2:46 PM). Edited April 15th, 2013 by UnderMybrella.
                                          UnderMybrella's Avatar
                                          UnderMybrella UnderMybrella is offline
                                          Some Game Developer
                                             
                                            Join Date: Jan 2011
                                            Location: Atlantis
                                            Gender: Male
                                            Nature: Calm
                                            Posts: 280
                                            Just listing things off, for the wild Pokémon
                                            - Use pathfinding to locate target Pokémon (Main character, partner, teammate, decoy)
                                            - Have a species, stats, and 4 moves, as well as IQ
                                            - Limit as to amount of Pokemon per floor? (Excluding kecleon swarms) Means less potential lagggg (Imagine 1000 Pokemon on a floor....)
                                            Anything I'm missing?
                                            Similar for teammates, apart from limit for Pokemon per floor

                                            Quote:
                                            Originally Posted by Rayquaza. View Post
                                            Also the mystery dungeon battle scenes aren't exactly the same at all. Most of the battles in PMD happen in maps without transitions.
                                            Sorry if I was unclear, the actual battle scene would come from the minigame, but the logic could mostly come from the battle script. The minigame happens on the map
                                              #22    
                                            Old April 16th, 2013 (9:52 AM). Edited April 16th, 2013 by Rayquaza..
                                            Rayquaza.'s Avatar
                                            Rayquaza. Rayquaza. is offline
                                            Lead Dev in Pokémon Chaos
                                               
                                              Join Date: Sep 2011
                                              Location: United Kingdom
                                              Age: 20
                                              Gender: Male
                                              Nature: Adamant
                                              Posts: 688
                                              Quote:
                                              Originally Posted by Anglican View Post
                                              Just listing things off, for the wild Pokémon
                                              - Use pathfinding to locate target Pokémon (Main character, partner, teammate, decoy)
                                              - Have a species, stats, and 4 moves, as well as IQ
                                              - Limit as to amount of Pokemon per floor? (Excluding kecleon swarms) Means less potential lagggg (Imagine 1000 Pokemon on a floor....)
                                              Anything I'm missing?
                                              Similar for teammates, apart from limit for Pokemon per floor



                                              Sorry if I was unclear, the actual battle scene would come from the minigame, but the logic could mostly come from the battle script. The minigame happens on the map
                                              True, as well as level restrictions. I think it'd be helpul if you were to contribute if possible. You don't have to but you know more than I do about scripting.

                                              A quick update to show what I have been abled to do as a tileset test:

                                              Spoiler:
                                              __________________
                                                #23    
                                              Old April 16th, 2013 (1:42 PM). Edited April 16th, 2013 by UnderMybrella.
                                              UnderMybrella's Avatar
                                              UnderMybrella UnderMybrella is offline
                                              Some Game Developer
                                                 
                                                Join Date: Jan 2011
                                                Location: Atlantis
                                                Gender: Male
                                                Nature: Calm
                                                Posts: 280
                                                Quote:
                                                Originally Posted by Rayquaza. View Post
                                                True, as well as level restrictions. I think it'd be helpul if you were to contribute if possible. You don't have to but you know more than I do about scripting.
                                                Sure! At first, for scripting, I won't be much help, unfortunately, however, as I start leaning a bit more (And mucking around with Essential Scripts), I'll see what I can do!

                                                Ok, I looked into the scripts. At the moment, I have no idea how to do this, but, for the most efficient way, for enemies, create the events via a script. Anyone know how to do this?
                                                  #24    
                                                Old April 17th, 2013 (1:43 AM).
                                                Varion Bluefire's Avatar
                                                Varion Bluefire Varion Bluefire is offline
                                                A.K.A The Glitch
                                                   
                                                  Join Date: Apr 2013
                                                  Age: 22
                                                  Gender: Male
                                                  Nature: Naughty
                                                  Posts: 662
                                                  Yes, storage, banks, and shops.
                                                  I can try. I've already a wise know-how for the Poké Bank.
                                                  __________________

                                                  Just strollin' to my next destination...
                                                    #25    
                                                  Old April 17th, 2013 (11:08 AM).
                                                  Rayquaza.'s Avatar
                                                  Rayquaza. Rayquaza. is offline
                                                  Lead Dev in Pokémon Chaos
                                                     
                                                    Join Date: Sep 2011
                                                    Location: United Kingdom
                                                    Age: 20
                                                    Gender: Male
                                                    Nature: Adamant
                                                    Posts: 688
                                                    Quote:
                                                    Originally Posted by Anglican View Post
                                                    Sure! At first, for scripting, I won't be much help, unfortunately, however, as I start leaning a bit more (And mucking around with Essential Scripts), I'll see what I can do!

                                                    Ok, I looked into the scripts. At the moment, I have no idea how to do this, but, for the most efficient way, for enemies, create the events via a script. Anyone know how to do this?
                                                    That's great. My best guess is setting the events to parallel process and calling a script from there, maybe even using common events. I'll look into it also.

                                                    Quote:
                                                    Originally Posted by Varion View Post
                                                    Yes, storage, banks, and shops.
                                                    I can try. I've already a wise know-how for the Poké Bank.
                                                    That would be usefull, as the pokébank stores variables for the amount deposited and the savings present. It can also be applied to storage as well if I'm not mistaken.
                                                    __________________
                                                    Closed Thread
                                                    Quick Reply

                                                    Sponsored Links
                                                    Thread Tools

                                                    Posting Rules
                                                    You may not post new threads
                                                    You may not post replies
                                                    You may not post attachments
                                                    You may not edit your posts

                                                    BB code is On
                                                    Smilies are On
                                                    [IMG] code is On
                                                    HTML code is Off

                                                    Forum Jump


                                                    All times are GMT -8. The time now is 5:14 AM.