entelect-challenge-tower-defence.git
2 years agoUpdate compile flags for submission
Justin Worthe [Sat, 8 Sep 2018 17:50:41 +0000 (19:50 +0200)]
Update compile flags for submission

2 years agoMoved metric calculations to reuse per row
Justin Worthe [Sat, 8 Sep 2018 12:16:58 +0000 (14:16 +0200)]
Moved metric calculations to reuse per row

2 years agoOptimized away unnecessary sum
Justin Worthe [Sat, 8 Sep 2018 11:17:27 +0000 (13:17 +0200)]
Optimized away unnecessary sum

2 years agoCached more values in tree exploration calcs
Justin Worthe [Sat, 8 Sep 2018 11:01:33 +0000 (13:01 +0200)]
Cached more values in tree exploration calcs

2 years agoFeature-flaggified weighting win ratios
Justin Worthe [Sat, 8 Sep 2018 08:36:09 +0000 (10:36 +0200)]
Feature-flaggified weighting win ratios

2 years agoCleaned up compile warnings
Justin Worthe [Sat, 8 Sep 2018 08:29:59 +0000 (10:29 +0200)]
Cleaned up compile warnings

2 years agoAdded compile as a default build target
Justin Worthe [Sat, 8 Sep 2018 08:25:20 +0000 (10:25 +0200)]
Added compile as a default build target

2 years agoAdded minimum to weighted victory / defeat score
Justin Worthe [Sat, 8 Sep 2018 08:24:53 +0000 (10:24 +0200)]
Added minimum to weighted victory / defeat score

2 years agoAdded a static set of opening moves to get energy up and running
Justin Worthe [Sat, 8 Sep 2018 07:31:41 +0000 (09:31 +0200)]
Added a static set of opening moves to get energy up and running

2 years agoPut selection of full monte carlo tree behind a feature flag
Justin Worthe [Sat, 8 Sep 2018 06:47:24 +0000 (08:47 +0200)]
Put selection of full monte carlo tree behind a feature flag

2 years agoAdded benchmarking for number of explored nodes
Justin Worthe [Thu, 6 Sep 2018 19:51:50 +0000 (21:51 +0200)]
Added benchmarking for number of explored nodes

2 years agoFilled in the remaining TODOs on the tree search
Justin Worthe [Thu, 6 Sep 2018 19:20:04 +0000 (21:20 +0200)]
Filled in the remaining TODOs on the tree search

2 years agoDisabled detailed debugging
Justin Worthe [Thu, 6 Sep 2018 06:39:48 +0000 (08:39 +0200)]
Disabled detailed debugging

2 years agoFilled in high level outline of monte carlo tree
Justin Worthe [Wed, 5 Sep 2018 21:55:36 +0000 (23:55 +0200)]
Filled in high level outline of monte carlo tree

2 years agoData structures for proper monte carlo search
Justin Worthe [Wed, 5 Sep 2018 21:01:00 +0000 (23:01 +0200)]
Data structures for proper monte carlo search

2 years agoTweaking weighting in heuristic search
Justin Worthe [Wed, 5 Sep 2018 21:00:46 +0000 (23:00 +0200)]
Tweaking weighting in heuristic search

2 years agoFixed config that hadn't been tested in a while
Justin Worthe [Wed, 5 Sep 2018 19:00:00 +0000 (21:00 +0200)]
Fixed config that hadn't been tested in a while

2 years agoAdded weighting of victory / defeat board positions
Justin Worthe [Wed, 5 Sep 2018 18:57:10 +0000 (20:57 +0200)]
Added weighting of victory / defeat board positions

2 years agoImproved performance of heuristic calcs by caching common calcs
Justin Worthe [Sun, 2 Sep 2018 19:52:14 +0000 (21:52 +0200)]
Improved performance of heuristic calcs by caching common calcs

2 years agoImprovement from precomputing row masks
Justin Worthe [Sun, 2 Sep 2018 19:38:56 +0000 (21:38 +0200)]
Improvement from precomputing row masks

2 years agoSimplified energy random chance
Justin Worthe [Sun, 2 Sep 2018 19:26:51 +0000 (21:26 +0200)]
Simplified energy random chance

