{"id":114,"date":"2022-03-26T19:06:58","date_gmt":"2022-03-26T19:06:58","guid":{"rendered":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s22-teama4\/?p=114"},"modified":"2022-03-26T19:06:58","modified_gmt":"2022-03-26T19:06:58","slug":"henrys-status-report-for-03-26","status":"publish","type":"post","link":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s22-teama4\/2022\/03\/26\/henrys-status-report-for-03-26\/","title":{"rendered":"Henry&#8217;s Status Report for 03\/26"},"content":{"rendered":"<p>This week I was able to reach my goals of implementing the multiplayer capabilities and adding Bluetooth communication code to give the VR headset the ability to interact with the paddle&#8217;s rPi and the camera&#8217;s Jetson.\u00a0 The only thing that I am waiting on right now is the wifi card for the Jetson which I am going to order this weekend.\u00a0 The wifi card is necessary for bluetooth connection between the Jetson and the Google Cardboard.<\/p>\n<p>The multiplayer capabilities took a lot longer for me to implement than I expected.\u00a0 Initially, I used an open source library called Riptide Networking to program this, but the problem was that it was a lot more low-level than I wanted it to be, which means more unnecessary work.\u00a0 An example would be that I would have to explicitly code what information I wanted to send from a server to a client rather than the library taking care of that for me.\u00a0 I spent a lot of time researching and starting the code using the Riptide library when I decided to change to a multiplayer library called Mirror, which does a lot more work for me than Riptide.\u00a0 Mirror does a lot of client-server communication, so instead of me explicitly telling the server what to send to the client, Mirror automatically send the server&#8217;s game state to the client by itself.\u00a0 The biggest thing I had to do with Mirror was program the spawn parameters for when players entered a game.\u00a0 This includes limiting the game to have only two players,\u00a0 making sure two players spawned on different ends of the table, and starting the game when two players connected to the game.\u00a0 Another cool thing with Mirror is that the server and client run the same game, all I need to do is assign a computer as a server and the other two computers as clients.\u00a0 This saved me a lot of time because with Riptide, I would&#8217;ve had to create a client version of the game where it read information from the server and reflected it in the graphics.<\/p>\n<p>Going off our Gantt chart my progress is on time, I have about a week to get Logan&#8217;s CV information incorporated into my game, which shouldn&#8217;t take much time at all.\u00a0 The biggest risk right now is how fast the wifi card can come in and how quickly we can get it working with the Jetson.\u00a0 Any free time I have can be spent working on incorporating better graphics and finalizing the UI of the game.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>This week I was able to reach my goals of implementing the multiplayer capabilities and adding Bluetooth communication code to give the VR headset the ability to interact with the paddle&#8217;s rPi and the camera&#8217;s Jetson.\u00a0 The only thing that I am waiting on right now is the wifi card for the Jetson which I &hellip; <\/p>\n<p class=\"link-more\"><a href=\"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s22-teama4\/2022\/03\/26\/henrys-status-report-for-03-26\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Henry&#8217;s Status Report for 03\/26&#8221;<\/span><\/a><\/p>\n","protected":false},"author":557,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[7],"tags":[6],"_links":{"self":[{"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s22-teama4\/wp-json\/wp\/v2\/posts\/114"}],"collection":[{"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s22-teama4\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s22-teama4\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s22-teama4\/wp-json\/wp\/v2\/users\/557"}],"replies":[{"embeddable":true,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s22-teama4\/wp-json\/wp\/v2\/comments?post=114"}],"version-history":[{"count":1,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s22-teama4\/wp-json\/wp\/v2\/posts\/114\/revisions"}],"predecessor-version":[{"id":115,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s22-teama4\/wp-json\/wp\/v2\/posts\/114\/revisions\/115"}],"wp:attachment":[{"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s22-teama4\/wp-json\/wp\/v2\/media?parent=114"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s22-teama4\/wp-json\/wp\/v2\/categories?post=114"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s22-teama4\/wp-json\/wp\/v2\/tags?post=114"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}