Weekly Report 6
Well I have to say the weeks are flying by more quickly each week. Not so much in a “oh my god I’ll never get done” way, more of a “I’m enjoying my job and the time spent working goes quickly” way. This week started off a little rough, some (or maybe just one?) migraine made Monday and Tuesday sort of awash, compounded by being daunted by starting testing. I got some good feedback on HOW I can actually test, and unfortunatly spent all but today on rounding out some features, namely Colonize. That isn’t to say bugs weren’t squashed, nor that they weren’t big, I assure you some of them made the game unplayable, but I consider those bugs a part of implementing those features.
Like I said, I did actually get to hunt bugs today, in fact, I did my first “full game” playing the ruleset with myself. I’ve started to keep a text file for myself of bugs, logical errors, and oddities for myself to work off of. I’m not sure if the mentors would like this “git”ified so they can see bugs, but I largely (and possibly wrongly) have been writing bugs down, finding the problem, fixing it, confirming the bug is gone, and then erasing the bug in the file. Let me know gentlemen.
Having completed a playthrough I do have a few concerns I’ve noted:
- You need to actually enter a Move order to see adjacencies. Therefore if you don’t know the board you are a large disadvantage.
- Some of the game logic can be manipulated (cheating? or clever play?)
- Firstly players can issue multiple Move orders from one planet to absolutely hammer another planet until the player wins. This may not be cheating simply because the player risks losing a lot of units if they try too many times and lose rolls.
- Secondly an almost dead player (1 unit/damage worth of units left) can increase his odds against an attacker by trying to attack his opponents (an attack conflict arises, defender gets bonus roll, but since they only have 1 dice they get no rolls, and thus can’t die.) This one probably IS cheating, I might change the logic to let a player attack with 1 unit remaining simply so he has to take damage.
I’ve also received some conflicting advise from different mentors about whether or not to produce an AI. I’m not going to name names but I think ultimately I will produce an AI if time permits or if it seems necessary to test more properly with one. At present my testing goal is to eliminate errors during “regular” play, namely errors in Attack Move conflicts and Colonization bidding. My secondary testing goal is to eliminate or at least take note of abusive play methods. It’s my opinion that if I did produce a simple AI it may not push the limits of attack movements, colonization and fair play as well as a human player could do (at such an early stage.)
Well its probably about time to move on to my weekly accomplishments:
Tuesday:
- Migrated from the 4 planet “test” map to a 2 full-size constellation “testing” map. commit. picture.
- Changed Move::doOrder so conquerred planets clear orders when ownership transfers. commit.
- Created config option to disable colonize orders. I’m not really sure if the option will even be settable from the config file. At present the option gets defaulted to the opposite of the random assignment option. commit.
Wednesday:
- Spent far more time than I should have muddling with tpsai-py and the text-based tpclient.
Thursday:
- Implemented the Colonize::doOrder. This ended up taking longer than I anticipated. As of now the bidding process should be correct in most cases, playtesting will be required to weed out any bugs. commit.
- Fixed various bugs that cropped up. I’m contemplating labelling small bug fix commits with a “bugfix:” tag. Feedback mentors?
Friday:
- Worked on fixing bugs. These bug fixes generally have their own commits for each bug. As mentioned above I may start labelling bugfix commits to set them apart; since its not so much useful to link to 5-10 commits on minor fixes.
Next Week:
- Focus will mainly be on testing, playtesting, and code refinement.
- As with this last week, time (more time hopefully :P) will be spent educating myself in C++ and other proper coding techniques.
- Add messaging to Colonize order.
Leave a Reply