2 years agoMade it possible to build iron curtains as they become available
Justin Worthe [Sun, 2 Sep 2018 18:48:15 +0000 (20:48 +0200)]
Made it possible to build iron curtains as they become available

2 years agoDecreased size of big CDF arrays
Justin Worthe [Sun, 2 Sep 2018 14:55:59 +0000 (16:55 +0200)]
Decreased size of big CDF arrays

2 years agoA bit more performance tweaking on CDF. Broke into smaller more cache friendly arrays.
Justin Worthe [Sun, 2 Sep 2018 14:52:41 +0000 (16:52 +0200)]
A bit more performance tweaking on CDF. Broke into smaller more cache friendly arrays.

2 years agoClippy suggested improvements
Justin Worthe [Sun, 2 Sep 2018 07:29:14 +0000 (09:29 +0200)]
Clippy suggested improvements

2 years agoCorrected which player's attack towers to consider
Justin Worthe [Sat, 1 Sep 2018 20:01:28 +0000 (22:01 +0200)]
Corrected which player's attack towers to consider

2 years agoAdded basic heuristic
Justin Worthe [Sat, 1 Sep 2018 18:27:57 +0000 (20:27 +0200)]
Added basic heuristic

2 years agoImproved perf by breaking strong ordering dependency in indexes
Justin Worthe [Sat, 1 Sep 2018 12:41:02 +0000 (14:41 +0200)]
Improved perf by breaking strong ordering dependency in indexes

2 years agoOptimized creation of heuristic weighting
Justin Worthe [Sat, 1 Sep 2018 10:37:23 +0000 (12:37 +0200)]
Optimized creation of heuristic weighting

It's still 4 times slower, but it's probably decent to start filling
in a heuristic.

2 years agoSemifunctional heuristic search
Justin Worthe [Sat, 1 Sep 2018 10:05:05 +0000 (12:05 +0200)]
Semifunctional heuristic search

It's slow. Very very slow.

2 years agoRemoved TODO on thinking about energy cutoffs
Justin Worthe [Sat, 1 Sep 2018 09:12:38 +0000 (11:12 +0200)]
Removed TODO on thinking about energy cutoffs

2 years agoMost of the heuristic random move lookup structure
Justin Worthe [Fri, 31 Aug 2018 20:23:02 +0000 (22:23 +0200)]
Most of the heuristic random move lookup structure

2 years agoPlaceholder for new heuristic based random search
Justin Worthe [Fri, 31 Aug 2018 19:43:58 +0000 (21:43 +0200)]
Placeholder for new heuristic based random search

2 years agoLimited the looking into the future to be a bit more limited
Justin Worthe [Fri, 31 Aug 2018 18:12:00 +0000 (20:12 +0200)]
Limited the looking into the future to be a bit more limited

2 years agoAdded targeted waiting to evaluated moves
Justin Worthe [Wed, 29 Aug 2018 18:52:15 +0000 (20:52 +0200)]
Added targeted waiting to evaluated moves

2 years agoRemoved tesla order fixing
Justin Worthe [Mon, 27 Aug 2018 20:58:32 +0000 (22:58 +0200)]
Removed tesla order fixing

2 years agoRemoved unused deconstruct command
Justin Worthe [Mon, 27 Aug 2018 20:40:02 +0000 (22:40 +0200)]
Removed unused deconstruct command

2 years agoRefactoring to have more stuff on player
Justin Worthe [Mon, 27 Aug 2018 20:38:01 +0000 (22:38 +0200)]
Refactoring to have more stuff on player

2 years agoMore plot info for debug
Justin Worthe [Mon, 27 Aug 2018 20:22:23 +0000 (22:22 +0200)]
More plot info for debug

2 years agoRemoved branching around energy limiting heuristics
Justin Worthe [Mon, 27 Aug 2018 19:48:26 +0000 (21:48 +0200)]
Removed branching around energy limiting heuristics

2 years agoIncreased the likelihood of using an iron curtain if there's energy
Justin Worthe [Mon, 27 Aug 2018 19:10:37 +0000 (21:10 +0200)]
Increased the likelihood of using an iron curtain if there's energy

