[MOD] Colonization: 2071

Hmm.. thanks TC01; like you said, it seems like it should be a simple matter to add a line to generatePlotTypes that stores a latitude value for that XY map coordinate into a 2D global array whenever it places a land plot.

PHP:
if fDistance > iRadius:
	self.plotTypes[i] = PlotTypes.PLOT_OCEAN
else:
	global latitudes[x][y] = (y - iCenterY) / iRadius
Then you'd just change the getLatitudeAtPlot function to one line that gets the value for that XY map coordinate from your array, and you'd be done, & wouldn't need to mess with the terrain or feature generator since they take their latitude values from there.

It *seems* like it should be that simple, but after searching I can't seem how to find how to use a 2D global array in python, which seems weird to me. :confused: Do you know if it's possible to use such an array; or alternately maybe a global hash structure that directly associates each plot object with a value for latitude? (sorry, as you can probably tell I've got barely any programming experience, and that was years ago :crazyeye:)
 
To make a variable global, just put it at the top of the file like this:

Code:
latitudes = []

That's how gc is made to equal CyGlobalContext() in most python files.

Then, the way that I do it whenever I need to use a 2D array is to append 1D arrays to a 2D array. So here's how I'd do it:

Code:
		for x in range(self.iNumPlotsX):
			[COLOR="red"]yLatitude = [][/COLOR]
			for y in range(self.iNumPlotsY):
				i = y*self.iNumPlotsX + x
				if x == iCenterX and y == iCenterY:
					fDistance = 0
				else:
					fDistance = sqrt(((x - iCenterX) ** 2) + ((y - iCenterY) ** 2))
				if fDistance > iRadius:
					self.plotTypes[i] = PlotTypes.PLOT_OCEAN
				else:
					[COLOR="red"]yLatitudes.append((y - iCenterY) / iRadius)[/COLOR]
					hillVal = self.hillsFrac.getHeight(x,y)
					if ((hillVal >= iHillsBottom1 and hillVal <= iHillsTop1) or (hillVal >= iHillsBottom2 and hillVal <= iHillsTop2)):
						peakVal = self.peaksFrac.getHeight(x,y)
						if (peakVal <= iPeakThreshold):
							self.plotTypes[i] = PlotTypes.PLOT_PEAK
						else:
							self.plotTypes[i] = PlotTypes.PLOT_HILLS
					else:
						self.plotTypes[i] = PlotTypes.PLOT_LAND
			[COLOR="Red"]latitudes.append(yLatitudes)[/COLOR]
 
@TC01: Thanks - tried that out, but it's not working for reasons I can't figure out. Guess I'll put the mapscript on the back burner for a bit..

For my next act, I'm working on enabling the aliens as playable civs. The idea is to provide a variety of useful buildings and units to make them more interesting, but make many of these require processed goods (Hammers, Fusion Cores etc) which they are bad at producing, so that they'll need to acquire these through trade or abduct human Colonists to produce them.

I found that by giving them a parent "Europe" civ to represent the Progenitors they can regain access to the Earth screen for trade, and made an Alien trait with large penalties to travel time and market prices to disadvantage them compared to humans. They will also have access to a "Ziggurat" market building that sells excess goods at a fraction of the price on Earth (ie the existing Warehouse Expansion mechanic). This is sure to need lots of playtesting balance & feedback to make sure it's fun; so post any alien gameplay ideas/comments here, and when ready I'll upload a beta 0.03 with those changes to give them a try.
 
I've been having a few problems getting the Alien units into Colonization, but they work fine in Civ4. I'll try to find the problem and fix it.
 
Thanks again charle88. I've had some problems myself trying to import Civ4 units; often the problem was that the nif file uses dds or other files in the Civilization 4 directory path or the Art/Shared folder and it's solved after moving those over. But some units (shield_fighter from DuneWars which I wanted for Colonist) I still can't figure out how to import.
 
I've just uploaded version 0.03 with the aliens enabled as playable native civilizations. See the top of the thread for link and details - playable natives are a big change sure to require lots of feedback and balancing to make them fun to play and not over or under powered, so give em a try and post any impressions and ideas here.
 
Released the Alien unit pack. Sadly, I don't think the Kampouran units(My personal name for the Gas-mask Aliens) will currently work in Civ4 Col. The ET unit MIGHT work, though.
 
Great mod! I started playing today and am already addicted. I hope version 0.04 will come soon. anyway keeep up the good work.
 
I won my first game as russia with explorer difficulty. i noticed that the aliens didn't prouduce any weapons or ships which made them weak and that they nearly didn't have any money problably becouse of the progenitors which made it impossible to earn any money by selling goods from earth.

I will start a game as china with Conquistador difficulty and see how it goes.
 
I had another go at Planets.

Now, instead of making fixed planets, it produces a random number of planets (theoretically up to 9 on Huge maps). The number is dependent on map size- all maps have one at the center and then it's the map size number * 2 (so 1, 3, 5, 7, 9, as there are five maps).

These planets are randomly placed and shouldn't overlap with the edge of the map or with other planets (though minor overlap with other planets seems to occur occasionally).

Zip and screenshot attached.
 

Attachments

  • Planets.zip
    3.2 KB · Views: 275
  • Planets.jpg
    Planets.jpg
    527.2 KB · Views: 417
Thanks Seashore, good to see some more comments on this thread! I'm beaming up version 0.04 of the mod tonight, including some graphical updates but mainly focusing on alien gameplay expansion. I also thought the aliens needed some more versatility and power (after all the standard Col natives hardly do much of anything); so added a bunch more stuff for them, including some unique alien Improvements and citizen types (see the Alien Civilizations entry under Game Concepts in Civilopedia for complete details).

And thanks especially to TC01 for your new Planets mapscript, I'm including that in the new upload. As a buffer I added +2 to the radius in your isValidPlanet function, looks like it's making random planets great with no overlap. :goodjob:

Future development issues:
Since I haven't gotten to play that extensively I'm very open to any playtesting feedback, especially re tweaking gameplay for the alien civs. Ideally I'd like for the aliens to be able to purchase a Saucer or maybe one or two of their advanced citizens (Venerable Elder etc) during the setup phase; these don't show up under Advanced Start likely due to their building requirements such as the Alien Shipyard. I tried to give the aliens an Event at game start that lets them choose from a free Saucer or a free specialist citizen type; but this doesn't seem to be triggering for some reason I can't figure out. However, this does seem to have solved the earlier bug where the Progenitors give you a free spaceship that remains stuck on Earth.
 
I've been playing an Alien game on version 0.03 (Planets, tiny map). I'm about to win a Hegemony victory. I might not have made it, with only 35 turns to go, but I attacked the Captain of Industry, my map's token Earth player ("Human player" doesn't really fit here). Evidently, he had declared independence, since after I destroyed several of his cities a massive fleet arrived and finished him off.

