Mark Williams Log

Senior Project Spring ‘06

 

 

Tuesday- 1/8/06

            The group met for about ten minutes after class to discuss the status of the project.

 

Wednesday - 1/8/06 – 2 hours

            I spent two hours going over some sample code from MSDN to create asynchronous sockets using VB.  After the two hours I was so lost that I decided to just create the sockets from scratch.

 

Thursday – 1/9/06 – 1.25 hours

            The group met during class time.  We discussed the project schedule a little and then spent a good deal of the time going function by function of how a remote player connects to a game.  This was a somewhat painful process but very useful.  We also refined the screen shots a little and set a plan for more productive meetings.

 

Sunday – 1/15/06 – 2 hours

            I spent some time by myself setting up sockets in VB.  I found out that VB sockets are very similar to what I learn about in 447.  I don’t see any major problems transmitting data over the network so far.

 

Tuesday 1/17/06 – 1.25 hours

            The group met during class time.  We broke into two different groups to work on separate pieces of the project.  My team spent the meeting talking about the processes involved in networking.  We talked in detail how the classes should work all the way up to the headers of some of the functions that we will need for communicating between the interface/game and the client/server subsystems.

 

Thursday 1/19/06 – 1.5 hours

            The group met during class time to discuss the upcoming status report and then break into teams.  My team would once again talk about the next phase of the project and how that phase interacts with phase one.  However, Prof. Dooly came into the meeting to check on us and we spent the rest of the meeting talking with him about our status and then the issue of copyright law was brought up again.

 

Sunday 1/21/06 – 1 hour

            I spent some time to continue working on my sample code for VB sockets.  When I am done this code will allow a remote player to connect to the host.  Next I need to work on a remote player’s moves.

 

Wednesday 1/25/06 – 1 hour

            I spent some time continuing my work with the VB sockets example I am working on and started working on passing the move strings between two computers.

 

Saturday 1/28/06 – 2 hours

            I worked on phase one today.  I continued to work on the algorithm that detects if a path through the maze is possible.  This will be added to phase one when Matt and Aaron send me a copy of the code.

 

Tuesday – 1/31/06 – 1.5

            The team met at the usual time and place to discuss the project.  We spent the majority of the time talking about the timeline and what needs to happen at each stage and by what date.

 

Thursday – 2/2/06 – .25

            The group met only briefly today to because of the faculty interview today.  We gave quick updates on the status of the project and then broke up to work individually and to watch the presentation.

 

Tuesday – 2/7/06 – 1.5

            The group met for our meeting.  Todd and I spent the meeting testing phase one of the project.  We did not find any bugs but we discussed many HCI changes we would like to see in phase one.

 

Thursday – 2/9/06 – 1.5

            The team met at our usual Thursday meeting.  We looked at some HCI changes Todd has made to the program and discussed each one and what future changes we will have.  We discussed what must happen to the program before our next presentation on next Thursday and we agreed to have a meeting next Wednesday to rehearse the presentation and make sure the demo program is ready for the presentation.

 

Saturday – 2/11/06 – 1

            I received a copy of Matt’s code for what he has done for phase one.  I am reviewing the changes made to the code since the last time I saw the code.  I will begin to add the networking to this phase this week and when Matt has finished phase one, my the two programs will be combined to form phase two.

 

Tuesday – 2/14/06 – 1

            I have begun to add the code I wrote one my own to the program for the networking.  So far I have added the basic socket objects for the log in process for clients.  No team meeting today because of the class presentations.

 

Thursday – 2/16/06

            No meeting today because of the presentation.  My assignment for this week is to continue working on networking two instances of the game together and to test version one.

           

Monday –2/20/06 – 2

            I worked for two hours on the host instance of the program to allow him to receive client connects after he begins listening for clients.  Everything with the actual communication seems to be going fine but I am having some problems with the array of clients connected to the server.

 

Tuesday –2/21/06 – 1.5

            The group had our usual Tuesday meeting.  My assignment for the meeting was to test phase one as we are getting ready for a beta release to give to Professor Klein.  During my testing I found several problems with the program which I brought to the attention of the group.  Together we decided how to fix the problems and it will be my responsibility to fix the errors.

 

