entelect-challenge-tower-defence.git
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

3 years agoInitial stab at putting game engine behind a trait
Justin Worthe [Sat, 30 Jun 2018 13:09:25 +0000 (15:09 +0200)]
Initial stab at putting game engine behind a trait

3 years agoPruned dead functions in the engine
Justin Worthe [Sat, 30 Jun 2018 11:52:34 +0000 (13:52 +0200)]
Pruned dead functions in the engine

3 years agoRemoved deconstruction from the list of commands considered
Justin Worthe [Sat, 30 Jun 2018 11:33:36 +0000 (13:33 +0200)]
Removed deconstruction from the list of commands considered

I don't think deconstruction is a necessary part of a viable strategy
for now.

3 years agoAdded test of newly functioning tesla towers
Justin Worthe [Sat, 30 Jun 2018 11:07:30 +0000 (13:07 +0200)]
Added test of newly functioning tesla towers

3 years agoAdded rule on maximum two tesla towers
Justin Worthe [Mon, 25 Jun 2018 19:17:11 +0000 (21:17 +0200)]
Added rule on maximum two tesla towers

3 years agoUpdated test cases and made engine work correctly according to tests
Justin Worthe [Mon, 25 Jun 2018 18:26:05 +0000 (20:26 +0200)]
Updated test cases and made engine work correctly according to tests

I don't think a tesla appeared in this match. I need to contrive a bot
to build one.

3 years agoCompilation, allowing new moves to be chosen, and missile move order
Justin Worthe [Mon, 25 Jun 2018 17:04:29 +0000 (19:04 +0200)]
Compilation, allowing new moves to be chosen, and missile move order

3 years agoAdded functioning of tesla towers
Justin Worthe [Mon, 25 Jun 2018 16:06:45 +0000 (18:06 +0200)]
Added functioning of tesla towers

3 years agoAdded new tower type and deconstruct action
Justin Worthe [Mon, 25 Jun 2018 15:37:14 +0000 (17:37 +0200)]
Added new tower type and deconstruct action

3 years agoUpdated default features to not include benchmarking
Justin Worthe [Sat, 9 Jun 2018 11:55:43 +0000 (13:55 +0200)]
Updated default features to not include benchmarking

3 years agoCalibrated energy cutoff and turned it on by default
Justin Worthe [Sat, 9 Jun 2018 11:23:32 +0000 (13:23 +0200)]
Calibrated energy cutoff and turned it on by default

3 years agoAdded reduced time flag
Justin Worthe [Sat, 9 Jun 2018 09:00:27 +0000 (11:00 +0200)]
Added reduced time flag

3 years agoAdded pruning of buying energy buildings behind a feature flag
Justin Worthe [Sat, 9 Jun 2018 08:27:29 +0000 (10:27 +0200)]
Added pruning of buying energy buildings behind a feature flag

3 years agoAdded max building price to game settings
Justin Worthe [Sat, 9 Jun 2018 08:04:47 +0000 (10:04 +0200)]
Added max building price to game settings

3 years agoSaturating sub. Marginal speed improvement. Clearer logic.
Justin Worthe [Mon, 4 Jun 2018 21:33:55 +0000 (23:33 +0200)]
Saturating sub. Marginal speed improvement. Clearer logic.

3 years agoCleaned out second test case
Justin Worthe [Mon, 4 Jun 2018 21:22:08 +0000 (23:22 +0200)]
Cleaned out second test case

3 years agoMoved to replays that have missile position fix
Justin Worthe [Mon, 4 Jun 2018 21:21:02 +0000 (23:21 +0200)]
Moved to replays that have missile position fix

3 years agoAdded todo
Justin Worthe [Sun, 3 Jun 2018 16:48:40 +0000 (18:48 +0200)]
Added todo

3 years agoMoved json parsing to be part of a module, with textmap equivalence
Justin Worthe [Sun, 3 Jun 2018 15:22:22 +0000 (17:22 +0200)]
Moved json parsing to be part of a module, with textmap equivalence

3 years agoAdded makefile for creating submission
Justin Worthe [Sun, 3 Jun 2018 14:37:41 +0000 (16:37 +0200)]
Added makefile for creating submission

3 years agoAdded engine run with failing test example
Justin Worthe [Sat, 2 Jun 2018 21:54:35 +0000 (23:54 +0200)]
Added engine run with failing test example

3 years agoMade my game engine match theirs
Justin Worthe [Sat, 2 Jun 2018 12:04:06 +0000 (14:04 +0200)]
Made my game engine match theirs

What the hell is up with their building logic? There's +1s and dodgy
indirection everywhere!

3 years agoMoved replay-based test to have convenience import from game engine replay
Justin Worthe [Sat, 2 Jun 2018 11:09:13 +0000 (13:09 +0200)]
Moved replay-based test to have convenience import from game engine replay

3 years agoPut multispeed missiles back in
Justin Worthe [Fri, 1 Jun 2018 21:36:08 +0000 (23:36 +0200)]
Put multispeed missiles back in

3 years agoMade move_missiles even tighter on iterating and cleaning up
Justin Worthe [Thu, 31 May 2018 21:04:00 +0000 (23:04 +0200)]
Made move_missiles even tighter on iterating and cleaning up

3 years agoTighter loop for removing destroyed buildings
Justin Worthe [Thu, 31 May 2018 20:53:19 +0000 (22:53 +0200)]
Tighter loop for removing destroyed buildings

3 years agoTweaking move missiles to be more efficient
Justin Worthe [Thu, 31 May 2018 20:43:05 +0000 (22:43 +0200)]
Tweaking move missiles to be more efficient

3 years agoProfile driven optimization of missile moving
Justin Worthe [Thu, 31 May 2018 19:59:21 +0000 (21:59 +0200)]
Profile driven optimization of missile moving

3 years agoChange to finding affordable buildings to avoid a resize
Justin Worthe [Thu, 31 May 2018 19:25:14 +0000 (21:25 +0200)]
Change to finding affordable buildings to avoid a resize

3 years agoClippy suggested changes
Justin Worthe [Thu, 31 May 2018 19:00:22 +0000 (21:00 +0200)]
Clippy suggested changes

3 years agoInlined unnecessary map
Justin Worthe [Sat, 19 May 2018 11:14:30 +0000 (13:14 +0200)]
Inlined unnecessary map

3 years agoRemoved dependency on OS randomness for seeding
Justin Worthe [Sat, 19 May 2018 11:08:03 +0000 (13:08 +0200)]
Removed dependency on OS randomness for seeding

I'm convinced that the cloud servers they're running on will be out of
entropy, especially towards the end of the tournament. Rather have a
less random initial seed than take that blocking performance hit.

3 years agoImproved perf of removing item from unoccupied cells list
Justin Worthe [Wed, 16 May 2018 22:01:52 +0000 (00:01 +0200)]
Improved perf of removing item from unoccupied cells list

3 years agoTracked energy production on the player
Justin Worthe [Wed, 16 May 2018 21:45:36 +0000 (23:45 +0200)]
Tracked energy production on the player

This cuts out an iteration over the buildings each turn.