Call for Coders!

alerum68

Priest of Hiroshima
Joined
Jan 3, 2004
Messages
2,519
Location
San Francisco, California, United States
I'm sure everyone has noticed that progress on The BUG Project has come to a stand-still, and that's because our two Python coders, EF, and ruff_hi, have had to move on from the project. I think too much good hard work has gone into this Mod to let it simply fade away. Besides the bugs within the Mod itself, there are an obscene amount of suggestions that people have made, that would be great additions, but we don't have the talent to program those changes.

Now I know it's hard to become part of a project like this, instead of being able to get your name on the Mod, but I know first hand the power of working together as opposed to everyone working together...

SO, if you know Python, or C++ (Which is close enough to Python that you should be able to pick up Python fairly easily,) then we need you.

So if you think you want to tackle a project this size, and can keep to the ideal of Unmodified Play, then please join us. You will only have to code... packaging and releases will still be handled by myself.
 
Hey - I haven't completely run away. I can code up small items and do a little bit of bug squashing ... just don't ask me to look at the ALERT code because it gives me a head ache (mainly because I suck at coding).

So - where is this list of "obscene amount of suggestions that people have made"?
 
Hey Ruff, good to see you back... figured you weren't able to do anything since you posted you were going to be taking a hiatus from modding.

The suggestions, request, and Bugs are all on the tracker on the SF page. There is something around 40 suggestions that need to be gone through, and the code ones coded. Also I've seen a few new main screen improvments in a few new mods floating around there, that would be good to add.

Don't worry about the Alert Code... I think that's about as good as it's going to get, and I have a strong feeling that is what broke EF.;) Anyway, glad your back, and I hope you have time to do a bit of coding now.
 
I'll have a look thru and give you my 2c on these. I've already closed 1 bug :D
 
What's the matter with EF ? Would it bring him back if we all would caress his belly ? ;) :)
 
Nothings wrong with EF.;) When he started the project he had a different job then he currently does. The new job was taking alot out of him, and thrown on top of that that he was doing all the coding when Ruff had to step away, and he reached the point where he wasn't coding new code, which he loves, but fixing broken code, which I'm pretty sure he hates with a passion. Also, I'm pretty sure he wasn't playing CIV anymore, but just coding.

I'm thinking if we got 1 or 2 more active coders, and the burden wasn't completely on his shoulders, it's possible he'd come back... but that's just thinking, not from anything he said.

Why don't you send him a PM and try the belly rub thing?:p
 
·Imhotep·;6379092 said:
What's the matter with EF ? Would it bring him back if we all would caress his belly ? ;) :)

I have contacted a few people to let them know I appreciate their contribution to this project. I don't have any work added to it myself but I am a fan. Well, sometimes I tend to get a little emotional because of too much caffeine so I hope I didn't scare anyone away. Its just how I am.:crazyeye:

I was really hoping for the additional Plot List enchancements to be added in. I think that with the interface would totally improve the experience. It seems like something firaxis should have included from the get go.
 
I was really hoping for the additional Plot List enchancements to be added in. I think that with the interface would totally improve the experience. It seems like something firaxis should have included from the get go.
What in particular are you interested in? The thing with PLE is that it completely re-writes whole sections of code (unit selection for 1) that are really really ugly. I was able to lift the promo and action indicators fairly easily, so I did that.

BtS now includes some of the features (eg Ctrl-H to select all units with health issues).
 
What in particular are you interested in?


http://forums.civfanatics.com/showthread.php?t=188184

I was hoping for the enhancements I had gotten use to before. >"scrolling row, stacking row, column by group, row by group". Its something that takes a bit to get used to . But it made for a much improved and efficient unit selection and organization. Is this possible where the mod stands now?

-ecc

I'm quoting this from an earlier post. See, the modified PLE was in the original sevomod, and from the link if you scroll down and click to open up "Sevomod Additional Instructions 1. Plot List Buttons" It shows a whole bunch of information on what was done. It is rather cool imho.
 

