Dune Wars Mod

I can take out the densities easily. If we have only one density, there is no particular reason to have both a feature and a bonus. Do you just want to put it all onto one bonus?

What is the difference you suggest between "consumed" and "disappeared"? Today the spice has a 3% chance per turn of degrading one level if there is no spice harvester on the square, or a 10% chance of degrading if there is. So it is consumed; but on the other hand it can slowly disappear on its own also. What would you suggest?

I think there is a purely graphical reason to keep it both a feature and a bonus - it seems like that it the only way can have tiled spice plus fumes.

I didn't know that it disappeared quicker with the harvester. That's cool and pretty much what I meant.
 
how do i reduce the amount of spie that are placed after a spice blow? also, how do i make spice blow to appear after more time?

You can edit the python to affect both of these. Please see file assets/python/DuneWars.py. The following code affects how many spice blows happen. Change 50 to a bigger number to make fewer spice blows.

Code:
	# Add new spice blows
	def BlowAdd(self, iSpiceCount):
		pBarb  = gc.getPlayer(gc.getBARBARIAN_PLAYER())
		xmax = CyMap().getGridWidth() ; ymax = CyMap().getGridHeight ()
		# Compute the number of blows to be added
		iBlowWant = (xmax * ymax / 50) - (iSpiceCount / 8)

If you meant how many turns a spice blow tornado effect lasts before it blows up and turns into spice, there are two places to change:

Code:
		# Add the blows at random locations
		for i in range(iBlowWant): [...]
				pUnit = pBarb.initUnit(self.iBlow, ix, iy, \
					UnitAITypes.NO_UNITAI, \
					DirectionTypes.DIRECTION_EAST)
				pUnit.setScriptData("2")
[...]
	def SpiceBlow(self): [...]
				s = pUnit.getScriptData()
				if s == "": s = "2"

Both of these places set the "fuse" for the spice blows to 2 turns. If you want them to last longer, change both "2" to some larger number.

If you want to decrease the richness of spice which happens, see function spiceAdd. In each of the 9 squares, there is a 20% chance of dense spice, 40% chance of normal spice, 20% chance of trace spice, and 20% chance of no spice. It should be straightforward for you to change these percentages.

also was thinking of making it that you cannot build spice harvester improvement close to one another - 1 -2 tiles away from each other.

Up to 1.1.3, the amount of commerce you get is significantly less than what you get in other games, which stifles research and makes the game less fun. In 1.1.4 I tripled the amount of spice. Maybe that is too much; but requiring a one tile separation means maybe 2x less commerce. In a nine square region, instead of putting 9 harvesters you could only put four.

What is the problem you are seeing, which you would like to solve by putting less spice?

there's a ctd after 300 turns or so, i have know idea why, and it non passable crash. i need your help on this guys.

Are you playing with random events on or off? You mentioned they are now working. However, using civchecker, you can see that many of the bonuses and unitclasses which are mentioned in the eventinfos file do not exist. I know that other places, such as unit upgrades, can cause this type of crash. For example, you could have a unit which can upgrade to a unit class, but the class does not exist. When the AI tries to upgrade a unit, it will crash. This "should be" detected when the xml is parsed, but it isn't. Maybe events have the same problem.

Try turning off random events in the custom game screen and see if the problem goes away. I haven't upgraded to 3.19 yet so I can't play 1.2 yet.
 
hey guys,
thanks for the explanation on my quastions.


i will try turning off events, though i deleted all the lines that wasnt relevnt, but still, you may be right.

if this wont help, i will have to reverse engineer the mod..........:(



****

edit:

still no luck - its not the events.

im petty sure its not the sdk, its something in the xml - perhaps an art of some sort.

i dunno when ill have the time to work it out.
 
Here's Version 2 of the spice.

Notes:
+ The spice feature is now working with gas - I missed the bAnimated flag in the Feature art defines. Each tile produces it's own gas so I can position them in a more varied way for a natural effect.

+ I've recoloured the Arid terrain away from red so the spice stands out. The new colour scheme seems to fit better.

+ I have tried to minimise the flickering between tiles - hopefully it is not too bothersome. Believe me, I've tried to eliminate it completely.
*Edit*: see post below for improved version.

+ In the next and final version I'll create more variations for each tile, make the tiles tessellate better (you can see where I've just used flip and rotate) and redistribute the gas sources. I would have done more of these now, but it's been technical issue after issue with it just to get this far. Hopefully, now we have the framework for it at least - we can use the same framework for the Salt Flats idea.