But now, since his declaring independence extended the maximum number of turns, I have 91 turns to win (+100 from whatever it was at previously).

From what I can see, you might be better off just clicking "Begin" and letting the game place cities and units. Because in the normal Advanced Start, I'm unable to place any units. But if you click Begin stuff is created the way it normally would be for the natives (several cities, several units). I could be wrong, though- you don't get to put down any improvements, for instance.
 
Good to hear you are nearing Hegemony TC01 - the Progenitors would be proud! :borg:

In 0.04, I find a good strategy is to emphasize Food to grow population while building your Ziggurats, then when you're ready seek out a human colony on your planet and rush them with as many Alien Tribesmen as you can spare. You may not eliminate them, but you can hold onto your best land and capture some Human Hybrids that can retreat to your core cities to build technology. Once you've got enough resources for some alien specialists like the Industrious Cyborg, you can finally start to build a complex economy, which should hopefully add interest to alien gameplay.

I think the aspect of requiring processed goods (Fusion Cores etc) to build things adds some unique challenge for human players (meaning human players of alien civs;).) But I suspect the AI can't really manage it well, making the AI aliens still behave somewhat similar to the vanilla Col natives.

In v0.04, it does let you place Improvements during the Advanced Start phase. If you press Place Automatically or hit Begin without placing anything, it does indeed autoplace multiple cities for free, many more than you could afford with points and over a wider range. (Not sure if this is a bug, or a "feature" that should be left in.) Maybe I should turn off the building requirements for alien specialist units like the Cyborg and Elder, it should then allow these to be purchased during Advanced Start. The Saucer should probably still require a Shipyard, but it might be good to provide a free starting Saucer for aliens either by Event (don't know why my coded Event isn't triggering) or by some Python workaround.
 
I'm sorry orlanth, but my IDM never allowed me to download from wpc.IS it possible for you to make a mirror?(i prefer filefront, FYI)
 
I just downloaded this mod and it is really awsome. Some graphical and pedia quibbles, but nothing really.
>Can the aliens declare independance from the Progenitors? It would be cool to have a whole fleet of Progenitor warships and alien shock troopers come in and try and wipe the offending alien from the game, along with any human civilization that has been disrespecting the natives.
>It might be interesting to work in the colonies making advanced secret weapons for the 'European' powers subversivly. In alot of sci-fi novels the colonies are used to make secret illegal weapons for the home planet.

This mod is pretty awsome.
 
Thanks for your comments Ajidica! Feel free to mention any text/graphics issues as they should be easy to fix, alternately you're very welcome to go ahead and make any tweaks you like, as I'd definitely welcome more people to help out with improving the mod. :king:

>Can the aliens declare independance from the Progenitors? It would be cool to have a whole fleet of Progenitor warships and alien shock troopers come in and try and wipe the offending alien from the game, along with any human civilization that has been disrespecting the natives.
Yes, once they grow Rebel Sentiment to 50% the aliens can declare independence from the Progenitors, and will have to fight off the massive Progenitor fleet and army. (I haven't tried it out yet in game, so would be interested to hear if anyone achieves independence as an Alien player.) I haven't made unique units for them yet, but their forces will be the same as the Earth dictators.

>It might be interesting to work in the colonies making advanced secret weapons for the 'European' powers subversivly. In alot of sci-fi novels the colonies are used to make secret illegal weapons for the home planet.
I've thought of adding a few special Earth military units made with advanced resources (eg Bioweapons and Nuclear Warheads, buildable with Biotech and Fusion Cores respectively); I'm not sure though because the standard AI would likely be bad at it. I've been thinking of dropping some of the alien building requirements to make AI alien races more menacing; do you think the difficulty of playing as Aliens needs to be made higher or lower than currently?
 
I actualy haven't really played as the aliens actualy. I can't stand the advanced start option, there are just too many options and things to do. It would be nice if the cities and such were randomly placed.

EDIT: Why is there a shiny blue area in space? The area moves with the camera so I don't think it is just a strange lighting issue, unless lighting is directed by the camera.
 
If you like, you can have it autoplace the Advanced Start for you by pressing Begin before placing anything. I think the shimmery space effect is part of the "Stardust" DDS texture which I took from Final Frontier.
 
Thanks.
I think there might be too many progenitor ruins around. They make what appear to be rare artefacts quite common. In my Russia game I was able to get lvl 2 progenitor processing with 2 brilliant polymaths working with still some surplus. I suppose it helped when I settle next to 2 ruins with the bunker on them.

EDIT: Would it be possible to include moons/asteroids for you to mine?
 
Top Bottom