Author Topic: Let's talk a bit about world map generation!  (Read 40849 times)

UltimaRatioRegum

  • Rogueliker
  • ***
  • Posts: 318
  • Karma: +0/-0
  • Username says it all, really.
    • View Profile
    • Ultima Ratio Regum
    • Email
Let's talk a bit about world map generation!
« on: November 17, 2011, 12:08:23 AM »
So, I've spent the past little while working on world generation (http://www.ultimaratioregum.co.uk/game/2011/11/15/cartography-in-the-land-of-ultima-ratio-regum/). I thought I'd just throw in a quick screenshot of what the world map looks like at the moment (cross-posted on the Doryen forum, but I know a lot of people are on here!)



The full version can be seen at http://www.ultimaratioregum.co.uk/game/files/2011/11/World-map.png

Each square on the world map is 200x200 squares of the actual map the player walks around on. The world map first creatures two or three continents, then randomises their borders a little bit, which sometimes results in the continents joining back up. Then it spreads out climates and biomes according to how high or low on the map it is. After that, forests are added in a density according to the climate; there are few 'forest' squares in deserts (ie oases) but a huge number in tropical areas. Volcanic islands are then thrown in, followed by valleys, mountain ranges, and rivers flowing out of the mountain ranges to the ocean, lakes, or valleys. What does everyone think? Now I just need to get cities, territories, and things like dungeons/caves/forts etc spawning...

flags

  • Newcomer
  • Posts: 12
  • Karma: +0/-0
    • View Profile
    • Dev. Blog
Re: Let's talk a bit about world map generation!
« Reply #1 on: November 17, 2011, 12:24:18 AM »
This is extremely cool! I'll echo the "complaint" in the comments that the biomes are a bit too "horizontal," but it still looks great.

Just a general question since I haven't heard of this project before: How do you like developing with Python? Anything in particular you've run into that would make you want to switch to another language?
"What does anyone want but to feel a little more free?" -gy!be

NON

  • Rogueliker
  • ***
  • Posts: 349
  • Karma: +0/-0
    • View Profile
    • Infra Arcana
    • Email
Re: Let's talk a bit about world map generation!
« Reply #2 on: November 17, 2011, 11:41:41 AM »
Looks gorgeous.

Random train of thought: model the sea floor? :)
Would be cool as hell to have ancient underwater civilizations hidden far deep beneath the surface.
Maybe they can be visited by using a submarine vehicle.
Happy is the tomb where no wizard hath lain and happy the town at night whose wizards are all ashes.

UltimaRatioRegum

  • Rogueliker
  • ***
  • Posts: 318
  • Karma: +0/-0
  • Username says it all, really.
    • View Profile
    • Ultima Ratio Regum
    • Email
Re: Let's talk a bit about world map generation!
« Reply #3 on: November 17, 2011, 11:26:43 PM »
This is extremely cool! I'll echo the "complaint" in the comments that the biomes are a bit too "horizontal," but it still looks great.

Just a general question since I haven't heard of this project before: How do you like developing with Python? Anything in particular you've run into that would make you want to switch to another language?

Thanks a ton! Yeah, I think I'm going to try and change that a little bit. Shouldn't take too long, actually.

I'm really enjoying using Python. Having never programmed before, it's hugely intuitive, and seems to have the facility for pretty much everything I need. Memory issues did come up, but I think I've sorted with them all now. There's no way I'd switch and learn another language now! :)

Looks gorgeous.

Random train of thought: model the sea floor? :)
Would be cool as hell to have ancient underwater civilizations hidden far deep beneath the surface.
Maybe they can be visited by using a submarine vehicle.

Wow, cheers!

That IS an interesting idea. I'm not yet sure how I'm going to handle underwater, if at all. I love the idea of underwater civilizations, though. I might have water-breathing as an option, but it would be for lone adventuring. Ruins might be able to spawn on the coast soon, though, which I think could look quite nice.

loom_weaver

  • Newcomer
  • Posts: 23
  • Karma: +0/-0
    • View Profile
Re: Let's talk a bit about world map generation!
« Reply #4 on: November 18, 2011, 12:50:39 AM »
You mentioned the size is 200x200.

Is this the ideal size for an over-world map?  At what threshold would the player begin to feel that the map is too large?

UltimaRatioRegum

  • Rogueliker
  • ***
  • Posts: 318
  • Karma: +0/-0
  • Username says it all, really.
    • View Profile
    • Ultima Ratio Regum
    • Email
Re: Let's talk a bit about world map generation!
« Reply #5 on: November 18, 2011, 10:09:34 AM »
You mentioned the size is 200x200.

Is this the ideal size for an over-world map?  At what threshold would the player begin to feel that the map is too large?

Yeah - each square of the 200x200 world map is 200x200 of map the player can walk around on, so it's 40,000 x 40,000 in total. I don't think there's any way to pick a size that applies to all roguelikes - mine has an emphasis on empires, strategy, and armies, and therefore it needs to be large. I don't think a roguelike where you don't pick up any allies, or can change alliances, territory, etc, would need to be anywhere near that large :). As for too large... I don't know. I think people would always want bigger maps with more in them, but I can only speak for myself.

guest509

  • Guest
Re: Let's talk a bit about world map generation!
« Reply #6 on: November 20, 2011, 08:51:12 AM »
  Nice man. Nice. I have nothing really to add but compliments.

