Thursday, January 21, 2016

Move to Web-based

In August 2015, due to the difficulty in getting video streaming working for 100% of users, the decision was made to redo the DartMan application as a web application, that is accessed online in your browser (Google Chrome, Firefox etc). This is now accessible via https://dartmanonline.mickhynes.com.

As a result of this, the Windows DartMan application will not be updated again. All the focus will be on this new site where you can play games instead.

Since Augsust, in summary, the following updates have been made:

  • Moved online play to new dartmanonline.mickhynes.com web site
  • Online play with embedded video available for the following game types:
    • x01
    • Cricket
  • New Lobby
  • Moved the site to HTTPS
  • Added emoticons to the lobby
Work is ongoing to continue to improve the DartMan web site. On the list of thing to add are:

  • Play against the computer
  • Connect/Login/Register with Facebook
  • Ability to create groups of players and leagues
    • View statistics specific to the groups/leagues
  • and more...
If you have any suggestions, please add them to the below.

Tuesday, July 14, 2015

Website Update - Charts on View Match page

The DartMan website has been updated with the following changes:

Bug Fixes


  • Fixed a bug causing NAN to appear on checkout values where the player had 0 darts at a double.

Updates 

  • Added charts to the View Game page, which show Average score in each leg, progression of three dart average by Leg and Checkouts for each leg.
The charts look like this:


Please provide feedback in the comments, via twitter or Facebook.

Monday, July 13, 2015

Website Updates

The DartMan website has been updated with the following changes:

Bug Fixes

  • Fixed a bug that caused the server to distribute an empty GameFinished message to all clients when a player quit DartMan.

Updates

  • Added camera icon in Games List to indicate if there are images uploaded from this game available to view.
  • 180s and High Checkouts are now uploaded to Twitter, in addition to the existing Facebook uploads.
Please provide any feeback etc via the comments, or our contact page, Facebook or Twitter pages.

Saturday, July 11, 2015

DartMan v2.2.1.18 released!

DartMan has been updated with the following changes:

Bug Fixes


  • Fixed issues with saved settings for Video Compression and FPS to send not being loaded correctly on start up.
  • Fixed a bug which caused a Game Request which had just been accepted, to be displayed and the player advised again that it had been received.
  • "Empty" game requests are now cleared up if an attempt to decline or accept them is made.

Updates



  • The DartMan logo is displayed whilst waiting for the video connection to be established.
  • Renamed the Network and Video options tab to Webcam
  • You can now change the web cam to use whilst in a game. This can be done from the Options -> Webcam tab, and takes effect immediately.
  • Within the Online tab, the player states are more descriptive now when in game, detailing their opponents and the start score.
  • Added a Quit Game button for local x01 games.
DartMan will automatically update when restarted. Please provide any feedback, comments, suggestions or bug reports in the comments, or via our contact page, Facebook or Twitter links.

Wednesday, July 8, 2015

DartMan v2.2.1.17 released!

DartMan has been updated with the following updates:

Updates

  • Changes to the quality of images, and the frames per second being sent to the opponent player are adjusted automatically. Each client tells the other client how many images per second they are receiving, and if it doesn't match what the target rate is, the sending client will lower it's quality of images and/or the rate at which it sends them, until the receiving client is getting a steady stream of images.

Bug Fixes

  • Fixed bug which caused an unhandled exception if the computer doesn't have a wireless network card installed.
DartMan will automatically update once restarted. Please provide any feedback in the comments below, or via the Contact page (link above) using the form or our Twitter button.

Saturday, June 20, 2015

DartMan v2.2.1.15 Released

DartMan has been updated, with the following changes:

