Todo List to finish Branch "develop" [OBSOLETE]

raystuttgart

Civ4Col Modder
Joined
Jan 24, 2011
Messages
9,637
Location
Stuttgart, Germany
Hi guys,

let us please collect and summarize here what we still need to do to finish "develop".
Please give me input which bugfixes and improvements I have forgotten.

The things I currently have in my mind:

1. MapScript adjustments so "Large Rivers" are generated. ( @FlaviusBelisarius )
2. Automatic Trade Route System improvements ( @FlaviusBelisarius )
4. XML Enhancement of MYCP for Balancing Yields Individually ( @Nightinggale )
5. Improving "Trade Quests" considering UI showing progress ( @Raubwuerger )
9. enable the pioneer to build a "road" to the selected point. #427 (@Ramstormp)

Which unresolved bugs do we still have?
(Except OOS.)

Which other improvements do we still have on the todo list?
(No features please.)

Things already done:

Spoiler :

3. EnumMaps and InfoArrays - incl. usage for performance boosts ( @Nightinggale ) [DONE]
8. move the game screen to the colony when the building availability screen appears #426 (Resolved by @Ramstormp) [DONE]
10. Analyzing this bug for its root cause and if possible fixing the root cause - workaround in "develop" exists (@Nightinggale) [DONE]
7. Scrollable "Score List" necessary due to huge amount of Nations in WTP #360 (Implemented by @Ramstormp) [DONE]
6. Allowing and Implementing "Trade Quests" for Africa and Port Royal
(Implemented by @Raubwuerger ) [DONE]

11. Advisor Screen displaying "Professions" that can be educated by School System in Cities (@Raubwuerger) [DONE]


----

The stuff in this thread is priorty 1 please before we turn to anything else. :thumbsup:
(Because it will allow us to publish at least a smaller release soon.)
 
Last edited:
A big thank you Ray for facilitating this process. Greatly appreciated.

Bugs/issues I am aware of:
  • Development thread has a workaround for a known CTD bug - is this enough or do we want to make effort towards a real fix / analysis at this point? (hack by Nighttingale in CvUnitAI)
  • I think I messed up my fix proposal to the city razing illegal memory access issue. Either revert that from the pull request or try to really fix it. The other small fix in the PR should be perfectly fine.
  • My transport automation work still has quite a few known and probably a bunch unknown bugs. No CTD serious but unpleasant. If I don't have time to iron them out, we can either leave my work out or perhaps only publish earlier part (more robust) of the whole package.
 
Just a question, is the "triangle trade" and traveling between overseas ports included in the Flavius' trade route work or Ray's trade quest work, or is that a separate item?

Not requesting additional of new item, just wondering if thats part of one of those
 
... is the "triangle trade" and traveling between overseas ports included in the Flavius' trade route work or Ray's trade quest work, or is that a separate item?
Those are new gameplay features and will thus become part of a feature release (once somebody implements them).
The "Improvement release" will be only about improvements and bugfixes of existing gameplay.

That bullet point of @FlaviusBelisarius on the list is about pretty much exactly this thread. It is about improving game play that is already there (since many years).
It is about better automatization of trade routes for e.g. sales in Europe, production and domestic trade consumption.

------

Simplicifacation:
  • Improvement releases do not add new gameplay content, they just fix and improve existing assets which might be existing feature logic or graphics or music or text or ... (Focus is: Stabilization)
  • Feature releases are about adding new gamepaly content and thus also introduce assets needed that may not be perfect yet and need improvement later. (Focus is: Expansion)
We first stabilize again (Improvement Release) and fix what we have, then after that we expand the mod again (Feature Release).
Experience has show that this creates much better quality than always just expanding, expanding, expanding ...

The key word to this approach is "focus".
(It is not a 100% rule and exceptions may exist but chosen wisely.)
 
Last edited:
... workaround for a known CTD bug ...
Is it reliably reproducable? If yes, we should try to analyze if somebody is skilled enough and also motivated to do so.:thumbsup:
Since we do not yet know what causes it, I am also cautious to really consider it a "bug of the mod".
I have seen enough CTDs that were completely unrlelated to the mod and also not reliably reproducable.