+ I've included a readme with XML for the feature art defines. It's then just a question of directing your spice features to ART_DEF_FEATURE_SPICE_TILE - I directed all three densities to it for my testing. Hopefully, you can plug this in OK.
Spoiler :

Spoiler :
 

Attachments

  • spice_arid.jpg
    spice_arid.jpg
    171.2 KB · Views: 415
  • spicepatch.jpg
    spicepatch.jpg
    102.3 KB · Views: 391
I'm thinking it maybe worth supporting/continuing development against 3.17 for a little while. First, not everyone has upgraded or will want to upgrade yet, and second if there are issues with the 3.19 version we have an opportunity to get them stable.
 
I've improved the spice a bit. I think the flicker issue is now pretty much invisible except to me. See attachment.
 

Attachments

  • harvester_spice.jpg
    harvester_spice.jpg
    164.2 KB · Views: 98
I've improved the spice a bit. I think the flicker issue is now pretty much invisible except to me. See attachment.
Is there actually a reason why the tiles consist of 8 x 8 smaller squares? This gives a poly count of 128 per tile, with a single square, you'd get away with 2 per tile. While it's not really huge and demanding, wouldn't this eke out a bit more performance for the mod?

Cheers, LT.
 
Yeah, I know. The major issues have been due to the fact I am trying to do what Icebergs do with 3D meshes with single tiles and textures. Most of the issues have been around transparency, alpha and the wierd things that happen when you're trying to overlap NIFs that are just single tiles. At one point, I thought that subdiving the mesh might help with this, but it didn't. So the short answer is yes, I can now achieve exactly the same quality with two triangles. I'll try it and post another version if everything checks out.

(By the way, LT, if you want to edit these for Planetfall you can disable the effects using bAnimated in the features art defines. The more complete solution is to remove the effects nodes from the NIFs using NifScope.)
 
(By the way, LT, if you want to edit these for Planetfall you can disable the effects using bAnimated in the features art defines. The more complete solution is to remove the effects nodes from the NIFs using NifScope.)
I was doing that when I saw the meshes, hence the comment (especially as Maniac wants to get models efficient and slim)! ;)

And I'm constantly amazed by NifScopes versatility! With node manipulation/adding/removing you can do *a lot*! Especially as you can - apart from meshes - almost create every type of stuff you need. I just wish I had an excuse to use Billboard nodes...

Cheers, LT.
 
Terrain graphics

The new spice screenshots look great! I took the new plains texture and the example xml out of your first rar, and all the spicepack directory contents out of the second rar. I also locally changed the python to only generate one feature. It works, and it looks good, but it doesn't look as good as your screenshot. Do you think I may have missed a step? Some of the tiles seem to have an E-W grain and some N-S.

The_J had suggested a rock resource to use instead of the current forest terrain. I cut that in. I guess this is the best available starting point for "rocks with lichen" as suggested, but I don't think I will put it into a patch yet.

I think the salt pans I hacked are better than the jungle, and they may be "good enough" for now. Although we don't have an improved unit tree yet, some knife/sword fighters might be a good target.

Early game play

I have played a couple of games of vanilla archipelago to get a feel for how Dune Wars compares. I think we still have a little way to go on resource balancing, and actually a long way to go on unit variety. There are a lot of tradeoffs in the early game about resources and units in vanilla, which we do not seem to have in Dune Wars yet. I think we are getting the "look" of Dune much better, and we still need to study these tradeoffs in the early game.

For example, in the vanilla game I chose my early tech development based on the resources I found locally. I postponed agriculture till my third city, and I had to found one early city at some distance because that was the closest copper. I will re-study the work I did on resource distribution with this in mind. Looking at the finance advisor the "number of tiles worked" seems like a key statistic; it is basically your total population. In Dune Wars this is still a lot lower than vanilla, as koma13 has also pointed out.