Updates

  • The Scores Screen can now be moved anywhere by dragging it while holding the left mouse button down on it.
  • The Scores Screen will now always open on the non-primary display.
  • Empty chat messages are no longer sent.
  • Improved STUN Server connectivity by using IP Address initially, and only falling back to DNS resolution if that fails.
  • The Checkouts table and Players table are loaded from local cache first, then refreshed after from the database, to improve loading time.
  • DartMan now notifies you if you've beaten your best 3 Dart Average or Best Checkout % records after a game.
  • DartMan now shows a player's records when they are selected in the player list (Online or Local game screens).
  • Removed the My Web Cam view from the Remote Player's Webcam screen to improve performance - there is no need for it.
  • Set the FPS to send to remote player to 6 (was 8), to try improve performance
  • Changed the interval for checking messages awaiting Acks from every 0.4 seconds to every 1 second.
  • DartMan now opens the external port on the router if UPnP is working for every connection it establishes.
  • Refreshing the OnlinePlayers list is now done asynchronously to ensure no lock up of the application if it takes longer than usual for the service to return.
  • Updated the Refreshing of Online Players, so that the currently selected player in the list does not get reset/changed when players are refreshed.
  • Added logging of available WiFi networks and signal strength, as well as the currently connected SSID. This information will be logged periodically, as well as when a client connection times out for any reason.
  • After successful configuration of port-forwarding via UPnP, DartMan stops looking for UPnP devices on the network.
  • When Feedback is submitted, the current log file is uploaded also.

Bug Fixes

  • Fixed a bug that could cause an unhandled exception if you tried submitting a score before a game is started in Cricket.
  • Fixed bug in package which meant log4net configuration wasn't included
  • Fixed a bug that handled situations where there were duplicate entries in the FriendConnections table
  • Fixed a bug that would cause the server to distribute a GameFinished message if a player disconnected from online and wasn't involved in a game.
  • Fixed a bug that meant the web cam wouldn't display or get used properly when using Direct3D methods. Reverted to standard painting methods to correct this.
  • Fixed a bug that meant DartMan would need to be restarted after one successful Web Cam game, in order to be able to set up another one.
DartMan will automatically update when restarted. Please provide any feedback in the comments, or via the contact page on the website.

Friday, May 22, 2015

Website Updates - Facebook Uploads

Website Updates - Facebook Uploads

The DartMan website has been updated with the following functionality:

Please visit the page and like it! You can also tag yourself in any of the pictures that belong to you!

Friday, May 15, 2015

Latest Updates to DartMan and WebSite

The following updates have been applied to DartMan and the website:

DartMan v2.2.1.10

Updates


  • DartMan now receives and displays notifications if the server shuts down for any reason
  • Updated the Feedback form to require a valid email address if a player is not logged into DartMan
  • Added a KeepAlive.log file for full logging of all Keep-Alive traffic received to help with network investigations
  • Added indicators showing connection to online status: Offline, Connecting or Online. When Online, the number of online players is also displayed.
  • Chat messages sent in game to the remote player are only displayed locally when the Chat message Ack is received. This is confirmation that the remote player actually received the chat message.
  • DartMan now saves pics of checkout attempts >130 where the player has a dart at the double.
  • Added a button in the Connect tab within Options for players who have forgot their password

Bug Fixes

  • Fixed bugs when saving images in some situations.
  • DartMan now reconnects to a player during a game, if the connection is lost for any reason.
  • The WebCam display in the top left of the screen is now hidden for non-online games, as the current player's webcam is displayed in the main area.
  • The score board in the My Dartboard screen is now updated when playing a local game against a player or the computer and using the webcam.

DartMan Website

Updates

  • Added two new record types - "Highest Three Dart Avg" in games of 5 legs or more, and "Best Checkout %", where the player has thrown 5 darts or more at a double in a game.
  • Updated the SubmitFeedback service to take an email address as a parameter, so that there is an ability to contact the feedback submitter if they aren't a logged in user.
  • Added a KeepAlive.log file for full logging of all Keep-Alive traffic received.

Bug Fixes

  • Links to games from the Records page now also bring you to the correct set, if there are more than 1 sets in the game
  • Fixed a bug which meant that user's forum account details weren't synched properly with their DartMan profile.
The DartMan application will update automatically when next started. Please provide any feedback, comments or suggestions in the comments below.

Wednesday, April 1, 2015

DartMan and Website Updates

DartMan v2.2.1.9 released!

The following changes have been applied to DartMan:

Updates

  • Improved performance of sending image data over UDP sockets for video streaming
  • Added option for configuring size of UDP image packets, to provide ability to adjust to a best setting per user. The default setting is 1200 bytes.
  • DartMan now logs the NatType returned from the STUN Server, to enable further work on troublesome NATs getting online.

Bug Fixes

  • Non-active clients and game requests are now cleared down in all situations, fixing issues with connecting to a player after cancelling a previous request.
  • Fixed a bug which caused an InvalidOperationException when setting the remote image received.
  • Fixed a bug which meant that your online opponent's scores weren't being called out on your PC if sounds were enabled.