Summary:
Could you please give me the link to the post that reported it or a post with a savegame?
(I will put it on the todo list then.)
 
Thanks, I will add them to the todo list. :thumbsup:

Cannot promise though that somebody will have time to take care of them.
(Especially the "Pioneer" request is really tricky.)
 
thinking about the global, you forget about the little things. but it's these little things that make the game less annoying...
in my opinion, they must be implemented in the next release.
 
in my opinion, they must be implemented in the next release.
There is no "must" considering improvements.
There is only "it would be great".

The only "musts" we might have are bugs that render the game unplayable.
(Like a CTD occuring all the time and currently such a bug is unknown to me.)

All the points you mentioned are great improvement ideas. :thumbsup:
But the mod has survived 13 years without them.

If somebody volunteers to work on them he gets our gratitude.
Otherwise we simply can not force anybody.

So please let us not start creating artificial pressure. :thumbsup:
Let us rather try to have fun working together again.

WTP was not built in a single release.
And this will also not be the last release.

----

Summary:


Let us please take this relaxed. :grouphug:
We give our best and try to have fun working together.

There is no need for pressure, stress and frustration.
We do what we can and it takes as long as it takes.
 
Last edited:
I finished #426 but need to learn how github works... again. I guess I need to figure out how to do a pull request.

I tried to do #427, but the best I could come up with (if I remember correctly) is get the pioneer to always build the basic road first when pressing Alt+R. When the Technology Progress system is implemented that issue will be automatically fixed, so I think it would be better to focus on getting that done.

I also have been looking into the unit stack issue, and will hopefully come up with something. I have never cared about the score list - I don't understand why anyone would care about the score.

My family is on vacation for a week, so I am hoping my brain will be cleared up enough to mod; but I also have to work every day, which is draining.
 
I finished #426 ...
Awsome ! :hug:

--- need to learn how github works... again.
Please contact @Nightinggale to give you a short introduction to GIT again. :thumbsup:

I guess I need to figure out how to do a pull request.
We might alternatively give you a development branch in our GIT repository where you could always commit your work.
As long as you do not diretcly commit into "develop" without a short clarification with one of the team members there should be no problem.

I tried to do #427 ...
If you want to, you could share your code (either in the issue or in a new thread here) and we could check and improve together. :thumbsup:

I have never cared about the score list - I don't understand why anyone would care about the score.
It is not the score itself people care about but there are 2 really useful features attached to it:

1. It is the most conventient way to directly start diplomacy with a leader.
2. It shows you how much Gold the Natives have so you know if it is worth trading with them again.

The "scrollable score list" is a really good improvement request.
It is much more useful than what you might consider it right now.

----

Summary:

Thanks for the update.
I am a bit busy this weekend. :)
But either @Nightinggale or myself should contact you soon again. :thumbsup:
 
Last edited:
5. Improving "Trade Quests" considering UI showing progress ( @raystuttgart )
6. Allowing and Implementing "Trade Quests" for Africa and Port Royal ( @raystuttgart )
I picked up work on these 2 improvements here. It will keep me busy for several weeks.
And no, we are no magicians that just snip with a finger and thus things do not get magically done.

It may sound like little effort but:

1. The UI expansion of the "Trade Quest System" actually means I will have a small new "Advisor Screen" --> Trade Contracts Screen.
(So the programming logic is simple but to create a new nice looking Advisor Screen to visualize is quite some effort.)

Well, effort does not really matter that much as long as you have fun programming. :)
And programming such a small new screen and making it look nice might actually be fun.

2. The functionality enhancement of the "Trade Quests System" to also allow Quests with Africa and Port Royal is in itself not difficult.
(Actually I would even consider it "beginner's level" for a modder that is also able to program, because it is mostly copy & paste with a few adaptations.)

But I will then also have to implement several new actual "Trade Quests" with Africa and Port Royal to make use of it.
(And well figuring out ideas for stories and rewards, writing texts, configuring it in the system, testing it ... simply takes time.

----

Community asked for these improvements and it shall get them.
But It takes as long as it takes. Modding is a marathon, not a spring race. :)
 
@Nightinggale