For units, there are at least three visible generations in the vanilla early game. Warriors can protect against animals but get obsolete fast. There are a variety of units around strength 5-6: axe, sword, archer (after fortify/city bonus), horse archer. You can attack cities with this tech level if you are lucky or have enough numbers; you need a few galleys. The next level is more around ships; frigates quickly obsolete triremes, and musketmen obsolete the earlier units. You do need a fair amount of tech for these but I still had them around turn 200, which is around when I launched my first attacks in Dune Wars.

Screenshots

In still other news, I completed going through the Dune miniseries for screenshots. Fenring only appears in two scenes and he is never in the foreground; so I was not able to improve much on the screenshot we have. I have to give a prize for "funniest hats" to Irulan. I still prefer the movie Irulan personally, although our screenshot is kind of lo-res. I have about a half dozen buttons from these screenshots but they need to be placed into the tech tree somewhere.

Late game CTD

I have not taken a look at this yet. I am downloading the 1.2 version from rapidshare (20 min to go). I will run civchecker on it anyway, but I am still not sure about updating to BTS 3.19. Keldath mentioned that RevDCM has also been released for 3.19; are there any stability issues reported in that?

(EDIT: I ran civchecker, it did not find anything. There are a bunch of missing artstyles but I am sure they are not used.)

I re-read post 1, you may want to get rid of "known issue 5" since we do have wormsign now.
 

Attachments

  • silly-hats.jpg
    silly-hats.jpg
    101.6 KB · Views: 130
@david: Good job you attached a screenshot. I realised I updated the SpiceFX too. See attached. Your assembly sounds correct so far - just stick in the SpiceFX and see how it looks then. The tiles not tessellating very well is something I'm going to address soon.

BTW, there is some code in my Civ4Col mod, adapted from Lutefisk Mafia's, that allows you pan the camera through 360 and also tilt the camera. Not only is this a good feature (I think), but it is quite helpful when doing graphics to see what angles something looks good or bad from. I tried to add the Python, but it seems maybe some other Python is overriding the keys or something. I've attached the Python file - the code is annotated #Custom Camera Controls.

The rock from Kohan2 looks decent. I can give it a quick reskin to fit the landscape.

More Graphical Goodies!

Here's the new sandstorm I have made from the FfH2 Blizzard and some sunset photos. At some stage I would like to animate this so that it constantly looks like it is churning and it needs sound, but for now it'll do. I wanted to spend more time, but the spice took ages. Units in the sandstorm appear on top of it which (although not realistic) is pretty much necessary to play the game.

Spoiler :


Here's the art defines XML I've been using:
Spoiler :
Code:
	<UnitArtInfo>
			<Type>ART_DEF_UNIT_SANDSTORM4</Type>
			<Button>Art/interface/units/sandstorm.dds</Button>
			<fScale>0.2</fScale>
			<fInterfaceScale>1.0</fInterfaceScale>
			<bActAsLand>0</bActAsLand>
			<bActAsAir>0</bActAsAir>
			<NIF>Art/Units/sandstorm/stormcloud_sound.nif</NIF>
			<KFM>Art/Units/sandstorm/stormcloud_sound.kfm</KFM>
			<SHADERNIF>Art/Units/sandstorm/stormcloud_sound.nif</SHADERNIF>
			<ShadowDef>
				<ShadowNIF>Art/Units/01_UnitShadows/UnitShadow.nif</ShadowNIF>
				<ShadowAttachNode>stormcloud_parent</ShadowAttachNode>
				<fShadowScale>0.1</fShadowScale>
			</ShadowDef>
			<fBattleDistance>0.35</fBattleDistance>
			<fRangedDeathTime>0.31</fRangedDeathTime>
			<bActAsRanged>0</bActAsRanged>
			<TrainSound>AS2D_UNIT_BUILD_UNIT</TrainSound>
			<AudioRunSounds>
				<AudioRunTypeLoop/>
				<AudioRunTypeEnd/>
			</AudioRunSounds>
		</UnitArtInfo>
fScale can be set to whatever is appropriate for the Sandstorm size. fScale can go to 2 (even 3) decimal places if needs be.

Edit: I watched the first part of the miniseries funnily enough yesterday. My girlfriend commented that the butterfly hat was "a bit over the top". :)