Thursday – 2/23/06 – 3.5

            We had our usual group meeting at the usual time.  We reviewed the problems we had from Tuesday with Matt.  We spent some time catching Matt up with the status of the project and we spent the rest of the time discussing the status of the project and what needs to happen before and during spring break. 

            I spent the afternoon working on fixing the problems I saw in phase one.  Most of the fixes were fairly simple to implement.

 

Friday – 2/24/06 – 3 hours

            I spent some more time by myself fixing more bugs with phase one.  Most of the time was spent on fixing the game logs screen.  We wanted the logs in a slightly different format then what we had originally implemented.

 

Monday – 2/27/06 -- .5 hours

            I figured out a fix for a problem with the show logs form I noticed before. 

 

Tuesday – 2/28/06 – 1.5 hours

            The group had its usually meeting.  We discussed the status of the project and reviewed what everyone’s assignments were.

 

Thursday – 1/2/06 – 1.5

            The group had its usual Thursday meeting.  Dr. Dooly stopped by to check on the status of the project as we headed to break.

 

Wednesday – 3/8/06 – 7 hours

            I spent a lot of time working on phase two of the project.  I coded many of the objects we need for networking.  The login procedures seem to work and I’m ready to code playing the game.

 

Thursday – 3/9/06 – 7 hours

            I tried coding the sending of move strings through the game.  This turned out to be much harder than we originally thought.  We will need several different threads for each part of the system to run at the same time.

 

Friday – 3/10/06 – 6 hours

            I continued what I started yesterday.  Phase two has proven to be much more difficult than we thought.  I narrowed my focus to just coding two players playing locally with sockets and a master game.

 

Saturday – 3/11/06 – 4 hours

            I finally got the game flow of any number of players playing on one instance of the game coded and I began coding two players playing on different instances of the game.

 

Monday – 3/13/06 – 3 hours

            I’m continuing to work on two players playing the game on different instances of the game.

 

Tuesday – 3/14/06 – 1.5 hours

            We had our group meeting today to discuss the status of each of our assignments.

 

Thursday – 3/15/06 – 1.5 hours

            We had our group meeting to discuss the upcoming presentation and demonstration.

 

Friday – 3/17/06 – 2 hours

            I’m continuing to work by myself on the networking phase.  Currently I have completed connecting to the game from a remote instance and sending the game parameters back to the remote instance.

 

Monday – 3/20/06 – 3 hours

            I am spending time working on passing moves back and forth through between two instances of the game and having the program respond correctly.

 

Tuesday – 3/21/06 – 1.5 hours

            No meeting today because we are giving our status updates along with two other groups.

 

Thursday – 3/23/06 – 1.5 hours

            No meetings again because three more groups are giving their status updates.

 

Friday – 3/24/06 – 3 hours

            I worked on the networking phase of the project.  I was able to make the game wait for movements when the current player is not local to the host instance.  I did this by altering a function already in the program.  If the current player is not local to the current instance of the game then the program will wait for that player.

 

Saturday – 3/25/06 – 3 hours

            I managed to get the game to play on two separate instances each with one player.  I have seemed to have worked through the problems of waiting for a turn and then returning control to the user to input their turn.  Next I will need to expand this so that all four players can play in any combination.

 

Sunday – 3/26/06 – 1.5 hours

            I fixed a problem with the win conditions so that when a player wins all versions of the game receive the win and act appropriately.

 

Monday – 3/27/06 – 1 hour

            With most of the networking functionality in the program I began to try to fix a number of bugs that have come into the program with all the networking functionality.

 

Tuesday – 3/28/06 – 1.5 hours

            We had our meeting today.  I brought the rest of the group to the senior project lab and showed off the networking progress I have made.  We talked about some bugs that seem to have come up.

 

Thursday – 3/30/06 – 1.5 hours

            We talked about the status of the project.  Now that the networking phase is underway the AI programs can be developed.  We also reviewed the status report we got back from our presentation and debugged an error Todd found when continuing a saved game.

 

