entelect-challenge-tower-defence.git
3 years agoDisabled detailed debugging
Justin Worthe [Thu, 6 Sep 2018 06:39:48 +0000 (08:39 +0200)]
Disabled detailed debugging

3 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

3 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

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

3 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

3 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

3 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

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

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

3 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

3 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

3 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.

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

3 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

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

3 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

3 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.

3 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.

3 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

3 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

3 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

3 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

3 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

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

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

3 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

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

3 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

3 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

3 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

3 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

3 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

3 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

3 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

3 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

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

3 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

3 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

3 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

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

3 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

3 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

3 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

3 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

3 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

3 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

3 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

3 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

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

3 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

3 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

3 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

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

3 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

3 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.

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

3 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

3 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

3 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

3 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

3 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

3 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.

3 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

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

3 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

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

3 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

3 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

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

3 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

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

3 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.

3 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

3 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

3 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

3 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

3 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

3 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

3 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

3 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

3 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

3 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

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

3 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.

3 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

3 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

3 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!

3 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

3 years agoContinued filling in bitwise game engine
Justin Worthe [Sun, 1 Jul 2018 21:58:52 +0000 (23:58 +0200)]
Continued filling in bitwise game engine

3 years agoStarted filling in bitwise simulation logic
Justin Worthe [Sun, 1 Jul 2018 20:39:44 +0000 (22:39 +0200)]
Started filling in bitwise simulation logic

3 years agoRead missiles from the json into bitfields
Justin Worthe [Sun, 1 Jul 2018 20:28:14 +0000 (22:28 +0200)]
Read missiles from the json into bitfields

3 years agoJSON parsing of bitwise buildings
Justin Worthe [Sun, 1 Jul 2018 20:24:49 +0000 (22:24 +0200)]
JSON parsing of bitwise buildings

3 years agoStarted implementation of reading bitwise from json
Justin Worthe [Sun, 1 Jul 2018 19:37:24 +0000 (21:37 +0200)]
Started implementation of reading bitwise from json

3 years agoBuilt bitwise game state from current game state
Justin Worthe [Sun, 1 Jul 2018 19:07:07 +0000 (21:07 +0200)]
Built bitwise game state from current game state

3 years agoSet up (failing) property test for working of new game state
Justin Worthe [Sun, 1 Jul 2018 16:06:05 +0000 (18:06 +0200)]
Set up (failing) property test for working of new game state

Unfortunately, for this test to work, I still need to implement the
function that reads the game state and goes from one to the other.

3 years agoRenamed tests to follow underscore convention
Justin Worthe [Sun, 1 Jul 2018 10:11:51 +0000 (12:11 +0200)]
Renamed tests to follow underscore convention

3 years agoImplemented tesla count for bitwise
Justin Worthe [Sun, 1 Jul 2018 10:06:21 +0000 (12:06 +0200)]
Implemented tesla count for bitwise

3 years agoCreated data structure for bitwise game engine
Justin Worthe [Sat, 30 Jun 2018 20:45:05 +0000 (22:45 +0200)]
Created data structure for bitwise game engine

3 years agoMoved 'expressive' specific building logic out of generi code
Justin Worthe [Sat, 30 Jun 2018 14:10:40 +0000 (16:10 +0200)]
Moved 'expressive' specific building logic out of generi code

3 years agoUpdated benchmark to only take constant map size into account
Justin Worthe [Sat, 30 Jun 2018 13:38:45 +0000 (15:38 +0200)]
Updated benchmark to only take constant map size into account