I had an hour this morning I could spare for modding. :)
It was actually nice to be writing some code again after so many weeks.

I now fully separated all logical strings of the 3 markets Europe, Africa and Port Royal. It is kind of a "code refactoring" what I did.
They are now finally in fact 100% independent and actually behave as I had originally desinged the features considering "Statistics", "Prices", "Taxes", ... (and in next step also Python Events)

This is actually a kind of "bugfix" for unnecessary impacts and dependencies between Europe, Africa and Port Royal most players luckily never noticed.
(I should have done this already 10 years ago already, when I implemented Africa and Port Royal. But only now did I notice how deep those unnecessary dependencies were.)

Since this part of the code is of critical importance for gameplay (because it manages all trade transactions) I ask for a short review.
The code changes themselves are actually not that many and not that complicated but small copy&paste errors can always happen.

Most importantly are effects of other logic from "YieldsTradeTotal" (now separated) and "YieldsBoughtTotal" (also now separated).
Please also check if the new data is properly saved in the new SaveGameFormat. (You know it better than I do.)

---

Thanks in advance for the code review. :thumbsup:

Here is the commit:
https://github.com/We-the-People-civ4col-mod/Mod/commit/1d15701b648eb611ccbbdbd5df065ecb092792b4

---

@team:

Since I now have all functionality in DLL need to be able to enhance the Python Event System in the Python Code and then in the next step set up actual Trade Quests in XML.
6. Allowing and Implementing "Trade Quests" for Africa and Port Royal ( @raystuttgart )

Until tonight I may have the "Python part" ready to be used, maybe one of the other team members may then be interested to implement the actual Trade Quests in XML.
If one of you guys is interested in implementing yourself the new Trade Quests for Africa and Port Royal (just the XML part), please contact me. :thumbsup:
 
Last edited:
Ok guys, the Python Event System has now been enhanced to also support Trade Quests with Port Royal and Africa.
(For anybody interested, here is the commit. It is pretty primitive logic though and basically just "copy&paste&adapt" of the Europe Trade Quests.)

For alls modders that want to set up their own Trade Quests for Port Royal or Africa now in the Python Event System, here is an overview of the helper method references:
(Check examples of "Europe Trade Quests" and configure or "Port Royal Trade Quests" or "Africa Trade Quests" accordingly.)

Spoiler :

Names of "helper methods" to be used in Africa Trade Quests:

CanDoAfricaTrade
getHelpQuestStartAfricaTradeYieldAndAmount
getHelpQuestDoneAfricaTradePriceAndAttitude
applyQuestDoneAfricaTradePriceAndAttitude

Names of "helper methods" to be used in Port Royal Trade Quests:

CanDoPortRoyalTrade
getHelpQuestStartPortRoyalTradeYieldAndAmount
getHelpQuestDonePortRoyalTradePriceAndAttitude
applyQuestDonePortRoyalTradePriceAndAttitude

----

Remember that those are just the generic helper methods your XML and your Python logic can call to do the most complex logic.
You still need to program the Yield specifc caller methods for each Trade Quests. Take a look at examples and you will see it is really easy.


@Raubwuerger:
Potentially interested to take over these Africa / Port Royal Trade Quest implementations?
Just asking because you already know how to do it, since you implemented almost all Europe Trade Quests already.
It is basically the same systematic as for "Europe Quest", just the helper methods change.
If you are currently busy or not motivated to do modding I fully understand. :thumbsup:

Otherwise I will set up those Trade Quests myself the upcoming days:
(Required Amounts will be smaller though than for the Europe Quests - additional incentive to trade in these harbours.)
Spoiler :

Port Royal Trade Quests:
  1. Blades
  2. Cannons
  3. Furniture
  4. Gems
  5. Gold
  6. Silver
  7. Salt
  8. Spices
  9. Coca Leaves
  10. Cigars
  11. Coffee
  12. Rum
  13. Wine
  14. Ropes
  15. Sailcloth
Africa Trade Quests:
  1. Food
  2. Lumber
  3. Ore
  4. Stone
  5. Silver
  6. Cattle
  7. Sheep
  8. Horses
  9. Tools
  10. Guns
  11. Cloth
  12. Salt
  13. Spices
  14. Coca Leaves
  15. Trade Goods
 
