Fast Battle Calculator
-
@thedog Just to maximise information about the game: The battle calculator does take into account the Air/Land/Sea Battle Rounds settings.
-
Normal approximation to the binomial, to speed battle calculator for large battles? Does that suit?
Since I don't know much math or programming I'm just taking a shot.
-
The question of why the original calculator needs to make a game copy was not answered. The answer is kinda complex, but essentially as the game simulates battles, it is actually fighting real battles. If the game data were not copied, the units on the field would be actually modified.
Overall, this is rooted in
GameDatabeing a god object and relatively monolithic design for how game data is handled. There is no reason the UI of a battle calculator should really take that long, it only needs a few rules like unit stats & images. The battle logic instead requires massive parts of theGameDataobject unnecessarily and then in addition to this the data is largely mutable.All this is to say that a TripleA 3.0 rewrite of how the game rules are stored and a rewrite of how
GameDataworks should resolve a number of these issues.@RaiNova 's approach is slightly different as the odds are calculated rather than simulated, which avoids the problem of mutating game data.
-
Hmpf, I'll have to learn how to program, then I can get my paws dirty. Set up a Github account then just jump in, sound like a good idea?
-
@aardvarkpepper We could sincerely use the help. It's a deceivingly difficult code base though, frustrations be ahead..
-
@lafayette You really know how to motivate people

-
@frigoref Yes, I'm good at it = D
It's probably better for folks to see the grit for themselves, though I feel like there should be some forewarning & full disclosure that getting things done requires tenacity. -
@aardvarkpepper It's nice to read that you'd like to get involved more technically!
The TripleA code base is 21 years old and she's sometimes behaves as obscurely as if she just turned seventeen.
If you want to learn programming, I suggest you start at something simpler and smaller.
If you want to get technical with TripleA, I suggest you help with the bugs. https://forums.triplea-game.org/topic/3138/staying-3digit-with-open-issues is a quite active discussion how to get a hold on them, and @frigoref is doeing a great job organizing the work.
A bug is reported in form of an issue entry in https://github.com/triplea-game/triplea/issues
We were approaching a thousand open issues, and the guys already brought it down to 739. I am looking forward to your contribution!
-
@rainova said in Fast Battle Calculator:
If you want to learn programming, I suggest you start at something simpler and smaller.
If I'm going to build a program similar to TripleA, makes sense to look at TripleA.
@rainova said in Fast Battle Calculator:
If you want to get technical with TripleA, I suggest you help with the bugs.
From a purely programming view, sounds good to me.
@lafayette said in Fast Battle Calculator:
@frigoref Yes, I'm good at it = D
It's probably better for folks to see the grit for themselves, though I feel like there should be some forewarning & full disclosure that getting things done requires tenacity.I had some idea from reading other threads, but I liked that it was brought up there. Way I figure it, anyone expecting to just chip in will see for themselves before too long that there's a lot going on - or at least, so I gather from other threads.
Going to be quite a while before I can get up to speed. I don't think there's much up to date documentation?
e.g. documentation on stuff like variable naming conventions, how the program should be structured in terms of objects and references, how modules are broken out &c.
I'm not concerned about a lack of documentation, I'm sure I'll piece it together. But if there's a file just sitting somewhere, might as well get it, right?
Bringing it back to fast battle calculator, if I understand right, probably Rainova's solution was to use Low Luck or something maybe? And LaFayette said the battle calculator references too much so is slow, and I expect TripleA 3.0 will be structured so the issue won't exist. So for the time being, is this topic addressed? That is, if there are no forthcoming changes to 2.6, and it'll be addressed with the next major (eventual) release?
-
@aardvarkpepper , re: documentation
New developer tutorial:
https://github.com/triplea-game/triplea/tree/master/docs/development/tutorialDocumentation overview:
https://github.com/triplea-game/triplea/tree/master/docsAll things dev:
https://github.com/triplea-game/triplea/tree/master/docs/developmentCode conventions (naming/java):
https://github.com/triplea-game/triplea/tree/master/docs/development/reference/code-conventionsTypical git commands & workflow:
https://github.com/triplea-game/triplea/blob/master/docs/development/how-to/typical-git-workflow.mdSome of the best first changes are updating & fixing up the above documentation. The fresh perspective is really valuable to incorporate.
We now have a 'good first issue' label, though not a lot is yet tagged with it: https://github.com/triplea-game/triplea/issues?q=is%3Aissue+is%3Aopen+label%3A"Good+First+Issue"
The error reports could be a fine place to start. For those we typically try to repro, if we can't then we try to force it in the code by making some modifications to force the error. Then fix, verify & PR it. Those are decent starter issues because there is a stack trace which gives some good direction of where to look & what to fix: https://github.com/triplea-game/triplea/issues?q=is%3Aissue+is%3Aopen+label%3A"Error+Report"
-
@aardvarkpepper If I'm going to build a program similar to TripleA, makes sense to look at TripleA.
True: Have a look at the amount of code (most simple measure: file size; better: lines of code). Start programming something and measure your productivity. Calculate what percentage of TripleA you can build in a month. Plan what you want to build in that month.
-
@LaFayette https://github.com/triplea-game/triplea/issues/9350 looks like a good first issue to me - but it looks like I have no rights to label issues
-
@aardvarkpepper https://forums.triplea-game.org/topic/3178/10000-unit-reache-error looks like an error. A good start would be to pick up that conversation, clarify the error and create an issue entry for it
-
@RaiNova , I added you to the 'community' team that has 'triage' permissions (can add labels).
#9350 might be a good first issue. It requires running a local game and loading in a variety of maps. It could be difficult given all the different permutations, but overall it's not a bad first issue.
#3178 might not be a good first issue. The 10k run limit is to avoid the battle calculator from running an infinite number of times (no battle is expected to require 10k rounds to complete). The difficulty with this issue would be to reproduce it, we've had reports about the problem in the past but reproducing the problem has been troublesome. Without a good reproduction case, it's hard to build any kind of tests, verify a fix, and what perhaps adds a nail to the good-first-issue coffin is the battle logic is exceedingly complex.
@RaiNova , perhaps we should spawn a thread to identify good first issues? Or simply label them and we'll learn from experience if they start getting picked up.
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login