DartMan will automatically update itself when restarted.

WebSite Updates

The following changes have been applied to the DartMan website:

Updates

  • Added ability to view your stats in the Stats Page based on the Start Score of a game (usually 501), if you have played games other than 501.
  • Added a column of stats for the date range selected on the Stats Page.
  • The DartMan Server now notifies clients if it is shutting down for any reason.
Please report any feedback, issues or suggestions via the comments below, our contact page, or our Facebook or Twitter accounts.

Monday, March 16, 2015

Application and Website Updates

Application and Website Updates

Whilst there hasn't been any updates published over the last couple of months, a lot of work has continued to go into DartMan, with particular focus on the online elements. Hopefully, this update will improve things further again, and enable more players to be able to play online with video using their webcams. There has also been updates to the website. Details of all changes are as follows:

DartMan Application (version 2.2.1.8)

Updates

  • Added a Clear Scores button to the Cricket game, to allow players to clear the currently entered scores to correct mistakes.
  • Fixed some areas where connecting to the server for Online play may not work or retain a connection.
  • Combined UDP Hole Punching techniques with UPnP Port Forwarding to try increase online connectivity percentages.
  • Previously uploaded log files are now deleted from the log folder on start-up.
  • In game chat messages are now automatically scrolled to the bottom, so the latest entry is always immediately visible.
  • Chat messages received while the relevant window is not in focus are displayed in the notification area, so they are not missed.
  • Improved the performance of the Hole Punching methods so more users should get online.
  • Ability to use webcam when playing offline, against Computer or Human opponents.
    • When using this feature, a new tab will appear showing your dartboard view from your webcam.
    • Any scores of 170 or over will be saved, as well as checkouts of over 80.
    • These images will appear on the website when viewing the game details
    • Note: You must enter your score prior to taking the darts out of the board to ensure the image saved shows your darts in the board!

Bug Fixes

  • Fixed a bug which meant that if Rematch was chosen very quickly after a match ended, the game just finished would not be saved to the database, and subsequent games also weren't saved.
  • Fixed a bug that occurred when playing against the computer where, on the computer throw, if you use the up arrow to try edit your previous score, a row was inserted in the wrong place.

DartMan Website

Updates

  • Changed the location for Online Games in the Recent Games lists to "Online" instead of the location of the game starter.
    • An icon is also displayed to indicate the online game.
  • The View Game page now shows any images that were uploaded as part of that game. These images include scores over 170, and checkouts over 80.

Bug Fixes

  • Removed the "played in" phrase prior to displaying the location of a game in the View Game screen, which means that large locations don't skew the stats display.
  • Fixed display of the bottom navigation menu.
As always, feedback, comments or suggestions are welcome. Please provide in the comments here, or via the Contact page on the website.

Wednesday, December 24, 2014

Practise Games - Cricket Added!

Due to popular demand, I've started work on adding practise games to DartMan. The first of these to be added is Cricket.

To start a game of cricket:
  • Open DartMan
  • Click the Practise Games tab in the Game Setup section
  • Select the players to play
    • You can add new players to the list by entering their name, and clicking Add Player to List
  • When you click Start Game, the cricket screen will be displayed:
  • The player who's shot it is now, will be highlighted in blue.
  • The current shot number (1st Shot, 2nd Shot, 3rd Shot) will be highlighted.
  • Click the appropriate buttons corresponding to the player's score.
    • If a player misses in a single shot, click No Score
    • If a player misses in all of their shots, just click Submit Scores to submit empty scores for each shot
    • The next shot number will be highlighted. To go back to change a shot, click the corresponding box - the highlighting will change to indicate that shot will be logged next.
  • When all three scores are entered, click Submit Scores to log the scores.
    • The next player will be highlighted.
  • Scores are tallied after each time that Submit Scores is entered.
  • When a player has won the game, a message will be displayed to indicate this.
  • Click Restart Game to start another game with the same group of players.
    • Check the Randomise Player Order box to sort the player order randomly.
As this is a new addition, please provide any feedback or report any issues you may encounter. Hope you enjoy it - Happy Christmas from the DartMan team!

Saturday, December 13, 2014

Website Updates

The DartMan website has been updated with the following changes:

