DarkholmeTenk

Untitled

Dec 18th, 2015
242
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 72.70 KB | None | 0 0
  1. Conversation started 11 November
  2. Mathew Campbell
  3. 11/11/2015 10:49
  4. Mathew Campbell
  5.  
  6. I think it would be a good idea if we meet up sometime this week or at the start of next week to decide how we're going to organise the project. It would also be good to get any tools set up well before we need to start work.
  7.  
  8. I'll be free from 1500 on Thursday and Friday this week. If you want to go and get a meal while we meet I'm up for that.
  9. 11 November
  10. Mathew Campbell named the conversation: Optimistic.
  11. Shane Booth
  12. 11/11/2015 10:59
  13. Shane Booth
  14.  
  15. if we're doing food, I'd like to vote for this
  16. Red's true BBQ
  17. Let there be meat
  18. truebarbecue.com
  19. Shane Booth
  20. 11/11/2015 11:03
  21. Shane Booth
  22. Shane Booth
  23. 11/11/2015 11:04
  24. Shane Booth
  25.  
  26. that is not helpful fb
  27. Matthew Todd
  28. 11/11/2015 11:05
  29. Matthew Todd
  30.  
  31. Wont be able to do this week. Not in tomoz and seminar on Friday so don't want to do something other than that
  32. Shane Booth
  33. 11/11/2015 11:06
  34. Shane Booth
  35.  
  36. I also have seminar friday at 4:30 tongue emoticon
  37.  
  38. monday after ai & games then?
  39. Matthew Todd
  40. 11/11/2015 11:07
  41. Matthew Todd
  42.  
  43. Would be best
  44. Mathew Campbell
  45. 11/11/2015 11:12
  46. Mathew Campbell
  47.  
  48. That works for me.
  49.  
  50. And always remember, I'm the one with the phonetically (hence correctly wink emoticon ) spelt name.
  51. Matthew Todd
  52. 11/11/2015 11:39
  53. Matthew Todd
  54.  
  55. gasp emoticon excuse me I think you'll find mine is the correct way
  56. Mathew Campbell
  57. 11/11/2015 11:57
  58. Mathew Campbell
  59.  
  60. But it's not the correctest way tongue emoticon Wouldn't you prefer English to be phonetic?
  61. 16 November
  62. Shane Booth
  63. 16/11/2015 12:13
  64. Shane Booth
  65.  
  66. so what are we doing?
  67.  
  68. throw me your github usernames and I'll add you to the private repo
  69. Shane Booth
  70. 16/11/2015 12:16
  71. Shane Booth
  72.  
  73. if you're on linux use public/private keys, if you're on windows, use the github client thing
  74. GitHub Desktop
  75. Simple collaboration from your desktop
  76. desktop.github.com
  77. Matthew Todd
  78. 16/11/2015 12:26
  79. Matthew Todd
  80.  
  81. Not sure what you mean by github username. And sorry guys. Just seen this, on train back cry emoticon completely forgot about the keep. Keep me up to date and I'll talk to you guys sometime this week so I don't fall behind. Sorry again T-T
  82. Shane Booth
  83. 16/11/2015 12:27
  84. Shane Booth
  85.  
  86. if we're not doing the meeting, then today is a fallout day grin emoticon
  87.  
  88. create a github account, throw me your username
  89. Matthew Todd
  90. 16/11/2015 12:28
  91. Matthew Todd
  92.  
  93. I have one on home laptop. I'll throw out your way when I get chance to view it
  94. Shane Booth
  95. 16/11/2015 12:28
  96. Shane Booth
  97. Mathew Campbell
  98. 16/11/2015 12:32
  99. Mathew Campbell
  100.  
  101. https://github.com/curiousinternals
  102.  
  103. What do you mean by a fallout day?
  104. Shane Booth
  105. 16/11/2015 12:34
  106. Shane Booth
  107.  
  108. fallout 4 colonthree emoticon
  109. Mathew Campbell
  110. 16/11/2015 12:35
  111. Mathew Campbell
  112.  
  113. Oh, of course. I forgot that had come out.
  114.  
  115. When's the next opportunity for everyone to meet?
  116. Shane Booth
  117. 16/11/2015 12:36
  118. Shane Booth
  119.  
  120. I'm back home tomorrow/weds so thurs?
  121. Mathew Campbell
  122. 16/11/2015 12:38
  123. Mathew Campbell
  124.  
  125. Most of my free time to work on AI is gone by the end of Thursday unsure emoticon
  126. Shane Booth
  127. 16/11/2015 12:40
  128. Shane Booth
  129.  
  130. I should be back earlyish on weds, maybe we could meet after the cssoc meeting?
  131. Mathew Campbell
  132. 16/11/2015 12:40
  133. Mathew Campbell
  134.  
  135. Are you going to be in for the AI lecture today?
  136. Shane Booth
  137. 16/11/2015 12:41
  138. Shane Booth
  139.  
  140. it's not a lecture, it's a lab, iirc
  141. Mathew Campbell
  142. 16/11/2015 12:42
  143. Mathew Campbell
  144.  
  145. What was meant to be happening in the lab? Is it like graphics where it's just an opportunity to ask questions?
  146. Shane Booth
  147. 16/11/2015 12:42
  148. Shane Booth
  149.  
  150. yeah and an opportunity to work, other than the 2 mandatory labs, afaik
  151. Mathew Campbell
  152. 16/11/2015 12:42
  153. Mathew Campbell
  154.  
  155. Are you going to be there?
  156. Matthew Todd
  157. 16/11/2015 12:42
  158. Matthew Todd
  159.  
  160. I'm good anytime this week. Don't usually come in on Thursday though
  161. Shane Booth
  162. 16/11/2015 12:44
  163. Shane Booth
  164.  
  165. I can be, but I wasn't planning on being tongue emoticon
  166.  
  167. weds after the cssoc meeting is probably the earliest we can all meet up, then tongue emoticon
  168. Mathew Campbell
  169. 16/11/2015 12:46
  170. Mathew Campbell
  171.  
  172. I was going to suggest we just have a short meeting and sort out what we can on our own. That way we might be able to sort everything out over fb and avoid a late meeting. I'd just like to be in a position to get a little work done and learn the tools in the free slots I have early in the week.
  173. Matthew Todd
  174. 16/11/2015 12:48
  175. Matthew Todd
  176.  
  177. I can probs do something tomorrow with you if you want. Cant do 1-3 though
  178. Mathew Campbell
  179. 16/11/2015 12:48
  180. Mathew Campbell
  181.  
  182. That meeting can easily be in spoons (you live right next to it right?)
  183.  
  184. I'm also free at times other than 1-3 tomorrow.
  185. Shane Booth
  186. 16/11/2015 12:49
  187. Shane Booth
  188.  
  189. I can't do tomorrow at all, I'm going home home to get my clothes washed unsure emoticon
  190. Mathew Campbell
  191. 16/11/2015 12:53
  192. Mathew Campbell
  193.  
  194. Shall we just do something over Skype?
  195. Matthew Todd
  196. 16/11/2015 12:55
  197. Matthew Todd
  198.  
  199. Cant do today though. frown emoticon
  200. Shane Booth
  201. 16/11/2015 12:56
  202. Shane Booth
  203.  
  204. ok, so today let's identify what we need to sort out
  205.  
  206. brb
  207. Mathew Campbell
  208. 16/11/2015 13:01
  209. Mathew Campbell
  210.  
  211. tbh, we can probably sort this stuff out over fb. It's just not as fast as speaking.
  212. Matthew Todd
  213. 16/11/2015 13:03
  214. Matthew Todd
  215.  
  216. That's fine. Should be done by today right
  217. Mathew Campbell
  218. 16/11/2015 13:04
  219. Mathew Campbell
  220.  
  221. I'll have an initial list of things we need to sort out within a few minutes.
  222. Mathew Campbell
  223. 16/11/2015 13:10
  224. Mathew Campbell
  225.  
  226. First let's get an idea of what everyone's skills and preferences are:
  227. - What are you good at? (languages, general skills etc)
  228. - What kind of work would you prefer not to do?
  229. - What kind of work would you like to do? (Whether you're good at it or just want to try it and learn something)
  230. Shane Booth
  231. 16/11/2015 13:11
  232. Shane Booth
  233.  
  234. good at java, up for anything, shall we use trello or something?
  235. Matthew Todd
  236. 16/11/2015 13:12
  237. Matthew Todd
  238.  
  239. I'm good with data based and such Things. Even my project its about handling complex data structure so things like that
  240.  
  241. Bases
  242. Mathew Campbell
  243. 16/11/2015 13:13
  244. Mathew Campbell
  245.  
  246. For me:
  247. - General programming and design, organisational stuff and I'm most experienced with Java.
  248. - At the moment, I'd prefer not to work on anything that requires extreme concentration, as I'm afraid I may not do a good job. Not sleeping properly right now.
  249. - I'd like to do some proper testing.
  250. Shane Booth
  251. 16/11/2015 13:14
  252. Shane Booth
  253.  
  254. would you be up for writing the junit tests?
  255. Mathew Campbell
  256. 16/11/2015 13:15
  257. Mathew Campbell
  258.  
  259. If you're willing to give me a bit of help (i.e. answer any questions and review my initial attempts), then sure. Though ideally we'd all familiarise ourselves, even if I end up doing the majority of that.
  260.  
  261. To the next thing to worry about is tools: obviously, git. I recommend we stick with Java. Trello: I'm not aware of the advantages as I've never used it. How much set up will it require, and how much time will we need to dedicate to learning how to use it properly.
  262. Shane Booth
  263. 16/11/2015 13:18
  264. Shane Booth
  265.  
  266. it's supposed to be an agile note board tool thing so supposedly not much
  267. Mathew Campbell
  268. 16/11/2015 13:20
  269. Mathew Campbell
  270.  
  271. If you set it up, we can trial it this week.
  272.  
  273. I've noted down junit. Any other tool suggestions?
  274. Shane Booth
  275. 16/11/2015 13:21
  276. Shane Booth
  277.  
  278. nope
  279.  
  280. I'd suggest java 8, but don't think it's on kb
  281. Mathew Campbell
  282. 16/11/2015 13:23
  283. Mathew Campbell
  284.  
  285. Let's play it safe and stick with 7 for now.
  286.  
  287. Anyone have any idea how many hours we're supposed to have on this project per week?
  288. Shane Booth
  289. 16/11/2015 13:26
  290. Shane Booth
  291.  
  292. >0
  293. Mathew Campbell
  294. 16/11/2015 13:26
  295. Mathew Campbell
  296.  
  297. >= 2 (scheduled labs)
  298.  
  299. Is there an official figure for hours outside of those scheduled per module?
  300.  
  301. I guess the better question is: How long are you both prepared to work per week beyond the two scheduled hours?
  302. Shane Booth
  303. 16/11/2015 13:30
  304. Shane Booth
  305.  
  306. dunno, I'll usually pick a task and work till it's done tongue emoticon
  307. Mathew Campbell
  308. 16/11/2015 13:30
  309. Mathew Campbell
  310.  
  311. In that case, what's the maximum amount of time you actually have free to do that? Then at least there's an upper bound.
  312.  
  313. Feel free to ass-pull a number.
  314. Shane Booth
  315. 16/11/2015 13:31
  316. Shane Booth
  317.  
  318. a shit load tongue emoticon
  319.  
  320. call it 8h a week
  321.  
  322. no way that'll end up happening but still tongue emoticon
  323. Mathew Campbell
  324. 16/11/2015 13:34
  325. Mathew Campbell
  326.  
  327. Alright. I've actually got exactly 8h worth of slots to work on assignments. I'm going to say an average of 2h on top of the scheduled labs, based off the fact agile gives us two hours of extra project time.
  328.  
  329. So 4h each per week on average.
  330.  
  331. Of course, we'll see what actually happens and adapt tongue emoticon
  332.  
  333. Next up: How are we going to organise ourselves (any special roles/responsibilities, structure of the week, that stuff)
  334.  
  335. I'm happy to take care of the organisational stuff: Arranging meetings, taking notes and pushing that data onto a wiki/issue tracker. That stuff.
  336. Shane Booth
  337. 16/11/2015 13:38
  338. Shane Booth
  339.  
  340. someone should identify tasks that need doing and put them on trello or github issues or whatever
  341. Mathew Campbell
  342. 16/11/2015 13:39
  343. Mathew Campbell
  344.  
  345. We should all do that. That ought to be part of our meeting. That way we can all give our input on how long we think something will take and what needs work first. I can take care of actually entering the data after the meetings though.
  346. Shane Booth
  347. 16/11/2015 13:40
  348. Shane Booth
  349.  
  350. well the first tasks we need are game state storing and ensuring we can interact with the game controller
  351.  
  352. I'm happy with doing game state tongue emoticon
  353. Mathew Campbell
  354. 16/11/2015 13:42
  355. Mathew Campbell
  356.  
  357. I'm happy to take care of dealing with the game controller (which I assume is the interface between our code and the game engine).
  358. Shane Booth
  359. 16/11/2015 13:42
  360. Shane Booth
  361.  
  362. yeah
  363.  
  364. requires me to get stuff done first I suppose tongue emoticon
  365. Mathew Campbell
  366. 16/11/2015 13:44
  367. Mathew Campbell
  368.  
  369. Toddy mentioned that he's good at working with data structures, so I feel like he'd be a good choice for setting up the code for the game tree.
  370.  
  371. Since you have experience with all the tools, it would be a good idea for you to set aside some time under the assumption that you will be needed to fix problems with the tools and provide a bit of tutoring.
  372. Mathew Campbell
  373. 16/11/2015 13:44
  374. Mathew Campbell
  375.  
  376. > requires me to get stuff done first I suppose
  377. Have you ever heard of wishful programming?
  378. Shane Booth
  379. 16/11/2015 13:45
  380. Shane Booth
  381.  
  382. I've already started on the game state stuff tongue emoticon
  383. Mathew Campbell
  384. 16/11/2015 13:48
  385. Mathew Campbell
  386.  
  387. Might as well stick with it then. The other major task is the agent. For now I propose we just make the simplest possible agent. Something that just chooses randomly. As soon as that's done, any remaining time this week can be spent on designing a better agent.
  388.  
  389. Are you happy to work on the agent Toddy?
  390. Mathew Campbell
  391. 16/11/2015 13:49
  392. Mathew Campbell
  393.  
  394. My earlier question applies to everyone: Have either of you heard of wishful programming?
  395. Matthew Todd
  396. 16/11/2015 13:49
  397. Matthew Todd
  398.  
  399. Sorry was driving for last 30 mins. I'm sure ill manage with it yeah. Probs get asked quite a few questions haha
  400.  
  401. Nope
  402. Mathew Campbell
  403. 16/11/2015 13:55
  404. Mathew Campbell
  405.  
  406. Wishful programming is where you write code that calls functions that don't exist yet. In other words, you write the code you wish you could write. We all need to work on our own components, but most of us need to call code from each other's components. Since we don't want to do our tasks sequentially and wait for each other, we can instead do wishful coding.
  407.  
  408. If you need to get your code compiling, just create the necessary stub classes that do nothing. At various points in the week (when some code has bee pushed), we can merge our code, renaming method and class names to meet everyone's expectations.
  409. Mathew Campbell
  410. 16/11/2015 13:57
  411. Mathew Campbell
  412.  
  413. Any questions so far?
  414. Shane Booth
  415. 16/11/2015 13:58
  416. Shane Booth
  417.  
  418. nope
  419. Mathew Campbell
  420. 16/11/2015 14:07
  421. Mathew Campbell
  422.  
  423. Next up: How should we organise our week?
  424.  
  425. I think we should have a brief planning meeting at the start of each week. We should also dedicate a portion of our time at the end of the week to make sure everything gets integrated successfully. I'd like to end each week with something that successfully compiles and ideally, can be submitted as an actual working version of our project.
  426. Shane Booth
  427. 16/11/2015 14:09
  428. Shane Booth
  429.  
  430. well we can meet in collab from 1-2 on monday, before the lab, because it's not in use
  431. Mathew Campbell
  432. 16/11/2015 14:09
  433. Mathew Campbell
  434.  
  435. I'm okay with that.
  436. Matthew Todd
  437. 16/11/2015 14:19
  438. Matthew Todd
  439.  
  440. Good with me as well
  441. Mathew Campbell
  442. 16/11/2015 14:24
  443. Mathew Campbell
  444.  
  445. Ace.
  446.  
  447. With regards to integration, we should have a deadline before the week ends. On that deadline we'd have to stop caring about further functionality and switch to making sure our code works together.
  448.  
  449. When would it be convenient for both of you to schedule this deadline? Keep in mind we may need an additional hour to fix problems when we integrate our code.
  450. Mathew Campbell
  451. 16/11/2015 14:24
  452. Mathew Campbell
  453.  
  454. So basically, when will you be doing your last hour of AI code for the week?
  455.  
  456. Whoever has the earliest 'last hour', the start of that hour would be the deadline.
  457. Shane Booth
  458. 16/11/2015 14:26
  459. Shane Booth
  460.  
  461. might as well be just before the lab, so we can spend the lab integrating
  462. Mathew Campbell
  463. 16/11/2015 14:26
  464. Mathew Campbell
  465.  
  466. Good point
  467.  
  468. I'll record the deadline as 14h then, and we can integrate while we're all together. Perfect.
  469.  
  470. Which lab do you want to meet in? We're scheduled for the collab, but it's not exactly equipped for coding.
  471. Shane Booth
  472. 16/11/2015 14:32
  473. Shane Booth
  474.  
  475. 2.25?
  476.  
  477. i.e. the msc lab
  478. Mathew Campbell
  479. 16/11/2015 14:32
  480. Mathew Campbell
  481.  
  482. The best lab. I'm fine with that.
  483. Shane Booth
  484. 16/11/2015 14:36
  485. Shane Booth
  486.  
  487. k, code commited and pushed, will have bugs
  488. Mathew Campbell
  489. 16/11/2015 14:39
  490. Mathew Campbell
  491.  
  492. Nice!
  493.  
  494. Next week we have a submission to make explaining our approach. I think we should deal with this next week. If we're lucky, we'll already be ahead before we even submit our approach tongue emoticon
  495.  
  496. I think we should use this week to get the simplest system working and sort out problems/learn tools. If that spills into next week a little it shouldn't be a big deal. After that, we can use the remaining weeks to try out different implementations of the agent and make our code faster (e.g. parallelise it).
  497.  
  498. Any comments? Anything I've missed?
  499. Shane Booth
  500. 16/11/2015 14:41
  501. Shane Booth
  502.  
  503. don't think so
  504. Matthew Todd
  505. 16/11/2015 14:46
  506. Matthew Todd
  507.  
  508. Nothing I can see
  509. Mathew Campbell
  510. 16/11/2015 14:47
  511. Mathew Campbell
  512.  
  513. The tasks we have to complete are pretty clear this week, so let's take a look at Trello after we've done our code integration so we can perhaps use it next week. For now, I'll enter our current tasks into github's issue tracker. I'll also drop notes from this meeting onto the github wiki.
  514. Shane Booth
  515. 16/11/2015 14:51
  516. Shane Booth
  517.  
  518. cool smile emoticon
  519. Mathew Campbell
  520. 16/11/2015 14:51
  521. Mathew Campbell
  522.  
  523. My current understanding of the tasks is as follows (please confirm):
  524. - Me: Game controller
  525. - Shane: Game model (States, Actions, Players)
  526. - Toddy: Basic Agent
  527.  
  528. I'm also assuming everyone will try and write some basic tests, if only just one to see how junit works and so we can confirm that the tools work. We can review those on Friday when we're together.
  529. Shane Booth
  530. 16/11/2015 14:52
  531. Shane Booth
  532.  
  533. if you are, do them in the kalah.test package smile emoticon
  534. Mathew Campbell
  535. 16/11/2015 14:52
  536. Mathew Campbell
  537.  
  538. Got it.
  539.  
  540. Everyone clear on what they need to do and for when?
  541. Shane Booth
  542. 16/11/2015 14:54
  543. Shane Booth
  544.  
  545. https://github.com/DarkholmeTenk/Optimistic/tree/master/kalah/game/board
  546.  
  547. done, board state keeps soft references of all board states that you try to reach dependant on Configuration.cacheBoardStates tongue emoticon
  548. Shane Booth
  549. 16/11/2015 15:00
  550. Shane Booth
  551.  
  552. I'll write some tests and relevant toStrings in a bit, time to sort out food smile emoticon
  553. Mathew Campbell
  554. 16/11/2015 15:01
  555. Mathew Campbell
  556.  
  557. Nice work.
  558.  
  559. Meeting notes will be attached to the repo shortly.
  560. Shane Booth
  561. 16/11/2015 15:19
  562. Shane Booth
  563. Mathew Campbell
  564. 16/11/2015 15:28
  565. Mathew Campbell
  566.  
  567. A summary of our meeting is up on the project wiki, as well as a short list of deadlines and places to be: https://github.com/DarkholmeTenk/Optimistic/wiki
  568.  
  569. I've also entered our tasks into the issue tracker. Toddy, when you get an account and gain access to the repo, please take a brief look through it to familiarise yourself. Also, please assign yourself to your task while you're doing that.
  570.  
  571. I never asked, but have you used git before?
  572. Mathew Campbell
  573. 16/11/2015 15:30
  574. Mathew Campbell
  575.  
  576. I'm going to take care of my food now.
  577. 18 November
  578. Mathew Campbell
  579. 18/11/2015 14:57
  580. Mathew Campbell
  581.  
  582. Toddy, do you have a GitHub account yet? I don't see you on the repo.
  583. Shane Booth
  584. 18/11/2015 16:13
  585. Shane Booth
  586.  
  587. k, automated build and testing system setup
  588. Shane Booth
  589. 18/11/2015 16:18
  590. Shane Booth
  591.  
  592. url is http://darkcraft.io:8080/job/Kalah/ usernames are mtodd and mcampbell and passwords are the same as usernames
  593.  
  594. *should* build every time something is commited to master
  595.  
  596. if you're running linux, you can build/test everything just by installing and running "gradle build"
  597.  
  598. tests should be in test/whatever not in source/whatever now
  599. 18 November
  600. Mathew Campbell
  601. 18/11/2015 19:28
  602. Mathew Campbell
  603.  
  604. Nice. I was going to ask about better build tools. Gradle looks relatively painless.
  605.  
  606. If I'm supposed to see something at that URL, I can't. It's just a 404.
  607. Shane Booth
  608. 18/11/2015 19:29
  609. Shane Booth
  610.  
  611. go to http://darkcraft.io:8080 and login and then it'll work tongue emoticon
  612. Dashboard [Jenkins]
  613. darkcraft.io
  614. Mathew Campbell
  615. 18/11/2015 19:33
  616. Mathew Campbell
  617.  
  618. Yup, it's working.
  619.  
  620. We should spend some time on Friday talking about the tools. There's a bunch of stuff not taught by the uni regarding tools so it's worth sharing whatever knowledge we have.
  621. Shane Booth
  622. 18/11/2015 19:38
  623. Shane Booth
  624.  
  625. are we meeting up in the msc lab before the lab lab?
  626. Mathew Campbell
  627. 18/11/2015 19:41
  628. Mathew Campbell
  629.  
  630. I can be in for that. I need to write up some project related notes, but they might be done pretty quickly, so I'll hang around the MSc lab from 13:00.
  631. Shane Booth
  632. 18/11/2015 19:42
  633. Shane Booth
  634.  
  635. gdgd
  636. Mathew Campbell
  637. 18/11/2015 19:44
  638. Mathew Campbell
  639.  
  640. I'll have a little more time to work of AI tomorrow evening, so the changes I mentioned on github won't appear for a while.
  641. Shane Booth
  642. 18/11/2015 19:46
  643. Shane Booth
  644.  
  645. well as long as we can communicate with the game engine and our board state is consistent, I'll be happy
  646.  
  647. I can probably link in the jar for the game engine as a dependency but I'm not sure how we're gonna get tests working with it tongue emoticon
  648. Mathew Campbell
  649. 18/11/2015 19:53
  650. Mathew Campbell
  651.  
  652. Same here.
  653.  
  654. It's not really a build dependency. We can build and test without it. The protocol is the only point of interaction, and it's pretty well defined. I can create test cases for that. I still have to wait and see how exactly they want us to set up communications (e.g. do they want to be able to choose a socket? I assume so, but we'll see).
  655. Mathew Campbell
  656. 18/11/2015 19:55
  657. Mathew Campbell
  658.  
  659. It's a little worrying that the provided code was labelled 2014 rather than 15. I'm hoping there aren't going to be significant changes all of a sudden.
  660. Shane Booth
  661. 18/11/2015 19:55
  662. Shane Booth
  663.  
  664. indeed
  665.  
  666. well as long as the code actually interacting with the engine is just a send method and a receive, it shouldn't matter much, unless the protocol itself changes
  667.  
  668. also, can I advocate for allman style parentheses?
  669.  
  670. well, braces not parentheses
  671. Mathew Campbell
  672. 18/11/2015 20:02
  673. Mathew Campbell
  674.  
  675. I'm happy I kept the parsing separate from the sending and receiving. Should save me a lot of effort if anything needs to change. The internal code shouldn't have to change if my part does.
  676.  
  677. You can. I'm not too bothered what style is used. I'm not even too bothered if it's consistently used (I can imagine some functions are so simple they are best condensed onto one line, things like that). I'm just used to dealing with javascript where that style of braces sometimes leads to annoying bugs (which aren't even consistent across browsers) when automatic semicolon insertion comes into play.
  678.  
  679. Is there any particular advantage to allman style? I haven't thought about this for very long.
  680. Shane Booth
  681. 18/11/2015 20:03
  682. Shane Booth
  683.  
  684. if you need to comment out the control statement for testing, it means you only need to comment one line
  685. Mathew Campbell
  686. 18/11/2015 20:03
  687. Mathew Campbell
  688.  
  689. That's very neat.
  690. Shane Booth
  691. 18/11/2015 20:03
  692. Shane Booth
  693.  
  694. also, I find it a lot easier to keep track of opening and closing blocks tongue emoticon
  695.  
  696. but that's a personal preference colonthree emoticon
  697.  
  698. and java doesn't do automatic semicolon insertion because it's not silly tongue emoticon
  699. Mathew Campbell
  700. 18/11/2015 20:07
  701. Mathew Campbell
  702.  
  703. Thank goodness it doesn't.
  704. Mathew Campbell
  705. 18/11/2015 20:12
  706. Mathew Campbell
  707.  
  708. Wow. I had to look up Allman style and what I'm reading on Wikipedia seems crazy. It seems like people have crazy specs on exactly what style they want. I'm looking at some of the examples and they'd be more readable in one format over the other.
  709.  
  710. Surely the chosen style should be picked based on readability. I can see cases where blowing up a tiny if statement into four lines makes for a horrendous time, and others where an if with loads of conditions becomes difficult to read if you try and sneak the brace in on the same line as the last condition.
  711. Shane Booth
  712. 18/11/2015 20:12
  713. Shane Booth
  714.  
  715. if it's an if with 1 statement, I wouldn't put the braces
  716.  
  717. I might put it on a separate line if it was annoying
  718.  
  719. but if it's just like if(condition) return false; I'd keep it on one line tongue emoticon
  720.  
  721. more concerned with the keeping the braces on their own lines colonthree emoticon
  722.  
  723. and if(a) if(b) c(); I'd probably put on 3 lines
  724. Mathew Campbell
  725. 18/11/2015 20:18
  726. Mathew Campbell
  727.  
  728. Hmm. Take a look at the set of ifs starting on line 16: https://github.com/DarkholmeTenk/Optimistic/blob/master/source/kalah/Agent.java
  729.  
  730. So for those, it would be best if I just dropped the braces.
  731.  
  732. Now imagine that instead of one statement per if, I had a pair of statements. For a large block of branching code like that would it be better to stick with the js style braces or still go with allman?
  733.  
  734. My personal feelings are that something like that is a case where keeping the braces on a seperate line will lead to the code getting less readable as it spreads (depending on the number of branches) across several pages. It's a case where I think the more compact form is easier to scan.
  735.  
  736. Opinions?
  737. Shane Booth
  738. 18/11/2015 20:23
  739. Shane Booth
  740.  
  741. I see your point tongue emoticon
  742. Shane Booth
  743. 18/11/2015 20:28
  744. Shane Booth
  745.  
  746. well, there's no need to be uber strict, I'd say try to stick to allman unless it reduces readability?
  747. Mathew Campbell
  748. 18/11/2015 20:29
  749. Mathew Campbell
  750.  
  751. (I was half way through saying that in a more drawn out way :P)
  752.  
  753. I think a good strategy is to leave the final say up to the programmer. After all, as you write code, you're in a good position to decide what the least confusing way to lay everything out is. So no hard rules.
  754.  
  755. If a second programmer comes along and ends up being confused by a particular layout, then they should change it and notify the original author as to what the problem was so that they learn how to improve their readability.
  756.  
  757. I'll give the allman style a good run.
  758. Mathew Campbell
  759. 18/11/2015 20:30
  760. Mathew Campbell
  761.  
  762. The important thing is that we actually do take the time to think about readability and do some formatting. I don't think that'll be a problem.
  763.  
  764. (though in the past with some people it was :|)
  765. Shane Booth
  766. 18/11/2015 20:31
  767. Shane Booth
  768.  
  769. smile emoticon yeah, at least we're thinking about it, suggests we care enough that we'll try to make it readable
  770. Mathew Campbell
  771. 18/11/2015 20:32
  772. Mathew Campbell
  773.  
  774. I certainly care. I'm trying very hard not to go off on a rant about how readability to others is really damn important.
  775.  
  776. Don't get me excited!
  777. Shane Booth
  778. 18/11/2015 20:32
  779. Shane Booth
  780.  
  781. lol, I'll try smile emoticon
  782. Mathew Campbell
  783. 18/11/2015 20:35
  784. Mathew Campbell
  785.  
  786. Well, I think this is a group project I will enjoy. After all, I'm already enjoying it. It's been a long time since I did any vanilla software development like this, and certainly in a team. Pretty fun.
  787. 19 November
  788. Matthew Todd
  789. 19/11/2015 12:33
  790. Matthew Todd
  791.  
  792. ok this is my git thing ( i think it's what you want) https://github.com/Tt-dude909
  793.  
  794. so whats the repository for the project??
  795. Shane Booth
  796. 19/11/2015 12:39
  797. Shane Booth
  798.  
  799. Github.com/DarkholmeTenk/Optimistic
  800. Matthew Todd
  801. 19/11/2015 12:39
  802. Matthew Todd
  803.  
  804. thank you tried running through past ones and just found a set of links that sent me no where haha
  805. Shane Booth
  806. 19/11/2015 12:40
  807. Shane Booth
  808.  
  809. Nice tongue emoticon
  810.  
  811. The build system is at darkcraft.io:8080 but you need to login to see it
  812. Matthew Todd
  813. 19/11/2015 12:44
  814. Matthew Todd
  815.  
  816. so i just need to clone project on laptop correct??
  817. Shane Booth
  818. 19/11/2015 12:44
  819. Shane Booth
  820.  
  821. Yep, but you'll need GitHub private keys sorted out unless you're using githubs client
  822.  
  823. Looks like you forked the repo rather than clone it?
  824. Matthew Todd
  825. 19/11/2015 12:48
  826. Matthew Todd
  827.  
  828. yeah i know .... wrong fucking button
  829.  
  830. hold on i'll delete it
  831. Shane Booth
  832. 19/11/2015 12:48
  833. Shane Booth
  834.  
  835. Lul colonthree emoticon
  836. Matthew Todd
  837. 19/11/2015 12:54
  838. Matthew Todd
  839.  
  840. there we go think i've got it. where it is on my computer though is another story ...
  841.  
  842. found it alls good
  843. Shane Booth
  844. 19/11/2015 15:18
  845. Shane Booth
  846.  
  847. gdgd smile emoticon
  848. 19 November
  849. Shane Booth
  850. 19/11/2015 18:35
  851. Shane Booth
  852.  
  853. so, I was thinking we should treat the game engine as just another player
  854. Mathew Campbell
  855. 19/11/2015 18:41
  856. Mathew Campbell
  857.  
  858. My first impression is that it would be confusing as the game engine is certainly not a player. Please explain your suggestion.
  859. Shane Booth
  860. 19/11/2015 18:42
  861. Shane Booth
  862.  
  863. but from our point of view the game engine takes moves from the other thing and makes moves
  864. Mathew Campbell
  865. 19/11/2015 18:46
  866. Mathew Campbell
  867.  
  868. The game engine doesn't make any moves, it just informs us of moves. It can be viewed as a referee who has the final say on the state of the game.
  869. Shane Booth
  870. 19/11/2015 18:46
  871. Shane Booth
  872.  
  873. it could be, but since it's also telling us what moves have been made and needs telling of what moves have been made, it could also be represented as a player
  874.  
  875. so I did this https://github.com/DarkholmeTenk/Optimistic/blob/master/source/kalah/program/TwoAgentGame.java and if one of the AbstractAgents is the game engine, that simplifies our logic, I think
  876. Mathew Campbell
  877. 19/11/2015 18:59
  878. Mathew Campbell
  879.  
  880. The logic for the flow of the game should really be left to the controller. The agent's job is to make decisions when it is asked for a move, so it shouldn't be managing the game. So the logic in play() would be moved to the controller, and it would request a move from our agent and then pass that out of our system.
  881.  
  882. As for representing the game engine as a player: I think what you mean is representing the game engine as another agent (the Player does nothing, it is just a simple object for the model). If we move the game flow logic to the controller, I don't see a clear benefit from adding an extra class between the controller and the speaker/listener.
  883. Shane Booth
  884. 19/11/2015 19:00
  885. Shane Booth
  886.  
  887. yeah, by player I mean agent tongue emoticon
  888. Mathew Campbell
  889. 19/11/2015 19:05
  890. Mathew Campbell
  891.  
  892. I'm afraid I won't get any AI done tonight. I've been tired all day. I'll still be around for questions, but I'm going to go to bed in a couple of hours and do some work when I'm better rested.
  893.  
  894. I think we shouldn't worry too much about perfecting the design right now. We can spend a moment tomorrow discussing how best to refactor everything over the next week. At the very least, I'd like to draw a diagram and see if my understanding matches everyone else's.
  895. Shane Booth
  896. 19/11/2015 19:06
  897. Shane Booth
  898.  
  899. yeah, we meeting at 1 in the msc labs?
  900. Mathew Campbell
  901. 19/11/2015 19:08
  902. Mathew Campbell
  903.  
  904. Yeah, I'll be there the hour before the lab. I don't know if Toddy will, but we should all be there by the time the lab starts.
  905. Shane Booth
  906. 19/11/2015 19:17
  907. Shane Booth
  908.  
  909. k, I added a simple monte carlo thingum; the test is just to play 10 games against the random agent and if it loses a game, mark the test as failed
  910. Mathew Campbell
  911. 19/11/2015 19:48
  912. Mathew Campbell
  913.  
  914. What if by chance the random agent wins? That doesn't necessarily mean there is a problem with the better agent.
  915. Shane Booth
  916. 19/11/2015 19:49
  917. Shane Booth
  918.  
  919. it's possible, but I've run a few hundred tests and it hasn't happened yet
  920.  
  921. upping to 10000 for one run colonthree emoticon
  922.  
  923. the fact it's still going suggests it isn't going to lose imo tongue emoticon
  924.  
  925. yeah, I know, but if the chance is less than 1/10000, I'm not too fussed tongue emoticon
  926.  
  927. can you think of any other way to unit test it? unless we just had an agent that always picked the first move or sometihing
  928. Mathew Campbell
  929. 19/11/2015 19:57
  930. Mathew Campbell
  931.  
  932. I'll have to think about that test a bit more. I'd never considered testing something that relies on probabilities and could give a false positive.
  933.  
  934. Even an agent that picks the first move might beat it. I don't know what the full game tree looks like.
  935.  
  936. My gut feeling is that the tests shouldn't be making assertions about the performance of a given algorithm, only that the algorithm makes the choices you'd expect it to: You'd play it against a series of known moves, and if it made unexpected moves you'd know there was a problem.
  937. Mathew Campbell
  938. 19/11/2015 19:58
  939. Mathew Campbell
  940.  
  941. Let me correct myself: I don't think a test should be kept if it's known that it could give a false positive. I don't see a problem with tests of performance if those tests are reliable.
  942. Shane Booth
  943. 19/11/2015 19:59
  944. Shane Booth
  945.  
  946. but what about algorithms with exploration?
  947.  
  948. can't guarantee paths with that tongue emoticon
  949. Mathew Campbell
  950. 19/11/2015 20:04
  951. Mathew Campbell
  952.  
  953. Couldn't you iron out any of the non-deterministic parts of the code (e.g. using the same seed for a PRNG) and test the deterministic parts. I'm happy to trust that any built in random number generators are reliable.
  954. Shane Booth
  955. 19/11/2015 20:05
  956. Shane Booth
  957.  
  958. yeah, that could work, I guess tongue emoticon
  959. Mathew Campbell
  960. 19/11/2015 20:05
  961. Mathew Campbell
  962.  
  963. I just wonder how people test PRNGs!
  964. 19 November
  965. Shane Booth
  966. 19/11/2015 23:06
  967. Shane Booth
  968. 20 November
  969. Matthew Todd
  970. 20/11/2015 11:17
  971. Matthew Todd
  972.  
  973. Just read through chat. I'm in lecture before lab but will be in lab. Gonna be leaving right after so I miss rush hour on trains
  974. 23 November
  975. Shane Booth
  976. 23/11/2015 09:42
  977. Shane Booth
  978.  
  979. we meeting up before the scheduled workshop?
  980. Mathew Campbell
  981. 23/11/2015 09:51
  982. Mathew Campbell
  983.  
  984. Aye. Collab right?
  985. Shane Booth
  986. 23/11/2015 09:52
  987. Shane Booth
  988.  
  989. shure, what time?
  990. Mathew Campbell
  991. 23/11/2015 10:26
  992. Mathew Campbell
  993.  
  994. 1pm wasn't it?
  995. Matthew Todd
  996. 23/11/2015 10:28
  997. Matthew Todd
  998.  
  999. Wont make it in today. Got burn on finger and don't want to risk infection. Should be in tomoz I'd you want to go over everything in person with me
  1000. Shane Booth
  1001. 23/11/2015 12:13
  1002. Shane Booth
  1003.  
  1004. since that's all I have today, would it be ok if we rearrange to 1/2 tomorrow?
  1005. Mathew Campbell
  1006. 23/11/2015 12:21
  1007. Mathew Campbell
  1008.  
  1009. 1 is a graphics lecture and 2 is a supervisor meeting for me. I'm happy to do some other time tomorrow.
  1010.  
  1011. It doesn't seem worthwhile meeting today.
  1012. Shane Booth
  1013. 23/11/2015 12:25
  1014. Shane Booth
  1015.  
  1016. well I'm free until 3:30ish tomorrow
  1017.  
  1018. meeting at 2:30/3 saves me a bit of a walk since I need to head to manchester anyways
  1019. Mathew Campbell
  1020. 23/11/2015 12:28
  1021. Mathew Campbell
  1022.  
  1023. I'm happy with that. The length of the supervisor meetings vary, but I can certainly exit by 3. Should have a little more to talk about by then too, since I'm going to make those changes to the controller shortly.
  1024. 23 November
  1025. Mathew Campbell
  1026. 23/11/2015 17:29
  1027. Mathew Campbell
  1028.  
  1029. The changes I'll need to make to get my part done are quite extensive. More than I thought. It may take several days. I should get a little bit of code pushed tonight.
  1030. Shane Booth
  1031. 23/11/2015 17:47
  1032. Shane Booth
  1033.  
  1034. fair enough
  1035.  
  1036. we could do with someone taking a look at what needs to be done for friday
  1037. Mathew Campbell
  1038. 23/11/2015 17:48
  1039. Mathew Campbell
  1040.  
  1041. There's a small form to fill in: https://moodle.cs.man.ac.uk/mod/resource/view.php?id=15510
  1042.  
  1043. We can probably do that tomorrow. Won't take too long.
  1044. Shane Booth
  1045. 23/11/2015 19:20
  1046. Shane Booth
  1047. 24 November
  1048. Mathew Campbell
  1049. 24/11/2015 10:42
  1050. Mathew Campbell
  1051.  
  1052. Where do you want to meet today? MSc lab?
  1053. Matthew Todd
  1054. 24/11/2015 10:50
  1055. Matthew Todd
  1056.  
  1057. Fine with me
  1058. Mathew Campbell
  1059. 24/11/2015 10:51
  1060. Mathew Campbell
  1061.  
  1062. Such a trek colonthree emoticon
  1063. Matthew Todd
  1064. 24/11/2015 10:56
  1065. Matthew Todd
  1066.  
  1067. From our weekly meet. I know a bloody Nathan
  1068.  
  1069. ... Ignore that entire thing
  1070. Shane Booth
  1071. 24/11/2015 10:56
  1072. Shane Booth
  1073.  
  1074. bloody Nathans
  1075. Mathew Campbell
  1076. 24/11/2015 10:56
  1077. Mathew Campbell
  1078.  
  1079. That's what you get for murdering people.
  1080. Matthew Todd
  1081. 24/11/2015 10:57
  1082. Matthew Todd
  1083.  
  1084. Shush. No ones meant to know about it yet
  1085. 27 November
  1086. Mathew Campbell
  1087. 27/11/2015 11:49
  1088. Mathew Campbell
  1089.  
  1090. I'm already in university. If anyone wants to speak to me before the lab, I'll be in the MSc lab.
  1091. 27 November
  1092. Shane Booth
  1093. 27/11/2015 17:19
  1094. Shane Booth
  1095. Shane Booth
  1096. 27/11/2015 17:19
  1097. Shane Booth
  1098.  
  1099. Whoops, did a toddy
  1100. Matthew Todd
  1101. 27/11/2015 17:20
  1102. Matthew Todd
  1103.  
  1104. Holy cow that's not good
  1105. Shane Booth
  1106. 27/11/2015 17:22
  1107. Shane Booth
  1108.  
  1109. Indeed, oil splash, got ice on it
  1110. Matthew Todd
  1111. 27/11/2015 17:24
  1112. Matthew Todd
  1113.  
  1114. Running cold water or submerged would be best
  1115. Shane Booth
  1116. 27/11/2015 17:24
  1117. Shane Booth
  1118.  
  1119. Already done that for 10m
  1120.  
  1121. Got a wet kitchen roll around then ice then more kitchen roll
  1122. Matthew Todd
  1123. 27/11/2015 17:28
  1124. Matthew Todd
  1125.  
  1126. Ah then nevermind grin emoticon
  1127. Mathew Campbell
  1128. 27/11/2015 17:29
  1129. Mathew Campbell
  1130.  
  1131. So that's all of us with some form of burn then. Must be a cursed group!
  1132. Shane Booth
  1133. 27/11/2015 17:29
  1134. Shane Booth
  1135. 27 November
  1136. You named the conversation: The Optimistic Burn Ward.
  1137. 30 November
  1138. Mathew Campbell
  1139. 30/11/2015 10:23
  1140. Mathew Campbell
  1141.  
  1142. Remember that we're meeting at 1300 today. I'll be in the MSc lab at least until the AI lab.
  1143. Shane Booth
  1144. 30/11/2015 11:56
  1145. Shane Booth
  1146.  
  1147. don't think I'm gonna be able to make it, feel like shit and my hand is killing tongue emoticon
  1148. Matthew Todd
  1149. 30/11/2015 11:56
  1150. Matthew Todd
  1151.  
  1152. I'm in now
  1153. Mathew Campbell
  1154. 30/11/2015 12:42
  1155. Mathew Campbell
  1156.  
  1157. That's fine. That looked like a pretty nasty burn.
  1158.  
  1159. I'm probably not going to be free for AI until Thursday. I'll get Toddy up to speed. Otherwise, it's pretty clear what we need doinganyway.
  1160. 4 December
  1161. Mathew Campbell
  1162. 04/12/2015 12:03
  1163. Mathew Campbell
  1164.  
  1165. I'll be in the MSc lab by 13:00 as usual. See you all by 14:00.
  1166.  
  1167. I've finally had time to merge my work back into dev. I still need to test stuff and I'll have to update main to handle the different agent types being read from the command line args.
  1168. Shane Booth
  1169. 04/12/2015 12:05
  1170. Shane Booth
  1171.  
  1172. In London this weekend, mentioned it last time and the the time before I think tongue emoticon
  1173.  
  1174. Sorry guys, I'll make sure to catch up when I get back!
  1175. Mathew Campbell
  1176. 04/12/2015 12:06
  1177. Mathew Campbell
  1178.  
  1179. Will you be in today, or are you packing up now?
  1180. Shane Booth
  1181. 04/12/2015 12:06
  1182. Shane Booth
  1183.  
  1184. I'm on a megabus rn
  1185. Mathew Campbell
  1186. 04/12/2015 12:08
  1187. Mathew Campbell
  1188.  
  1189. Alright. Have a good weekend. We'll figure things out. Might even have a submit-able build by the end of today.
  1190. Shane Booth
  1191. 04/12/2015 12:09
  1192. Shane Booth
  1193.  
  1194. Thanks! Good luck smile emoticon
  1195. Mathew Campbell
  1196. 04/12/2015 12:09
  1197. Mathew Campbell
  1198.  
  1199. kiki emoticon
  1200. Matthew Todd
  1201. 04/12/2015 12:10
  1202. Matthew Todd
  1203. 6 December
  1204. Matthew Todd
  1205. 06/12/2015 16:13
  1206. Matthew Todd
  1207.  
  1208. for testing the with the speaker what should I supply the socket value with ??
  1209.  
  1210. nv doing it the wrong way grin emoticon
  1211.  
  1212. never mind*
  1213. Matthew Todd
  1214. 06/12/2015 16:52
  1215. Matthew Todd
  1216.  
  1217. but can you give me an example of a CHAGNE;SWAP; message please
  1218. Matthew Todd
  1219. 06/12/2015 16:58
  1220. Matthew Todd
  1221.  
  1222. kk added a test file that tests the EngineMessageFactory class
  1223. Mathew Campbell
  1224. 06/12/2015 17:09
  1225. Mathew Campbell
  1226.  
  1227. Example:
  1228. "CHANGE;SWAP;7,7,7,7,7,7,7,0,7,7,7,7,7,7,7,0;YOU\n"
  1229. Matthew Todd
  1230. 06/12/2015 17:09
  1231. Matthew Todd
  1232.  
  1233. can you quickly do one for MOVE as well please thanks. should be that last thing on the tests
  1234. Mathew Campbell
  1235. 06/12/2015 17:10
  1236. Mathew Campbell
  1237.  
  1238. Have you read protocol.txt?
  1239.  
  1240. https://github.com/DarkholmeTenk/Optimistic/blob/master/provided/docs/protocol.txt
  1241. Matthew Todd
  1242. 06/12/2015 17:10
  1243. Matthew Todd
  1244.  
  1245. no I've done it all through the classes grin emoticon
  1246. Mathew Campbell
  1247. 06/12/2015 17:14
  1248. Mathew Campbell
  1249.  
  1250. CHANGE;MOVE;0,8,8,8,8,8,8,1,7,7,7,7,7,7,7,0;YOU\n
  1251. Matthew Todd
  1252. 06/12/2015 17:22
  1253. Matthew Todd
  1254.  
  1255. thank you grin emoticon grin emoticon
  1256. 7 December
  1257. Mathew Campbell
  1258. 07/12/2015 13:01
  1259. Mathew Campbell
  1260.  
  1261. If anyone needs anything, I'll be in the MSc lab until after the AI slot being a zombie.
  1262. 10 December
  1263. Mathew Campbell
  1264. 10/12/2015 22:04
  1265. Mathew Campbell
  1266.  
  1267. Advanced warning: I might be working on graphics until very close to the deadline. After that deadline all I have is my Agile coursework and AI that have hard deadlines, so after that point you pretty much have my full attention for AI.
  1268.  
  1269. We have a presentation to create for Monday. I'll hopefully catch you both in uni to briefly discuss that. We should edit it online (either through Google Drive or some other service with realtime editing that everyone is happy with).
  1270.  
  1271. I'm going to spend this Sunday doing any outstanding AI work so we have a project that definitely builds and definitely plays a game properly for the final week. That's assuming I don't get that done on Friday.
  1272. 11 December
  1273. Matthew Todd
  1274. 11/12/2015 10:28
  1275. Matthew Todd
  1276.  
  1277. Not gonna ma ale it in for 1 today. My trains been cancelled so gonna be an hour late
  1278.  
  1279. Make*
  1280. Shane Booth
  1281. 11/12/2015 12:58
  1282. Shane Booth
  1283.  
  1284. Well I'm in the msc lab for whenever tongue emoticon
  1285. Matthew Todd
  1286. 11/12/2015 12:59
  1287. Matthew Todd
  1288.  
  1289. I'll head straight there then. I'm heading to Salford station now
  1290.  
  1291. Should be there for half past
  1292. Mathew Campbell
  1293. 11/12/2015 13:43
  1294. Mathew Campbell
  1295.  
  1296. I'm not going to make it in. Once this graphics is done I need to sleep for a good day.
  1297. Sunday
  1298. Shane Booth
  1299. 13/12/2015 19:56
  1300. Shane Booth
  1301.  
  1302. sooo..... what's happening for tomorrow?
  1303. Mathew Campbell
  1304. 13/12/2015 20:39
  1305. Mathew Campbell
  1306.  
  1307. I'm not entirely sure. I'm operating on very little sleep right now. Finally got an opportunity to go to sleep and someone decides to do some maintenance work in my building on a Sunday ¬_¬ Give me a moment to wake up.
  1308. Shane Booth
  1309. 13/12/2015 20:42
  1310. Shane Booth
  1311.  
  1312. fun times
  1313. Mathew Campbell
  1314. 13/12/2015 20:43
  1315. Mathew Campbell
  1316.  
  1317. Do you have any idea when our presentation slot is?
  1318. Shane Booth
  1319. 13/12/2015 20:45
  1320. Shane Booth
  1321.  
  1322. no, other than tomorrow
  1323. Matthew Todd
  1324. 13/12/2015 20:45
  1325. Matthew Todd
  1326.  
  1327. not heard anything about anything
  1328. Shane Booth
  1329. 13/12/2015 20:46
  1330. Shane Booth
  1331.  
  1332. like emoticon
  1333. Mathew Campbell
  1334. 13/12/2015 20:47
  1335. Mathew Campbell
  1336.  
  1337. https://moodle.cs.man.ac.uk/mod/forum/discuss.php?d=28826
  1338.  
  1339. Monday 2-3
  1340.  
  1341. Hidden away in the forums...
  1342.  
  1343. :|
  1344.  
  1345. Pass me an email address each and I'll set up a presentation we can all edit on Google Drive.
  1346. Matthew Todd
  1347. 13/12/2015 20:50
  1348. Matthew Todd
  1349.  
  1350. the-todd-matthew@live.co.uk
  1351.  
  1352. oops
  1353. Shane Booth
  1354. 13/12/2015 20:50
  1355. Shane Booth
  1356.  
  1357. shaneybooth@gmail.com
  1358. Matthew Todd
  1359. 13/12/2015 20:50
  1360. Matthew Todd
  1361.  
  1362. the-todd-family-matthew@live.co.uk
  1363. Shane Booth
  1364. 13/12/2015 20:54
  1365. Shane Booth
  1366.  
  1367. as a point, can our thing interact with the game engine yet?
  1368. Mathew Campbell
  1369. 13/12/2015 20:55
  1370. Mathew Campbell
  1371.  
  1372. No. That's what I was hoping to work on fixing tonight. This is going to be a long last week.
  1373. Shane Booth
  1374. 13/12/2015 20:55
  1375. Shane Booth
  1376.  
  1377. what needs doing?
  1378.  
  1379. just the main method?
  1380. Mathew Campbell
  1381. 13/12/2015 20:57
  1382. Mathew Campbell
  1383.  
  1384. I totally forgot to parse the move messages. Also, I need to properly test and fix any problems with the interface.
  1385.  
  1386. I'm going to work on that for a bit. Hopefully I'll have enough time to get my part of the presentation done and finish that.
  1387. Shane Booth
  1388. 13/12/2015 21:03
  1389. Shane Booth
  1390.  
  1391. Fair enough. Toddy, could you do your slides and some frameworks for us to fill in?
  1392. Mathew Campbell
  1393. 13/12/2015 21:05
  1394. Mathew Campbell
  1395.  
  1396. Requirements:
  1397. Apparently the presentation is meant to be 15 minutes long: 10 minutes for slides, 5 for questions. So that's maybe 2-4 slides per person. I don't know why information about the presentations is spread across so many different pages.
  1398.  
  1399. Content expected is described rather vaguely here: https://moodle.cs.man.ac.uk/mod/assignment/view.php?id=15513
  1400. Shane Booth
  1401. 13/12/2015 21:08
  1402. Shane Booth
  1403.  
  1404. I can go into a bit long rant about optimisations and weak/soft references and transientivity and stuff, so we should be good for my slides +- a few
  1405. Mathew Campbell
  1406. 13/12/2015 21:25
  1407. Mathew Campbell
  1408.  
  1409. Toddy, I'm having trouble with the tests you wrote. They do not compile.
  1410. Matthew Todd
  1411. 13/12/2015 21:28
  1412. Matthew Todd
  1413.  
  1414. cry emoticon oh
  1415. Mathew Campbell
  1416. 13/12/2015 21:28
  1417. Mathew Campbell
  1418.  
  1419. Does this surprise you?
  1420. Matthew Todd
  1421. 13/12/2015 21:29
  1422. Matthew Todd
  1423.  
  1424. not really haha whats it saying ?
  1425. Mathew Campbell
  1426. 13/12/2015 21:30
  1427. Mathew Campbell
  1428.  
  1429. Build your code and you'll find out.
  1430. Matthew Todd
  1431. 13/12/2015 21:32
  1432. Matthew Todd
  1433.  
  1434. how do i do that on this system again??
  1435. Mathew Campbell
  1436. 13/12/2015 21:36
  1437. Mathew Campbell
  1438.  
  1439. I am speechless. Let me go get some coffee.
  1440. Matthew Todd
  1441. 13/12/2015 21:39
  1442. Matthew Todd
  1443.  
  1444. when I run it on my laptop it just doesnt recognize the imports
  1445. Shane Booth
  1446. 13/12/2015 21:40
  1447. Shane Booth
  1448.  
  1449. presumably the junit ones? you need to add the junit jar to your classpath tongue emoticon
  1450. Mathew Campbell
  1451. 13/12/2015 21:41
  1452. Mathew Campbell
  1453.  
  1454. When did you learn this was the case?
  1455. Shane Booth
  1456. 13/12/2015 21:41
  1457. Shane Booth
  1458.  
  1459. it's always been the case, eclipse and stuff usually do that for you though tongue emoticon
  1460. Mathew Campbell
  1461. 13/12/2015 21:42
  1462. Mathew Campbell
  1463.  
  1464. I mean Toddy.
  1465. Matthew Todd
  1466. 13/12/2015 21:51
  1467. Matthew Todd
  1468.  
  1469. kk try again, don't get any syntax errors now but can't tell if works and laptop has decided to not want to do anything today
  1470. Mathew Campbell
  1471. 13/12/2015 21:54
  1472. Mathew Campbell
  1473.  
  1474. git push? Nothing has changed on the repo.
  1475. Matthew Todd
  1476. 13/12/2015 21:55
  1477. Matthew Todd
  1478.  
  1479. kk i've sync it now so should be there
  1480. Mathew Campbell
  1481. 13/12/2015 22:02
  1482. Mathew Campbell
  1483.  
  1484. It does not compile.
  1485. Shane Booth
  1486. 13/12/2015 22:02
  1487. Shane Booth
  1488.  
  1489. wut is the branch?
  1490. Mathew Campbell
  1491. 13/12/2015 22:02
  1492. Mathew Campbell
  1493.  
  1494. Client.Todd
  1495. Shane Booth
  1496. 13/12/2015 22:04
  1497. Shane Booth
  1498.  
  1499. just lots of missing imports and a duplicate method tongue emoticon
  1500. Matthew Todd
  1501. 13/12/2015 22:05
  1502. Matthew Todd
  1503.  
  1504. just seen the method, and not sure whyimprts arn't working
  1505. Mathew Campbell
  1506. 13/12/2015 22:08
  1507. Mathew Campbell
  1508.  
  1509. They're not working because they aren't there. The compiler cannot find StartMessage, and there is no import for the StartMessage class. This can't have compiled on your machine unless you are compiling different files to the ones being committed.
  1510.  
  1511. So back to my original question: When did you realise that nothing was compiling?
  1512. Matthew Todd
  1513. 13/12/2015 22:10
  1514. Matthew Todd
  1515.  
  1516. today really
  1517. Mathew Campbell
  1518. 13/12/2015 22:11
  1519. Mathew Campbell
  1520.  
  1521. So today is the first time you attempted to build?
  1522. Matthew Todd
  1523. 13/12/2015 22:13
  1524. Matthew Todd
  1525.  
  1526. yes
  1527.  
  1528. well no, i tried a while ago but was unable to get it compiling properly but that was something slightly different
  1529. Shane Booth
  1530. 13/12/2015 22:20
  1531. Shane Booth
  1532.  
  1533. to be fair, the test can be fixed with 2 imports and adding a single letter to a method tongue emoticon
  1534.  
  1535. 3 imports*
  1536. Matthew Todd
  1537. 13/12/2015 22:21
  1538. Matthew Todd
  1539.  
  1540. which imports?? laptop is having a field day messing with me tonight. cry emoticon
  1541. Mathew Campbell
  1542. 13/12/2015 22:34
  1543. Mathew Campbell
  1544.  
  1545. The ease with which this can be fixed isn't what concerns me.
  1546.  
  1547. Toddy: Why are you only learning how to build now? You've repeatedly stated that you will read through the code, but here we are about to enter our final week and you ask questions about how to build the project. Something that is in the README file: The very first file you are likely to read. This is highly unusual to me.
  1548.  
  1549. Explain your situation and reasoning.
  1550. Matthew Todd
  1551. 13/12/2015 22:46
  1552. Matthew Todd
  1553.  
  1554. honestly, I tried at the start when I got the branch on my computer, but couldn't get it to run so i decided to leave it since it was late.
  1555. Matthew Todd
  1556. 13/12/2015 22:51
  1557. Matthew Todd
  1558.  
  1559. I have asked before if you needed me to do anything on the project but was told not to so I left it, after a while I forgot how to compile it when you first told me and was going to ask when you wanted me to do something. When you asked me to do the tests I had been doing several different things and decided that I'll write it up and tell you I've not compiled it (which I did). My laptop is a mess of a system and doesn't do anything simply, making things that others can do easily a nightmare for me to set up.
  1560. Matthew Todd
  1561. 13/12/2015 22:56
  1562. Matthew Todd
  1563.  
  1564. on top of that I've had to keep up with everything else around me, the journey to uni which takes a chuck out of my day and the various things I do at home. And not too mention with the weather recently and Saturday sport I do, I'm not exactly feeling very well. I'm sorry I've not done anything with the project and I have gone over the code, but was quickly forgotten over the other things I've had to do in the last 2 weeks. I have tried to include myself numerous times with no avail and it has bugged me.
  1565. Mathew Campbell
  1566. 14/12/2015 00:30
  1567. Mathew Campbell
  1568.  
  1569. There are many problems with what you have just posted (for example, the false impression that you were not asked to do anything), but for the sake of communicating the most important details I am going to only cover the most critical ones.
  1570.  
  1571. > I'm not exactly feeling very well
  1572.  
  1573. Neither do I. I have not slept properly for my entire time at university. I have virtually no free time apart from the very end of Saturday. I have no issue with the fact that you have limited time. I do not care whether you do any work on this project. If you have higher priorities for your limited time, then I am in no position to demand you work on a project when your contribution will not affect my final mark. The project could legitimately be done with two people. The marks are scaled by contribution. Your time belongs to you. Use it as you see fit.
  1574.  
  1575. What bothers me is a complete breakdown of communications. If you tell me you have no time, then I can organise my time properly. If I am constantly left with the impression that you are working on something, I will spend my time trying to ensure you are kept up to speed on things you are not in a position to use. That is a waste of my time.
  1576.  
  1577. *You are wasting my time.* How would you like it if I wasted your limited time?
  1578.  
  1579. You cannot sit around failing to notify anyone of the numerous problems you have experienced. Not able to build the project within a couple of weeks? Problem. Don't think you have any work to do? Why not send a message that takes literally seconds to type and milliseconds to arrive? Laptop is a piece of shit and you're having trouble getting everything working? Bring it in and ask a teammate to help you. You can even get hardware on loan from the university if you really need it.
  1580.  
  1581. Leaving the set up of your development environment this late, to me, is insane. Even if you believe you have been assigned no tasks, you can always try to put yourself in a position to contribute in the future. If you don't even have time for this set up, then clearly you have no time for the rest of the project. This is important information that is needed when making decisions as to who does what.
  1582.  
  1583. My advice:
  1584. 1) Determine how much time you really have. Draw a timetable. Fill in the hours you cannot work. Fill in the hours you know you're too tired to work in. Note down anything else you know will take up your free time.
  1585.  
  1586. Look at what is left and evaluate what you really have time for. Not enough time for the AI project? Can't be done? Fine. But you need to know that and accept how much time you have instead of stressing out over it and telling me you're going to do stuff you don't actually have the time to do.
  1587.  
  1588. If you tell me you only have ten minutes a week, at least I can work with that information. There are jobs that take ten minutes. If you don't tell me that, I might spend more than ten minutes explaining stuff to you that you will never have time to use. I'd rather have my ten minutes back and give you something you can realistically fit into your available time. That way more gets done and I don't feel disappointed.
  1589.  
  1590. 2) Communicate. Don't know what you're doing? Don't know how to get something working on your laptop. Ask! Working effectively in a team relies on accurate information being passed around. If you had already been doing this effectively, literally every problem popping up now would have been detected in week one or two.
  1591.  
  1592. If you requested help, I could have walked you through a great deal of set up in very little time and you'd be in a position to commit code whenever you feel like it. Not left with a painful set up time forever blocking your progress.
  1593. Shane Booth
  1594. 14/12/2015 01:25
  1595. Shane Booth
  1596.  
  1597. Slides doneish
  1598.  
  1599. well, mine at least
  1600. Mathew Campbell
  1601. 14/12/2015 01:52
  1602. Mathew Campbell
  1603.  
  1604. Great. I might sleep for a few hours. Not able to concentrate right now. Need to take a moment to organise my life.
  1605. Shane Booth
  1606. 14/12/2015 01:52
  1607. Shane Booth
  1608. Monday
  1609. Mathew Campbell
  1610. 14/12/2015 11:22
  1611. Mathew Campbell
  1612.  
  1613. I'll be in the third year lab from 12:00 onwards. Got graphics to get marked just before AI.
  1614.  
  1615. Partially done with the slides.
  1616. Shane Booth
  1617. 14/12/2015 11:55
  1618. Shane Booth
  1619.  
  1620. @Toddy you should add some slides
  1621.  
  1622. @Mathew, split your game engine section up, slide 7 is part of the agent category, there should be a short mention on how the game engine is being treated like another agent and the gamedriver stuff should be on its own
  1623. Mathew Campbell
  1624. 14/12/2015 12:13
  1625. Mathew Campbell
  1626.  
  1627. Sure, I'll do that.
  1628. Shane Booth
  1629. 14/12/2015 12:13
  1630. Shane Booth
  1631. Shane Booth
  1632. 14/12/2015 12:16
  1633. Shane Booth
  1634.  
  1635. atm, we should go over 10m, I think, which is better than being under
  1636. Mathew Campbell
  1637. 14/12/2015 12:20
  1638. Mathew Campbell
  1639.  
  1640. We can probably cut some. I don't think they will care about the details too much. For example, the fact that we have the GameDriver and why is interesting, or that we can choose which agents to play from the command line, but how we do that (with an AgentFactory) is probably not something we need to explain.
  1641. Matthew Todd
  1642. 14/12/2015 12:21
  1643. Matthew Todd
  1644.  
  1645. Guys i ow
  1646.  
  1647. wont be in today, hav
  1648.  
  1649. thrown up this morning and can't stop shaking, unfortunatly
  1650. Mathew Campbell
  1651. 14/12/2015 12:22
  1652. Mathew Campbell
  1653.  
  1654. That's fine. Take some time off and relax.
  1655. Shane Booth
  1656. 14/12/2015 12:23
  1657. Shane Booth
  1658. Airplane panic attack
  1659. A woman has a panic attack in the movie Airplane, and there's only one way to calm her down.
  1660. youtube.com
  1661. Shane Booth
  1662. 14/12/2015 12:23
  1663. Shane Booth
  1664.  
  1665. but seriously, get well soon
  1666. Matthew Todd
  1667. 14/12/2015 12:23
  1668. Matthew Todd
  1669.  
  1670. sorry again guys, I'll make it up to you guys next semester
  1671. Shane Booth
  1672. 14/12/2015 12:38
  1673. Shane Booth
  1674.  
  1675. K, I'll cover my slides, but could you cover the what we're still working on section, @Mathew?
  1676. Mathew Campbell
  1677. 14/12/2015 12:40
  1678. Mathew Campbell
  1679.  
  1680. I can't really say much about improving the agents.
  1681. Shane Booth
  1682. 14/12/2015 12:41
  1683. Shane Booth
  1684.  
  1685. kk, can you do the misc bit then, maybe add a few extra things to it?
  1686. Mathew Campbell
  1687. 14/12/2015 12:41
  1688. Mathew Campbell
  1689.  
  1690. Yup, already on it wink emoticon
  1691.  
  1692. When will you be in uni?
  1693. Shane Booth
  1694. 14/12/2015 12:42
  1695. Shane Booth
  1696.  
  1697. aiming for 1:40-1:50ish
  1698.  
  1699. since we've pretty much got our own slides, shouldn't need much coordination
  1700.  
  1701. k, so roles allocation: I did the model and some work on the agents, you did some work on the agents and the integration with the game engine and toddy did the unit tests and stuff?
  1702. Mathew Campbell
  1703. 14/12/2015 12:44
  1704. Mathew Campbell
  1705.  
  1706. Yup, that's the way we split it.
  1707.  
  1708. Once you're in, we can streamline the presentation a little.
  1709. Shane Booth
  1710. 14/12/2015 12:52
  1711. Shane Booth
  1712. Mathew Campbell
  1713. 14/12/2015 13:05
  1714. Mathew Campbell
  1715.  
  1716. I've restructured and formatted some stuff, so it's easier to read.
  1717. Shane Booth
  1718. 14/12/2015 13:05
  1719. Shane Booth
  1720. Mathew Campbell
  1721. 14/12/2015 13:15
  1722. Mathew Campbell
  1723.  
  1724. I've just realised, my graphics marking is scheduled for 13:44, so we might only get a few minutes to streamline things before AI.
  1725. Shane Booth
  1726. 14/12/2015 13:20
  1727. Shane Booth
  1728.  
  1729. it should be fine smile emoticon
  1730. Wednesday
  1731. Mathew Campbell
  1732. 16/12/2015 14:33
  1733. Mathew Campbell
  1734.  
  1735. Sleep heavily disrupted by random building. Doing my AI stuff now.
  1736. Mathew Campbell
  1737. 16/12/2015 14:45
  1738. Mathew Campbell
  1739.  
  1740. Also, I've emailed Jon about accessing the tournament machine so we can confirm it works when I'm done.
  1741. Shane Booth
  1742. 16/12/2015 16:15
  1743. Shane Booth
  1744. Mathew Campbell
  1745. 16/12/2015 18:28
  1746. Mathew Campbell
  1747.  
  1748. The interface is now working on dev. However, we seem to have a bug in our model somewhere as playing with the provided game engine leads to an illegal move:
  1749. https://github.com/DarkholmeTenk/Optimistic/issues/33
  1750.  
  1751. I really wish the provided game engine would tell us what move our agent tried to make ¬_¬
  1752.  
  1753. Getting food. Back later.
  1754. Shane Booth
  1755. 16/12/2015 18:58
  1756. Shane Booth
  1757. Shane Booth
  1758. 16/12/2015 19:42
  1759. Shane Booth
  1760.  
  1761. working on my project, any idea what's causing the illegal move?
  1762.  
  1763. also, does it happen if you switch the players around?
  1764. Mathew Campbell
  1765. 16/12/2015 19:45
  1766. Mathew Campbell
  1767.  
  1768. No idea. Swapping the order means that no moves are made at all...
  1769.  
  1770. So you're up to date on the dev branch and there are no problems?
  1771.  
  1772. Oh, sorry, I understand now.
  1773.  
  1774. Derp.
  1775. Shane Booth
  1776. 16/12/2015 20:02
  1777. Shane Booth
  1778.  
  1779. any luck?
  1780. Mathew Campbell
  1781. 16/12/2015 20:04
  1782. Mathew Campbell
  1783.  
  1784. I found one bug, but now sometimes our agent appears to crash.
  1785. Shane Booth
  1786. 16/12/2015 20:04
  1787. Shane Booth
  1788.  
  1789. if it works as player 1, I suspect the house numbers need flipping around for player 2
  1790.  
  1791. what's the crash?
  1792. Mathew Campbell
  1793. 16/12/2015 20:06
  1794. Mathew Campbell
  1795.  
  1796. Swapping around the players leads our agent to lose connection part way through the game (which is pretty much guaranteed to be an exception being thrown).
  1797.  
  1798. The other way around, I'm still getting illegal moves.
  1799. Shane Booth
  1800. 16/12/2015 20:07
  1801. Shane Booth
  1802.  
  1803. kk
  1804. Shane Booth
  1805. 16/12/2015 20:14
  1806. Shane Booth
  1807.  
  1808. I'll write a thing to create a log tongue emoticon
  1809. Mathew Campbell
  1810. 16/12/2015 20:15
  1811. Mathew Campbell
  1812.  
  1813. Ace.
  1814. Shane Booth
  1815. 16/12/2015 20:23
  1816. Shane Booth
  1817.  
  1818. try build 30 once it's built and use the -v switch to turn on verbose logging
  1819.  
  1820. stderr should redirect to the log file and so should moves
  1821.  
  1822. so we should be able to see the exceptions smile emoticon
  1823. Mathew Campbell
  1824. 16/12/2015 20:33
  1825. Mathew Campbell
  1826.  
  1827. I'm very confused. The log says the last move was 4, which was illegal. Here's the board state:
  1828. 15 -- 0 14 15 1 2 3 1
  1829. 0 0 0 4 2 2 15 -- 24
  1830.  
  1831. Surely no matter how you number things, the move is legal :S
  1832. Shane Booth
  1833. 16/12/2015 20:34
  1834. Shane Booth
  1835.  
  1836. is this the south player?
  1837.  
  1838. if it's on the bottom and going r->l then it's a 0
  1839. Mathew Campbell
  1840. 16/12/2015 20:35
  1841. Mathew Campbell
  1842.  
  1843. Hole numbering starts at 1.
  1844.  
  1845. ^ Accoridng to protocol.txt
  1846.  
  1847. *according
  1848.  
  1849. And hole numbering starts furthest from the well.
  1850.  
  1851. So this really baffles me.
  1852. Shane Booth
  1853. 16/12/2015 20:39
  1854. Shane Booth
  1855.  
  1856. ok, changed some stuff
  1857.  
  1858. outputs board state internally then the action itself, also added a flush to the speaker class
  1859. Mathew Campbell
  1860. 16/12/2015 21:59
  1861. Mathew Campbell
  1862.  
  1863. I've made the output format more similar to the game engine's format so it's easier to compare them.
  1864.  
  1865. How are swaps handled by our system?
  1866. Shane Booth
  1867. 16/12/2015 22:00
  1868. Shane Booth
  1869.  
  1870. in what way?
  1871. Mathew Campbell
  1872. 16/12/2015 22:00
  1873. Mathew Campbell
  1874.  
  1875. Do the players stay the same and the board is flipped, or do the players change, or something else?
  1876. Shane Booth
  1877. 16/12/2015 22:02
  1878. Shane Booth
  1879.  
  1880. board is flipped
  1881.  
  1882. is that the invalid action?
  1883.  
  1884. or is it immediately after a flip or something?
  1885. Mathew Campbell
  1886. 16/12/2015 22:03
  1887. Mathew Campbell
  1888.  
  1889. It's not invalid, but the output is quite confusing after a swap. It still breaks even without a swap though. There may be several interacting bugs.
  1890. Shane Booth
  1891. 16/12/2015 22:04
  1892. Shane Booth
  1893.  
  1894. woooh
  1895. Mathew Campbell
  1896. 16/12/2015 22:07
  1897. Mathew Campbell
  1898.  
  1899. Swap seems fine. It's just the fact that we don't have north/south mappings listed that's making it confusing.
  1900.  
  1901. The actual problem seems to be that the moves in our log don't match the game engine's output.
  1902. Shane Booth
  1903. 16/12/2015 22:08
  1904. Shane Booth
  1905.  
  1906. niiiice
  1907.  
  1908. throw one of the log files on pastebin if you could pls
  1909.  
  1910. maybe the corresponding gameengine output too tongue emoticon
  1911. Mathew Campbell
  1912. 16/12/2015 22:11
  1913. Mathew Campbell
  1914.  
  1915. https://gist.github.com/curiousinternals/059488478112dc6cd44d
  1916. Shane Booth
  1917. 16/12/2015 22:14
  1918. Shane Booth
  1919.  
  1920. 3rd move is where we go wrong
  1921.  
  1922. oh, we're missing states
  1923. Mathew Campbell
  1924. 16/12/2015 22:15
  1925. Mathew Campbell
  1926.  
  1927. Missing states?
  1928. Shane Booth
  1929. 16/12/2015 22:16
  1930. Shane Booth
  1931.  
  1932. nevermind
  1933.  
  1934. ok, I think I have an idea of what's happening tongue emoticon
  1935.  
  1936. we count houses from 0, they count from 1
  1937. Mathew Campbell
  1938. 16/12/2015 22:18
  1939. Mathew Campbell
  1940.  
  1941. Yup.
  1942. Shane Booth
  1943. 16/12/2015 22:18
  1944. Shane Booth
  1945.  
  1946. our actions go 2 3 3, theirs go 2 3 4
  1947. Mathew Campbell
  1948. 16/12/2015 22:19
  1949. Mathew Campbell
  1950.  
  1951. I'll check I'm converting them correctly. I was sure I did that.
  1952. Shane Booth
  1953. 16/12/2015 22:19
  1954. Shane Booth
  1955.  
  1956. wait, 2 3 3 4 6 vs 2 3 4 4 1?
  1957.  
  1958. wrong log?
  1959. Mathew Campbell
  1960. 16/12/2015 22:21
  1961. Mathew Campbell
  1962.  
  1963. 2 3 3 4 6? I see 2 3 3 4 4
  1964.  
  1965. And I removed all logs before running this, so this is the only one.
  1966. Shane Booth
  1967. 16/12/2015 22:22
  1968. Shane Booth
  1969.  
  1970. 2 3 3 4 4 6*
  1971.  
  1972. vs 2 3 4 4 1 6 tongue emoticon
  1973. Mathew Campbell
  1974. 16/12/2015 22:24
  1975. Mathew Campbell
  1976.  
  1977. Yeah, that's what confused the heck out of me. It's not consistently off.
  1978. Shane Booth
  1979. 16/12/2015 22:25
  1980. Shane Booth
  1981.  
  1982. pls tell me the game engine outputs all moves both players make and doesn't skip one if they get two moves?
  1983. Mathew Campbell
  1984. 16/12/2015 22:26
  1985. Mathew Campbell
  1986.  
  1987. AFAIK, the provided engine should output all moves.
  1988.  
  1989. I've seen two moves by one side in a row before.
  1990.  
  1991. There are some at the bottom of the log.
  1992. Shane Booth
  1993. 16/12/2015 22:28
  1994. Shane Booth
  1995.  
  1996. kk, just weird that we're getting completely different things out
  1997.  
  1998. throw the output of the game engine where we get the wrong actions into a unit test and make sure we get the right actions
  1999. Mathew Campbell
  2000. 16/12/2015 22:33
  2001. Mathew Campbell
  2002.  
  2003. Doing it.
  2004. Shane Booth
  2005. 16/12/2015 22:33
  2006. Shane Booth
  2007.  
  2008. like emoticon
  2009. Shane Booth
  2010. 16/12/2015 22:44
  2011. Shane Booth
  2012.  
  2013. how'd it go?
  2014. Mathew Campbell
  2015. 16/12/2015 22:47
  2016. Mathew Campbell
  2017.  
  2018. Still working on it.
  2019. Shane Booth
  2020. 16/12/2015 23:29
  2021. Shane Booth
  2022.  
  2023. any luck yet?
  2024. Mathew Campbell
  2025. 16/12/2015 23:30
  2026. Mathew Campbell
  2027.  
  2028. Holy fuck I just worked it out.
  2029.  
  2030. The game engine informs you of all state changes, even your own.
  2031. Shane Booth
  2032. 16/12/2015 23:30
  2033. Shane Booth
  2034.  
  2035. which is why we were seeing double movements
  2036. Mathew Campbell
  2037. 16/12/2015 23:30
  2038. Mathew Campbell
  2039.  
  2040. Yup. I'll fix it and see what happens.
  2041. Shane Booth
  2042. 16/12/2015 23:31
  2043. Shane Booth
  2044. Shane Booth
  2045. 17/12/2015 00:41
  2046. Shane Booth
  2047.  
  2048. do we have success?
  2049. Mathew Campbell
  2050. 17/12/2015 00:44
  2051. Mathew Campbell
  2052.  
  2053. Not yet. The changes necessary because of this retarded protocol are painfully complex.
  2054. Shane Booth
  2055. 17/12/2015 00:44
  2056. Shane Booth
  2057.  
  2058. oh dear, I can probably help tomorrow
  2059.  
  2060. maybe
  2061. Mathew Campbell
  2062. 17/12/2015 00:45
  2063. Mathew Campbell
  2064.  
  2065. Hopefully it won't take much longer.
  2066.  
  2067. The moves appear to be being read correctly, however there is still an illegal move being made. One moment.
  2068.  
  2069. Also, it now freezes after a swap for some reason. Yay. More bugs.
  2070. Shane Booth
  2071. 17/12/2015 00:51
  2072. Shane Booth
  2073.  
  2074. yaaaay
  2075. Mathew Campbell
  2076. 17/12/2015 00:59
  2077. Mathew Campbell
  2078.  
  2079. https://gist.github.com/curiousinternals/6abcd8e43c3be4aff75f
  2080.  
  2081. The board state diverges from what the game engine reports at the marked line
  2082. Shane Booth
  2083. 17/12/2015 01:03
  2084. Shane Booth
  2085.  
  2086. yup, capture rule
  2087. Mathew Campbell
  2088. 17/12/2015 01:06
  2089. Mathew Campbell
  2090.  
  2091. I'm logging off in half an hour. Any remaining bugs I'll be free to fix tomorrow evening. Hopefully I can get Agile done in the morning and have Friday free too.
  2092. Shane Booth
  2093. 17/12/2015 01:07
  2094. Shane Booth
  2095.  
  2096. kk
  2097.  
  2098. pub crawl friday, you should come colonthree emoticon
  2099. Mathew Campbell
  2100. 17/12/2015 01:08
  2101. Mathew Campbell
  2102.  
  2103. I'll have to think about it. I might still be busy with things until Sunday :S
  2104. Shane Booth
  2105. 17/12/2015 01:21
  2106. Shane Booth
  2107.  
  2108. k, fixed
  2109. Mathew Campbell
  2110. 17/12/2015 01:26
  2111. Mathew Campbell
  2112.  
  2113. Cool. Now it just seems to freeze sometimes :|
  2114. Shane Booth
  2115. 17/12/2015 01:27
  2116. Shane Booth
  2117. Shane Booth
  2118. 17/12/2015 01:27
  2119. Shane Booth
  2120.  
  2121. nice; which agent?
  2122.  
  2123. and what's the state of the board?
  2124. Mathew Campbell
  2125. 17/12/2015 01:29
  2126. Mathew Campbell
  2127.  
  2128. Jimmy vs random. Hold on, just trying to figure out which log. It might be Jimmy taking his sweet time. I just had a game complete, so that's good news.
  2129. Shane Booth
  2130. 17/12/2015 01:29
  2131. Shane Booth
  2132.  
  2133. random doesn't have any decision making so I don't know why it'd be that
  2134.  
  2135. protocol doesn't say anything about having to send a "we're done" message or anything?
  2136. Mathew Campbell
  2137. 17/12/2015 01:30
  2138. Mathew Campbell
  2139.  
  2140. Nope. The game engine detects a game over and sends its own message to both players.
  2141. Shane Booth
  2142. 17/12/2015 01:30
  2143. Shane Booth
  2144.  
  2145. kk
  2146. Mathew Campbell
  2147. 17/12/2015 01:31
  2148. Mathew Campbell
  2149.  
  2150. It's freezing on Jimmy's turn >:D
  2151. Shane Booth
  2152. 17/12/2015 01:31
  2153. Shane Booth
  2154.  
  2155. lol
  2156.  
  2157. could overwrite the tostring of Player.java to return south if p1, north otherwise tongue emoticon
  2158. Mathew Campbell
  2159. 17/12/2015 01:34
  2160. Mathew Campbell
  2161.  
  2162. I originally did that, but when the provided engine swaps, it changes player one to north and player two to south, so the output becomes confusing.
  2163. Shane Booth
  2164. 17/12/2015 01:34
  2165. Shane Booth
  2166.  
  2167. ah, we rotate the board, they make everyone get up and switch seats?
  2168. Mathew Campbell
  2169. 17/12/2015 01:35
  2170. Mathew Campbell
  2171.  
  2172. Yup.
  2173.  
  2174. So Jimmy is still frozen. I think he's frozen in awe at how amazingly the random agent is playing.
  2175. Shane Booth
  2176. 17/12/2015 01:35
  2177. Shane Booth
  2178.  
  2179. like emoticon
  2180.  
  2181. can our thing be played against itself?
  2182.  
  2183. randomagent should take effectively no time so game should be practically instantaneous
  2184. Mathew Campbell
  2185. 17/12/2015 01:39
  2186. Mathew Campbell
  2187.  
  2188. It freezes sometimes. Very odd.
  2189. Shane Booth
  2190. 17/12/2015 01:39
  2191. Shane Booth
  2192.  
  2193. indeed
  2194.  
  2195. maybe add a log statement when our thing thinks the game is finished
  2196. Mathew Campbell
  2197. 17/12/2015 01:40
  2198. Mathew Campbell
  2199.  
  2200. Aye. I'm leaving it for tomorrow now.
  2201.  
  2202. *Today
  2203. Shane Booth
  2204. 17/12/2015 01:40
  2205. Shane Booth
  2206.  
  2207. fair enough
  2208. Mathew Campbell
  2209. 17/12/2015 01:41
  2210. Mathew Campbell
  2211.  
  2212. I'll be in uni briefly, then eating Pizza, then online at home. Night.
  2213. Shane Booth
  2214. 17/12/2015 01:41
  2215. Shane Booth
  2216.  
  2217. nn
  2218. Thursday
  2219. Matthew Todd
  2220. 17/12/2015 18:45
  2221. Matthew Todd
  2222.  
  2223. Do we need to be in for the ai lecture tomoz guys??
  2224. Shane Booth
  2225. 17/12/2015 20:56
  2226. Shane Booth
  2227.  
  2228. dunno
  2229.  
  2230. is there anything else that needs doing code wise before we submit? can we reliably play games now?
  2231. Matthew Todd
  2232. 17/12/2015 22:56
  2233. Matthew Todd
  2234.  
  2235. i don't exactly know if we need to be there not seen anything saying we do or don't just says a workshop
  2236. Mathew Campbell
  2237. 17/12/2015 23:33
  2238. Mathew Campbell
  2239.  
  2240. > can we reliably play games now?
  2241.  
  2242. No. We freeze sometimes for unknown reasons.
  2243.  
  2244. Sorry I'm on late. Got maybe two hours of broken sleep.
  2245. Shane Booth
  2246. 17/12/2015 23:34
  2247. Shane Booth
  2248.  
  2249. did you add the logging to when our game engine thinks the game is over?
  2250. Mathew Campbell
  2251. 17/12/2015 23:35
  2252. Mathew Campbell
  2253.  
  2254. Nope.
  2255. Shane Booth
  2256. 17/12/2015 23:35
  2257. Shane Booth
  2258.  
  2259. do that, see if our engine thinks that the game has ended before it actually has tongue emoticon
  2260. Mathew Campbell
  2261. 17/12/2015 23:37
  2262. Mathew Campbell
  2263.  
  2264. Sure. Grabbing some food. Final day starts now tongue emoticon I've still got my Agile coursework to work on, so I'll be swapping between the two tasks.
  2265. Shane Booth
  2266. 17/12/2015 23:37
  2267. Shane Booth
  2268.  
  2269. oh dear, I'm probably gonna grab a few hours of sleep soon, when do we need to submit by?
  2270. Mathew Campbell
  2271. 17/12/2015 23:39
  2272. Mathew Campbell
  2273.  
  2274. Five minutes before midnight tomorrow.
  2275. Shane Booth
  2276. 17/12/2015 23:40
  2277. Shane Booth
  2278.  
  2279. ok, that's not too bad, should definitely be fixable before then
  2280. Mathew Campbell
  2281. 17/12/2015 23:42
  2282. Mathew Campbell
  2283.  
  2284. Yeah. I'll be up all of Friday to work on it. Should have Agile out of the way this morning. Should be able to track down the problem.
  2285. Shane Booth
  2286. 17/12/2015 23:42
  2287. Shane Booth
  2288.  
  2289. cool, do we need to be in the workshop tomorrow? I assume not?
  2290.  
  2291. and make sure you get some sleep, much easier to work on it when we're both awake colonthree emoticon
  2292. Mathew Campbell
  2293. 17/12/2015 23:44
  2294. Mathew Campbell
  2295.  
  2296. There's nothing scheduled. Just the final deadline listed. I'll get a little bit of sleep before the random building work restarts.
  2297. Shane Booth
  2298. 17/12/2015 23:45
  2299. Shane Booth
  2300. Mathew Campbell
  2301. 17/12/2015 23:46
  2302. Mathew Campbell
  2303.  
  2304. I'm going to focus on Agile for now. Then I can concentrate fully on AI later. Speak to you later.
  2305. Shane Booth
  2306. 17/12/2015 23:46
  2307. Shane Booth
  2308.  
  2309. sounds like a plan, I'm off to bed, I think
  2310. Today
  2311. Mathew Campbell
  2312. 13:02
  2313. Mathew Campbell
  2314.  
  2315. Based on my progress with Agile, I should be available from 1500 onwards. If you want to get together in Kilburn to work through bugs I'll be there.
  2316. Shane Booth
  2317. 14:12
  2318. Shane Booth
  2319. Mathew Campbell
  2320. 14:13
  2321. Mathew Campbell
  2322.  
  2323. Make that 15:30. Going to be delayed heading in.
  2324. Shane Booth
  2325. 14:13
  2326. Shane Booth
  2327.  
  2328. well I've just got back to mine, I wouldn't worry about heading to kb as long as you can work tongue emoticon
  2329. Mathew Campbell
  2330. 14:16
  2331. Mathew Campbell
  2332.  
  2333. Alright, I'll just stay here. Less time wasted travelling.
  2334. Shane Booth
  2335. 14:38
  2336. Shane Booth
  2337. Shane Booth
  2338. 15:19
  2339. Shane Booth
  2340.  
  2341. I added some new log statements, can you run it with those and put the log on gist or whatever?
  2342. Mathew Campbell
  2343. 15:27
  2344. Mathew Campbell
  2345.  
  2346. So far it's completed one game fine and the connection to the game engine broke down once. Nothing helpful in the log for that. Hopefully I can get it to freeze again soon.
  2347. Shane Booth
  2348. 15:27
  2349. Shane Booth
  2350. Mathew Campbell
  2351. 15:29
  2352. Mathew Campbell
  2353.  
  2354. Frozen. No indication that our program thinks the game is over. Log incoming.
  2355. Shane Booth
  2356. 15:30
  2357. Shane Booth
  2358. Shane Booth
  2359. 15:30
  2360. Shane Booth
  2361.  
  2362. well not like emoticon but you know what I mean
  2363. Mathew Campbell
  2364. 15:31
  2365. Mathew Campbell
  2366.  
  2367. https://gist.github.com/curiousinternals/7c3fc3558b4a04a2a26b
  2368. Shane Booth
  2369. 15:31
  2370. Shane Booth
  2371.  
  2372. which player is our engine?
  2373.  
  2374. our agent*
  2375. Mathew Campbell
  2376. 15:33
  2377. Mathew Campbell
  2378.  
  2379. Player 2
  2380.  
  2381. /North
  2382. Shane Booth
  2383. 15:35
  2384. Shane Booth
  2385.  
  2386. "Turn: PLAYER1" it should still be player 2's turn at that point, right?
  2387. Mathew Campbell
  2388. 15:38
  2389. Mathew Campbell
  2390.  
  2391. The "Turn: PLAYER1" applies to everything below the line until the next turn is declared. Or do you mean something else?
  2392. Shane Booth
  2393. 15:38
  2394. Shane Booth
  2395.  
  2396. hence the freeze, game engine is still waiting for another go from us
  2397. Mathew Campbell
  2398. 15:39
  2399. Mathew Campbell
  2400.  
  2401. The final move by player two captures a stone, which should result in a second move. Is that what you're saying?
  2402. Shane Booth
  2403. 15:40
  2404. Shane Booth
  2405.  
  2406. the final move by player 2 ends in player 2's store, therefore player 2 gets another move
  2407. Mathew Campbell
  2408. 15:41
  2409. Mathew Campbell
  2410.  
  2411. Alright. The problem is probably in the model then, because the turns are read from the board state.
  2412. Shane Booth
  2413. 15:45
  2414. Shane Booth
  2415.  
  2416. yes, I know where the problem is tongue emoticon
  2417.  
  2418. k, should be fixed once this version builds smile emoticon
  2419. Mathew Campbell
  2420. 15:48
  2421. Mathew Campbell
  2422.  
  2423. Cool. Still one known bug (random loss of connection) left. Hopefully the last if we're lucky tongue emoticon
  2424.  
  2425. Also, I remembered that we have the project wiki stuff to fill in. Shouldn't take long to type a summary of what happened after this.
  2426. Mathew Campbell
  2427. 15:51
  2428. Mathew Campbell
  2429.  
  2430. Another freeze almost immediately:
  2431.  
  2432. shell:
  2433. 0 -- 7 7 7 7 7 7 7
  2434. 7 7 7 7 7 7 7 -- 0
  2435. Move: South - 2
  2436. 0 -- 7 7 7 7 7 7 8
  2437. 7 0 8 8 8 8 8 -- 1
  2438. Move: Swap
  2439. Move: North - 1
  2440. 1 -- 8 8 8 8 8 8 0
  2441. 8 0 8 8 8 8 8 -- 1
  2442.  
  2443. output.log:
  2444. Turn: PLAYER1
  2445. 0 -- 7 7 7 7 7 7 7 : PLAYER2
  2446. 7 7 7 7 7 7 7 -- 0 : PLAYER1
  2447. Action: MOVE 2, PLAYER1
  2448. Turn: PLAYER2
  2449. 0 -- 7 7 7 7 7 7 8 : PLAYER2
  2450. 7 0 8 8 8 8 8 -- 1 : PLAYER1
  2451. Action: SWAP, PLAYER2
  2452. Turn: PLAYER1
  2453. 1 -- 8 8 8 8 8 0 7 : PLAYER2
  2454. 8 7 7 7 7 7 7 -- 0 : PLAYER1
  2455. Shane Booth
  2456. 15:55
  2457. Shane Booth
  2458.  
  2459. looks fine to me?
  2460.  
  2461. game engine doesn't print state after a swap, but we haven't received north's move
  2462. Mathew Campbell
  2463. 15:57
  2464. Mathew Campbell
  2465.  
  2466. Does Jimmy just sit around deciding for ages sometimes then?
  2467. Shane Booth
  2468. 15:57
  2469. Shane Booth
  2470.  
  2471. no, our side doesn't seem to have reacted to the move
  2472.  
  2473. we've called swap, jimmy's said 1, we've not got it?
  2474.  
  2475. it's the right player's turn, but if it's frozen there, external agent doesn't seem to have read the "Move: North - 1"
  2476. Mathew Campbell
  2477. 15:59
  2478. Mathew Campbell
  2479.  
  2480. I see. Because the protocol doesn't just tell you which side made a move, I had to try and figure it out in a way that's probably broken in some cases frown emoticon
  2481. Shane Booth
  2482. 16:00
  2483. Shane Booth
  2484.  
  2485. indeed tongue emoticon
  2486.  
  2487. so keep track of the moves our agent makes and you know you can ignore those moves?
  2488. Mathew Campbell
  2489. 16:02
  2490. Mathew Campbell
  2491.  
  2492. See if the logic makes sense to you. ExternalAgent getNextMove(). It should keep track of whose turn the last move resulted in. So if the last turn resulted in YOU as the turn, it drops the message. If it's OPP or there is no previous message then it keeps it.
  2493. Shane Booth
  2494. 16:05
  2495. Shane Booth
  2496.  
  2497. how bout in the opponent action method, after you've sent the message to the gameengine, you receive the next message from the game engine, because it's guaranteed to be your move?
  2498.  
  2499. should be easier than keeping track of whose turn the last move resulted in tongue emoticon
  2500. Mathew Campbell
  2501. 16:09
  2502. Mathew Campbell
  2503.  
  2504. Good point. Much simpler. Changing.
  2505. Shane Booth
  2506. 16:22
  2507. Shane Booth
  2508.  
  2509. any new freezes or does it look solid?
  2510. Mathew Campbell
  2511. 16:25
  2512. Mathew Campbell
  2513.  
  2514. Having issues with the Listener. There's a NullPointerException thrown and I suspect it's because the Listener is trying to read a line before it exists. Modifying to have to wait until a line becomes available.
  2515. Shane Booth
  2516. 16:26
  2517. Shane Booth
  2518.  
  2519. bufferedreader only returns null on end of stream, iirc
  2520. Mathew Campbell
  2521. 16:27
  2522. Mathew Campbell
  2523.  
  2524. Well the stream is ending then.
  2525. Shane Booth
  2526. 16:27
  2527. Shane Booth
  2528.  
  2529. we don't close anything, though?
  2530. Mathew Campbell
  2531. 16:27
  2532. Mathew Campbell
  2533.  
  2534. Nope.
  2535. Shane Booth
  2536. 16:28
  2537. Shane Booth
  2538.  
  2539. so the gameengine is closing it, so end of game?
  2540. Mathew Campbell
  2541. 16:28
  2542. Mathew Campbell
  2543.  
  2544. Turn: PLAYER1
  2545. 6 -- 15 0 3 7 4 13 1 : PLAYER2
  2546. 5 9 15 5 2 7 0 -- 6 : PLAYER1
  2547. Exception in thread "main" java.lang.RuntimeException: java.lang.NullPointerException
  2548. at kalah.program.Optimism.main(Optimism.java:63)
  2549. Caused by: java.lang.NullPointerException
  2550. at kalah.engine.message.engine.EngineMessageFactory.getMessage(EngineMessageFactory.java:14)
  2551. at kalah.engine.Listener.next(Listener.java:21)
  2552. at kalah.agent.ExternalAgent.getNextMove(ExternalAgent.java:49)
  2553. at kalah.engine.GameDriver.step(GameDriver.java:55)
  2554. at kalah.engine.GameDriver.complete(GameDriver.java:75)
  2555. at kalah.program.Optimism.main(Optimism.java:53)
  2556. Mathew Campbell
  2557. 16:28
  2558. Mathew Campbell
  2559.  
  2560. Doesn't look like the game should be ending.
  2561. Shane Booth
  2562. 16:31
  2563. Shane Booth
  2564.  
  2565. yeah, readline on a buffered reader should only return null when the stream closes
  2566.  
  2567. is it reproducable?
  2568. Mathew Campbell
  2569. 16:37
  2570. Mathew Campbell
  2571.  
  2572. Still checking. Even with the simpler method of dropping duplicate messages I'm still getting freezes.
  2573. Mathew Campbell
  2574. 16:38
  2575. Mathew Campbell
  2576.  
  2577. # shell:
  2578. 0 -- 7 7 7 7 7 7 7
  2579. 7 7 7 7 7 7 7 -- 0
  2580. Move: South - 2
  2581. 0 -- 7 7 7 7 7 7 8
  2582. 7 0 8 8 8 8 8 -- 1
  2583. Move: Swap
  2584. Move: North - 1
  2585. 1 -- 8 8 8 8 8 8 0
  2586. 8 0 8 8 8 8 8 -- 1
  2587.  
  2588. # output.log:
  2589. Turn: PLAYER1
  2590. 0 -- 7 7 7 7 7 7 7 : PLAYER2
  2591. 7 7 7 7 7 7 7 -- 0 : PLAYER1
  2592. Action: MOVE 2, PLAYER1
  2593. Turn: PLAYER2
  2594. 0 -- 7 7 7 7 7 7 8 : PLAYER2
  2595. 7 0 8 8 8 8 8 -- 1 : PLAYER1
  2596. Action: SWAP, PLAYER2
  2597. Turn: PLAYER1
  2598. 1 -- 8 8 8 8 8 0 7 : PLAYER2
  2599. 8 7 7 7 7 7 7 -- 0 : PLAYER1
Add Comment
Please, Sign In to add comment