I'm thinking in general we need to make the opening post much more attractive and welcoming. We need some information on key features and mechanics, plus lots of pretty screenshots. Once we get a few more unique units I'll try and make a good intro image like I did with my Civ4Col mod.

Also, what do you have to do to get one of those Mod subforums? It might help us keep organised. Then we could have an art thread that doesn't clutter up economy discussions...
 

Attachments

  • sandstorm1.jpg
    sandstorm1.jpg
    122.4 KB · Views: 338
  • sandstorm2.jpg
    sandstorm2.jpg
    116.6 KB · Views: 375
hi,
ok theres defently a ctd in early game - on 1.2 3.19.

around turn 300 , i dont know what is the cause.
its not one of my mods, for sure - ive tested with the plane revdcm 2.5 dll and still had a ctd - mught be a python or an art - dont know how,
perhaps - one of your codes in the python?

im clueless and bummed cause of this...:(
 
Also, what do you have to do to get one of those Mod subforums? It might help us keep organised. Then we could have an art thread that doesn't clutter up economy discussions...

I agree this would be helpful. Surprisingly, all you have to do is PM one of the moderators, say thunderfall, and request it. As long as they can see there is an active thread and a real mod, they will set it up. The person who makes the request does not get any special ownership, but anybody can start threads. It is also helpful to ask the moderators to "sticky" one thread, such as "Welcome to Dune Wars". You can see the Fury Road sub-forum in my sig, I think it helped a lot during early development. Look at the earliest threads; I created one for art, one for each version, etc.

keldath said:
ok theres defently a ctd in early game - on 1.2 3.19. around turn 300 , i dont know what is the cause. its not one of my mods, for sure - ive tested with the plane revdcm 2.5 dll and still had a ctd - mught be a python or an art - dont know how, perhaps - one of your codes in the python?

CTD's like this are painful to debug. Before anything else, please confirm you have turned on python logging and looked into the python error log to make sure no errors are appearing. Please note that when you turn on autoplay, this prevents python popups from appearing but they are still logged into My Games/Beyond The Sword/Logs/PythonErr.log. You may know that old errors from previous games are still kept around, so before you startup the game, make sure the file is empty.

After that, here are two experiments you can do on the python, in file python/DuneWars.py.

1. Totally disable the new event handlers by adding a "return" before they are called:

Code:
	# Initialize, called from BUG init
	def __init__(self, customEM, configfile):
		global DuneWarsInst
		self.bInitialized = false
		DuneWarsInst = self
		return # <== add this line
		# Event handlers
		customEM.addEventHandler("improvementBuilt", ...

This disables all the python features, including windtraps, sandstorms, sandworms and spice blows. If the CTD still happens, then my python code is not at all involved.

2. If experiment 1 cured the CTDs, then you can do the following to see which parts are causing the problem. Turn off some of the new features by commenting out some lines in the following.

Code:
	# Take multiple actions at the end of each player turn
	def onEndGameTurn(self, argsList):
		iGameTurn = argsList[0]
		self.Initialize()
		self.Dequeue()
		(iUnowned, iWormCount, iSpiceCount, iStormCount, \
			iMaxStr, lStorms) = self.Count()
		self.WormAdd(iUnowned, iWormCount, iMaxStr)
		self.BlowAdd(iSpiceCount)
		self.StormAddSubtract(iUnowned, iStormCount, lStorms)
		self.Thumper()
		self.SpiceDecay()
		self.SpiceBlow()
		self.StatPrint(iGameTurn)

Perhaps it is obvious from the names, perhaps not. Comment out "WormAdd" and you will not see any more sandworms appearing. Comment out "BlowAdd" and you will not see any spice blows and therefore no spice appearing. Comment out "StormAddSubtract" and you will not see any sandstorms appearing. The other ones only react once the objects are added, so you do not need to worry about those.
 
I've done a new texture set for the spice to tackle to dodgy edges. The are also some new NIFs to try and clean up the see through edges (not sure it's really an improvement). You may want to try the new textures independently of the new NIFs. See which combination you prefer.

Also, I've tweaked the colour of the gas and fumes.

Enough spice for one weekend. ;)
 

Attachments

  • spice_tess.jpg
    spice_tess.jpg
    82.9 KB · Views: 93