Updates


  • Updated the Games List page (stats/games) to show player usernames instead of their real names
  • Updated the Recent Games list on the right side of the home page with a button to toggle the display of computer games in the list.
  • Updated the player Stats page to show the most recent games played by the player, and most recent records achieved by the player. There are also links to show all games by that player (view all…) under the Recent Games list.

Bug Fixes



  • Fixed a bug on the stats page which showed 'NaN' (Not a Number) in the some figures, instead of 'n/a'
  • Fixed a bug which meant that changing the dates in the Stats page, and clicking Refresh Stats had no effect - the results shown were the same as previously. This is now corrected.
  • Fixed bugs which meant that changes to the filters on the games list page were not reflected properly when the Refresh button was clicked.  This is now corrected.

Friday, November 21, 2014

DartMan v2.2.1.6 released!

DartMan has been updated with the following changes:

Updates

  • Made some aestethic changes to the display of online players and game requests.
  • Added a 'friend' icon beside online players who are in your friends list.

Bug Fixes

  • Fixed a bug that meant the F12 function key for submitting the remaining score for the current player to win the leg, as well as other function keys (for example pressing F5 with 60 remaining) didn't complete the leg correctly, and could also cause exceptions which crashed the program. This now works as expected.
  • Corrected the logic that determines if the score entered is valid in some scenarios
  • Fixed a bug which meant that if any player declined an online game request, those two players could not make new game requests to each other after that point.
  • Set the Minimum Value on First To Legs to 1, instead of 0
DartMan will update automatically the next time it's started.

Tuesday, November 18, 2014

DartMan v2.2.1.5 released!

DartMan has been updated to version 2.2.1.5 with the following changes:

Updates:


  • Added ability to edit the display name in the Game Screen
    • This is possible only for non computer players, in offline games only.
    • Double-click the Player Name to edit it. Press enter when done.
  • Improved Computer Player logic when approaching or executing finishes. The Computer player attempts smarter choices now, dependent on how many darts they've thrown so far in the current turn. For example:
    • If the computer has 188 remaining and one dart left, he will aim for Treble 18
      • Single 18 leaves 170, which is still a finish.
    • With 50 remaining, and more than one dart, the Computer won't shoot for the bull, however if it's last dart he will shoot for bull.

The following updates have also been applied in the interim versions between this and version 2.2.1.0:

Updates:


  • Added a Frames Per Second option to control how many video frames are sent to the opposition player's computer in online web cam games. This should help allow players adjust video to a satisfactory level.
  • Added notification for a failed connection to the server. In these instances, logs will be uploaded to the server for my analysis.
  • Player states change if a local game is started now, no longer just Online games

Bug Fixes:


  • All game requests and rejected/cancelled, and existing games are quit if a player shuts down DartMan
  • Fixed a bug in the UDP hole punching code which meant that hole punches were not sent for as long a duration as the other client would be listening for them.
  • Fixed a bug that meant connection to server was lost when the player starts a local game.

Monday, October 13, 2014

DartMan 2.2.1.0 released!

A major update to the online code for DartMan should result in almost all logged-in players going online automatically, without any configuration! The same technique used for connecting players to the server is applied to the video-streaming between players, meaning that this should also have a much higher success rate. The online page layout has also been updated so that it is more fluid, and allows all the areas to be resized to suit your preference. The full list of changes in this release are as follows:


  • Updated the entire Networking codebase to use UDP instead of TCP for server and player to player connections. This should eliminate the need for manual router configuration for most users, and allow most users to go online automatically.
  • Reorganised the Online screen with sizable areas to better display all information.
  • When you go online, you are notified of how many players are online, and how many of those are friends.
  • New Video Streaming options:
    • Added Video Compression option to control level of compression.
    • Added Frames Per Second to Send option to control how many video frames are sent to the opposition player's computer. This should help adjust video to a satisfactory level.
    • These options should allow players to adjust the video streaming to a level that works well for their system.
Please set the video resolution to the lowest resolution on your WebCam initially, and then test with higher ones to see which gives the best balance between quality of image, and frame rate.

Please provide any feedback or suggestions in the comments box below.

Saturday, August 16, 2014

DartMan v2.2.0.12 released!

DartMan has been updated, with the following changes:

