Angband.oook.cz
Angband.oook.cz
AboutVariantsLadderForumCompetitionComicScreenshotsFunniesLinks

Go Back   Angband Forums > Angband > Development

Reply
 
Thread Tools Display Modes
Old March 12, 2018, 16:12   #61
Derakon
Prophet
 
Derakon's Avatar
 
Join Date: Dec 2009
Posts: 8,503
Derakon is on a distinguished road
You are. Go on in there and get your hands dirty! It's a lot of work, but it's not impossible by any means.
Derakon is offline   Reply With Quote
Old March 12, 2018, 17:51   #62
johnretroreload
Rookie
 
Join Date: Feb 2018
Posts: 20
johnretroreload is on a distinguished road
Questing forward!

Quote:
Originally Posted by Derakon View Post
You are. Go on in there and get your hands dirty! It's a lot of work, but it's not impossible by any means.
It seems to be the case, plus remembering zangband v1.6+ where I started. It would be nice to add to the project and relearn good old C.
But I'm working on four games atm for a competition this summer. My programming skills have suffered.
I'll do what I can, thinking starting from 2.7.5, learning from z+ and independent room generators or multiple independent AI.
As droof said, keep the exploration, randomisation, flexible quests, unique monsters/allies + items (Item sets poss).
johnretroreload is offline   Reply With Quote
Old March 14, 2018, 23:15   #63
droof
Apprentice
 
Join Date: Dec 2013
Posts: 71
droof is on a distinguished road
What I did to increase the number of quests and casino in town is edit wild2.c lines 142, 148 and 149. Changing the last number to a low number like 2. But I can only find the city-bound quest log ('M' map and 'c' castle keys inside a city), that only shows quests from that city inside the city. That's not useful for keeping track of quests.

For the world, Zangband creates a 2d height map, population map and law map in wild1.c. For all three, it copy / pasted a diamond-square algorithm to create a plasma fractal shape for each map.

The law map is used to decide on spawned monster levels in the wilderness. Since that map is also a plasma fractal, there is no linear level progression in the Zangband wilderness. This makes the wilderness always dangerous to low level characters.

For a more linear level progression, I think a linear radial gradient makes more sense for the law map. That way, the player can progress from the low-level center wilderness to the high-level corners of the wilderness.


Googling on the diamond-square algorithm got me started on terrain generation. I ported the 2d simplex noise algorithm along with the fractal brownian motion algorithm to get a configurable wilderness in lua from C, independent from Zangband. Link

I'm also thinking about mixing a random voronoi diagram with the world to create distinct level-bound flat law areas and a random biome for each area, like a desert, forest, swamp etc. The cities could be placed on the random 2d voronoi points, around which the diagram is generated. World of Warcraft is structured like that too, so this would be the procedural generated version of that.

I wanted to hook the lua wilderness code into Zangband, but since Lua 4 is hardcoded into Zangband and needs major rewriting for Lua 5.3, I can't easily plug it in. Maybe I can more easily use the wilderness code in Vanilla Angband once I find the correct function that's responsible for the town map terrain placement.

=== edit

I updated my script to include a random Voronoi map and 7 ascii biomes (forest, desert, swamp, vulcano, ice, tundra, taiga):

Last edited by droof; March 17, 2018 at 11:06.
droof is offline   Reply With Quote
Old March 22, 2018, 10:01   #64
johnretroreload
Rookie
 
Join Date: Feb 2018
Posts: 20
johnretroreload is on a distinguished road
Nice work, how is it going with linear radial gradient and LUA? I agree that wilderness code in Vanilla Angband is probably the most efficient approach..
Any other ideas you are considering?


Quote:
Originally Posted by droof View Post
What I did to increase the number of quests and casino in town is edit wild2.c lines 142, 148 and 149. Changing the last number to a low number like 2. But I can only find the city-bound quest log ('M' map and 'c' castle keys inside a city), that only shows quests from that city inside the city. That's not useful for keeping track of quests.

For the world, Zangband creates a 2d height map, population map and law map in wild1.c. For all three, it copy / pasted a diamond-square algorithm to create a plasma fractal shape for each map.

The law map is used to decide on spawned monster levels in the wilderness. Since that map is also a plasma fractal, there is no linear level progression in the Zangband wilderness. This makes the wilderness always dangerous to low level characters.

For a more linear level progression, I think a linear radial gradient makes more sense for the law map. That way, the player can progress from the low-level center wilderness to the high-level corners of the wilderness.


Googling on the diamond-square algorithm got me started on terrain generation. I ported the 2d simplex noise algorithm along with the fractal brownian motion algorithm to get a configurable wilderness in lua from C, independent from Zangband. Link