Attachments

  • gamescreen_21E-large.jpg
    gamescreen_21E-large.jpg
    196 KB · Views: 125
yes, I know the mod. But do you really use all of these features? Are there some that you cannot live without?

The main issue with this is that PLE broke the basic unit selection process and had to totally rebuild it. The code is nasty(!!!) and not something that I want to wade through again. If there are elements in PLE that you cannot do now, then please let me know.

Things like column stack, row stack, group by, etc (IMHO) don't add enough for the time / effort of adding them.
 
Things like column stack, row stack, group by, etc (IMHO) don't add enough for the time / effort of adding them.

I don't really "need" those functions, it just was something I enjoyed for a while. But as is, the PLE is fine and I'm happy thus far. I'll be happy with a new BUG release regardless of what is or isn't in it.
 
Hi all,

I've lurked civfanatics for a long time (since looking for the first patch to civ 3 shortly after it was released), although I didn't register for quite some time. I've enjoyed reading the succession games, which greatly improved my own games - yeah, I know, joining one is supposedly even better...

Anyway, I might be willing to contribute to the bug-squashing/feature-implementation on this mod if you're still interested in keeping it going :) I have some programming experience in various languages including C++. Not much experience with Civ4 modding or Python, but I took a look at some of the code and managed to fix the city-shrunk-upon-whip message bug fairly quickly, so I think I'll manage. Btw, this is listed twice in the bug-tracker, do I get credit for fixing 22% of the known/reported bugs already? ;)

One thing I'd like to know before signing up is how much time you'd expect me to dedicate? My available time varies a lot - some weeks I'll not be able to contribute much, others I can put in some hours' worth of coding.

In any case, the fix to the bug is below.

In CustomAssets/Python/Contrib/Civ4lerts.py the CityGrowth class should be like this:

Code:
class CityGrowth(AbstractCityAlert):
	"""
	Displays an alert when a city's population changes.
	State: map of populations by city ID.
	"""
	def __init__(self, eventManager):
		AbstractCityAlert.__init__(self, eventManager)
### Start: No message after whip, unless city also starves
		eventManager.addEventHandler("cityHurry", self.onCityHurry)
### End: No message after whip, unless city also starves
	
	def checkCity(self, iTurn, iCityID, city, iPlayer, player):
		if (iCityID not in self.populations):
			self.resetCity(city)
		else:
			iPop = city.getPopulation()
			iOldPop = self.populations[iCityID]
			if (iPop > iOldPop):
				self.populations[iCityID] = iPop
				if (BugAlerts.isShowCityGrowthAlert()):
					message = localText.getText(
							"TXT_KEY_CIV4LERTS_ON_CITY_GROWTH",
							(city.getName(), iPop))
					icon = "Art/Interface/Symbols/Food/food05.dds"
					addMessageAtCity(iPlayer, message, icon, city)
			elif (iPop < iOldPop):
				self.populations[iCityID] = iPop
				if (BugAlerts.isShowCityGrowthAlert()):
					message = localText.getText(
							"TXT_KEY_CIV4LERTS_ON_CITY_SHRINKAGE",
							(city.getName(), iPop))
					icon = "Art/Interface/Symbols/Food/food05.dds"
					addMessageAtCity(iPlayer, message, icon, city)

### Start: No message after whip, unless city also starves
	def onCityHurry(self, argslist):
		pCity = argslist[0]
		iHurryType = argslist[1]
		iCityID = pCity.getID()
		if (iCityID not in self.populations):
			self.resetCity(pCity)
		else:
			iPop = pCity.getPopulation();
			self.populations[iCityID] = iPop
### End: No message after whip, unless city also starves

	def _beforeReset(self):
		self.populations = dict()
	
	def resetCity(self, city):
		self.populations[city.getID()] = city.getPopulation()
	
	def discardCity(self, city):
		self.populations.discard(city.getID())
 
@yakk and @mstuart - thx for the offer. The list of known bugs is in the forgesave location - see various posts in this forum, prob 'latest version' is the right one.

Re time - as much or as little as you can ... any is good.
 
Top Bottom