Is it reliably reproducable? If yes, we should try to analyze if somebody is skilled enough and also motivated to do so.:thumbsup:
Since we do not yet know what causes it, I am also cautious to really consider it a "bug of the mod".
I have seen enough CTDs that were completely unrlelated to the mod and also not reliably reproducable.

Summary:
Could you please give me the link to the post that reported it or a post with a savegame?
(I will put it on the todo list then.)
https://forums.civfanatics.com/threads/we-the-people-bug-reporting.636760/page-50#post-16148889
Confirmed by me that the workaround fixes the CTD. There were others suffering from the same issue in the forum as well.
 
Confirmed by me that the workaround fixes the CTD.
Just for my understanding, why do you consider it a "workaround" only and not a "bugfix"?
Do you think it just covers the actual bug? Is the actual bug still slumbering and might one day bite us?

If yes, do you think it could be debugged to analyze it deeper? Did somebody already try?
Or is debugging for some reason not possible - e.g. because the actual bug happens in the .exe?

----

Sorry, I am just trying to figure out what we need to do.

1. Is it good enough to leave it as it is, because the "workaround" is good enough or may actually even be considered a "bugfix"?
2. Do we need to analyze it deeper because of risk that bug will occur again and actually also can do so?
3. Should we ignore for now until we have more savagames to analyze, since we simply can not reproduce, analyze and solve currently anyways?

----

@Nightinggale

We might need your expertise and skills here as well to judge what we should do. :thumbsup:
 
Last edited:
Just for my understanding, why do you consider it a "workaround" only and not a "bugfix"?
Do you think it just covers the actual bug? Is the actual bug still slumbering and might one day bite us?
Because that fix was done by @Nightinggale and the commit explicitly states that it is a hack, not a proper fix. The reason behind the CTD raising outcome is unknown as far as I understand. It can be debugged for sure, probably nobody has had the time / interest to pursue it yet.

We have several savegames that cause the CTD with 100% probability. Even just the one I pointed to is sufficient for debugger analysis. No problem here.

Preferable: 2>1>3
If nobody has time / interest to do 2, let's do 1 anyway since user experience is so much better (no immediate CTD, I cannot imagine anything worse coming out of the hack!).
 
Ok, thanks for the update and explanations. I will take the bug on the list of todos for the release. :thumbsup:
(I was not really paying full attention during my break the last 2 months.)

As soon as somebody finds time / volunteers to analyze it, I will put his name behind the "todo".
Currently all of us are buys anyways and it does not hurry - due to the workaround it is not urgent.

We should try to take care of it before we release. :)
(But @Nightinggale - who did the current "workaround fix" - probably knows best how difficult a real fix would be.)
 
Last edited:
Hello raystuttgart,

the next weeks I've some time to implement new TradeEvents.

Then on my (long term) ToDo list is still the following:
- Show how far you are with a certain task (e.g. 3700 of 7500 skins delivered).
- Display of the possible training places per city. In which city I can train profession x ...
 
- Show how far you are with a certain task (e.g. 3700 of 7500 skins delivered).
This is basically the same "todo", as I have on the list here.
5. Improving "Trade Quests" considering UI showing progress ( @raystuttgart )

----

I will happily leave that task to you as well, if you want. :thumbsup:
(Whenever you may need help, let us others know so we might support with the technical concept.)

Spoiler :
I have uncounted other todos I could start and basically only wanted to take care of it because I though nobody else would.
Thus if you volunteer for it that is awesome and I could invest my efforts in other open todos.


----

Summary:

I will put your name behind that task if you like to take responsibility for it. :thumbsup:
Otherwise there is no need to hurry. You can work on it whenver you find time and as long as it takes.

Edit:
I updated the task lists and put your names to the 2 tasks related to "Trade Quests".
(Progress Display in UI, Actual implementation of Africa and Port Royal Trade Quests.)
Please do not hestitate to ask for support of the rest of the team whenver you may need it. :)

----

Thanks for supportig again. :hug:
Nice to see all of us WTP modders joining forces again. :grouphug:
 
Top Bottom