I'm also thinking about mixing a random voronoi diagram with the world to create distinct level-bound flat law areas and a random biome for each area, like a desert, forest, swamp etc. The cities could be placed on the random 2d voronoi points, around which the diagram is generated. World of Warcraft is structured like that too, so this would be the procedural generated version of that.

I wanted to hook the lua wilderness code into Zangband, but since Lua 4 is hardcoded into Zangband and needs major rewriting for Lua 5.3, I can't easily plug it in. Maybe I can more easily use the wilderness code in Vanilla Angband once I find the correct function that's responsible for the town map terrain placement.

=== edit

I updated my script to include a random Voronoi map and 7 ascii biomes (forest, desert, swamp, vulcano, ice, tundra, taiga):
johnretroreload is offline   Reply With Quote
Old March 22, 2018, 19:13   #65
Pete Mack
Prophet
 
Join Date: Apr 2007
Location: Seattle, WA
Posts: 4,988
Donated: $40
Pete Mack is on a distinguished road
That's pretty cool, but it doesn't look like an actual map. If you do the geography first, it might help (and make eastern side of mountains drier.)
Pete Mack is offline   Reply With Quote
Old March 30, 2018, 10:02   #66
johnretroreload
Rookie
 
Join Date: Feb 2018
Posts: 20
johnretroreload is on a distinguished road
Zangband 2.7.5pre edit

Dear Droof, how are the tweaks going. I'm going to apply your Map and quests edit to the 275beta I have here. And try for new quest descriptions.
Also wanted to offer this roguelike megapack I've found on archive.org which could be handy
https://archive.org/details/RoguelikeMegaCollection2015
johnretroreload is offline   Reply With Quote
Old March 30, 2018, 14:52   #67
droof
Apprentice
 
Join Date: Dec 2013
Posts: 71
droof is on a distinguished road
Progress is slow because I'm doing too many things. Also I don't want to code too much in my spare time. I prefer to post when I have a working result.

I'm working on a next version of Friendband, partially fixing GCU colors and other tweaks. GCU colors already were broken in Un, I made it worse with Friendband and now I'm at a point where just some inventory colors are wrong and I lost some time trying to fix that without result. Un uses unsupported GCU colors to decide on trap behavior, so that's a thing too.

I'm experimenting with different vegetation models to improve the lua world generator. At least I should keep track of matching biome temperatures, so that an ice biome is not directly connected to a volcano biome.

I've experimented with different law map shades in zangband, but it's still unclear how the law map values exactly correlate to monster levels. The monsters still jump in level too much. Also, it's always unclear which direction in the world leads to lower law values and are more dangerous, so discovery difficulty remains random even with a linear law gradient.

The Zangband world needs an obvious visual indication when the player moves to more dangerous zones, other than accidentally running into too high monsters levels and running the other way, hopefully in the right easier direction. I could dump the current law value of the current player position and the direct north/west/east/south law values, but that's a technical solution and not a proper game design solution.

With voronoi zones I could make entire areas the same law value and generate easier zones and more difficult zones, but that messes up city placement that relies on multiple high law zones across the world. For a simpler solution, I could use multiple ground terrain colors to indicate difficulty level of the ground roughly by color and make ground difficulties more naturally visual in the world that way.

Finally, I need to use some time to add a new global quest tracking term to Zangband. With many quests generated, that's mandatory.

Once I have some good Z results, I'll be sure to post it here with patches starting from debian Z 275.

I haven't made any time to inject the lua wilderness into vanilla angband yet. Maybe after I round up one of the other projects.
droof is offline   Reply With Quote
Old March 30, 2018, 17:50   #68
johnretroreload
Rookie
 
Join Date: Feb 2018
Posts: 20
johnretroreload is on a distinguished road
Forging ahead

I know what you mean, I've just finished tweaking 8 games for a competition on atari I'm planning this summer. So now I can focus a little more on zang and phantasy star 1 VR. Let me know your progress so I'm not repeating your work.
johnretroreload is offline   Reply With Quote
Reply


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools
Display Modes

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

Similar Threads
Thread Thread Starter Forum Replies Last Post
Angband 3.5-dev Magnate Vanilla 70 July 2, 2012 17:47
Escape key bug in Angband dev version 21 Dec 2011 revision 700d8c8 Shockbolt Development 2 January 7, 2012 11:12
Looks like a new Angband Dev Blog is up. (17.8.2011) CJNyfalt Vanilla 23 August 20, 2011 17:46
angband-dev@oook.cz down? d_m Development 2 August 4, 2010 17:47
New to Angband Dev shinobibear Development 10 June 10, 2010 19:11


All times are GMT +1. The time now is 20:05.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2018, vBulletin Solutions Inc.