• Our software update is now concluded. You will need to reset your password to log in. In order to do this, you will have to click "Log in" in the top right corner and then "Forgot your password?".
  • Welcome to PokéCommunity! Register now and join one of the best fan communities on the 'net to talk Pokémon and more! We are not affiliated with The Pokémon Company or Nintendo.

Pokemon Region Generator

40
Posts
8
Years
    • She/Her
    • Seen Apr 11, 2024
    The new updates with the huge region map is fantastic!
    I was using the 1.0 to generate the map images to see what pretty regions it can come up with because mapping the towns and cities and routes I can do, designing the overall region and where things should be placed, not so much. lmao

    One thing I'd like is the ability to set 0 Towns and Cities to just generate those fresh, empty continents or be able to place cities but not do routes.
    I find the way it decides to place routes really frustrating at times because it makes some good choices for city placement then connects them awfully, ruining its landscaping and sculpting of the beautiful base region it creates.
    It makes massive double sized routes or dumps routes side by side with a single tile in between to separate a lot.
    For me it's stumbling at the route placement but aside from that, what it does is fantastic.
     
    139
    Posts
    8
    Years
  • Hey Andromeda,

    Glad you are getting some use out of the tool! And yeah, route placement is one of an endless number of things that need an upgrade. That part of the code is pretty old at this point and a bit of a mess. I kept the double-width routes deliberately for variety, but that combined with routes being directly next to/parallel to each other can result in big blobs of the region with touching routes, which is not ideal or pretty. I think in the short term I might remove double-wide routes to help somewhat, but I am looking into just redoing that part of the code altogether so that routes don't run parallel while being directly adjacent. It might even be way easier to do than I think - the original code is kind of over-engineered for the mediocre results it gives.

    Now that I've already rambled this much, I'm going to throw out this tentative "vision" for some future stuff I've been thinking about as far as the region map (keep in mind this would come in small increments and probably not that quickly). So right now, the region generation just happens all in one go. But it would be really neat if you could just run it one step at a time, and either manually do some steps yourself in between or just try different combinations. For example, in a sci-fi future where I ever get this far, the workflow might look something like this:

    1. Generate region landmass. Have options for different types (island, peninsula, landlocked w/lakes, etc)
    2. Once you're happy with the look of the map, you can generate cities as many times as you want until it looks nice, while keeping the same landmass. OR, you can just click on the map to place cities yourself, maybe with the restriction that they cannot directly touch each other, and must be on land (for now at least).
    3. Generate routes to connect the cities. Would be a bit harder to allow manual placement for this but not too bad. But you could at least generate new connections between the same cities to get a few options.
    4. The year is 2040, and Unbayleefable has actually implemented like 10% of the things they've ever mentioned thinking about. At this stage I imagine something like a colored filter over the map indicating biome type or temperature/rainfall that influences it, which could be generated or done manually.

    There's a lot of other stuff you could tack on to this concept - for example, maybe you could create the region map but then just export blank map files with all the connections set up, for those of you that don't want the random maps but do want the easy setup for your own regions.

    I find it fun to tinker with the actual map generation, but I know a lot of people here are more interested in the productivity side of things for their own content - which is understandable. I try to do a little bit of both 😅
     
    40
    Posts
    8
    Years
    • She/Her
    • Seen Apr 11, 2024
    Oh those tentative visions!
    Those features would be a great addition. I've had to scrap beautiful regions because of the placement so being able to refresh a good region would be ideal.
     
    139
    Posts
    8
    Years
  • I managed to crank out another update (1.2.3). I totally redid the route placement but I think it looks much better than before! I also added a new option which lets you have a little bit of control over the number of routes, and fixed a couple of issues introduced by 1.2.2. Check it out if you're interested and let me know about any suggestions/issues!
     
    80
    Posts
    5
    Years
    • Seen Nov 5, 2023
    Hello I have a problem, I am able to create the region. But I am not capable of turning .yaml files into anything useable
     
    139
    Posts
    8
    Years
  • Hey Tritra,

    After checking, I just realized I forgot to include the readme.txt file in the latest version (1.2.3). I have re-uploaded it with the readme file which should explain what you need to do.

    In short, you will need to install Ruby first before rvpacker will work. Then you will be able to convert from .yaml to .rxdata and vice versa. You will also need to manually merge some files which is explained in the readme. Let me know if you still run into issues.
     
    5
    Posts
    3
    Years
  • So I'm trying to get this to work, I've successfully converted the files to .yaml but I keep having this error come up when trying to run the program in cmd:

    Exception in thread "main" java.lang.NumberFormatException : For input string ''''
    at java.lang.NumberFormatException.forinputstring(Unknown Source)
    at java.lang.Integer.parseInt(Unknown Source)
    at java.lang.Integer.parseInt(Unknown Source)
    at DataFiles.initData(DataFies.java:191)
    at MapWriter$MapWriterPanel.<init>(MapWriter.java:128)
    at MapWriter.<init>(MapWriter.java:67)
    at MapWriter.main(MapWriter.java:59)


    Any ideas what might be causing it or how to fix it?
    I'd post a screenshot but my account is too new to let me link one.
     
    139
    Posts
    8
    Years
  • Based on the line #, I think it is tripping up on one of your evolutions. Specifically, it's some type of evolution where it is expecting to find a number at the end. It could either be a problem with your pokemon.txt or (more likely) it's just a problem with how my code is trying to read it. Do you have any of the following evolution types that don't end with a number? (e.g. "Evolutions = IVYSAUR,Level," instead of "Evolutions = IVYSAUR,Level,16")

    LEVEL, LOCATION, ATTACKGREATER, DEFENSEGREATER, ATKDEFEQUAL, SILCOON, CASCOON, NINJASK, SHEDINJA, BEAUTY, LEVELFEMALE, LEVELMALE

    Those are the ones my code is looking for a number after the 2nd comma. Whether it's an error in your PBS or not, I will try to update it so it doesn't bomb out from this in the future.

    Out of curiosity, how did you convert the files to YAML without being able to launch? Did you just run rvpacker separately?
     
    5
    Posts
    3
    Years
  • I did run rvpacker separately as doing so fixed an error i was having earlier. I went through the PBS and found the issue, NIncada's evolution for shedinja wasn't given a level. Which is a little strange given that I'm working in a fresh v17.2 version of essentials but now that's been fixed I'm able to use the tool without issues and it works excellently. Thanks for your help!
     
    139
    Posts
    8
    Years
  • Ahh, yeah I'm pretty sure that is actually allowed per the Essentials wiki. It takes it's level from the other evolution, it looks like. Mine does have the level defined so it probably works both ways. I'll update that in my next release which should be pretty soon (today or tomorrow?)

    Edit: 1.2.4 is now out, so you can check out the notes. I did fix the issue with the SHEDINJA evolution type, however I noticed just a few minutes afterwards that apparently the ponds are not working correctly in exported maps because I have them on layer 2. I didn't realize they had to be on layer 1, with the edges on top in layer 2, in order to show up correctly in-game and have the reflections. I will probably hotfix this later in the week, even though I'm pretty sure it's been like this since I added the ponds in the first place
     
    Last edited:
    5
    Posts
    3
    Years
  • So far the new 1.2.4 update is working well, no errors so far however I've found a very minor bug with gym generation, the bottom row of gym tiles doesn't seem to generate. It's an easy to fix in the rmxp but it is consistent with every gym from every seed I've tried so far so may be worth looking at. Overall it doesn't have much of an effect on the tool so probably isn't worth making an update exclusively for but might be a footnote in the next updates changes.
     
    139
    Posts
    8
    Years
  • The gyms actually only show up that way in the PNG preview - they will be correct in RMXP. The reason is, my old engine uses the RSE style gym, while the exporter uses the FRLG gym which is what's in the tileset. They are slightly different sizes, so the RSE gym is being drawn in the preview but at the size of the FRLG gym, hence being cut off. The PNG preview doesn't pull every single tile from the tileset yet, so some of them are using old assets from my engine project (you may notice the houses are also different in the PNG preview vs in the actual exported RMXP maps)

    I will be updating all the textures so they match on the preview eventually
     

    Pokeminer20

    PDM20, Coder of Chaos!
    412
    Posts
    10
    Years
  • ON version 1.2.3, I reported the out of memory space error. I used a bat file to run it with 1 gig of space and it worked fine. I upgrade to 1.2.4 and try the same thing. I get out of memory errors and trying to use 2 gigs in the bat file causes it to fail to open. here is the full error message from the 1 gig version. I've no clue why it wont open with 2 gigs of memory when using the bat file when 1 works just fine
    Code:
    Exception in thread "AWT-EventQueue-0" java.lang.OutOfMemoryError: Java heap space
    	at java.awt.image.DataBufferInt.<init>(Unknown Source)
    	at java.awt.image.Raster.createPackedRaster(Unknown Source)
    	at java.awt.image.DirectColorModel.createCompatibleWritableRaster(Unknown Source)
    	at java.awt.image.BufferedImage.<init>(Unknown Source)
    	at MapWriter.writeFullMapToPNG(MapWriter.java:623)
    	at MapWriter$MapWriterPanel$17.actionPerformed(MapWriter.java:499)
    	at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
    	at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
    	at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
    	at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
    	at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
    	at java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)
    	at java.awt.Component.processMouseEvent(Unknown Source)
    	at javax.swing.JComponent.processMouseEvent(Unknown Source)
    	at java.awt.Component.processEvent(Unknown Source)
    	at java.awt.Container.processEvent(Unknown Source)
    	at java.awt.Component.dispatchEventImpl(Unknown Source)
    	at java.awt.Container.dispatchEventImpl(Unknown Source)
    	at java.awt.Component.dispatchEvent(Unknown Source)
    	at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
    	at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
    	at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
    	at java.awt.Container.dispatchEventImpl(Unknown Source)
    	at java.awt.Window.dispatchEventImpl(Unknown Source)
    	at java.awt.Component.dispatchEvent(Unknown Source)
    	at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
    	at java.awt.EventQueue.access$500(Unknown Source)
    	at java.awt.EventQueue$3.run(Unknown Source)
    	at java.awt.EventQueue$3.run(Unknown Source)
    	at java.security.AccessController.doPrivileged(Native Method)
    	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
    	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
     
    139
    Posts
    8
    Years
  • I don't really do extensive memory usage tests after each build, so it's possible memory use may have changed (although I wouldn't expect it to be that drastic). Is it possible it's only exceeding 2GB with certain seeds (could be some type of bug)?

    Also random thought - it is possible you double clicked the button? It might cause it to run twice, and use twice as much memory.

    Either way, there's supposed to be exception handling for that error to give a popup message instead of crashing... I'll have to see why that isn't working right, either.
     
    1
    Posts
    3
    Years
    • Seen Oct 27, 2020
    Hi there, I've been looking for something as perfect as this for my Pokemon Dnd Campaigns, would love to be able to play around with this to my hearts content. but I'm brand new to this site (literally created an account in order to comment on this post). i cant seem to get my head around how i would go about downloading, if someone could take to me like a toddler so my simple brain can understand that would be incredible and very much appreciated. apologies if this message is not received well. or I've asked for something outrageous
     

    Pokeminer20

    PDM20, Coder of Chaos!
    412
    Posts
    10
    Years
  • I don't really do extensive memory usage tests after each build, so it's possible memory use may have changed (although I wouldn't expect it to be that drastic). Is it possible it's only exceeding 2GB with certain seeds (could be some type of bug)?

    Also random thought - it is possible you double clicked the button? It might cause it to run twice, and use twice as much memory.

    Either way, there's supposed to be exception handling for that error to give a popup message instead of crashing... I'll have to see why that isn't working right, either.

    I generated a bunch of random seeds and tried exporting the previews and all of them gave out of memory errors. that was on 1 gb of mem which worked last version. I can't test older seeds I used because of the generation overhaul with the new version, they came out a lot different than their 1.2.3 counter parts.

    even if I did run the .bat file twice, it'd just run 2 separate instances of the program, not immediately crash.

    I tried running 2gb on the 1.2.3 version as well, the command prompt would open then immediately close before the program even opened, so I'm at a loss for what to do. running the command in the .bat file in normal command prompt spits out this error message.
    Code:
    >java -Xmx2g -jar CartographerAlpha1.2.4.jar
    Error occurred during initialization of VM
    Could not reserve enough space for 2097152KB object heap
     
    139
    Posts
    8
    Years
  • Oh, well the problem allocating 2g is unrelated to Cartographer, it looks like more a problem with Java and/or your machine not being able to give you that much memory. Are you by chance using a 32-bit version of Java, or running in a VM that doesn't have 2g of memory to allocate? I am assuming you do in fact have 2g of physical RAM to spare. I'm sure there's a variety of reasons you could get that "Could not reserve enough space" error, though.

    For the "OutOfMemoryError" that is produced when trying to generate the PNG, I will need to do some testing and see if I can get a new baseline for what the memory use actually is. I never ran into errors on my machine, but my memory allocation is set pretty high I think. I'll also try and actually fix the exception handling.
     

    Pokeminer20

    PDM20, Coder of Chaos!
    412
    Posts
    10
    Years
  • Oh, well the problem allocating 2g is unrelated to Cartographer, it looks like more a problem with Java and/or your machine not being able to give you that much memory. Are you by chance using a 32-bit version of Java, or running in a VM that doesn't have 2g of memory to allocate? I am assuming you do in fact have 2g of physical RAM to spare. I'm sure there's a variety of reasons you could get that "Could not reserve enough space" error, though.

    For the "OutOfMemoryError" that is produced when trying to generate the PNG, I will need to do some testing and see if I can get a new baseline for what the memory use actually is. I never ran into errors on my machine, but my memory allocation is set pretty high I think. I'll also try and actually fix the exception handling.

    I am not running a Virtual machine on my laptop, and i do have enough memory to run something with up to 4 gigs if the program demanded it. I am running a 32 bit version tho, so I'll update to a 64 bit and try again
     
    Back
    Top