-
Notifications
You must be signed in to change notification settings - Fork 293
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Utility AI - framework and Editor [wip] #6323
base: master
Are you sure you want to change the base?
Conversation
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## master #6323 +/- ##
============================================
- Coverage 28.55% 28.19% -0.37%
- Complexity 14465 14506 +41
============================================
Files 2815 2881 +66
Lines 277311 281148 +3837
Branches 48973 49340 +367
============================================
+ Hits 79175 79258 +83
- Misses 193436 197169 +3733
- Partials 4700 4721 +21 ☔ View full report in Codecov by Sentry. |
megamek/src/megamek/client/bot/duchess/ai/utility/tw/TWUtilityAIRepository.java
Fixed
Show fixed
Hide fixed
megamek/src/megamek/client/bot/duchess/ai/utility/tw/TWUtilityAIRepository.java
Fixed
Show fixed
Hide fixed
82be31d
to
572a2a2
Compare
megamek/src/megamek/client/bot/duchess/ai/utility/tw/TWUtilityAIRepository.java
Fixed
Show fixed
Hide fixed
2f32e50
to
448b792
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
CodeQL found more than 20 potential problems in the proposed changes. Check the Files changed tab for more details.
var splitPosition = hex.length() / 2; | ||
|
||
int x = Integer.parseInt(hex.substring(0, splitPosition)) - 1; | ||
int y = Integer.parseInt(hex.substring(splitPosition)) - 1; |
Check notice
Code scanning / CodeQL
Missing catch of NumberFormatException Note
|
||
int x = Integer.parseInt(hex.substring(0, splitPosition)) - 1; | ||
int y = Integer.parseInt(hex.substring(splitPosition)) - 1; | ||
|
Check notice
Code scanning / CodeQL
Missing catch of NumberFormatException Note
return; | ||
} | ||
int unitID = Integer.parseInt(unitIdString); | ||
|
Check notice
Code scanning / CodeQL
Missing catch of NumberFormatException Note
var splitPosition = hex.length() / 2; | ||
|
||
int x = Integer.parseInt(hex.substring(0, splitPosition)) - 1; | ||
int y = Integer.parseInt(hex.substring(splitPosition)) - 1; |
Check notice
Code scanning / CodeQL
Missing catch of NumberFormatException Note
|
||
int x = Integer.parseInt(hex.substring(0, splitPosition)) - 1; | ||
int y = Integer.parseInt(hex.substring(splitPosition)) - 1; | ||
|
Check notice
Code scanning / CodeQL
Missing catch of NumberFormatException Note
megamek/src/megamek/client/bot/queen/ai/utility/tw/TWUtilityAIRepository.java
Fixed
Show fixed
Hide fixed
megamek/src/megamek/client/bot/queen/ai/utility/tw/TWUtilityAIRepository.java
Fixed
Show fixed
Hide fixed
megamek/src/megamek/client/bot/queen/ai/utility/tw/intelligence/SimpleIntelligence.java
Fixed
Show fixed
Hide fixed
megamek/src/megamek/client/ui/swing/ai/editor/ConsiderationParametersTable.java
Fixed
Show fixed
Hide fixed
return this; | ||
} | ||
|
||
public DebugReporter append(Object s) { |
Check notice
Code scanning / CodeQL
Confusing overloading of methods Note
append
return finalScore; | ||
} | ||
|
||
public List<Consideration<IN_GAME_OBJECT, TARGETABLE>> getConsiderations() { |
Check notice
Code scanning / CodeQL
Exposing internal representation Note
after this call to getConsiderations
megamek/src/megamek/client/bot/queen/ai/utility/tw/decision/TWDecisionContext.java
Fixed
Show fixed
Hide fixed
return id; | ||
} | ||
|
||
public List<Decision<A, B>> getDecisions() { |
Check notice
Code scanning / CodeQL
Exposing internal representation Note
after this call to getDecisions
3864b40
to
918cfca
Compare
public void testErrorLoggingWithExceptionNoParams() { | ||
automaticallyDismissDialog(); | ||
Exception e = new Exception("Test exception"); | ||
testMMLogger.error(e, "Error message: noparameter accepted", "test"); |
Check notice
Code scanning / CodeQL
Deprecated method or constructor invocation Note
MMLogger.error
} | ||
|
||
@Override | ||
public boolean isEnabled(Level level, Marker marker, String message, Object p0) { |
Check notice
Code scanning / CodeQL
Confusing overloading of methods Note
isEnabled
Method CustomLogger.isEnabled(..) could be confused with overloaded method
isEnabled
} | ||
|
||
@Override | ||
public boolean isEnabled(Level level, org.apache.logging.log4j.Marker marker, Object message, Throwable t) { |
Check notice
Code scanning / CodeQL
Confusing overloading of methods Note
isEnabled
Method CustomLogger.isEnabled(..) could be confused with overloaded method
isEnabled
Method CustomLogger.isEnabled(..) could be confused with overloaded method
isEnabled
} | ||
|
||
@Override | ||
public boolean isEnabled(Level level, Marker marker, CharSequence message, Throwable t) { |
Check notice
Code scanning / CodeQL
Confusing overloading of methods Note
isEnabled
Method CustomLogger.isEnabled(..) could be confused with overloaded method
isEnabled
Method CustomLogger.isEnabled(..) could be confused with overloaded method
isEnabled
04d846a
to
54b383d
Compare
54b383d
to
91ee7b2
Compare
Development of a Utility AI framework to be implemented with a bot (preferably on top of princess, preferably creating a new way to have her make decisions).
This PR currently only implements a few considerations and an AI Editor, this PR intends to allow people to test and evaluate the usability of the AI Editor.
TODO: More information on the Utility AI, how it works, how it integrates with Princessm etc.