Updates


  • Added a Send Current Log to Support... menu item in the Help menu
    • This will allow you to directly send a log file to us if you experience an issue, so that it can be investigated quickly.
  • DartMan will now attempt to open ports on the router, even if it experiences an error retrieving existing port mappings from the router.
    • This may help more users get online automatically, without having to manually forward ports on their router

Bug Fixes



  • Fixed another scenario where video would only work for 1 online game. After one online game, video might not work again until DartMan was restarted.
DartMan will automatically update the next time it is restarted.

Wednesday, August 13, 2014

DartMan 2.2.0.10 released!

DartMan has been updated with the following changes:

Updates


  • Clicking the highlighted player's name in the Online Lobby will open their stats page on the website.
  • Records are now shown to the user again when a player beats their best leg and/or high checkout. This was broken in the last few releases. Also, an optional sound is played when this occurs to further alert the player.
  • The Test Camera button is now disabled while there is an online game in progress. This is because clicking this button during a game could result in issues with the live video feed to the other player.

Bug Fixes

  • Fixed scenario where the video stream was too large to send to the remote player. Now, if too high a resolution is chosen for the webcam, DartMan will automatically reduce the resolution until a suitable one is found for streaming video.
  • Fixed a bug which caused users to go offline and online any time any setting was changed and saved.
DartMan will automatically update when restarted. Please provide feedback and suggestions in the comments, or via the Contact page on the website.

Friday, August 1, 2014

DartMan v2.0.0.9 Released!

DartMan has been updated! The main changes are around the online video elements, with the match scores now shown with the remote player's video feed, and better resolution video now available. Full details of the changes are detailed below:

Updates

  • Added current game scores on top of the remote player's webcam screen
  • Added ability to select video resolution for web cam online games. Previously this was always set to the web cam's default setting.
  • In the online lobby, the selected player's country name is now shown above their flag.
  • Changing of online comms ports settings no longer requires a restart, unless you are in the middle of an online game.
  • Added a feedback form, accessible from the Help menu. It will also be shown the first time an online game is completed.
  • In the online lobby, the selected player's country name is now shown above their flag.

Bug Fixes

  • Fixed a bug in 'Best Of' games which was calculating the games required to win the game incorrectly. For example, in a best of 3 previously you would not win the match having won 2 legs. This is fixed now.
  • Fixed a bug which meant that a webcam game would only work once. In any subsequent games video would not be received from the remote player, until DartMan was restarted.
  • Fixed a bug causing the code that stops an online game to be executed twice
  • Fixed a bug which caused all online players to receive two notification messages when a player went offline
  • Fixed the link launched when clicking the balloon for help with connecting to online
DartMan will automatically update the next time it is launched. Please provide any feedback or suggestions in the comments below, or via the Contact page on our site.

Tuesday, July 22, 2014

Update - Sets and Draws added!

DartMan has been updated, with the major change being the ability to play sets of x number of legs, as well as the ability to play 'Best Of' x number of legs, rather than just 'First To'. This will allow draw results to be possible, which opens the way for adding tournaments/leagues, which is on the horizon.

The changes in this release are:

Updates

  • Introduced/enabled the ability to play Set Games
  • Introduced the ability to draw games, by using the 'Best Of' option, instead of 'First To'.
    • This is only applicable to 'Best of' leg games (not sets).
    • Also, this currently does not apply to online games (but will shortly)
  • Improved further the automatic configuration of network ports for online play via UPnP

Bug Fixes

  • Fixed a bug which meant that when a user clicked the Logout button on the Connect tab, the online client remained running.
  • Fixed a bug where when an online web cam game completed, DartMan was still trying to receive remote web cam video from the other player.
  • The link for downloading the PDC Darts Demo installation (which contains the caller out sounds) in the Sounds Options tab is now working.

Website Updates

The DartMan website has also been updated, to handle the display of set games, and draws:
  • The Recent Results list shows the score with 'Legs' or 'Sets' to indicate the match type
  • The Games List page now shows:
    • 'Legs' or 'Sets' to indicate the match type
    • If a result is a draw, it displays this
DartMan will automatically update to the latest version the next time it is launched. Please provide feedback in the comments below, or via the Contact page on the website.

Friday, July 18, 2014

Website Updated

The DartMan website has been updated with the following changes:

  • It is now possible to search for users in the My Friends page by username as well as email
  • The My Friends page now shows the username of each friend, instead of the player name