EDIT: Turns out I do have something to add. I have checked out your site and see you are going for your PhD. I have a doctorate and I have this piece of advice to give to all students of all levels. It's a grind. It's a marathon. NOT A SPRINT. Just like developing a roguelike. It's a haul. You might not have shit to show for yourself after years of work. And in the end you might create something that only a few nerds care about. Just like developing a roguelike. And in the end your work might not transfer into professional success. But in the end the achievement cannot be taken from you. You can look in the mirror and say, "I did something." Just like developing a roguelike. :-)

UltimaRatioRegum

  • Rogueliker
  • ***
  • Posts: 318
  • Karma: +0/-0
  • Username says it all, really.
    • View Profile
    • Ultima Ratio Regum
    • Email
Re: Let's talk a bit about world map generation!
« Reply #7 on: November 22, 2011, 12:07:36 AM »
Cheers!

Also, thanks a ton for the advice. I'm trying to gather differing views on pursuing a doctorate and 'keeping going' through the entire process. URR is definitely going to make me longer than the thesis, actually. I wholly expect to be working on it in three years time once I'm searching for postdocs and things like that. However, in terms of both thesis and roguelike, I know I'm creating something only a few nerds care about! :)

guest509

  • Guest
Re: Let's talk a bit about world map generation!
« Reply #8 on: November 22, 2011, 02:11:20 AM »
  It's only worth it if you have an internal drive to do it. You'll likely get very little monetary compensation or adulation. That's been my experience. I'd be further ahead professionally if I'd just gotten a job at Wal-Mart and worked my way up. But I wouldn't have felt right inside.

Bear

  • Rogueliker
  • ***
  • Posts: 308
  • Karma: +0/-0
    • View Profile
Re: Let's talk a bit about world map generation!
« Reply #9 on: November 22, 2011, 09:17:16 PM »

Yeah - each square of the 200x200 world map is 200x200 of map the player can walk around on, so it's 40,000 x 40,000 in total. I don't think there's any way to pick a size that applies to all roguelikes - mine has an emphasis on empires, strategy, and armies, and therefore it needs to be large.


Then again, if you look at it another way, taking the individual squares that people walk around on as (say) 1x1 meter, what you've got there are not "continents" -- they're a few islands on a map whose breadth is 40 kilometers.  There are a lot of things you can do with 40 by 40 kilometers, but keep a sense of scale about the distances between villages, etc.


UltimaRatioRegum

  • Rogueliker
  • ***
  • Posts: 318
  • Karma: +0/-0
  • Username says it all, really.
    • View Profile
    • Ultima Ratio Regum
    • Email
Re: Let's talk a bit about world map generation!
« Reply #10 on: November 23, 2011, 04:16:38 PM »

Yeah - each square of the 200x200 world map is 200x200 of map the player can walk around on, so it's 40,000 x 40,000 in total. I don't think there's any way to pick a size that applies to all roguelikes - mine has an emphasis on empires, strategy, and armies, and therefore it needs to be large.


Then again, if you look at it another way, taking the individual squares that people walk around on as (say) 1x1 meter, what you've got there are not "continents" -- they're a few islands on a map whose breadth is 40 kilometers.  There are a lot of things you can do with 40 by 40 kilometers, but keep a sense of scale about the distances between villages, etc.

At 1x1 meter, that's true, but as with most roguelikes, the 'size' of a square is variable. One square holds a wolf or a Titan (or, to use something 'wider', a mammoth or behemoth) without any difficulty. So that's very true, but by another definition of a square it could be 400 kilometres! You're totally right about keeping track of the scale, nevertheless, but I think it's practically above 40km. Also, I may end up enlarging the world map a little, as that'll have minimal effect on game speed or anything else, but we'll see...

flags

  • Newcomer
  • Posts: 12
  • Karma: +0/-0
    • View Profile
    • Dev. Blog
Re: Let's talk a bit about world map generation!
« Reply #11 on: November 24, 2011, 03:56:15 AM »
You might not have shit to show for yourself after years of work. And in the end you might create something that only a few nerds care about. Just like developing a roguelike.

When I started developing my roguelike, I went in with the mindset that I was developing it for one person: Myself. I wanted a game I could play, and if by chance other people liked it then cool :)

Great advice overall!
"What does anyone want but to feel a little more free?" -gy!be

UltimaRatioRegum

  • Rogueliker
  • ***
  • Posts: 318
  • Karma: +0/-0
  • Username says it all, really.
    • View Profile
    • Ultima Ratio Regum
    • Email
Re: Let's talk a bit about world map generation!
« Reply #12 on: November 26, 2011, 10:06:03 AM »
When I started developing my roguelike, I went in with the mindset that I was developing it for one person: Myself. I wanted a game I could play, and if by chance other people liked it then cool :)

Great advice overall!

That's pretty much my initial mindset :). I've got a ton of things I've always wanted in a game, and I plan to make those. It's just an added (and remarkable) benefit that others seem interested!

chazu

  • Newcomer
  • Posts: 2
  • Karma: +0/-0
    • View Profile
    • Email
Re: Let's talk a bit about world map generation!
« Reply #13 on: December 07, 2011, 04:48:32 PM »
I like the custom ASCII-esque tiles you're using.  As a fellow Python RL developer, I'm curious to know what library you're using to display both standard ASCII characters and custom characters side-by-side. 


XLambda

  • Rogueliker
  • ***
  • Posts: 208
  • Karma: +0/-0
    • MSN Messenger - tau_iota@live.de
    • View Profile
    • The Weird Rogue
Re: Let's talk a bit about world map generation!
« Reply #14 on: December 07, 2011, 05:04:44 PM »
I like the custom ASCII-esque tiles you're using.  As a fellow Python RL developer, I'm curious to know what library you're using to display both standard ASCII characters and custom characters side-by-side. 

Mmh, I think it's libtcod.  ;D