Sunday – 4/1/06 – 1 hour

            I spent sometime searching trying to come up with a solution to the problem of the not showing the game screen when the waiting on the first move for a player.  I have no solution yet.

 

Monday – 4/2/06 – 2 hours

            I spent about 2 hours trying to fix some bugs with the threading used in our code.  Sometimes one of the threads incorrectly shuts down.  I believe this problem is solved although it is hard to tell since this error shows up randomly.

 

Tuesday – 4/3/06 – 1.5 hours

            We met at our usual time today.  We discussed the status of the Networking phase and what to do with the AI’s. 

 

Thursday – 4/6/06 – 1.5 hours

            Dr. Dooly stopped by our meeting today.  We discussed many things with him.  Some things about the CS department and what will happen during the rest of the class.  We also spent a little time to prepare for the upcoming presentation.

 

Friday – 4/7/06 – 4 hours

            I have added several features.  Now the game board screen will show even if a player is waiting for another player to make their move.  I added the ability to use a computers network name instead of its IP address.  This turned out to be not very difficult.

 

Saturday -- 4/8/06 – 3 hours

            I spent some time working on the program.  I fixed a bug where a player couldn’t jump over another player onto the board.  I also changed the way we change the server port number on a host instance of the game.

 

Sunday – 4/9/06 – 2 hours

            I looked into a problem Aaron pointed out.  When we changed all the players to communicating with sockets then we broke the resume game functionality.  Looking at the code this will be a large problem to fix.  I also tested running the program over the internet with a friend of mine.  This worked very well.  One thing I noted was a problem that the team anticipated; certain networks or firewalls will block ports and not allow a connection to be made without configuring the network. 

 

Tuesday – 4/11/06 – 1.5 hours

            No meeting today because of status reports.

 

Wednesday – 4/12/06 – hours

            I’m looking at the code we broke with the save functionality to figure out how to make this work.

 

Thursday – 4/13/06 – 1.5 hours

            No meeting today because of status reports.

 

Friday, Saturday, Sunday – 4/14/06 4/15/06 4/16/06 – 12 hours

            I spent a good part of the weekend working on fixing the resuming of a saved game.  After much time I figured out how to resume a game over the network.  I then coded and tested this functionality.

 

Monday – 4/17/06 – 1 hour

            I spent some time testing a debugging the code I work on over the week.

 

Tuesday – 1.5 hours

            The team met at our usual time.  I showed the save functionality I’ve been working on. 

 

Wednesday – 1 hour

            I worked on fixing a bug that stopped the program from working.  We are having a problem choosing port numbers.  This has led to the program breaking.  I think I have the problem fixed.

 

Thursday – 3.5 hours

            We have our usual meeting.  This meeting broke very early because the team had individual work to work on.  Afterwards I worked on many bugs that the team has found in the program.      

 

Monday – 4/24/06 – 2 hours

            When Todd made some interface changes to the code he broke a lot of the original functionality.  I had to add back every “handles” state back in the code by hand and test the program.

 

Tuesday – 4/25/06 – 1.5 hours

            We meet today as a group to discuss the final week of the project.  We talked about how any changes were to be made to the project must be reflected in the final product and presentation. 

 

Thursday – 4/27/06 – 3.5 hours

            We had our usual meeting with the whole group.  We looked over the whole presentation before our practice presentation.  Later I worked on making final changes and testing the product to make sure it would work for the presentation.  (Just for my own piece of mind)

 

Friday – 4/28/06 – 2 hours

            We had our practice presentation with Dr. Blythe and Dr. Dooly.  After the presentation they gave us feedback on how improve the presentation.

 

Tuesday – 5/02/06 – 1 hour

            Once again I tested the program on my own though all the scenarios we would put the project through during the presentation.  I also created and installer program to install Quoridor to the clients computer.

 

Wednesday – 5/03/06 – 2 hours

            The team gave own final rehearsal for the presentation.  Then we gave the actual presentation.