2 years agoTweaked performance for enegy tower limiting
Justin Worthe [Sun, 19 Aug 2018 12:57:06 +0000 (14:57 +0200)]
Tweaked performance for enegy tower limiting

2 years agoImplemented maximum number of energy buildings in a row
Justin Worthe [Sat, 18 Aug 2018 20:18:01 +0000 (22:18 +0200)]
Implemented maximum number of energy buildings in a row

2 years agoPrinted debug for different tower building
Justin Worthe [Thu, 16 Aug 2018 20:58:07 +0000 (22:58 +0200)]
Printed debug for different tower building

2 years agoAdded initial seed on nothing move
Justin Worthe [Thu, 16 Aug 2018 20:22:31 +0000 (22:22 +0200)]
Added initial seed on nothing move

2 years agoAdded extra logging of the win ratios
Justin Worthe [Tue, 14 Aug 2018 21:28:47 +0000 (23:28 +0200)]
Added extra logging of the win ratios

2 years agoBumped my own version to represent the jump in game engine version
Justin Worthe [Tue, 14 Aug 2018 20:45:27 +0000 (22:45 +0200)]
Bumped my own version to represent the jump in game engine version

2 years agoBumped dependency version numbers
Justin Worthe [Tue, 14 Aug 2018 20:40:57 +0000 (22:40 +0200)]
Bumped dependency version numbers

2 years agoFixed logic error on when nothing should be avoided
Justin Worthe [Sun, 12 Aug 2018 19:26:41 +0000 (21:26 +0200)]
Fixed logic error on when nothing should be avoided

2 years agoEliminated assuming opponents might do nothing in random moves
Justin Worthe [Sun, 12 Aug 2018 19:18:01 +0000 (21:18 +0200)]
Eliminated assuming opponents might do nothing in random moves

2 years agoReduced more duplication and removed TODOs
Justin Worthe [Sun, 12 Aug 2018 19:00:52 +0000 (21:00 +0200)]
Reduced more duplication and removed TODOs

2 years agoRemoved unused import
Justin Worthe [Sun, 12 Aug 2018 18:49:47 +0000 (20:49 +0200)]
Removed unused import

2 years agoFolded duplicate code for player and opponent
Justin Worthe [Sun, 12 Aug 2018 18:41:31 +0000 (20:41 +0200)]
Folded duplicate code for player and opponent

2 years agoCollapsed player info into the rest of the 'buildings' object
Justin Worthe [Sun, 12 Aug 2018 18:01:34 +0000 (20:01 +0200)]
Collapsed player info into the rest of the 'buildings' object

2 years agoBumped energy cutoffs right up to allow iron curtain
Justin Worthe [Sun, 12 Aug 2018 17:37:15 +0000 (19:37 +0200)]
Bumped energy cutoffs right up to allow iron curtain

2 years agoMissile towers destroyed by a tesla can still fire that turn
Justin Worthe [Sun, 12 Aug 2018 10:25:12 +0000 (12:25 +0200)]
Missile towers destroyed by a tesla can still fire that turn

2 years agoTest cases that do the iron curtain
Justin Worthe [Sun, 12 Aug 2018 10:05:12 +0000 (12:05 +0200)]
Test cases that do the iron curtain

2 years agoTest for iron curtain availability and normal towers
Justin Worthe [Sun, 12 Aug 2018 09:07:41 +0000 (11:07 +0200)]
Test for iron curtain availability and normal towers

2 years agoAllowed monte carlo search to use iron curtains
Justin Worthe [Sun, 12 Aug 2018 07:37:44 +0000 (09:37 +0200)]
Allowed monte carlo search to use iron curtains

2 years agoImplemented most of the iron curtain changes
Justin Worthe [Sat, 11 Aug 2018 21:02:35 +0000 (23:02 +0200)]
Implemented most of the iron curtain changes

Still need to
- set it active
- make the random move selection choose it
- test against real engine

2 years agoClippy-suggested edits
Justin Worthe [Sat, 11 Aug 2018 15:10:28 +0000 (17:10 +0200)]
Clippy-suggested edits

