{"id":336,"date":"2014-02-14T18:12:28","date_gmt":"2014-02-14T18:12:28","guid":{"rendered":"http:\/\/www.anthonybarranco.com\/wp\/?p=336"},"modified":"2014-02-14T18:21:51","modified_gmt":"2014-02-14T18:21:51","slug":"unity-mulitplayer-games-book-preview","status":"publish","type":"post","link":"http:\/\/anthonybarranco.com\/blog\/unity-mulitplayer-games-book-preview\/","title":{"rendered":"Unity Mulitplayer Games Book Preview"},"content":{"rendered":"<p>Hey everyone! I&#8217;ve been super busy with some awesome career developments. In the meantime,\u00a0<a href=\"http:\/\/bit.ly\/1ct8u9F\">I have a really cool Unity programming book<\/a> I will be reviewing sometime this weekend.<\/p>\n<p>Here&#8217;s a quick preview of the book to wet your appetite!<\/p>\n<p><!--more--><\/p>\n<p><a href=\"http:\/\/bit.ly\/1ct8u9F\">Unity Multiplayer Games by Alan Stagner<\/a>, published by Packt Publishing, covers a variety of paradigms to use for creating multiplayer games in Unity. Starting from basic UDP communication, the book progressively builts up through cloud-hosted game servers, matchmaking, chat clients, event systems, stat databases, server-side physics and hit detection all in Unity C#. It is an extremely powerful and detailed book that will have you building all kinds of cool multiplayer projects right from Chapter 1!<\/p>\n<p>Anyone familiar with Unity 3 or 4 and basic C# can pick up this book and learn some very awesome skills that are relevant to the games industry. \u00a0As someone who is currently just getting started in game development professionally, I can attest the topics covered in this book are\u00a0<strong>very relevant.\u00a0<\/strong>With the way the industry is moving progressively to an &#8220;always-online, always-connected&#8221; state, these skills are critical to have if you want to stand out.<\/p>\n<p>My full review of the book will be coming out sometime this weekend, probably late Sunday, where I will go much more in depth on the book and its specific topics.<\/p>\n<p>Here is a small snippet from Chapter 3 of\u00a0<a href=\"http:\/\/bit.ly\/1ct8u9F\">Unity Multiplayer Games by Alan Stagner<\/a>:<\/p>\n<blockquote><p>Chapter 3, Photon Server \u2013 Star Collector, introduces dedicated servers for<br \/>\ngames. It covers creating a Photon Server application, connecting to a server, using<br \/>\nthe request\/response\/event system to communicate, and creating a simple Star<br \/>\nCollector game.<\/p>\n<p>Dedicated servers<br \/>\nPhoton Server is built on the concept of dedicated servers. Whereas in Unity<br \/>\nNetworking one player is the host and other players directly connect to their<br \/>\nmachine, in Photon Server you host one or more dedicated servers that players<br \/>\nconnect to. Additionally, this server usually performs as much game logic as<br \/>\npossible, unlike Photon Unity Networking \/Photon Cloud, where clients are<br \/>\nresponsible for game logic.<\/p>\n<p>Dedicated servers are most often used for MMO-type games, as mentioned<br \/>\npreviously. By processing as much logic on the server as possible, the potential for<br \/>\ncheating is dramatically reduced. For example, many MMOs implement simple<br \/>\npoint-and-click movement logic, where the player simply points where they want<br \/>\nto move to. The client would most likely send a simple move request containing<br \/>\nthe point the user clicked. The server handles path \ufb01 nding and actually moving the<br \/>\ncharacter to that point. The client can also predict how the character will move (by<br \/>\ngenerating its own path and moving the character), but ultimately the server gets<br \/>\ntotal control over the character (and likely broadcasts an absolute position often,<br \/>\nwhich the client &#8220;corrects&#8221; as its own state, to ensure the client is always in step with<br \/>\nthe server).<br \/>\nPhoton Server also includes a redistributable package. This allows players to<br \/>\nhost their own servers, similar to games like Minecraft (where the server logic is<br \/>\nseparated into another application, which is running with the game). This can be an<br \/>\nimprovement over games hosted within the client, as players can run their server on<br \/>\na dedicated machine without playing actively.<\/p>\n<p><a href=\"http:\/\/www.packtpub.com\/sites\/default\/files\/9781849692328_Chapter-03.pdf?utm_source=packtpub&amp;utm_medium=free&amp;utm_campaign=pdf\">For a sample of Chapter 3, including code on setting up Photon Server, download it here.<\/a><\/p><\/blockquote>\n","protected":false},"excerpt":{"rendered":"<p>Hey everyone! I&#8217;ve been super busy with some awesome career developments. In the meantime,\u00a0I have a really cool Unity programming book I will be reviewing sometime this weekend. Here&#8217;s a quick preview of the book to wet your appetite!<\/p>\n","protected":false},"author":1,"featured_media":339,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[36],"tags":[39,9,37,38,29],"class_list":["post-336","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-review","tag-book","tag-pc","tag-programming","tag-review-2","tag-unity"],"_links":{"self":[{"href":"http:\/\/anthonybarranco.com\/blog\/wp-json\/wp\/v2\/posts\/336","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/anthonybarranco.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/anthonybarranco.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/anthonybarranco.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/anthonybarranco.com\/blog\/wp-json\/wp\/v2\/comments?post=336"}],"version-history":[{"count":3,"href":"http:\/\/anthonybarranco.com\/blog\/wp-json\/wp\/v2\/posts\/336\/revisions"}],"predecessor-version":[{"id":340,"href":"http:\/\/anthonybarranco.com\/blog\/wp-json\/wp\/v2\/posts\/336\/revisions\/340"}],"wp:attachment":[{"href":"http:\/\/anthonybarranco.com\/blog\/wp-json\/wp\/v2\/media?parent=336"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/anthonybarranco.com\/blog\/wp-json\/wp\/v2\/categories?post=336"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/anthonybarranco.com\/blog\/wp-json\/wp\/v2\/tags?post=336"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}