I agree this would be helpful. Surprisingly, all you have to do is PM one of the moderators, say thunderfall, and request it. As long as they can see there is an active thread and a real mod, they will set it up. The person who makes the request does not get any special ownership, but anybody can start threads. It is also helpful to ask the moderators to "sticky" one thread, such as "Welcome to Dune Wars". You can see the Fury Road sub-forum in my sig, I think it helped a lot during early development. Look at the earliest threads; I created one for art, one for each version, etc.

I have sent a PM to Thunderfall as advised.

Edit: BTW the way. I am not trying to hijack the mod or anything in case anyone is worried. This is Keldath's mod, it wouldn't exist without his hard work and he should do the Welcome to Dune Wars post.
 
I have sent a PM to Thunderfall as advised.

I think the map script is going to turn out nice. However, there will need to be some discussion in regards to Arrakis geology and game rules. It would be better to have it in the dune mod subforum.
 
Ok, I have a first draft of a Dune map script that brings up many questions. I did a bit of research, and it turns out that most of Dune away from the poles is frequently battered by 350 mph sandstorms, and is basically uninhabitable. Because nearly all of the stories and conflict occur in the north pole, most of the maps of Dune you can find are polar oriented maps. Therefore, I went with a similar configuration for this map script.
Spoiler :


The dune experiment went better than expected, and the existing desert terrain blends perfectly with the deep desert as long as you don't put coast around the dunes. The desert hills would look a bit better if there weren't the rocky bits in them, but overall I'm happy with the result.
Spoiler :


I didn't place any bonuses, because I didn't want my dunes to have grasses and junk all over them for the screenshots. That stuff really shouldn't be in the deep desert anyway. Also, the only solid terrain type is 'arid' because we don't yet have any rules for how the different terrains form. It really helps the immersiveness and believability to have rules for this sort of thing, even if they aren't particularly realistic or accurate. One thing that I learned in my research is that very close to the north pole the sand has a water content that prevent's worms from going there and where water can be mined. That sounds like prime real estate to me, and we should probably have that in the mod for people to fight over.

I have also attached this version so you guys can play with it a bit and comment. This is a standard size map, there may be some issues with other sizes.
 

Attachments

  • Dune Map.jpg
    Dune Map.jpg
    39.8 KB · Views: 1,485
  • DuneBookMap.jpg
    DuneBookMap.jpg
    65.3 KB · Views: 3,184
  • Dunes.jpg
    Dunes.jpg
    159.1 KB · Views: 1,265
  • Arrakis.zip
    48.2 KB · Views: 84
I had not really considered how a map of Dune should look if we were starting from scratch. I do not remember much description about the terrain inside the Great Shield Wall. You are aiming for a map looking down from the north pole, with a solid shield wall around it in a circle, with deep desert outside and usable terrain inside.

Does that mean there should be no deep desert inside?

The sandstorms are also called Coriolis storms, and I believe they would travel east to west (or west to east). On a polar projection, those are circles. So should the dunes be circular? I guess that means the sandstorms should also travel circularly and should not cross the shield wall.

I assume we would also need a "cliff" terrain type which prevents sandworms from physically passing through, and enable nukes to destroy terrain.

If there is valuable water inside, and deep desert with spice outside, then the starting positions should be spaced evenly around a circle and each civ would wind up expanding in a pie shape. I guess you would fight over the water-richer pole, and each civ could access practically as much deep desert as they wanted. The pie part would be very large out that way.

It is interesting to consider this idea, and it may add a lot to the Dune theme. It would certainly make the gameplay different from what it is today, as an archipelago type map with desert between the starting positions. There would be little need for hover units since there is no reason to *cross* the desert for anything.
 
The worms can actually go pretty close to the north pole. The shield wall is not actually a continuous structure ( I will make a more obvious barrier out of peaks later on.) On the book map in my post you can see the 'worm line' which marks where the water in the sand is dangerous for the worms. The shield wall isn't really the thing that keeps out worms from the pole. I assume that Muaddib blasted the wall so he wouldn't have to go hundreds of miles around. Lol, guessing on that. :lol:

The spice I guess is out there in the deep desert. In the movie they flew over the shield wall to get to the spice harvesters. That would be a good reason to go out there, but you wouldn't want to live there.
 
Top Bottom