2 years agoRearranged random move selection to avoid expensive division
Justin Worthe [Thu, 9 Aug 2018 20:17:02 +0000 (22:17 +0200)]
Rearranged random move selection to avoid expensive division

2 years agoUpdated point representation to better match my heavy bitfield usage
Justin Worthe [Thu, 9 Aug 2018 20:08:16 +0000 (22:08 +0200)]
Updated point representation to better match my heavy bitfield usage

2 years agoConverted game engine vectors to arrayvecs
Justin Worthe [Thu, 9 Aug 2018 19:17:02 +0000 (21:17 +0200)]
Converted game engine vectors to arrayvecs

2 years agoRemoved unnecessary Player field
Justin Worthe [Thu, 9 Aug 2018 18:50:25 +0000 (20:50 +0200)]
Removed unnecessary Player field

2 years agoRemoved dynamic settings
Justin Worthe [Thu, 9 Aug 2018 18:40:03 +0000 (20:40 +0200)]
Removed dynamic settings

It worked really well for round 2 to set constants

2 years agoRemoved expressive engine
Justin Worthe [Thu, 9 Aug 2018 11:10:14 +0000 (13:10 +0200)]
Removed expressive engine

Refocus on the bitwise idea. It's faster, and has more potential for
speed. Also, it works well as a way of thinking on the puzzle as a
whole.

2 years agoAdded more TODO ideas
Justin Worthe [Thu, 9 Aug 2018 11:07:15 +0000 (13:07 +0200)]
Added more TODO ideas

2 years agoBumped version to match major version of engine
Justin Worthe [Thu, 26 Jul 2018 18:53:59 +0000 (20:53 +0200)]
Bumped version to match major version of engine

2 years agoFixed min and benchmark logging in discarding search
Justin Worthe [Tue, 24 Jul 2018 20:21:29 +0000 (22:21 +0200)]
Fixed min and benchmark logging in discarding search

2 years agoModified pruning to be friendlier to calculating benchmarks
Justin Worthe [Mon, 23 Jul 2018 22:02:11 +0000 (00:02 +0200)]
Modified pruning to be friendlier to calculating benchmarks

2 years agoTurned on discarding poor performing moves early in default config
Justin Worthe [Mon, 23 Jul 2018 20:52:27 +0000 (22:52 +0200)]
Turned on discarding poor performing moves early in default config

2 years agoAdded option for discarding poor performing moves early
Justin Worthe [Mon, 23 Jul 2018 20:32:10 +0000 (22:32 +0200)]
Added option for discarding poor performing moves early

2 years agoNaive implementation of depth first walk of the state space
Justin Worthe [Sun, 22 Jul 2018 20:15:46 +0000 (22:15 +0200)]
Naive implementation of depth first walk of the state space

This does not run in a time that terminates in human time I think.

2 years agoRearranged to make data flow clearer
Justin Worthe [Sat, 21 Jul 2018 21:47:55 +0000 (23:47 +0200)]
Rearranged to make data flow clearer

2 years agoMore efficient opponent damage calc
Justin Worthe [Sat, 21 Jul 2018 21:40:46 +0000 (23:40 +0200)]
More efficient opponent damage calc

2 years agoMoved change to all buildings outside of missile update loop
Justin Worthe [Sat, 21 Jul 2018 21:21:15 +0000 (23:21 +0200)]
Moved change to all buildings outside of missile update loop

2 years agoMarginally faster tesla activity update
Justin Worthe [Sat, 21 Jul 2018 18:45:46 +0000 (20:45 +0200)]
Marginally faster tesla activity update

2 years agoSimplified duration handling to allow longer profiling
Justin Worthe [Sat, 21 Jul 2018 18:40:40 +0000 (20:40 +0200)]
Simplified duration handling to allow longer profiling

2 years agoRemoved sudo from perf requirements
Justin Worthe [Sat, 21 Jul 2018 18:31:41 +0000 (20:31 +0200)]
Removed sudo from perf requirements

I pushed the appropriate settings to my OS config

2 years agoFixed dependency for bot submission
Justin Worthe [Sat, 21 Jul 2018 16:49:58 +0000 (18:49 +0200)]
Fixed dependency for bot submission

