Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - UltimaRatioRegum

Pages: 1 ... 17 18 [19] 20
271
Programming / Re: Let's talk a bit about world map generation!
« on: December 31, 2011, 02:28:10 AM »
The rightmost lake  (3 down, 6 right) from X looks quite steep. Height 4 on western and height 0 on eastern coast.

Yep; but I decided to allow that. Cliffs don't form (both because in the real world, they are actually pretty rare, and they don't stick with the wide-scale 'open' combat theme of the game) so it's a very, very steep incline instead.

I think it's looking pretty awesome. The "lakefall" Z mentions could theoretically just be a lake adjacent to towering cliffs.


Cheers! It is largely thus, though as I say, more of a very steep slope. Lakes often have different heights on different sides from that, whereas normal terrain is (generally) a lot smoother :). That screenshot is actually fractionally out of date; in actual fact, on land, squares can only go up or down by 1 in adjacent squares. Again, stops cliffs, keeps things a lot smoother for large battles, and also (I confess) makes the whole thing easier to draw on the human scale!

272
Programming / Re: Let's talk a bit about world map generation!
« on: December 26, 2011, 02:27:19 PM »
I've gone back a bit and added a heightmap in, properly, to the world map. This is enabling hills, more interesting coastlines, and all kinds of other funky stuff.

For instance, a comparison of the same area on the minimap looks like this:



I've uploaded a load of new screenshots and looks at the world in today's devblog entry @ http://www.ultimaratioregum.co.uk/game/2011/12/26/winter-screenshot-update/ - how does everyone think it's looking? :)

273
Programming / Re: Let's talk a bit about world map generation!
« on: December 19, 2011, 11:24:44 AM »
Would you be willing to share more details of how you're doing the world map generation?

I've been working on procedurally (rather than randomly) generating worlds, given a seed value, so that I can zoom in and generate the areas needed as the player enters them, instead of having to spend a bunch of time at the beginning generating a world randomly.

I'm generating the base terrain using fractional browning motion running on top of a procedural perlin noise function that feeds a seed and a set of coordinates through a fast murmur hash function to generate values.  Once I've drilled down to the resolution I want, I pull out a square of terrain, plus some buffer area on the edges, and run a hydraulic erosion loop on it for a while.  It seems to work pretty well, but....

Rivers are troublesome.  I can get them to form if I run many many iterations that evaporate and deposit small amounts of water, but that takes quite a long time.  Pleasant but fast results are achieved if I dump a whole bunch of water in relatively few iterations, but rivers don't form that way....

I haven't even begun to think about biomes yet.......

How are you running your rivers?  What methods are you using to form your biomes?  Would any of these methods be usable with as-needed procedural generation rather than pre-generated random worlds?


Certainly :).

Ah, that's a nice idea. I've been considering using a seed value, but I've decided not to go that route for now. I'm the same in a way, though, since parts of the 'local' map - ie the scale the player walks around on - aren't generated until you first step foot in them.

I also found rivers by far the toughest part. If I split my workgen into various parts - land, terrain, height, mountains, forests, gorges, volcanoes, and rivers, rivers take more time than all the others combined, and it's about as efficient as I can find a way to make it at the moment.

Biomes are currently based primarily upon latitude, with a small height component, though I plan to make this slightly more complex in the future.

As for rivers, my latest devblog entry is on just them!

http://www.ultimaratioregum.co.uk/game/2011/12/19/the-case-of-the-penrose-river-2/

Here's how rivers look at the moment (without any current or indicator of flow shown, currently):



Let me know what you think, or if the explanation I give there isn't clear enough : )


This is great, I love procedural/random map generation, but it's so darn difficult! Is there a place for best practices having to do with such things? I know of the procedural content generation WIKI, but that's about algorithms and not code. Perhaps it's time to start a page on roguebasin...

EDIT:
This represents my solution to making level generation algorithms that can be used flexibly. I'm interested in peoples opinions, and I'd really love to start some kind of library project, although that might be a little ambitious.
http://roguebasin.roguelikedevelopment.org/index.php/Designing_Flexible,_Reusable_Algorithms

I know what you mean - starting a library project seems like a huge undertaking! I'm trying to get a flexible generation system that can be used for dungeons, but since the focus of URR is on large-scale army combat, dungeons aren't actually that common. So while it's important, getting the outside world looking good is significantly more vital. Really interesting article, though, and has given me a few ideas...

I've thought about starting a blog to post code snippets and screenies as I work on stuff...

Some of the code is too long to be spamming up these forums with. <_<

Here's a great article on polygonal map generation: http://www-cs-students.stanford.edu/~amitp/game-programming/polygon-map-generation/

I don't know why I didn't think of using a table like that to figure out biomes myself, lol....

I've come across that article before - it's fascinating, and gave me quite a few ideas for my system. In the end, though, I think how the map looks is more crucial than how it's constructed; which is to say, if you use a simpler method but the end result is no different, I think one should err on the side of the simpler method. My system is not quite as complex, but I think (at the moment) the map is sufficiently complex : )

Here's a pretty good paper on river generation.  Probably wouldn't work for a truly procedural world though...

http://www.cs.sjsu.edu/~teoh/research/papers/CGVR08_terrain.pdf

Wow - that's much more detailed than anything I'm going after. As you say, though, I think that could only be used in certain areas, and I'm not sure I have the skills to program that in myself anyway!

274
Programming / Re: Let's talk a bit about world map generation!
« on: December 12, 2011, 07:09:09 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

I made all of the custom tiles myself, and also actually changed quite a bit of the default fonts, but I am indeed using libtcod :)

275
  Holy crap so you actually beat Nethack? Nice! I have beaten a few 7DRL but none of the majors.

Four times, thus far, but all long ago and in a short period of time - wizard, valkyrie, samurai, then barbarian. I have a caveman much of the way through, but haven't really played it in ages :(

276
Programming / Re: Let's talk a bit about world map generation!
« 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!

277
Programming / Re: Let's talk a bit about world map generation!
« 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...

278
Programming / Re: Let's talk a bit about world map generation!
« 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! :)

279
Programming / Re: Let's talk a bit about world map generation!
« 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.

280
Programming / Re: Let's talk a bit about world map generation!
« 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.

281
Programming / 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...

282
Enjoy your time here XLambda!   Looking forward to some eventual announcements on your pet project RL.   8)

Likewise! Sounds good. Always interesting to see what those who actually know about this programming lark come up with :)

283
Off-topic (Locked) / Re: The goal in your life.
« on: November 07, 2011, 11:19:43 PM »
Finish thesis, get academic post, make Ultima Ratio Regum popular. And learn to make a good curry. That's important :)

284
  You are A) Not reading spoilers and B) Haven't put in the million games it takes to finally get it down.

 ;)

Particularly A! Only completed it after being thoroughly spoiled. I mean, I would think it is humanly possible to do it without, but you would probably grow old and die long before then. Still - do you have any more detail about any particular locations that you're having trouble with, or tricky foes, or...?

285
Traditional Roguelikes (Turn-based) / Re: Caves of Qud
« on: November 07, 2011, 11:15:53 PM »
My most common build lately has been a Chimera Nomad with Burrowing Claws, Electricity Generation, and one other mutation.  Nomad gives you a recycling suit, and along w/ burrowing claws you get a very good starting armor rating this way.  Electricity Generation is a good all-round offensive mutation, since it works against almost any opponent and is effective both against single bruiser enemies and swarms of smaller ones.

I particularly agree on Electricity Generation. I also really like all the defects, mutations, etc - I think they make an interesting variation to the usual 'intrinsic' idea in roguelikes...

Pages: 1 ... 17 18 [19] 20