2 years agoRemoved bitfield comment
Justin Worthe [Sat, 21 Jul 2018 16:46:09 +0000 (18:46 +0200)]
Removed bitfield comment

I tried implementing it and it made things slower

2 years agoDisabled benchmarking on expressive engine
Justin Worthe [Sat, 21 Jul 2018 15:58:52 +0000 (17:58 +0200)]
Disabled benchmarking on expressive engine

2 years agoRemoved need to load settings for the bitwise game engine
Justin Worthe [Sat, 21 Jul 2018 11:34:23 +0000 (13:34 +0200)]
Removed need to load settings for the bitwise game engine

It's all constants now.

2 years agoAdded an index, to make the missile towers a proper circular buffer
Justin Worthe [Sat, 21 Jul 2018 10:37:56 +0000 (12:37 +0200)]
Added an index, to make the missile towers a proper circular buffer

2 years agoPulls a change out of a loop
Justin Worthe [Sat, 21 Jul 2018 10:22:13 +0000 (12:22 +0200)]
Pulls a change out of a loop

2 years agoBroke dependency on settings in constructing building
Justin Worthe [Sat, 21 Jul 2018 10:18:27 +0000 (12:18 +0200)]
Broke dependency on settings in constructing building

2 years agoFlipped bitfields on the opponent side to make implementation more concise
Justin Worthe [Sun, 15 Jul 2018 20:55:55 +0000 (22:55 +0200)]
Flipped bitfields on the opponent side to make implementation more concise

2 years agoDecreased running time of monte carlo test
Justin Worthe [Sun, 15 Jul 2018 20:08:41 +0000 (22:08 +0200)]
Decreased running time of monte carlo test

2 years agoImplemented shooting teslas in the same order as the game engine
Justin Worthe [Sun, 15 Jul 2018 20:05:19 +0000 (22:05 +0200)]
Implemented shooting teslas in the same order as the game engine

Order by age

2 years agoChanged other bitwise stuff to use constants
Justin Worthe [Thu, 12 Jul 2018 21:41:58 +0000 (23:41 +0200)]
Changed other bitwise stuff to use constants

2 years agoUpdating bot to use more named constants
Justin Worthe [Thu, 12 Jul 2018 21:17:45 +0000 (23:17 +0200)]
Updating bot to use more named constants

2 years agoStarted moving constants to a constants file
Justin Worthe [Sun, 8 Jul 2018 11:23:18 +0000 (13:23 +0200)]
Started moving constants to a constants file

2 years agoChanged default implementation used by main to be bitwise
Justin Worthe [Sat, 7 Jul 2018 09:26:56 +0000 (11:26 +0200)]
Changed default implementation used by main to be bitwise

2 years agoAdded handling of tesla towers
Justin Worthe [Thu, 5 Jul 2018 22:30:42 +0000 (00:30 +0200)]
Added handling of tesla towers

2 years agoMade the choice of random building spots be based on a more efficient algorithm
Justin Worthe [Wed, 4 Jul 2018 19:25:00 +0000 (21:25 +0200)]
Made the choice of random building spots be based on a more efficient algorithm

Still lots of work that can be done here.

2 years agoAdded tests of indexing into random bitwise building
Justin Worthe [Wed, 4 Jul 2018 17:37:35 +0000 (19:37 +0200)]
Added tests of indexing into random bitwise building

2 years agoTurned on debugging symbols for release mode
Justin Worthe [Mon, 2 Jul 2018 20:18:14 +0000 (22:18 +0200)]
Turned on debugging symbols for release mode

To make it easier to profile and improve

2 years agoInitial drop in replacement implementation
Justin Worthe [Mon, 2 Jul 2018 20:08:51 +0000 (22:08 +0200)]
Initial drop in replacement implementation

It's faster than the other one! Doesn't tesla yet, but still! Yay!

2 years agoGame engine working, except for teslas and choosing a move
Justin Worthe [Mon, 2 Jul 2018 19:29:52 +0000 (21:29 +0200)]
Game engine working, except for teslas and choosing a move