<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-544804370897859364</id><updated>2026-04-27T21:36:56.888+02:00</updated><category term="Unity3D"/><category term="Unity"/><category term="UnityCollab"/><category term="wooglie"/><category term="appup"/><category term="crashdrive"/><category term="multiplayer"/><category term="Hardware"/><category term="Networking"/><category term="Photon"/><category term="Publisher"/><category term="Servers"/><category term="amazon"/><category term="android"/><category term="bomb factory"/><category term="cdn"/><category term="cloudfront"/><category term="creative technology"/><category term="iOS"/><category term="mac"/><category term="msi"/><category term="presentation"/><category term="slavehack"/><category term="stacking island"/><category term="store"/><category term="tool"/><category term="twente"/><category term="unite"/><category term="unity c# delegates delegate action events"/><title type='text'>M2H</title><subtitle type='html'>Game development and more</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://blog.m2h.nl/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/544804370897859364/posts/default'/><link rel='alternate' type='text/html' href='http://blog.m2h.nl/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Mike Hergaarden</name><uri>http://www.blogger.com/profile/04313722531741801493</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgf2VysfeWK-BXlhCp7o21IZ9HsQUtSWdX4LcpaeDOegC1ujmUlbFB1gWtHPRV4JVUs457OsVoILXuRiZWtAl0mvLGd5AbdzGmbxnCoZHePLg-6aPyrvpZ5mcSHeXpV9Q/s113/Mike_2018_1jpeg90_1280x1920.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>22</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-544804370897859364.post-9098070100190357766</id><published>2014-02-13T12:05:00.002+01:00</published><updated>2014-02-13T12:05:26.780+01:00</updated><title type='text'></title><content type='html'>&lt;h2&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;span style=&quot;color: red;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;span style=&quot;color: red;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;span style=&quot;color: red;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;span style=&quot;color: red;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;span style=&quot;color: red;&quot;&gt;Blog moved!&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;a href=&quot;http://m2h.nl/blog&quot;&gt;Go to&amp;nbsp;&lt;/a&gt;&lt;a href=&quot;http://m2h.nl/blog&quot;&gt;M2H.nl/blog&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/h2&gt;
</content><link rel='replies' type='application/atom+xml' href='http://blog.m2h.nl/feeds/9098070100190357766/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.m2h.nl/2014/02/blog-moved-go-to-m2h.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/544804370897859364/posts/default/9098070100190357766'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/544804370897859364/posts/default/9098070100190357766'/><link rel='alternate' type='text/html' href='http://blog.m2h.nl/2014/02/blog-moved-go-to-m2h.html' title=''/><author><name>Mike Hergaarden</name><uri>http://www.blogger.com/profile/04313722531741801493</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgf2VysfeWK-BXlhCp7o21IZ9HsQUtSWdX4LcpaeDOegC1ujmUlbFB1gWtHPRV4JVUs457OsVoILXuRiZWtAl0mvLGd5AbdzGmbxnCoZHePLg-6aPyrvpZ5mcSHeXpV9Q/s113/Mike_2018_1jpeg90_1280x1920.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-544804370897859364.post-6329953439235735573</id><published>2012-01-31T18:37:00.000+01:00</published><updated>2012-02-01T11:16:04.786+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Hardware"/><category scheme="http://www.blogger.com/atom/ns#" term="Servers"/><category scheme="http://www.blogger.com/atom/ns#" term="Unity"/><category scheme="http://www.blogger.com/atom/ns#" term="Unity3D"/><category scheme="http://www.blogger.com/atom/ns#" term="wooglie"/><title type='text'>The server side of game development</title><content type='html'>&lt;div&gt;
Are you running your own websites/multiplayer games? You&#39;ll know that hosting and scaling of your games can be quite a puzzle.Making the wrong choices when starting development can lead to server capacity problems quickly. As we have tried nearly all possible hosting options it was about time to share our experiences.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;&lt;span style=&quot;font-size: large;&quot;&gt;Improvisation...&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEipSUI5Va4ymWRyfxbeNL2LGzCGQcFjqB3kcy6K7Pk5hacu7HNMliFJ3xWQtWLo0e6TUS0qNPCz2fI6C1h5Jd0GbgQB9Y8V13q4KbU3WOYjdr4LKLY6M6Yahn_Ov0aHco3Mjjt8P8A35B1R/s1600/servers.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;432&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEipSUI5Va4ymWRyfxbeNL2LGzCGQcFjqB3kcy6K7Pk5hacu7HNMliFJ3xWQtWLo0e6TUS0qNPCz2fI6C1h5Jd0GbgQB9Y8V13q4KbU3WOYjdr4LKLY6M6Yahn_Ov0aHco3Mjjt8P8A35B1R/s640/servers.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;Our first &quot;professional&quot;&amp;nbsp;server. First it ran on 5 rolls of toilet paper in the attic and was later moved to a real data center&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;br /&gt;
I started developing games in 2005. Back then I ran a few simple websites and browser based games (most notably &lt;a href=&quot;http://www.syrnia.com/&quot;&gt;Syrnia &lt;/a&gt;and &lt;a href=&quot;http://www.slavehack.com/&quot;&gt;SlaveHack&lt;/a&gt;). I ran these games on a ordinary desktop PC which was located in the attic of the house. Later on this &quot;server&quot; was replaced by a real server..but still located in the attic. As you can see in the pictures above I used toilet paper to reduce the noise that the servers resonance made.&amp;nbsp;Furthermore&amp;nbsp;I put a smoke detector on top of it just to be sure.. &lt;br /&gt;
I had to start somewhere.&lt;br /&gt;
&lt;br /&gt;
Obviously this wasn&#39;t going to scale well... the internet connection from home was quite good (10Mbit or so) but a few short circuits in the house, a server crash during my holidays and the possibility of fire were really getting on my nerves. That&#39;s when I got the possibility to co-locate the server in a rack in Amsterdam.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Co-location&lt;/b&gt;&lt;br /&gt;
The&amp;nbsp;co-location&amp;nbsp;was a great improvement. Remote management was quite scary but actually worked great, especially thanks to remote-reboot options and the occasional on-site assistance in case the server wouldn&#39;t come back online.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Renting dedicated servers&lt;/b&gt;&lt;br /&gt;
The next step was the realisation that owning (and managing) my own hardware was just silly. My core business is games, not server management. I decided to move to Leaseweb to rent two dedicated servers there. Finally I wouldn&#39;t have to worry about replacing malfunction hardware on-site. Whenever problems did arise all I&#39;d have to do was mail and wait. That&#39;s far better then having all responsibility at my own end.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Cloud hosting and Amazons Content delivery Network (CDN)&lt;/b&gt;&lt;br /&gt;
The last chapter of our server adventure has been quite a ride. First of all, we moved our dedicated machines to Leasewebs express&amp;nbsp;&lt;b&gt;cloud hosting (VPS)&lt;/b&gt;. The main reason for this move is that I didn&#39;t want to keep re-installing our servers every year; I moved server every year to keep up with price and hardware changes. With the cloud hosting solution the specs will automatically be upgraded. Moving the virtual server to a new (better and/or cheaper) physical machine is easy as the whole installation can simply be copied.&lt;br /&gt;
&lt;br /&gt;
Wooglie started to to grow exponentially during 2011. At times all our websites were offline due to the traffic demands of Wooglie. We had already upgraded our main server a few times, so that&#39;s when we started looking at hosting solutions for our game files. We assumed &lt;b&gt;Amazons Cloudfront&amp;nbsp;&lt;/b&gt;was a logical start: it would scale endlessly and was really, really, easy to setup. However, our hosting bill went up from 200 to about 1500 Euros a month: We now served 3 times more traffic because we could now cope with the new demands, but besides that, traffic was also about two times as expensive. Cloudfront charges different prices per region, i.e. South America costs twice as much as the (cheapest) USA region: 0.25$ per GB instead of 0.12$. We did not need the different regions Cloudfront supports so we moved Wooglies file hosting to &lt;b&gt;Amazon&amp;nbsp;S3 &lt;/b&gt;and served this from USA-only instead of all the varying locations. This saved us 50% on the bill because of USA&#39;s lower bandwidth costs.&lt;br /&gt;
&lt;br /&gt;
The high S3 bill was really taking a big bite of Wooglies advertisement revenue. I have over 20+ domains and my main servers at Leaseweb and really like having all serves/domains etc. registered at one party. When I asked &lt;a href=&quot;http://www.wooglie.com/link.php?link=1&quot;&gt;Leaseweb&lt;/a&gt; whether they had any plans for a CDN their support&amp;nbsp;advised&amp;nbsp;a single &lt;b&gt;dedicated &quot;volume&quot; server&lt;/b&gt; based in the USA. This cut our costs from $1200+ to less then $150 per month for Wooglie&#39;s file hosting. Fun fact: Even with the prices being about 8 times lower, this cheaper option offers 10 times more bandwidth included in the price (100TB/month). Lesson learned? Don&#39;t make the mistake to use a CDN&#39;s&amp;nbsp;luxury&amp;nbsp;when you don&#39;t really need it.&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-size: large;&quot;&gt;&lt;b&gt;Hosting solutions for (Unity based) (multiplayer) games&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: large;&quot;&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
To sum up all lessons that we&#39;ve learned I&#39;ll illustrate a possible server setup for a multiplayer game. I&#39;ll take &lt;a href=&quot;http://www.cubelands.com/&quot;&gt;Cubelands &lt;/a&gt;server setup as an example as it&#39;s not different from say a multiplayer FPS game or even a simple MMORPG:&lt;br /&gt;
&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;Website&amp;nbsp;&lt;/li&gt;
&lt;li&gt;Hosting the game downloads (standalone and/or webplayer)&lt;/li&gt;
&lt;li&gt;Game database (players, friendlist etc.)&lt;/li&gt;
&lt;li&gt;Game server (Multiplayer servers, e.g. Photon)&lt;/li&gt;
&lt;/ol&gt;
&lt;div&gt;
&lt;br /&gt;
Cubelands had 300,000 registered players just before it was sold. Let&#39;s design this example for about 1000(+) &amp;nbsp;concurrent users&amp;nbsp;(CCU).&amp;nbsp;If I had to setup a game like Cubelands anew this would be my target configuration for a first launch:&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;ol&gt;
&lt;li&gt;&lt;b&gt;Website&lt;/b&gt;&lt;br /&gt;One good VPS server. (4gb mem, 2Ghz 4 cores)&lt;br /&gt;+- 50 Euros/month&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Game database&amp;nbsp;&lt;/b&gt;&lt;br /&gt;It is easy enough to run the games database on the same (powerful) VPS/cloud server that your website runs on. This can later be moved to a dedicated database server when required.&lt;br /&gt;0 Euros/month&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Hosting game downloads:&lt;/b&gt;&lt;br /&gt;A dedicated traffic/volume server is most cost effective as its&amp;nbsp;definitely&amp;nbsp;over 10x cheaper than a CDN solutions. If you are concerned about scaling and have money to burn you can move to one of the cheaper Amazon S3 regions for a fixed bandwidth fee. If you have even more money left or file download speed is really important, Cloudfront is an amazing but expensive option.&lt;br /&gt;For this example I&#39;d use: 100TB USA based server &lt;i&gt;OR&lt;/i&gt; an unmetered 100Mbps server&lt;br /&gt;+- 150 Euros/month&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Game servers (Multiplayer servers, e.g. Photon)&lt;/b&gt;&lt;br /&gt;What really attracts me as Indie developer is ExitGames new Cloud hosting service. This completely&amp;nbsp;eliminates&amp;nbsp;the need for managing servers and scales extremely well. It&#39;s even cheaper than self hosting because you pay exactly for what you use.&lt;br /&gt;&lt;u&gt;Watch out:&lt;/u&gt;&amp;nbsp;Amazons cloud servers(S2) are great for HTTP traffic but have a high latency for UDP traffic. This makes it a bad candidate for hosting game servers such as Photon.&lt;br /&gt;Photon cloud server 1000 CCU: &amp;nbsp;+- 128 Euros/month.&lt;/li&gt;
&lt;/ol&gt;
&lt;div&gt;
&lt;br /&gt;
Overall this setup costs about 328 euros per month, for this price you can quite easily run 1000 concurrent users.&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-size: large;&quot;&gt;&lt;b&gt;Summary of our findings:&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Hosting your own server in your attic&lt;br /&gt;&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;-&lt;/span&gt; &lt;/b&gt;Fire, crashes, bad internet connection and you need to move the server when you run out of toilet paper.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;Co-location&lt;br /&gt;&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;- &lt;/span&gt;&lt;/b&gt;Managing hardware isn&#39;t our business.&lt;/li&gt;
&lt;li&gt;Amazon cloudfront&lt;br /&gt;&lt;b&gt;&lt;span style=&quot;color: lime;&quot;&gt;+&lt;/span&gt;&lt;/b&gt; Amazingly easy to configure &amp;amp; super speedy.&amp;nbsp;&amp;nbsp;No worries about scaling/downtime.&lt;br /&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;b&gt;-&lt;/b&gt;&lt;/span&gt; Quite expensive (especially regions like South America)&lt;/li&gt;
&lt;li&gt;Amazon S3:&lt;br /&gt;&lt;b&gt;&lt;span style=&quot;color: lime;&quot;&gt;+&lt;/span&gt;&lt;/b&gt;&amp;nbsp;Easy to configure, no worries about scaling/downtime.&lt;br /&gt;&lt;span style=&quot;color: red;&quot;&gt;- &lt;/span&gt;Cheaper than Cloudfront, still a tad expensive (Cheapest region: 0.12$/Gb)&lt;/li&gt;
&lt;li&gt;Dedicated servers&lt;br /&gt;&lt;span style=&quot;color: lime;&quot;&gt;&lt;b&gt;+&lt;/b&gt;&lt;/span&gt; Great for file hosting because of the cheap&amp;nbsp;bandwidth&amp;nbsp;options&lt;br /&gt;&lt;span style=&quot;color: red;&quot;&gt;-&amp;nbsp;&lt;/span&gt; I don&#39;t like&amp;nbsp;re-installing&amp;nbsp;for every hardware upgrade.&lt;/li&gt;
&lt;li&gt;VPS servers&lt;br /&gt;&lt;span style=&quot;color: lime; font-weight: bold;&quot;&gt;+ &lt;/span&gt;Can easily upgrade when hardware/prices change offers a level of scaling this way.&lt;br /&gt;&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;-&lt;/span&gt;&amp;nbsp; &lt;/b&gt;Too bad there is a limit in scaling..but we&#39;re just spoiled with new services like Cloudfront&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://cloud.exitgames.com/&quot;&gt;Photon Cloud&lt;/a&gt; (game servers)&lt;br /&gt;&lt;span style=&quot;color: lime;&quot;&gt;+&lt;/span&gt;&amp;nbsp; Cost effective, scaling, no worries about servers.&lt;br /&gt;&lt;span style=&quot;color: orange;&quot;&gt;&lt;b&gt;+/-&lt;/b&gt; &lt;/span&gt;Server side scripting is not (yet?) possible on the cloud&lt;/li&gt;
&lt;/ul&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;Where to get your servers?&lt;/b&gt;&lt;br /&gt;
If you are about to setup your first MMORPG and want advice on a server provider I highly recommend &lt;a href=&quot;http://www.wooglie.com/link.php?link=1&quot;&gt;Leaseweb&lt;/a&gt;. I have all our servers/domains there because of their prices and great support. They offer everything I need: from simple webhosting and domain registration to game servers and download servers. Even when our servers run great I check their website every few months or so out of&amp;nbsp;curiosity&amp;nbsp;regarding new products and pricing, as excited as a girl in a new shoe store!&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.m2h.nl/feeds/6329953439235735573/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.m2h.nl/2012/01/server-side-of-game-development.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/544804370897859364/posts/default/6329953439235735573'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/544804370897859364/posts/default/6329953439235735573'/><link rel='alternate' type='text/html' href='http://blog.m2h.nl/2012/01/server-side-of-game-development.html' title='The server side of game development'/><author><name>Mike Hergaarden</name><uri>http://www.blogger.com/profile/04313722531741801493</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgf2VysfeWK-BXlhCp7o21IZ9HsQUtSWdX4LcpaeDOegC1ujmUlbFB1gWtHPRV4JVUs457OsVoILXuRiZWtAl0mvLGd5AbdzGmbxnCoZHePLg-6aPyrvpZ5mcSHeXpV9Q/s113/Mike_2018_1jpeg90_1280x1920.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEipSUI5Va4ymWRyfxbeNL2LGzCGQcFjqB3kcy6K7Pk5hacu7HNMliFJ3xWQtWLo0e6TUS0qNPCz2fI6C1h5Jd0GbgQB9Y8V13q4KbU3WOYjdr4LKLY6M6Yahn_Ov0aHco3Mjjt8P8A35B1R/s72-c/servers.png" height="72" width="72"/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-544804370897859364.post-3493983757438652096</id><published>2011-12-10T18:39:00.001+01:00</published><updated>2011-12-10T19:55:36.519+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="wooglie"/><title type='text'>Wooglie newsletter</title><content type='html'>&lt;br /&gt;
&lt;br /&gt;
&lt;center style=&quot;text-align: center;&quot;&gt;&lt;i&gt;Hereby a repost of the Wooglie newsletter that we have just end to all registered developers.&lt;/i&gt;&lt;/center&gt;&lt;center style=&quot;text-align: center;&quot;&gt;&lt;i&gt;10 December 2011.&lt;/i&gt;&lt;/center&gt;&lt;center&gt;&lt;br /&gt;&lt;/center&gt;&lt;center&gt;&lt;img alt=&quot;Wooglie&quot; src=&quot;http://www.wooglie.com/layout/WooglieLogo.png&quot; /&gt;&lt;/center&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;

Welcome to the first Wooglie newsletter&lt;/h2&gt;
A lot has been happening the last few months, hereby a recap. If you do not appreciate this newsletter you can easily unsubscribe using the link at the bottom of this email.&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;

1. Top earnings&lt;/h3&gt;
Within a few days we&#39;ll pass 30 million gameplays, we have over 1000 registered developers and are still growing rapidly!&lt;br /&gt;
Best of all: developer income keeps increasing, quite a few games have earned over 1000 - 2000 euros. The best performing games are racing and shooter games (On a side note, the next payments will be send in the next three days).&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;

2. GEE contest&lt;/h3&gt;
Participate in the first Wooglie development contest ever and make a chance to earn 4000$ in prizes.&lt;br /&gt;
A requirement for this contest is that your game needs to include multiplayer, any multiplayer package is allowed (Photon, Unity networking etc.).&lt;br /&gt;
&lt;small&gt;More information:&amp;nbsp;&lt;a href=&quot;http://www.wooglie.com/games/GEE&quot; target=&quot;_blank&quot;&gt;http://www.wooglie.com/games/GEE&lt;/a&gt;&lt;/small&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;

3. New layout&lt;/h3&gt;
In September we have launched the new Wooglie layout, this new layout supports Wooglie as the high quality Unity game portal.&lt;br /&gt;
Other improvements include: rating and review system, SEO, tags, plugin installer page and more.&lt;br /&gt;
&lt;a href=&quot;http://www.wooglie.com/&quot; target=&quot;_blank&quot;&gt;Take a look&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;

4. Developer API&lt;/h3&gt;
Publishing to Wooglie is now only 1 click away thanks to the Wooglie developer API. This API can be downloaded for free from the Unity asset store.&lt;br /&gt;
After downloading you can add/edit your games texts and images. After completing this meta data, press the PUBLISH button for automatic building and uploading. The API adds some security to your game so that other game portals cannot link your game without permission.&lt;br /&gt;
The Wooglie API will be expanded with highscore/achievements, user information, language selection and more.&lt;br /&gt;
&lt;div&gt;
&lt;small&gt;&lt;a href=&quot;http://u3d.as/content/m2h/wooglie-api&quot; target=&quot;_blank&quot;&gt;Download the Wooglie API&lt;/a&gt;&lt;/small&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;

5. Cool games&lt;/h3&gt;
Hereby some cool hand picked games that performed very well, have a lot of potential or are worth mentioning otherwise.&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://www.wooglie.com/games/Racing/Rally-Motion&quot; target=&quot;_blank&quot;&gt;Rally motion&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.wooglie.com/games/Racing/RC-Mini-Racers&quot; target=&quot;_blank&quot;&gt;RC Mini racers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.wooglie.com/games/Shooters/Red-Crucible&quot; target=&quot;_blank&quot;&gt;Red Crucible&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.wooglie.com/games/Arcade/Pickle-Pickery&quot; target=&quot;_blank&quot;&gt;Pickle Pickery&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.wooglie.com/games/Shooters/BeGone-+-Guerra&quot; target=&quot;_blank&quot;&gt;Begone: Guerra&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.wooglie.com/games/Action/Carnage-Colosseum&quot; target=&quot;_blank&quot;&gt;Carnage Colosseum&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;br /&gt;
Thank you for using Wooglie, feel free to contact us if you have any questions, we&#39;d love to help publish your game.&lt;br /&gt;
Our goal for the next months is to keep expanding the website and the API to add more features for both developers and players. Any tips/feedback? Please share!&lt;br /&gt;
&lt;br /&gt;
Matt and Mike Hergaarden&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.m2h.nl/feeds/3493983757438652096/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.m2h.nl/2011/12/wooglie-newsletter.html#comment-form' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/544804370897859364/posts/default/3493983757438652096'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/544804370897859364/posts/default/3493983757438652096'/><link rel='alternate' type='text/html' href='http://blog.m2h.nl/2011/12/wooglie-newsletter.html' title='Wooglie newsletter'/><author><name>Mike Hergaarden</name><uri>http://www.blogger.com/profile/04313722531741801493</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgf2VysfeWK-BXlhCp7o21IZ9HsQUtSWdX4LcpaeDOegC1ujmUlbFB1gWtHPRV4JVUs457OsVoILXuRiZWtAl0mvLGd5AbdzGmbxnCoZHePLg-6aPyrvpZ5mcSHeXpV9Q/s113/Mike_2018_1jpeg90_1280x1920.jpg'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-544804370897859364.post-5809582548515630075</id><published>2011-11-17T12:16:00.001+01:00</published><updated>2011-11-17T12:35:37.591+01:00</updated><title type='text'>M2HPatcher: patches Unity games</title><content type='html'>&lt;b style=&quot;-webkit-box-shadow: none !important; background-color: #fefefe; color: #111111; font-family: Helvetica, Arial, sans-serif; font-size: 13px; line-height: 15px;&quot;&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b style=&quot;-webkit-box-shadow: none !important; background-color: #fefefe; color: #111111; font-family: Helvetica, Arial, sans-serif; line-height: 15px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: large;&quot;&gt;M2HPatcher&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b style=&quot;-webkit-box-shadow: none !important; background-color: #fefefe; color: #111111; font-family: Helvetica, Arial, sans-serif; font-size: 13px; line-height: 15px;&quot;&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;Our Unity patch solution has launched on the Unity asset store. It supports Mac and Windows and allows Unity developers to launch updates of their games in a single mouse click. Just sit back and wait for the automated&amp;nbsp;building, zipping, patch creation and uploading of the game files!&lt;br /&gt;&lt;br /&gt;This idea of this tool was born when working on Cubelands and Verdun online. I found that development speed and motivation is much higher when updates to games can be launched regularly, instead of working on big milestones. The difference here is that the focus on smaller launches helps building a stable foundation as it can be regularly tested and improved. A side effect is that it makes development much more fun; no more waiting for months until your features are finally live. Of course you can launch updates to a game every day without M2HPatcher, but if it&#39;s not just a matter of pressing one button, in practice you&#39;ll not release updates as often. Oh, and we shouldn&#39;t forget the bandwidth this saves!&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXlwL1HSSc9hL-p80GoPrXX2w1bhSkTKN9qJcoY-OTxuX8Sqwo_fc1b4F7YXin4RFC7U0Aj7PcgRC_SaYWmdX75A-fd_snNnCcgDGRlX2m9hll6pWFzbzuQAXipehuuG50f2je9Qeri53F/s1600/patcher1.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;381&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXlwL1HSSc9hL-p80GoPrXX2w1bhSkTKN9qJcoY-OTxuX8Sqwo_fc1b4F7YXin4RFC7U0Aj7PcgRC_SaYWmdX75A-fd_snNnCcgDGRlX2m9hll6pWFzbzuQAXipehuuG50f2je9Qeri53F/s400/patcher1.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #111111; font-family: Helvetica, Arial, sans-serif; font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 15px;&quot;&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #111111; font-family: Helvetica, Arial, sans-serif;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 15px;&quot;&gt;&lt;br style=&quot;-webkit-box-shadow: none !important; background-color: #fefefe;&quot; /&gt;&lt;/span&gt;&lt;/span&gt;&lt;b style=&quot;-webkit-box-shadow: none !important; background-color: #fefefe; color: #111111; font-family: Helvetica, Arial, sans-serif; line-height: 15px;&quot;&gt;Features&lt;/b&gt;&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;background-color: #fefefe; color: #111111; font-family: Helvetica, Arial, sans-serif; font-size: 13px; line-height: 15px;&quot;&gt;The creation tool is fully integrated in the Unity editor (Mac and Win)&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;background-color: #fefefe; color: #111111; font-family: Helvetica, Arial, sans-serif; font-size: 13px; line-height: 15px;&quot;&gt;Supports any Mac and Windows standalone games (plus additional files)&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;background-color: #fefefe; color: #111111; font-family: Helvetica, Arial, sans-serif; font-size: 13px; line-height: 15px;&quot;&gt;Full source code included for both the editor scripts and the patch client&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;background-color: #fefefe; color: #111111; font-family: Helvetica, Arial, sans-serif; font-size: 13px; line-height: 15px;&quot;&gt;Updates can be enforced&amp;amp;started from inside your game&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;background-color: #fefefe; color: #111111; font-family: Helvetica, Arial, sans-serif; font-size: 13px; line-height: 15px;&quot;&gt;Fully automated: just click “Publish” to distribute the latest version to your users:&lt;/span&gt;&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;background-color: #fefefe; color: #111111; font-family: Helvetica, Arial, sans-serif; font-size: 13px; line-height: 15px;&quot;&gt;increases the build version number&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;background-color: #fefefe; color: #111111; font-family: Helvetica, Arial, sans-serif; font-size: 13px; line-height: 15px;&quot;&gt;builds a full [Windows, Mac, Webplayer] version of your product&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;background-color: #fefefe; color: #111111; font-family: Helvetica, Arial, sans-serif; font-size: 13px; line-height: 15px;&quot;&gt;creates patches with earlier standalone builds&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;background-color: #fefefe; color: #111111; font-family: Helvetica, Arial, sans-serif; font-size: 13px; line-height: 15px;&quot;&gt;zips the full builds and patch files&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;background-color: #fefefe; color: #111111; font-family: Helvetica, Arial, sans-serif; font-size: 13px; line-height: 15px;&quot;&gt;upload the full builds and patch files&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;background-color: #fefefe; color: #111111; font-family: Helvetica, Arial, sans-serif; font-size: 13px; line-height: 15px;&quot;&gt;publish the latest version number online&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #111111; font-family: Helvetica, Arial, sans-serif;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 15px;&quot;&gt;&lt;b&gt;Links&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #111111; font-family: Helvetica, Arial, sans-serif;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 15px;&quot;&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;a href=&quot;http://u3d.as/content/m2h/m2hpatcher/2rU&quot;&gt;Download it from the Unity asset store&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://m2h.nl/files/M2HPatcher.pdf&quot;&gt;Documentation&lt;/a&gt;&lt;div&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #111111; font-family: Helvetica, Arial, sans-serif; font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #111111; font-family: Helvetica, Arial, sans-serif; font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #111111; font-family: Helvetica, Arial, sans-serif;&quot;&gt;&lt;b&gt;Demo video&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #111111; font-family: Helvetica, Arial, sans-serif; font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;iframe allowfullscreen=&#39;allowfullscreen&#39; webkitallowfullscreen=&#39;webkitallowfullscreen&#39; mozallowfullscreen=&#39;mozallowfullscreen&#39; width=&#39;320&#39; height=&#39;266&#39; src=&#39;https://www.youtube.com/embed/cRlfjd0NC0Q?feature=player_embedded&#39; frameborder=&#39;0&#39;&gt;&lt;/iframe&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #111111; font-family: Helvetica, Arial, sans-serif; font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #111111; font-family: Helvetica, Arial, sans-serif; font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 15px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi0uV7aNYzXUC-dq4Gcko1XO1FLrWDz4YG78yoYcWY2iEk5Gjjm29qoij2DiUSp_yd77NcPQs3TJ0PXATxCpMFlJwHTUz0_WyOOsNek-wM537IHuuN6BCAk5DXnp3Cm_6ScJSN2cEFj9xcA/s1600/patch.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;280&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi0uV7aNYzXUC-dq4Gcko1XO1FLrWDz4YG78yoYcWY2iEk5Gjjm29qoij2DiUSp_yd77NcPQs3TJ0PXATxCpMFlJwHTUz0_WyOOsNek-wM537IHuuN6BCAk5DXnp3Cm_6ScJSN2cEFj9xcA/s640/patch.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.m2h.nl/feeds/5809582548515630075/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.m2h.nl/2011/11/m2hpatcher-patches-unity-games.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/544804370897859364/posts/default/5809582548515630075'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/544804370897859364/posts/default/5809582548515630075'/><link rel='alternate' type='text/html' href='http://blog.m2h.nl/2011/11/m2hpatcher-patches-unity-games.html' title='M2HPatcher: patches Unity games'/><author><name>Mike Hergaarden</name><uri>http://www.blogger.com/profile/04313722531741801493</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgf2VysfeWK-BXlhCp7o21IZ9HsQUtSWdX4LcpaeDOegC1ujmUlbFB1gWtHPRV4JVUs457OsVoILXuRiZWtAl0mvLGd5AbdzGmbxnCoZHePLg-6aPyrvpZ5mcSHeXpV9Q/s113/Mike_2018_1jpeg90_1280x1920.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXlwL1HSSc9hL-p80GoPrXX2w1bhSkTKN9qJcoY-OTxuX8Sqwo_fc1b4F7YXin4RFC7U0Aj7PcgRC_SaYWmdX75A-fd_snNnCcgDGRlX2m9hll6pWFzbzuQAXipehuuG50f2je9Qeri53F/s72-c/patcher1.png" height="72" width="72"/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-544804370897859364.post-3336950798191297133</id><published>2011-09-23T21:03:00.000+02:00</published><updated>2012-01-31T15:07:45.242+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="unite"/><category scheme="http://www.blogger.com/atom/ns#" term="wooglie"/><title type='text'>Unite11 &amp; Wooglie relaunch!</title><content type='html'>&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;http://www.wooglie.com/&quot;&gt;&lt;img alt=&quot;Wooglie&quot; border=&quot;0&quot; src=&quot;http://www.wooglie.com/layout/WooglieLogo.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
We&#39;re looking forward to Unite 2011, in San Fransisco. Matt and I will be flying as of tomorrow morning. Catching our breath in the first two days; we must admit, it has been quit a busy week. We have been working non stop in order to re launch our website Wooglie, &lt;i&gt;the &lt;/i&gt;game&lt;i&gt;&amp;nbsp;&lt;/i&gt;portal for Unity game developers. &lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;http://preloaded.com/site_media/uploads/news/unite_2011.jpg&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; float: right; margin-bottom: 1em; margin-left: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;100&quot; src=&quot;http://preloaded.com/site_media/uploads/news/unite_2011.jpg&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: xx-small;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;background-color: white; color: #444444; font-family: Helvetica, Arial, sans-serif; line-height: 18px;&quot;&gt;&lt;i&gt;Unite 11 is an event for developers, publishers, enthusiasts and others interested in Unity to come together to learn more about the market-leading platform for creating high quality video games, training simulations, medical and architectural visualizations and other 3D interactive content – and how to get the most out of it. Unite 11 will offer three days of learning including advanced hands-on class tutorials, technical sessions and an opportunity to attend awesome parties.&amp;nbsp;&lt;/i&gt;&lt;/span&gt;&lt;i&gt;source:&amp;nbsp;&lt;a href=&quot;http://unity3d.com/unite/&quot;&gt;http://unity3d.com/unite/&lt;/a&gt;&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;
After, a&amp;nbsp;successful&amp;nbsp;and informative Unite 2011 - where we would like to meet new and known faces - we&#39;ll tweak and finish &lt;a href=&quot;http://www.wooglie.com/&quot;&gt;Wooglie&lt;/a&gt; completely. Further features will be added to the website (e.g. rating, favorite, reviews/comments, additional documentations and re designing&amp;nbsp;developers&amp;nbsp;pages). We are quit pleased with the overall transformation of the &lt;a href=&quot;http://www.wooglie.com/&quot;&gt;Wooglie&#39;s&lt;/a&gt; website, and hope you are too! Please, if you have any feedback or suggestion feel free to email us at &amp;nbsp;&lt;a href=&quot;http://www.wooglie.com/layout/iemail.jpg&quot; imageanchor=&quot;1&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://www.wooglie.com/layout/iemail.jpg&quot; /&gt;&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi60ZmRwKdPmhifF8lmOfBfmF7BwcqCUaakRS6C3fzceD5HazpAYgbqFMj4i6SOdlpCxKyPJDzCsjrgi32XmSeYFB0bxdfp1iRYw3xTi24rMFObF7D5absNTPO9ThxOngM9xQqkrort0_Mn/s1600/woogleiscreen1.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;300&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi60ZmRwKdPmhifF8lmOfBfmF7BwcqCUaakRS6C3fzceD5HazpAYgbqFMj4i6SOdlpCxKyPJDzCsjrgi32XmSeYFB0bxdfp1iRYw3xTi24rMFObF7D5absNTPO9ThxOngM9xQqkrort0_Mn/s400/woogleiscreen1.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgXXoC_Yiu4XvE2FelAgj2R5LquWE_9X5hqEeyjdAi58AMihGF5phuTN72-VrrsRWluRTl20XFz5PQW4hInqGsuBGSLjPlAwTNLzSPPDF3g6uTnjZTADsI7ZhMkujz1-UR8p2_ZpAcnw6sh/s1600/woogleiscreen2.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;400&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgXXoC_Yiu4XvE2FelAgj2R5LquWE_9X5hqEeyjdAi58AMihGF5phuTN72-VrrsRWluRTl20XFz5PQW4hInqGsuBGSLjPlAwTNLzSPPDF3g6uTnjZTADsI7ZhMkujz1-UR8p2_ZpAcnw6sh/s400/woogleiscreen2.png&quot; width=&quot;246&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
Additionally we welcome any new or current&amp;nbsp;developer to submit (and/or update) their Unity game to Wooglie. To do so, please use the newly branded &lt;a href=&quot;http://u3d.as/content/m2h/wooglie-api&quot;&gt;Wooglie API&lt;/a&gt;, now listed in the Unity assest store as of last Tuesday. A free download, which will become essential for all developers to submit their game and unlock new features. Built in is anti-piracy security for your Wooglie games, so that no other sites can copy the game. Furthermore the plugin allows for one click publishing/updating of your Wooglie game. Besides saving developers a lot of time, this also ensures streamlined builds (we now know if you are using streamed loading, what Unity version is used, etc.). The end goal is to facilitate both end-users and developers. In the near future the API will also allow developers to easily integrate leaderboards and achievements.&lt;br /&gt;
&lt;br /&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://u3d.as/content/m2h/wooglie-api/2iP&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;284&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjCeGQaw-BASoHw_BD8MhyvFRyoMa76RYIo2AnU2JRYiV6PFxWY_B44o3odTxxu37GHoJOzUW_dzk6jxF-QUixZKpfHm0vm2OfkCTbICCvjpnhvwwLJjzieVTWiSc6gv_yGQLcCoM71pzCY/s640/api.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;The Wooglie API is available on the asset store for free&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
We are looking forward to meet you at Unite 2011! Keep an eye out on Wooglie for the next two weeks for any further updates. Or follow us via twitter&amp;nbsp;- @&lt;a href=&quot;http://twitter.com/#!/woogliegames&quot;&gt;WooglieGames &lt;/a&gt;and/or @&lt;a href=&quot;http://twitter.com/#!/M2Hgames&quot;&gt;M2HGames&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: large;&quot;&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;http://www.wooglie.com/playgame.php?gameID=51&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;186&quot; src=&quot;http://www.wooglie.com/content/51_600x280.jpg&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;http://www.wooglie.com/playgame.php?gameID=846&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;185&quot; src=&quot;http://www.wooglie.com/content/846_600x280.jpg&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;http://www.wooglie.com/playgame.php?gameID=893&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;185&quot; src=&quot;http://www.wooglie.com/content/893_600x280.jpg&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;http://www.wooglie.com/playgame.php?gameID=530&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;186&quot; src=&quot;http://www.wooglie.com/content/530_600x280.jpg&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;http://www.wooglie.com/playgame.php?gameID=304&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;185&quot; src=&quot;http://www.wooglie.com/content/304_600x280.jpg&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: large;&quot;&gt;&lt;b&gt;&lt;a href=&quot;http://www.wooglie.com/&quot;&gt;Check out more Wooglie games&lt;/a&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;a href=&quot;http://www.blogger.com/&quot;&gt;&lt;/a&gt;&lt;span id=&quot;goog_1547388741&quot;&gt;&lt;/span&gt;&lt;span id=&quot;goog_1547388742&quot;&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.m2h.nl/feeds/3336950798191297133/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.m2h.nl/2011/09/unite11-wooglie-relaunch.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/544804370897859364/posts/default/3336950798191297133'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/544804370897859364/posts/default/3336950798191297133'/><link rel='alternate' type='text/html' href='http://blog.m2h.nl/2011/09/unite11-wooglie-relaunch.html' title='Unite11 &amp; Wooglie relaunch!'/><author><name>Mike Hergaarden</name><uri>http://www.blogger.com/profile/04313722531741801493</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgf2VysfeWK-BXlhCp7o21IZ9HsQUtSWdX4LcpaeDOegC1ujmUlbFB1gWtHPRV4JVUs457OsVoILXuRiZWtAl0mvLGd5AbdzGmbxnCoZHePLg-6aPyrvpZ5mcSHeXpV9Q/s113/Mike_2018_1jpeg90_1280x1920.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi60ZmRwKdPmhifF8lmOfBfmF7BwcqCUaakRS6C3fzceD5HazpAYgbqFMj4i6SOdlpCxKyPJDzCsjrgi32XmSeYFB0bxdfp1iRYw3xTi24rMFObF7D5absNTPO9ThxOngM9xQqkrort0_Mn/s72-c/woogleiscreen1.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-544804370897859364.post-3264056666657447167</id><published>2011-09-04T01:03:00.002+02:00</published><updated>2011-09-04T01:04:48.314+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="amazon"/><category scheme="http://www.blogger.com/atom/ns#" term="cdn"/><category scheme="http://www.blogger.com/atom/ns#" term="cloudfront"/><category scheme="http://www.blogger.com/atom/ns#" term="Unity3D"/><category scheme="http://www.blogger.com/atom/ns#" term="wooglie"/><title type='text'>Wooglie.com: Big changes this month!</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
The success of some games has crippled &lt;a href=&quot;http://wooglie.com/&quot;&gt;Wooglie.com&lt;/a&gt; a bit the last week, however yesterday we&#39;ve permanently addressed these issues. These performance improvements are the first of the upcoming exciting changes to Wooglie.&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;a href=&quot;http://www.wooglie.com/&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiyuPc7HpQgKT5SLwAzD5CLRjl0yW6IJR8z_ssNYZyCML-8MqHJ_GSvUbgHmFb3QkalezCIZAY_ukj4pQewDJx0AzPr0Z0di5trRM9BfbMcDfZUVHy55PbTxiCVfR7iwz-BxAhiM6GAJiRu/s1600/woo.jpg&quot; /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
To address the performance issues we have moved Wooglies game hosting to Amazons CDN: CloudFront. This will greatly improve Wooglies speed&amp;amp;stability and should allow Wooglie to easily scale automatically in the future. A few very successful games have made the site cripple, especially the following three are to blame: &lt;a href=&quot;http://www.wooglie.com/playgame.php?gameID=846&quot;&gt;Hard Rock Racing&lt;/a&gt; (&lt;a href=&quot;http://www.decane.net/&quot;&gt;Decane&lt;/a&gt;),  &lt;a href=&quot;http://www.wooglie.com/playgame.php?gameID=407&quot;&gt;Red Crucible&lt;/a&gt; (&lt;a href=&quot;http://www.rocketeergames.com/&quot;&gt;RocketeerGames&lt;/a&gt;) and &lt;a href=&quot;http://www.wooglie.com/playgame.php?gameID=842&quot;&gt;Soccer FK&lt;/a&gt; (&lt;a href=&quot;http://www.vanderamaral.com/&quot;&gt;Vanderamaral&lt;/a&gt;). Good job guys :)!&lt;br /&gt;&lt;br /&gt;Furthermore we are relaunching Wooglie this month, this&#39;ll entail a new layout and exciting new features for both developers and players. Furthermore Google has contacted us to help increase the sites ad revenue; this will increase the revenue share for all Unity developers that are using Wooglie!&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;We are very excited about Wooglie&#39;s &quot;relaunch&quot;, we are looking forward to support all Unity developers and remain the #1 Unity game portal!&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;background-color: white;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://blog.m2h.nl/feeds/3264056666657447167/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.m2h.nl/2011/09/woogliecom-big-changes-this-month.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/544804370897859364/posts/default/3264056666657447167'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/544804370897859364/posts/default/3264056666657447167'/><link rel='alternate' type='text/html' href='http://blog.m2h.nl/2011/09/woogliecom-big-changes-this-month.html' title='Wooglie.com: Big changes this month!'/><author><name>Mike Hergaarden</name><uri>http://www.blogger.com/profile/04313722531741801493</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgf2VysfeWK-BXlhCp7o21IZ9HsQUtSWdX4LcpaeDOegC1ujmUlbFB1gWtHPRV4JVUs457OsVoILXuRiZWtAl0mvLGd5AbdzGmbxnCoZHePLg-6aPyrvpZ5mcSHeXpV9Q/s113/Mike_2018_1jpeg90_1280x1920.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiyuPc7HpQgKT5SLwAzD5CLRjl0yW6IJR8z_ssNYZyCML-8MqHJ_GSvUbgHmFb3QkalezCIZAY_ukj4pQewDJx0AzPr0Z0di5trRM9BfbMcDfZUVHy55PbTxiCVfR7iwz-BxAhiM6GAJiRu/s72-c/woo.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-544804370897859364.post-420035065107219823</id><published>2011-08-25T13:19:00.003+02:00</published><updated>2011-08-25T13:32:17.450+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="multiplayer"/><category scheme="http://www.blogger.com/atom/ns#" term="Networking"/><category scheme="http://www.blogger.com/atom/ns#" term="Photon"/><category scheme="http://www.blogger.com/atom/ns#" term="Unity"/><category scheme="http://www.blogger.com/atom/ns#" term="Unity3D"/><title type='text'>Brand new Photon Unity API</title><content type='html'>&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;This is a revolutionary change in networking!&amp;nbsp;&lt;/span&gt;As you&#39;ll most likely know, I am a big fan of &lt;a href=&quot;http://u3d.as/content/m2h/ultimate-networking-project/1ut&quot;&gt;Unity&#39;s built in networking solution&lt;/a&gt;. It&#39;s easy to use and still quite powerful. However...Unity networking has it&#39;s downsides: connectivity is a pain and Unity does not have a high priority on Networking bugfixes/improvements. Furthermore, dedicated servers are near to impossible (Unity really isn&#39;t supposed to run on servers).&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;This brand new plugin finally solves that by making use of the power that Photon already had, but now making is far more&amp;nbsp;accessible!&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;This idea born out of two issues; Firstly I was aware&amp;nbsp;I couldn&#39;t keep using Unity networking for, bigger, future projects. Secondly I&amp;nbsp;hate complicated plugins/API&#39;s (Hear that &quot;Ez&quot;GUI?). The second item was an issue since there were no easy to use networking APIs available. To be honest, I even &quot;feared&quot; Photon back then! However, after being in touch with ExitGames for a while, we decided to cooperate and address this issue once and for all. I&#39;m very pleased with the end result, it does exactly what we intended: Unleashing the power of Photon to everyone; Experts and newbies...so this includes myself!&lt;/span&gt;&lt;br /&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgayzt1WlQUXdvXPZR0vjzsNfA0CO6LcZySkmkvPH5RjVtt05mgmCLXhYNqlgEmVVjkIFrBjdNy5pOyytAuweooInzaJ909D000yOPvMwIC74qKxelvN6yu4u54SErA2vUe7L0uwuHwHq2i/s1600/vikk.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;176&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgayzt1WlQUXdvXPZR0vjzsNfA0CO6LcZySkmkvPH5RjVtt05mgmCLXhYNqlgEmVVjkIFrBjdNy5pOyytAuweooInzaJ909D000yOPvMwIC74qKxelvN6yu4u54SErA2vUe7L0uwuHwHq2i/s400/vikk.png&quot; width=&quot;400&quot; /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;What&#39;s in it for you?&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;div&gt;&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;Do you need&amp;nbsp;multiplayer&amp;nbsp;in your game? You&#39;ll really want to check out this new plugin.&amp;nbsp;If you&#39;d ask me, the choice is now solely between Unity networking OR Photon. I am not even considering competitors at the moment: Photons performance, price and usability are very&amp;nbsp;competitive&amp;nbsp;now.&amp;nbsp;With the choice being between Photon or Unity networking, it simply comes down to the following:&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;Unity:&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: lime;&quot;&gt;+&lt;/span&gt; Free:&amp;nbsp;Players host themselves, this saves you bandwidth/server costs (Client- Server model...NOT P2P):&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: red;&quot;&gt;-&lt;/span&gt; Connectivity is a big problem, NAT punchtrough doesn&#39;t work well enough&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: red;&quot;&gt;- &lt;/span&gt;Performance is a possible issue: you rely on the player who is the server...this player routes ALL messages back and forth all clients.&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: red;&quot;&gt;-&lt;/span&gt;&amp;nbsp;Bugfixes/features: Unity does not actively maintain their networking solution.&lt;br /&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;Photon:&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: lime;&quot;&gt;+ &lt;/span&gt;Free 100 CCU license (PLENTY for development &amp;amp; Beta)&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: lime;&quot;&gt;+&lt;/span&gt; More features (Load balancing, offline mode, better &quot;master server&quot;, ...)&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: lime;&quot;&gt;+&lt;/span&gt; Ensured performance and 100% connectivity&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: lime;&quot;&gt;+&lt;/span&gt; Maintained: Bugfixes &amp;amp; updates&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: red;&quot;&gt;-&lt;/span&gt; Costs a license per server&lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEicp_y_X16qNKr14iSe9EQocr1lvMSBzbVD0dyzNDgE72D43cihOS0KmWlUQRTbc37wWEi_LHuUKKMLsbqE3b6DkYL5y-ff0SkCPsncHb-oWNQzPc3pCkrf7I9rUcogC5W70MqAoIaKy5DZ/s1600/photon.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; float: right; margin-bottom: 1em; margin-left: 1em;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEicp_y_X16qNKr14iSe9EQocr1lvMSBzbVD0dyzNDgE72D43cihOS0KmWlUQRTbc37wWEi_LHuUKKMLsbqE3b6DkYL5y-ff0SkCPsncHb-oWNQzPc3pCkrf7I9rUcogC5W70MqAoIaKy5DZ/s1600/photon.png&quot; /&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;
&lt;div&gt;&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;Photon Unity Networking plugin features:&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Integrated load balancing!&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-small;&quot;&gt;You can easily scale your game(s) to multiple servers whenever you want.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;Much cleaner&amp;amp;easier handing of available rooms on the client side&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-small;&quot;&gt;No more Polling/Getting etc. Roomlists are always automatically up to date, just call PhotonNetwork.GetRooms();&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;Offline mode: Now easily re-use your multiplayer code for singleplayer modes.&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-small;&quot;&gt;We had to rewrite crashdrive several times to remove ALL multiplayer code for portals such as Shockwave. With the Photon offline mode your project is prepared for situations like these!&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;Unity networking -&amp;gt; Photon converter&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-small;&quot;&gt;I&#39;ve made a tool to automatically convert your Unity networking project to Photon. This makes conversion only an hours work instead of days! All your NetworkViews and scripts are automatically converted, you&#39;ll only need to clean up a few game specific bits (e.g. removing IP/port references that you no longer need).&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit; font-size: large;&quot;&gt;Try it for yourself!&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;a href=&quot;http://u3d.as/content/exit-games/photon-unity-networking/2ey&quot;&gt;&lt;b&gt;Download &lt;/b&gt;it on the asset store&lt;/a&gt;&amp;nbsp; or discuss it on the&amp;nbsp;&lt;a href=&quot;http://forum.unity3d.com/threads/101734-Submitting-Photon-Unity-Networking&quot;&gt;Unity forum topic&lt;/a&gt;.&lt;/span&gt;&lt;br /&gt;
I&#39;m very happy with the plugin we came up with, I hope you do too, let me know!&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.m2h.nl/feeds/420035065107219823/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.m2h.nl/2011/08/brand-new-photon-unity-api-why-you.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/544804370897859364/posts/default/420035065107219823'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/544804370897859364/posts/default/420035065107219823'/><link rel='alternate' type='text/html' href='http://blog.m2h.nl/2011/08/brand-new-photon-unity-api-why-you.html' title='Brand new Photon Unity API'/><author><name>Mike Hergaarden</name><uri>http://www.blogger.com/profile/04313722531741801493</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgf2VysfeWK-BXlhCp7o21IZ9HsQUtSWdX4LcpaeDOegC1ujmUlbFB1gWtHPRV4JVUs457OsVoILXuRiZWtAl0mvLGd5AbdzGmbxnCoZHePLg-6aPyrvpZ5mcSHeXpV9Q/s113/Mike_2018_1jpeg90_1280x1920.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgayzt1WlQUXdvXPZR0vjzsNfA0CO6LcZySkmkvPH5RjVtt05mgmCLXhYNqlgEmVVjkIFrBjdNy5pOyytAuweooInzaJ909D000yOPvMwIC74qKxelvN6yu4u54SErA2vUe7L0uwuHwHq2i/s72-c/vikk.png" height="72" width="72"/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-544804370897859364.post-7922278718505802438</id><published>2011-07-26T16:10:00.001+02:00</published><updated>2011-07-26T16:11:44.368+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="android"/><category scheme="http://www.blogger.com/atom/ns#" term="Unity"/><category scheme="http://www.blogger.com/atom/ns#" term="Unity3D"/><title type='text'>Unity games on Android</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://i.bnet.com/blogs/android-success-questions.jpg&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; float: right; margin-bottom: 1em; margin-left: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://i.bnet.com/blogs/android-success-questions.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;There is still no clear answer to the question whether it is worth to distribute (Unity) games on Android. There are not many known success stories. |It seems that a monopoly like Apple&#39;s iOS does have its advantages after all; The Android hardware segmentation is a pain, there are &lt;i&gt;multiple&lt;/i&gt;&amp;nbsp;Android stores, etc..&lt;br /&gt;
&lt;br /&gt;
However, it is a fact that there is a steady increase in the amount of Android based devices and the&amp;nbsp;platform&amp;nbsp;is easily&amp;nbsp;accessible. This makes it an interesting platform. We have quite some iOS games ready to port. Therefore we have bought an Android Unity license and Phone(Nexus S) to give it a try.&lt;br /&gt;
&lt;br /&gt;
Let&#39;s hope we&#39;ll be one of the few to, at least, earn back the investments for Android publishing (About 750 Euros total).&amp;nbsp;Matt will most likely explore porting our games to Android in the next few weeks. If we make any interesting findings you&#39;ll be the first to hear ;).</content><link rel='replies' type='application/atom+xml' href='http://blog.m2h.nl/feeds/7922278718505802438/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.m2h.nl/2011/07/unity-games-on-android.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/544804370897859364/posts/default/7922278718505802438'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/544804370897859364/posts/default/7922278718505802438'/><link rel='alternate' type='text/html' href='http://blog.m2h.nl/2011/07/unity-games-on-android.html' title='Unity games on Android'/><author><name>Mike Hergaarden</name><uri>http://www.blogger.com/profile/04313722531741801493</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgf2VysfeWK-BXlhCp7o21IZ9HsQUtSWdX4LcpaeDOegC1ujmUlbFB1gWtHPRV4JVUs457OsVoILXuRiZWtAl0mvLGd5AbdzGmbxnCoZHePLg-6aPyrvpZ5mcSHeXpV9Q/s113/Mike_2018_1jpeg90_1280x1920.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-544804370897859364.post-2460399007892263488</id><published>2011-07-01T17:13:00.000+02:00</published><updated>2011-07-01T17:13:08.794+02:00</updated><title type='text'>Essential Unity tooling</title><content type='html'>&lt;i&gt;When developing games you NEED proper tooling. This post lists my essentials.&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
Now that my University is over with I&#39;ve took some time to sit down and think about my future plans. For the first time in my live I&#39;m &quot;officially&quot; a game developer. Not much has changed, but it helps me realize I shouldn&#39;t just mess around ;).&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: large;&quot;&gt;&lt;b&gt;Porting games&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
In spare time we&#39;ve been busy finishing all the old and minigames that we already had on the shelve. It&#39;s a waste not to port games when you&#39;re using Unity. At the same time, this is very annoying: You&#39;ll be porting projects from 1 or 2 years ago to the new (Unity) supported platforms. In our case (and probably for every one of you!), that means you&#39;ll be digging trough ugly code and extend it with hacks upon hacks since &lt;i&gt;&quot;this is just a one time change&quot;&lt;/i&gt;. We&#39;ve had a project that was ported from Standalone -&amp;gt; Web -&amp;gt; AppUp -&amp;gt; iOS -&amp;gt; Standalone.&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: large;&quot;&gt;&lt;b&gt;How to support your future self&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
There are a few issues here. I currently see two main solutions:&lt;br /&gt;
&lt;b&gt;1. Organization and development mentality:&lt;/b&gt; Never hack, not once. Every &quot;One-time tiny adjustment&quot; will kill you. We should have this covered now as we&#39;ve recognized the problem...and otherwise we&#39;ll keep learning from our mistakes.&lt;br /&gt;
&lt;b&gt;2. Proper tooling/technical structure of your game.&lt;/b&gt;&lt;br /&gt;
You will never have to hack if you take the time to create the right tools just once. Invest some time in gathering your tools and your future self will be thanking you!&lt;br /&gt;
&lt;br /&gt;
The first issue is up to you to solve. No one will be able to explain you why organization is required.&amp;nbsp;I can help you with the second solution. First a sidestep to some general game evelopment requirements of our own:&lt;br /&gt;
&lt;ol&gt;&lt;li&gt;We want to be able to launch our games on nearly all available &lt;b&gt;platforms&lt;/b&gt;&lt;/li&gt;
&lt;ol&gt;&lt;li&gt;&lt;b&gt;GUI &lt;/b&gt;needs to scale&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Performance&lt;/b&gt; needs to scale&lt;/li&gt;
&lt;li&gt;Support different &lt;b&gt;input&lt;/b&gt; models.&lt;/li&gt;
&lt;li&gt;Webplayer: &lt;b&gt;filesize&lt;/b&gt; should be OK&lt;/li&gt;
&lt;/ol&gt;&lt;li&gt;Every publishers so far asked us about &lt;b&gt;localization&lt;/b&gt;. This makes it a requirement.&lt;/li&gt;
&lt;li&gt;For multiplayer games: If you have a singleplayer option, add an easy option to &lt;b&gt;disable multiplayer &lt;/b&gt;completely (portals don&#39;t want multiplayer!)&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Clean code&lt;/b&gt;: save yourself long nights in the future&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Build/publish tools&lt;/b&gt; save a lot of time and really make development a lot more fun. Plus it&#39;s garuanteed to address more bugs&amp;nbsp;&lt;/li&gt;
&lt;/ol&gt;&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;a href=&quot;http://www.blogger.com/goog_1178317424&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;128&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhpauBEkRk9osq92Cqs-SXmaHFAyZ7D6x_YFjADzJcdkZLPw1gRR_Onqi2tdtsKTrUFFfQBvyi-qsgof8vaDGWQlv26ZvvHyGMwLxPpPSA4lKicUzLc4QhYYMA55USM_r1CU0WS2E8vjEzj/s640/assets.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Our current asset store packages&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: large;&quot;&gt;&lt;b&gt;Implemented solutions&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;The requirements above should hold for any of our future project, even if we have no future plans for the game (yet!). &amp;nbsp;I have various solutions for the listed requirements.&lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjj0MFPOvlLn_ipjqP2Ns3aUeVHsr5Cr-1b6pDAkRBu8-rD7is5RxW6isQ12q6EPLuGzmG6Ip4tkHJOlEayFUKNj520Bs0BNjfMg0BjNw6QWwL-cLBjS0QA5lbYSv6uSOIZQfRYNophrgF8/s1600/empty.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjj0MFPOvlLn_ipjqP2Ns3aUeVHsr5Cr-1b6pDAkRBu8-rD7is5RxW6isQ12q6EPLuGzmG6Ip4tkHJOlEayFUKNj520Bs0BNjfMg0BjNw6QWwL-cLBjS0QA5lbYSv6uSOIZQfRYNophrgF8/s1600/empty.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;b&gt;Multiple platforms (GUI/Performance/Input/Filesize)&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-small;&quot;&gt;With Unity, the requirements to multiple platforms are reduced to mainly performance and GUI. For performance there&#39;s mainly the Unity profiler. Supporting multiple resolutions and input is up to your game and GUI design.&amp;nbsp;Unity&#39;s OnGUI has &lt;i&gt;severe &lt;/i&gt;performance problems. For now there&#39;s EZGUI to solve that. Hopefully 3.5 will contain the new Unity GUI system, as while EZGUI performance is great, it&#39;s usability is poor.&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-small;&quot;&gt;For webplayer filesize you need to make use of AssetBundles (and use the cache!). Furthermore when Substance is added to Unity this can save heaps! Therefore &lt;i&gt;ALL&lt;/i&gt;&amp;nbsp;materials needs to be substance materials from that point on.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;Tools: Once Unity 3.5 lands, Unity only.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEib95eEmfx76E9E0BatqAmechs_e2sPwSSiByDKHs5qR00QeM0mNrg22VXTEHPQoq-IxCVGKZB7nyiQqb9tKtdJgQYYFscmFUeiNZbBgdcJfQ1gt4Tpg_OLpjLp4-OCSj5JEhBGX2sixUIL/s1600/iconL.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEib95eEmfx76E9E0BatqAmechs_e2sPwSSiByDKHs5qR00QeM0mNrg22VXTEHPQoq-IxCVGKZB7nyiQqb9tKtdJgQYYFscmFUeiNZbBgdcJfQ1gt4Tpg_OLpjLp4-OCSj5JEhBGX2sixUIL/s1600/iconL.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;b&gt;Localization&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-small;&quot;&gt;This is one of the fields I had to develop my own solution for. Much effort has gone into polishing the usability: it should be dead easy to implement. The main reason for this is that there should be no reason not to integrate it in a game, even when you don&#39;t plan on offering translations at all. Furthermore it is a plus to have all your games texts outside of the code to allow others to improve the texts.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;Tools: &lt;a href=&quot;http://u3d.as/content/m2h/localization-package/1Ya&quot;&gt;Localization package&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhEZjSK8KmjhhGKD2xD_CdBdexD4MiAwVS1K6xPHz6zQoxZg_5hx8Dxc6DYlVrWf2WqkONYYna1nY_2lc-UGQ_ZutqdX2NgLj2th4VgU-k70tPtg7S4NR1-dW0nqNjWMFXTssM7CncKomQV/s1600/icon+%25282%2529.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhEZjSK8KmjhhGKD2xD_CdBdexD4MiAwVS1K6xPHz6zQoxZg_5hx8Dxc6DYlVrWf2WqkONYYna1nY_2lc-UGQ_ZutqdX2NgLj2th4VgU-k70tPtg7S4NR1-dW0nqNjWMFXTssM7CncKomQV/s1600/icon+%25282%2529.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;b&gt;Multiplayer&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-small;&quot;&gt;For Unity networking my package has been around for a while now. However Unity networking does not work well for all games. For any other game I would use Photon. However, Photon isn&#39;t as easy as Unity networking. I&#39;ve been working together with ExitGames to address this once and for all. This Unity API for Photon will make all competitors useless; it&#39;ll be either Photon or Unity networking. This Photon API will contain a offline mode so that networking code is usable for singleplayer gameplay as well. This solves our multiplatform requirement.&lt;/span&gt;&lt;br /&gt;
Tools: &lt;a href=&quot;http://u3d.as/content/m2h/ultimate-networking-project/1ut&quot;&gt;Ultimate Unity Networking package&lt;/a&gt;, Unity photon API coming soon...&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZ_1CEkzQA2Y2rZYK7rIstyt0yAelM4YJcyKTVVatM61h7DWK3GTDUaGdC1TlK0QZnm7SvgbHbeUjiQhOpYX46LOmgXXH4DkkDhWlcAmFRDD2AG2kCB5ujFjXG0Eyi3z78HrJIaH9mvQQw/s1600/icon2.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZ_1CEkzQA2Y2rZYK7rIstyt0yAelM4YJcyKTVVatM61h7DWK3GTDUaGdC1TlK0QZnm7SvgbHbeUjiQhOpYX46LOmgXXH4DkkDhWlcAmFRDD2AG2kCB5ujFjXG0Eyi3z78HrJIaH9mvQQw/s1600/icon2.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;b&gt;Code tools&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-small;&quot;&gt;Stick to only one code language per project, preferably C#. I have made tools to save &lt;i&gt;hours&lt;/i&gt;&amp;nbsp;in converting scripts from JS -&amp;gt; C# or vice versa.&lt;/span&gt;&lt;/div&gt;Tools&lt;b&gt;:&amp;nbsp;&lt;/b&gt;Visual studio OR Monodevelop. &lt;a href=&quot;http://u3d.as/content/m2h/js-to-c-script-converter/1tH&quot;&gt;JS-&amp;gt;C# converter&lt;/a&gt;, &lt;a href=&quot;http://u3d.as/content/m2h/c-to-js-converter/1tG&quot;&gt;C# -&amp;gt; JS converter&lt;/a&gt;, &lt;a href=&quot;http://u3d.as/content/m2h/obfuscator/1sA&quot;&gt;Obfuscator&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjj0MFPOvlLn_ipjqP2Ns3aUeVHsr5Cr-1b6pDAkRBu8-rD7is5RxW6isQ12q6EPLuGzmG6Ip4tkHJOlEayFUKNj520Bs0BNjfMg0BjNw6QWwL-cLBjS0QA5lbYSv6uSOIZQfRYNophrgF8/s1600/empty.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjj0MFPOvlLn_ipjqP2Ns3aUeVHsr5Cr-1b6pDAkRBu8-rD7is5RxW6isQ12q6EPLuGzmG6Ip4tkHJOlEayFUKNj520Bs0BNjfMg0BjNw6QWwL-cLBjS0QA5lbYSv6uSOIZQfRYNophrgF8/s1600/empty.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;b&gt;Build/publishing tools&lt;/b&gt;&lt;br /&gt;
This summer I&#39;ll be releasing an all-in solution.&lt;br /&gt;
&lt;br /&gt;
Tools: &lt;i&gt;Will be released this summer..&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: large;&quot;&gt;&lt;b&gt;Conclusion&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
I have some big stuff going on right now, but I&#39;m also really looking forward to future projects as that&#39;ll finally allow for a fresh start: Crashdrive has been our first project and we&#39;re &lt;u style=&quot;font-weight: bold;&quot;&gt;still&lt;/u&gt;&amp;nbsp;re-releasing it to a new platform every few months. If only we had the above tools and knowledge back then...&lt;br /&gt;
&lt;br /&gt;
Do you have any additional tips to improve game development workflow and/or support multiple platforms?</content><link rel='replies' type='application/atom+xml' href='http://blog.m2h.nl/feeds/2460399007892263488/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.m2h.nl/2011/07/essential-unity-tooling.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/544804370897859364/posts/default/2460399007892263488'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/544804370897859364/posts/default/2460399007892263488'/><link rel='alternate' type='text/html' href='http://blog.m2h.nl/2011/07/essential-unity-tooling.html' title='Essential Unity tooling'/><author><name>Mike Hergaarden</name><uri>http://www.blogger.com/profile/04313722531741801493</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgf2VysfeWK-BXlhCp7o21IZ9HsQUtSWdX4LcpaeDOegC1ujmUlbFB1gWtHPRV4JVUs457OsVoILXuRiZWtAl0mvLGd5AbdzGmbxnCoZHePLg-6aPyrvpZ5mcSHeXpV9Q/s113/Mike_2018_1jpeg90_1280x1920.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhpauBEkRk9osq92Cqs-SXmaHFAyZ7D6x_YFjADzJcdkZLPw1gRR_Onqi2tdtsKTrUFFfQBvyi-qsgof8vaDGWQlv26ZvvHyGMwLxPpPSA4lKicUzLc4QhYYMA55USM_r1CU0WS2E8vjEzj/s72-c/assets.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-544804370897859364.post-2181964236954622606</id><published>2011-06-20T17:16:00.004+02:00</published><updated>2011-06-20T17:39:35.962+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="crashdrive"/><category scheme="http://www.blogger.com/atom/ns#" term="iOS"/><category scheme="http://www.blogger.com/atom/ns#" term="Publisher"/><title type='text'>Crashdrive on the iOS!</title><content type='html'>After succesful releases on Shockwave, Netlog, Wooglie and the Mac store we want to release Crashdrive on the iOS. Crashdrive is pretty much ready for an iOS release but we&#39;d like to make use of a publisher for this release. Does any of you know any good publishers? Tips are very welcome! support[A ]M2H.nl.&lt;br /&gt;&lt;br /&gt;Landing page: &lt;a href=&quot;http://www.crashdrive.m2h.nl/&quot; target=&quot;_blank&quot;&gt;www.Crashdrive.M2H.nl&lt;/a&gt;&lt;br /&gt;If you are not yet familiar with Crashdrive, you can play the Wooglie version here: &lt;a href=&quot;http://www.wooglie.com/playgame.php?gameID=4&quot;&gt;http://www.wooglie.com/playgame.php?gameID=4&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;table class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot; align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://img713.imageshack.us/img713/5853/crashdriveios.png&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img alt=&quot;&quot; src=&quot;http://img713.imageshack.us/img713/5853/crashdriveios.png&quot; style=&quot;display: block; margin-bottom: 10px; margin-left: auto; margin-right: auto; margin-top: 0px; text-align: center;&quot; width=&quot;400&quot; border=&quot;0&quot; height=&quot;251&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Proof!&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.m2h.nl/feeds/2181964236954622606/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.m2h.nl/2011/06/crashdrive-on-ios.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/544804370897859364/posts/default/2181964236954622606'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/544804370897859364/posts/default/2181964236954622606'/><link rel='alternate' type='text/html' href='http://blog.m2h.nl/2011/06/crashdrive-on-ios.html' title='Crashdrive on the iOS!'/><author><name>Matt Hergaarden / &quot;Zylex&quot;</name><uri>http://www.blogger.com/profile/12827873734176242321</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjvA4PtgmsazhUCNbb8ge7Dwnf4zuV6txay_YzP44BwihjbephgoxWB3lAmYwz2SC1zj9svlanbRwEbHBMNgbZw-Rrsp3iXbiyDmTc1h_Ffr9cpT0zI1yAIqS9_qZf6uw/s220/download.jpeg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-544804370897859364.post-7404645762382199294</id><published>2011-06-17T16:19:00.002+02:00</published><updated>2011-06-17T16:23:53.337+02:00</updated><title type='text'>Bye bye University</title><content type='html'>&lt;b&gt;I&#39;ve finished my Masters Computer Science in Multimedia!&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;br /&gt;
The official graduation will be early September, but all paperwork is filed and all grades are in (and pretty nice too!). After five years of University I can finally focus on M2H full time :)! While this is actually a big step, there is too much going on for me to be amazed.&lt;br /&gt;
&lt;br /&gt;
The first thing to do is to finish all currently running projects. I can&#39;t disclose all of these projects yet though, but all of these should be public (soon after) this summer.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Photon&lt;/b&gt;&lt;br /&gt;
There is some exciting news for all Unity multiplayer developers: Together with ExitGames I&#39;m working on a Unity specific Photon &quot;plugin&quot; which will really make all other network solutions useless. For very simple projects you can use Unity networking and for anything else you&#39;ll be using &quot;UnityPhoton&quot;. Upgrading from Unity networking will be very easy, so it&#39;s fine to continue to use that for now. That&#39;s all I can share right now though ;).&amp;nbsp;Related news:&amp;nbsp;Unite might finally have a Multiplayer session this year as I&#39;ve applied as speaker on this subject. Whether Unity accepts the session or not, both of us will be going to Unite for sure.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Other projects&lt;/b&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.verdun-online.com/&quot;&gt;Verdun Online&lt;/a&gt; is coming along nicely now.&lt;br /&gt;
Thanks to external help &lt;a href=&quot;http://www.syrnia.com/&quot;&gt;Syrnia &lt;/a&gt;is receiving well required updates &amp;amp; fixes.&lt;br /&gt;
Updates to &lt;a href=&quot;http://www.slavehack.com/&quot;&gt;Slavehack &lt;/a&gt;seem to be progressing well.&lt;br /&gt;
...there will be more news during and after summer ;).</content><link rel='replies' type='application/atom+xml' href='http://blog.m2h.nl/feeds/7404645762382199294/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.m2h.nl/2011/06/bye-bye-university.html#comment-form' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/544804370897859364/posts/default/7404645762382199294'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/544804370897859364/posts/default/7404645762382199294'/><link rel='alternate' type='text/html' href='http://blog.m2h.nl/2011/06/bye-bye-university.html' title='Bye bye University'/><author><name>Mike Hergaarden</name><uri>http://www.blogger.com/profile/04313722531741801493</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgf2VysfeWK-BXlhCp7o21IZ9HsQUtSWdX4LcpaeDOegC1ujmUlbFB1gWtHPRV4JVUs457OsVoILXuRiZWtAl0mvLGd5AbdzGmbxnCoZHePLg-6aPyrvpZ5mcSHeXpV9Q/s113/Mike_2018_1jpeg90_1280x1920.jpg'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-544804370897859364.post-6117143198943320317</id><published>2011-04-20T18:18:00.000+02:00</published><updated>2011-04-20T18:18:16.621+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="creative technology"/><category scheme="http://www.blogger.com/atom/ns#" term="presentation"/><category scheme="http://www.blogger.com/atom/ns#" term="tool"/><category scheme="http://www.blogger.com/atom/ns#" term="twente"/><category scheme="http://www.blogger.com/atom/ns#" term="Unity"/><category scheme="http://www.blogger.com/atom/ns#" term="Unity3D"/><title type='text'>Unity as a presentation tool (Die powerpoint!)</title><content type='html'>&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;240&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhhgQAoa3NdTx7GvTVRoNgW96eUUmbNEtB-Lt3xROMNcq8zt0Z4XT2D-_ty6MBmV04LKDbkEpf_b2VjMQSB0hosR7WdwovEM9DVxf2Jbby3jk4M0omdFCLJpbhoWxwJ1uo2w8Sg-deJAAjq/s320/pres2.jpg&quot; style=&quot;margin-left: auto; margin-right: auto;&quot; width=&quot;320&quot; /&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Good bye to boring powerpoints!&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;Last monday I gave a presentation at the Universiteit Twente for the +/-25 bachelor students of &lt;a href=&quot;http://creativetechnology.eu/&quot;&gt;Creative Technology&lt;/a&gt;. Last year I gave a similar presentation, even though it was more focussed on Unity only. This year was also motivational talk; sharing my story about getting into indie game dev etc. and try to convince everyone to create games in Unity. Last year I used powerpoint, &lt;a href=&quot;http://www.cs.vu.nl/~eliens/&quot;&gt;Prof. Eliëns&lt;/a&gt; asked me why I didn&#39;t use Unity instead (he invited me for these presentations). This question &quot;confused&quot; me a bit at first, but this year I gave it a try and I&#39;m pretty happy with the result.&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: red;&quot;&gt;&lt;a href=&quot;http://m2h.nl/files/presentation/&quot;&gt;See the presentation here&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;br /&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjRUsSZvHsWwiM3Sv9rqq1Z8qr8WrY0U9PjEQl2obGc-DgbChaVsCTqH09yEh_Ti2sRrnMP_k2PnQC-2Qx8S3OsNVP6Ch9Ed927k-j5noO_CNpdacOluUft4lGyGswS56fvac02zpG0UII6/s1600/pres1.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;240&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjRUsSZvHsWwiM3Sv9rqq1Z8qr8WrY0U9PjEQl2obGc-DgbChaVsCTqH09yEh_Ti2sRrnMP_k2PnQC-2Qx8S3OsNVP6Ch9Ed927k-j5noO_CNpdacOluUft4lGyGswS56fvac02zpG0UII6/s320/pres1.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;One of the slides. Standing in the middle will zoom in to a full-screen view, similar to a normal powerpoint slide.&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;Using Unity as a presentation tool didn&#39;t sound too attractive to me at first, since it could be very distracting. Sometimes a more fancy presentation will simply kill it&#39;s efficiency. To ensure the application was still a valuable presentation tool it should be easy to control, and text/images should still be clearly visible. This is why I chose for a platform game style, furthermore the billboards smoothly enlarge their contents to full-screen display if you stand in front of them. This works for both video and static images.&lt;br /&gt;
I did not add any audio on purpose: There&#39;s usually a&amp;nbsp;lousy&amp;nbsp;(or no) audio setup in presentation rooms, plus I didn&#39;t want to shout.&lt;br /&gt;
&lt;br /&gt;
I also enjoyed designing the slides: I had my&amp;nbsp;favorite&amp;nbsp;image editing tool set to 1024x768 and just pasted images/text in there. Powerpoint feels more cumbersome once you&#39;re used to your image editor.&lt;br /&gt;
&lt;br /&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjd50f4S8FfYayUroXTNU1DybeyOhnOT2cHcT2LlD7RZWE5Jl-mWiuOaas1wIe8fTdGp1_QZqwaVqBEOG1IdtmwrCkVngABB9FLx67jJ8Zk3ABVoppyJYWsb0r0CIYvVijIFPbCintttYOP/s1600/videos.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;240&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjd50f4S8FfYayUroXTNU1DybeyOhnOT2cHcT2LlD7RZWE5Jl-mWiuOaas1wIe8fTdGp1_QZqwaVqBEOG1IdtmwrCkVngABB9FLx67jJ8Zk3ABVoppyJYWsb0r0CIYvVijIFPbCintttYOP/s320/videos.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Game trailers inside the presenation (streamed video).&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;I believe the presentation was very well received, two students who missed the presentation asked for the links as they were told it was &quot;quite cool&quot;. That&#39;s why&amp;nbsp;I&#39;m playing with the idea to make this tool my portfolio tool from now on. This could be a great tool on conferences to show my games/projects; I use(d) to browse trough screenshots/videos on the iPad, which is rather dull. Plus, this tool really allows me to show any kind of images/videos/3D/animations easily.&lt;br /&gt;
&lt;br /&gt;
The only downsides of this being that it takes a bit more time to set up..but I&#39;ve got the basics laid out already plus the end result is way more valuable then an ordinary&amp;nbsp;power point.&lt;br /&gt;
&lt;br /&gt;
One final advantage of Unity as a presentation tool is that you&#39;ll never have to watch someone search for the &quot;Start fullscreen presentation&quot; button anymore. It&#39;s&amp;nbsp;embarrassing, F5 already!&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.m2h.nl/feeds/6117143198943320317/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.m2h.nl/2011/04/unity-as-presentation-tool-die.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/544804370897859364/posts/default/6117143198943320317'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/544804370897859364/posts/default/6117143198943320317'/><link rel='alternate' type='text/html' href='http://blog.m2h.nl/2011/04/unity-as-presentation-tool-die.html' title='Unity as a presentation tool (Die powerpoint!)'/><author><name>Mike Hergaarden</name><uri>http://www.blogger.com/profile/04313722531741801493</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgf2VysfeWK-BXlhCp7o21IZ9HsQUtSWdX4LcpaeDOegC1ujmUlbFB1gWtHPRV4JVUs457OsVoILXuRiZWtAl0mvLGd5AbdzGmbxnCoZHePLg-6aPyrvpZ5mcSHeXpV9Q/s113/Mike_2018_1jpeg90_1280x1920.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhhgQAoa3NdTx7GvTVRoNgW96eUUmbNEtB-Lt3xROMNcq8zt0Z4XT2D-_ty6MBmV04LKDbkEpf_b2VjMQSB0hosR7WdwovEM9DVxf2Jbby3jk4M0omdFCLJpbhoWxwJ1uo2w8Sg-deJAAjq/s72-c/pres2.jpg" height="72" width="72"/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-544804370897859364.post-2606618917506973955</id><published>2011-04-12T15:42:00.002+02:00</published><updated>2011-04-12T15:49:47.273+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Unity"/><category scheme="http://www.blogger.com/atom/ns#" term="Unity3D"/><category scheme="http://www.blogger.com/atom/ns#" term="UnityCollab"/><title type='text'>UnityCollab progress</title><content type='html'>&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhEm2nqOok4V6iwibhuqnO3tvcD8T2uAQx3x2wQ7uPn67dDwqY0OyhsEBHdUA4XR89Xjf8xmLEoarS37T60soiWSXH1KOjBz0CyFre_3cR_9UoZDF3s78vWCHEksZiPuhLe51A1hDRKeoYT/s1600/kitten-teamwork.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;268&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhEm2nqOok4V6iwibhuqnO3tvcD8T2uAQx3x2wQ7uPn67dDwqY0OyhsEBHdUA4XR89Xjf8xmLEoarS37T60soiWSXH1KOjBz0CyFre_3cR_9UoZDF3s78vWCHEksZiPuhLe51A1hDRKeoYT/s400/kitten-teamwork.jpg&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;It&#39;s been a while, but I finally have a&amp;nbsp;breakthrough&amp;nbsp;to report on the front of UnityCollab.&lt;br /&gt;
&lt;br /&gt;
First a recap of the last few weeks and some latest findings:&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;I&#39;ve been finishing my second-last course for my Masters, now there&#39;s just one more course and the actual master project left; I&#39;ll be done at University in a few months.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://forum.unity3d.com/threads/78554-AssetCloud-Beta-New-string-based-asset-management-system&quot;&gt;AssetCloud &lt;/a&gt;beta had been announced, at first sight I assumed it was similar to UnityCollab but AssetCloud has no real-time/automatic synchronization, which is what UnityCollab makes stand out.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://blogs.unity3d.com/author/ninjacamp/&quot;&gt;Unitys Ninja camp&lt;/a&gt;&amp;nbsp;had some interesting projects going on: I would love a Unity release full of stuff like this. One of these topics was exactly the same as UntiyCollab, titled &quot;&lt;b&gt;Collaboratorive editing&lt;/b&gt;&quot;. They&#39;re probably cheating though, having the ability to change Unitys inner workings while I have to apply workarounds and bugreports :P. I&#39;m very curious whether this project will be released in some form and when/how. None of the Ninjacamp projects have been released yet and it will probably take a long time for most projects to launch.&lt;/li&gt;
&lt;li&gt;I discovered there &lt;i&gt;is&lt;/i&gt;&amp;nbsp;already a game tool that supports real time synchronization, namely the &lt;a href=&quot;http://www.heroengine.com/features/heroblade-all-in-one-development-environment/&quot;&gt;Hero engine&lt;/a&gt;. Quite cool...but I want collaborative editing in Unity.&lt;/li&gt;
&lt;/ul&gt;&lt;div&gt;&lt;b&gt;UnityCollab specific:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
UnityTextScene has been integrated in UnityCollab (thanks ToreTank/Terravision!). I&#39;m using it under the hood to synchronize scenes using their text equivalent. Thanks to this, &lt;b&gt;S&lt;/b&gt;&lt;b&gt;ynchronizing now works in real time!&amp;nbsp;&lt;/b&gt;Ordinary&amp;nbsp;gameobjects&amp;nbsp;etc. have a few minor&amp;nbsp;hiccups. But that&#39;s for later, I&#39;m first&amp;nbsp;focusing&amp;nbsp;on one specific usage purpose:&lt;/div&gt;&lt;u&gt;&lt;/u&gt;&lt;br /&gt;
&lt;div&gt;&lt;u&gt;&lt;u&gt;&lt;br /&gt;
&lt;/u&gt;&lt;/u&gt;&lt;/div&gt;&lt;u&gt;Use case: Collaborative editing in a lab&amp;nbsp;environment&lt;/u&gt;&lt;br /&gt;
&lt;div&gt;&lt;u&gt;&lt;/u&gt;I&#39;m creating a test case scenario where two or more test subjects create a game level together.&amp;nbsp;They will only be using predefined prefabs.&amp;nbsp;The goal of this use case is to be able to research user feedback and interaction. User A could place a few trees with user B giving or taking some &quot;kudos&quot;.&amp;nbsp;I still need to define how the users can judge/rate&amp;nbsp;each others&amp;nbsp;work..&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&amp;nbsp;Next to the lab use case I&#39;ll be working on the theory/research side of the project. After this I can expand and polish UnityCollab further.&lt;br /&gt;
&lt;ul&gt;&lt;/ul&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.m2h.nl/feeds/2606618917506973955/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.m2h.nl/2011/04/unitycollab-progress.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/544804370897859364/posts/default/2606618917506973955'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/544804370897859364/posts/default/2606618917506973955'/><link rel='alternate' type='text/html' href='http://blog.m2h.nl/2011/04/unitycollab-progress.html' title='UnityCollab progress'/><author><name>Mike Hergaarden</name><uri>http://www.blogger.com/profile/04313722531741801493</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgf2VysfeWK-BXlhCp7o21IZ9HsQUtSWdX4LcpaeDOegC1ujmUlbFB1gWtHPRV4JVUs457OsVoILXuRiZWtAl0mvLGd5AbdzGmbxnCoZHePLg-6aPyrvpZ5mcSHeXpV9Q/s113/Mike_2018_1jpeg90_1280x1920.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhEm2nqOok4V6iwibhuqnO3tvcD8T2uAQx3x2wQ7uPn67dDwqY0OyhsEBHdUA4XR89Xjf8xmLEoarS37T60soiWSXH1KOjBz0CyFre_3cR_9UoZDF3s78vWCHEksZiPuhLe51A1hDRKeoYT/s72-c/kitten-teamwork.jpg" height="72" width="72"/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-544804370897859364.post-2138005629698460069</id><published>2011-04-05T12:42:00.004+02:00</published><updated>2011-04-05T12:45:10.586+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="unity c# delegates delegate action events"/><title type='text'>The horror of delegates!</title><content type='html'>...contrary to what the title implies, delegates are awesome. However the available tutorials all look way too scary for someone who never tried working with delegates. So here&#39;s my attempt to a quick and practical tutorial to delegates.&lt;br /&gt;
&lt;br /&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQQcm1ZmSY1tYu-BZCMJc_L9SwR93P7brKlx5VxCaqGtHUuXhE2a237o8Th4cn0OBnt2Xz_IJD6-GbjLTpTWiNP3jlxsj_Ppt3FUfb-fQofKYVCclUhWbLe0L8ZUksm0GEkvmiAkMySJF0/s1600/deleg.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;152&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQQcm1ZmSY1tYu-BZCMJc_L9SwR93P7brKlx5VxCaqGtHUuXhE2a237o8Th4cn0OBnt2Xz_IJD6-GbjLTpTWiNP3jlxsj_Ppt3FUfb-fQofKYVCclUhWbLe0L8ZUksm0GEkvmiAkMySJF0/s400/deleg.PNG&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Our notifications system in &lt;a href=&quot;http://www.verdun-online.com/&quot;&gt;Verdun Online&lt;/a&gt;. Delegate proof!&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;b&gt;Delegates: What?&lt;/b&gt;&lt;br /&gt;
The easy&amp;nbsp;explanation:&lt;br /&gt;
A delegate can been seen as a variable that holds a reference to a function, &#39;calling&#39; this variable will actually call the function that you have specified. The power of this is that you can give as input your desired function dynamically. I.e. you can create one popup function that asks for a yes/no response and use it from several functions with it calling the right response functions.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Use case: Why &amp;amp; How&lt;/b&gt;&lt;br /&gt;
Delegates can make your code much cleaner and wil even safe you time. A very common use would be in GUI popups/dialogs. Having to check a variable in Update() every time, or yielding until the user responses is quite hacky/sloppy.&lt;br /&gt;
&lt;br /&gt;
Hereby, in reversed order I&#39;ll show you how delegates work. Let&#39;s go back to the GUI dialog case. We don&#39;t want ugly yielding or waiting for a response. So with delegates you could use&lt;br /&gt;
&lt;blockquote&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-small;&quot;&gt;ShowYesNoDialog(&quot;Do you really want to quit&quot;, QuitResponse);&amp;nbsp;&lt;/span&gt;&lt;/blockquote&gt;Note that QuitResponse here is our delegate &quot;variable&quot; that we pass. QuitResponse is actually a normal void function, nothing scary here yet! QuitResponse is declared as:&lt;br /&gt;
&lt;blockquote&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-small;&quot;&gt;void QuitResponse(bool result){ Debug.Log(&quot;Result=&quot;+result); }&lt;/span&gt;&lt;/blockquote&gt;&amp;nbsp;We are now allowed to pass QuitResponse to the ShowYesNoDialog because it accepts a delegate variable.&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-small;&quot;&gt;public delegate void VoidDelegate(bool result); //Define our custom delegate definition only defined once (!)&lt;br /&gt;
public VoidDelegate currentDelegate; //This holds the current delegate - we use our delegate via this var.&lt;br /&gt;
void ShowYesNoDialog(string text,  VoidDelegate answerDelegate){&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;currentTitle = text;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;showDialog = true;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;currentDelegate =  answerDelegate;&lt;br /&gt;
}&lt;/span&gt;&lt;/blockquote&gt;&lt;br /&gt;
&lt;br /&gt;
First,&amp;nbsp;we define a delagate. You need to define it&#39;s output and what parameters it takes. In this case we want to be able to call a function with a boolean and we don&#39;t need it to return anything thus it&#39;s void. Note that we only need to define VoidDelegate once, but we can use as many VoidDelegates variables as we want. Now, on to the displaying of a simply &quot;dialog&quot;.&lt;br /&gt;
&lt;blockquote&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-small;&quot;&gt;void OnGUI(){&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; if(showDialog){&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; GUILayout.Label(&quot;Title: &quot;+currentTitle);&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; if(GUILayout.Button(&quot;Yes&quot;)){&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; CloseDialog(true);&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; if(GUILayout.Button(&quot;No&quot;)){&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;CloseDialog(false);&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-small;&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-small;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-small;&quot;&gt;void&amp;nbsp;CloseDialog(bool result){&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;showDialog = false;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;currentDelegate(result);&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-small;&quot;&gt;}&lt;/span&gt;&lt;/blockquote&gt;&lt;br /&gt;
&lt;br /&gt;
You should be&amp;nbsp;comfortable&amp;nbsp;with the OnGUI code. Remember the &quot;currentDelegate&quot; function that we set in the ShowYesNoDialog. We are calling it in CloseDialog with the desired bool. This will result in &quot;QuitResponse&quot; being called with either false or true, as if there would&#39;ve been a hardcoded&amp;nbsp;QuitResponse(result) instead of currentDelegate(result). Remember that we don&#39;t want to hardcode QuitResponse(result) in there since you&#39;ll want to pass different response functions for different dialogs.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Where to go from here?&lt;/b&gt;&lt;br /&gt;
Most times you&#39;ll actually want to use a void function with no input, or a boolean. However, you can define any delegates you want, i.e.:&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-small;&quot;&gt;public delegate void VoidDelegate();&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-small;&quot;&gt;public delegate string MyDelegate2(bool result);&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-small;&quot;&gt;public delegate int MyDelegate3(bool result, string bla, int myInt, List&amp;lt;string&amp;gt; myStringList);&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
To make this tutorial as easy as possible I showed you the manual definition of delegates. However you can skip this part using Actions! Actions are part of .NET and can be used for general functions with one argument, see the&amp;nbsp;&lt;a href=&quot;http://msdn.microsoft.com/en-us/library/018hxwa8.aspx&quot;&gt;Action docs&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;FAQ&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&amp;nbsp;Do delegates work in Unity JS? &amp;nbsp;&lt;a href=&quot;http://u3d.as/content/m2h/c-to-js-converter/1tG&quot;&gt;Convert to&lt;/a&gt; C# &lt;a href=&quot;http://u3d.as/content/m2h/c-game-examples/1sG&quot;&gt;already&lt;/a&gt;! But yep, it&lt;a href=&quot;http://forum.unity3d.com/threads/9679-Javascript-Delegates!&quot;&gt; looks like it&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;&lt;br /&gt;
&lt;b&gt;Further reading&lt;/b&gt;&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://msdn.microsoft.com/en-us/library/018hxwa8.aspx&quot;&gt;Actions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://msdn.microsoft.com/en-us/library/ms173171(v=vs.80).aspx&quot;&gt;Delegates&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://msdn.microsoft.com/en-us/library/aa645739(v=vs.71).aspx&quot;&gt;Events&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.m2h.nl/feeds/2138005629698460069/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.m2h.nl/2011/04/horror-of-delegates.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/544804370897859364/posts/default/2138005629698460069'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/544804370897859364/posts/default/2138005629698460069'/><link rel='alternate' type='text/html' href='http://blog.m2h.nl/2011/04/horror-of-delegates.html' title='The horror of delegates!'/><author><name>Mike Hergaarden</name><uri>http://www.blogger.com/profile/04313722531741801493</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgf2VysfeWK-BXlhCp7o21IZ9HsQUtSWdX4LcpaeDOegC1ujmUlbFB1gWtHPRV4JVUs457OsVoILXuRiZWtAl0mvLGd5AbdzGmbxnCoZHePLg-6aPyrvpZ5mcSHeXpV9Q/s113/Mike_2018_1jpeg90_1280x1920.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQQcm1ZmSY1tYu-BZCMJc_L9SwR93P7brKlx5VxCaqGtHUuXhE2a237o8Th4cn0OBnt2Xz_IJD6-GbjLTpTWiNP3jlxsj_Ppt3FUfb-fQofKYVCclUhWbLe0L8ZUksm0GEkvmiAkMySJF0/s72-c/deleg.PNG" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-544804370897859364.post-4996622936700027380</id><published>2011-03-11T17:18:00.002+01:00</published><updated>2011-03-11T17:18:53.686+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="UnityCollab"/><title type='text'>Unity: Serialization of project&amp;scene settings</title><content type='html'>To make a start in the actual &lt;b&gt;UnityCollab &lt;/b&gt;synchronization of the Unity editor I decided to begin with the scene (RenderSettings) and project settings (Time, Physics, PlayerSettings, etc.). Using reflection it&#39;s relatively quick&amp;amp;easy to generate a list of all settings. Below is an example of what I was able to generate so far. The beauty of this code is that it supports any updates/changed to the Unity API. It would only need an 1-line update if a new settings class would be added, but that&#39;s not very likely. However, the big downside is that Unity still does not expose all available settings.&lt;br /&gt;
&lt;blockquote&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: xx-small;&quot;&gt;RenderSettings.fog = True&lt;br /&gt;
RenderSettings.fogMode = ExponentialSquared&lt;br /&gt;
RenderSettings.fogColor = RGBA(0.500, 0.500, 0.500, 1.000)&lt;br /&gt;
RenderSettings.fogDensity = 0.01&lt;br /&gt;
RenderSettings.fogStartDistance = 0&lt;br /&gt;
RenderSettings.fogEndDistance = 300&lt;br /&gt;
RenderSettings.ambientLight = RGBA(0.127, 0.127, 0.127, 1.000)&lt;br /&gt;
RenderSettings.haloStrength = 0.5&lt;br /&gt;
RenderSettings.flareStrength = 1&lt;br /&gt;
RenderSettings.skybox = null&lt;br /&gt;
Time.fixedDeltaTime = 0.02&lt;br /&gt;
Time.maximumDeltaTime = 0.3333333&lt;br /&gt;
Time.timeScale = 1&lt;br /&gt;
Time.captureFramerate = 0&lt;br /&gt;
Physics.gravity = (0.0, -9.8, 0.0)&lt;br /&gt;
Physics.minPenetrationForPenalty = 0.01&lt;br /&gt;
Physics.bounceThreshold = 2&lt;br /&gt;
Physics.bounceTreshold = 2&lt;br /&gt;
Physics.sleepVelocity = 0.15&lt;br /&gt;
Physics.sleepAngularVelocity = 0.14&lt;br /&gt;
Physics.maxAngularVelocity = 7&lt;br /&gt;
Physics.solverIterationCount = 6&lt;br /&gt;
Physics.penetrationPenaltyForce = 0&lt;br /&gt;
QualitySettings.currentLevel = Good&lt;br /&gt;
QualitySettings.pixelLightCount = 2&lt;br /&gt;
QualitySettings.shadowCascades = 2&lt;br /&gt;
QualitySettings.shadowDistance = 100&lt;br /&gt;
QualitySettings.masterTextureLimit = 0&lt;br /&gt;
QualitySettings.anisotropicFiltering = Enable&lt;br /&gt;
QualitySettings.softVegetation = True&lt;br /&gt;
QualitySettings.maxQueuedFrames = -1&lt;br /&gt;
Network.incomingPassword =&lt;br /&gt;
Network.logLevel = Off&lt;br /&gt;
Network.sendRate = 15&lt;br /&gt;
Network.isMessageQueueRunning = True&lt;br /&gt;
Network.minimumAllocatableViewIDs = 100&lt;br /&gt;
Network.useNat = False&lt;br /&gt;
Network.natFacilitatorIP = 67.225.180.24:50005&lt;br /&gt;
Network.natFacilitatorPort = 50005&lt;br /&gt;
Network.connectionTesterIP = 0.0.0.0&lt;br /&gt;
Network.connectionTesterPort = 10737&lt;br /&gt;
Network.maxConnections = 0&lt;br /&gt;
Network.proxyIP = 0.0.0.0&lt;br /&gt;
Network.proxyPort = 10746&lt;br /&gt;
Network.useProxy = False&lt;br /&gt;
Network.proxyPassword =&lt;br /&gt;
PlayerSettings.companyName = Leepo&lt;br /&gt;
PlayerSettings.productName = MasterProject&lt;br /&gt;
PlayerSettings.defaultScreenWidth = 1024&lt;br /&gt;
PlayerSettings.defaultScreenHeight = 768&lt;br /&gt;
PlayerSettings.defaultWebScreenWidth = 600&lt;br /&gt;
PlayerSettings.defaultWebScreenHeight = 450&lt;br /&gt;
PlayerSettings.displayResolutionDialog = Enabled&lt;br /&gt;
PlayerSettings.defaultIsFullScreen = False&lt;br /&gt;
PlayerSettings.useAlphaInDashboard = False&lt;br /&gt;
PlayerSettings.runInBackground = False&lt;br /&gt;
PlayerSettings.captureSingleScreen = False&lt;br /&gt;
PlayerSettings.usePlayerLog = True&lt;br /&gt;
PlayerSettings.alwaysDisplayWatermark = False&lt;br /&gt;
PlayerSettings.firstStreamedLevelWithResources = 0&lt;br /&gt;
PlayerSettings.resolutionDialogBanner = null&lt;br /&gt;
PlayerSettings.iPhoneBundleIdentifier = com.Company.ProductName&lt;br /&gt;
PlayerSettings.keystorePass =&lt;br /&gt;
PlayerSettings.keyaliasPass =&lt;br /&gt;
PlayerSettings.bundleIdentifier = com.Company.ProductName&lt;br /&gt;
PlayerSettings.bundleVersion = 1.0&lt;br /&gt;
PlayerSettings.strippingLevel = Disabled&lt;br /&gt;
PlayerSettings.defaultInterfaceOrientation = Portrait&lt;br /&gt;
PlayerSettings.apiCompatibilityLevel = NET_2_0_Subset&lt;br /&gt;
EditorBuildSettings.scenes = UnityEditor.EditorBuildSettingsScene[]&lt;br /&gt;
AudioSettings.speakerMode = Stereo&lt;/span&gt;&lt;/blockquote&gt;&lt;div style=&quot;background-color: transparent;&quot;&gt;&lt;span id=&quot;internal-source-marker_0.2017412493005395&quot; style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Project settings:&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;  Time manager&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;  Physics manager&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: transparent; color: red; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;  Tags&lt;/span&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: transparent; color: red; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;  Layers&lt;/span&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: transparent; color: red; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;  QualitySettings (only current settings)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;  Network Manager&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: transparent; color: red; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;  Input Manager &lt;/span&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;  Build Settings&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;  &lt;/span&gt;&lt;span style=&quot;background-color: transparent; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: red;&quot;&gt;Audio Manager (only speakermode?)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Scene settings:&lt;/span&gt;&lt;/div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Arial; font-size: 15px; white-space: pre-wrap;&quot;&gt;  RenderSettings&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Arial; font-size: 15px; white-space: pre-wrap;&quot;&gt;&lt;/span&gt;So, reflection on the Unity API isn&#39;t a complete option: The API does not expose Tags, Layers, QualitySettings levels, InputManager. Why bother&amp;nbsp;synchronizing&amp;nbsp;this stuff when still some vital parts are missing? UnityCollab will be easier and more useful to use when it&#39;s clear what it can and can not do.&lt;br /&gt;
&lt;br /&gt;
The most useful settings are the Physics, Time and Render Settings, I&#39;ll only implement synchronization of these for now. Someone hinted that Binary deserialization of the asset files could be an option. I have no experience here yet though, any pointers are welcome :).&lt;br /&gt;
&lt;br /&gt;
I&#39;ll return to actual scene object synchronization for now..</content><link rel='replies' type='application/atom+xml' href='http://blog.m2h.nl/feeds/4996622936700027380/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.m2h.nl/2011/03/unity-serialization-of-project-settings.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/544804370897859364/posts/default/4996622936700027380'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/544804370897859364/posts/default/4996622936700027380'/><link rel='alternate' type='text/html' href='http://blog.m2h.nl/2011/03/unity-serialization-of-project-settings.html' title='Unity: Serialization of project&amp;scene settings'/><author><name>Mike Hergaarden</name><uri>http://www.blogger.com/profile/04313722531741801493</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgf2VysfeWK-BXlhCp7o21IZ9HsQUtSWdX4LcpaeDOegC1ujmUlbFB1gWtHPRV4JVUs457OsVoILXuRiZWtAl0mvLGd5AbdzGmbxnCoZHePLg-6aPyrvpZ5mcSHeXpV9Q/s113/Mike_2018_1jpeg90_1280x1920.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-544804370897859364.post-5329835937652770175</id><published>2011-03-06T17:28:00.001+01:00</published><updated>2011-03-06T17:29:51.769+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="slavehack"/><title type='text'>Running a game full of hackers</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhjTxNUfpTy0bfvE2ejFWZtf1OZ_GrlE9aS5WQNpaQAQA2MhoDq12f9IB7eBxhKjVAslTTCxmQlaKLjEYBmUZCAF_EF0GuKO8IWXGeZxEgrqAu1nfWN4eDDDGBDMgpio82JQYDZd_r2bpIk/s1600/Slave+Hack_small.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhjTxNUfpTy0bfvE2ejFWZtf1OZ_GrlE9aS5WQNpaQAQA2MhoDq12f9IB7eBxhKjVAslTTCxmQlaKLjEYBmUZCAF_EF0GuKO8IWXGeZxEgrqAu1nfWN4eDDDGBDMgpio82JQYDZd_r2bpIk/s1600/Slave+Hack_small.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;In this blogpost I summarize the history of SlaveHack. Today I signed an agreement with Brian Ewing which means he will take over running SlaveHack. Hereby a look into the past&amp;nbsp;5 years.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;What is SlaveHack?&lt;/b&gt;&lt;br /&gt;
&lt;div&gt;In SlaveHack every player owns a computer with an IP address assigned to it. Players can manage their own hardware and software. The &#39;story&#39;/puzzle mode of the game features the riddle trail, where players solve riddles (hidden in server logs and text files) to find the latest and best software versions. For example, you need the version 2.0 &quot;cracker&quot; software to hack the version 1.9 &quot;Firewall&quot;. All computers you&#39;ve hacked are labelled as your Slaves.&lt;/div&gt;&lt;div&gt;Everything features multiplayer: Whenever you connect to a server other players could be checking this servers log to grab your IP address, hack you and wipe your files or enslave you by install viruses on your computer. Money is made by installing spam&amp;nbsp;viruses&amp;nbsp;on PCs or selling warez. None of this requires any technical background and no real hacking (skill) is involved. However, the same thrill can be experienced; Adrenaline pumping to your veins after a&amp;nbsp;successful&amp;nbsp;hack, not knowing if you hid your trials quick, and well, enough.&lt;/div&gt;&lt;div style=&quot;font-weight: bold;&quot;&gt;&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;/div&gt;&lt;br /&gt;
&lt;b&gt;How it started&lt;/b&gt;&lt;br /&gt;
Right after I finished my last college tests (June 2006) I made the base of SlaveHack, an unique multiplayer hacking game. It was mostly inspired by Uplink, although very different. The base was set up in under a week and launched publicly, incremental updates would keep expanding the game after this very simple launch. This was my fourth&amp;nbsp;browser based&amp;nbsp;game using PHP+MySQL and later AJAX. The preceding games were Warrior Fields, Robot Revolutions and&amp;nbsp;&lt;a href=&quot;http://www.syrnia.com/&quot;&gt;Syrnia&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEipDtPSV6KF4EaO5POH3aw4OhFJTBQcKvtpH-1ryg8IkLYsmXTWlKhI6cdtywxLiXCsJ7OmTXhbU-WJmJeRnjRwEYbduj5L1EKw9IF2QZ17WkvCaK2tb9eWBUTfjonmgSc-nKD7WYujJd04/s1600/digg.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;141&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEipDtPSV6KF4EaO5POH3aw4OhFJTBQcKvtpH-1ryg8IkLYsmXTWlKhI6cdtywxLiXCsJ7OmTXhbU-WJmJeRnjRwEYbduj5L1EKw9IF2QZ17WkvCaK2tb9eWBUTfjonmgSc-nKD7WYujJd04/s400/digg.PNG&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;I would not have expected the game to boom very quick. I was at the &lt;b&gt;barber &lt;/b&gt;getting ready for the college graduation when I was called by my server provider about expansion; the server was overloaded. &lt;b&gt;DIGG &lt;/b&gt;featured SlaveHack on the front page! I put restrictions in place to allow only max 1000 players at once to keep the server alive. The game wasn&#39;t really ready for this hit. Transferring &quot;-1000&quot; euros from your in-game bank account would add cash, being one of the&amp;nbsp;embarrassing&amp;nbsp;bugs ;). With hundreds of players registering every few minutes I was fixing bugs and improving the game like crazy. There was no time to enjoy/realize the success of this DIGG post and how it even got there. I hope to experience this same chaos again some time though :).&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi5v1IjgdV0M9gCpMw0ag35ax_xVLGlzLqcsu9keFEc_ZrsNC6LL9bwaWYBzzAzMJ6cQ1r-LMr8aKQyp6jvAXxcIAxkrAe_cHCH7HdAluVdiqfJ9h8pEG0CSDSaGLRxJ8KuuLGP0OS-HfNI/s1600/shha.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;164&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi5v1IjgdV0M9gCpMw0ag35ax_xVLGlzLqcsu9keFEc_ZrsNC6LL9bwaWYBzzAzMJ6cQ1r-LMr8aKQyp6jvAXxcIAxkrAe_cHCH7HdAluVdiqfJ9h8pEG0CSDSaGLRxJ8KuuLGP0OS-HfNI/s320/shha.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;b&gt;Problems&lt;/b&gt;&lt;br /&gt;
Due to the nature of the game, certain problems could&#39;ve been expected. Several times I&#39;ve received &lt;b&gt;extortion &lt;/b&gt;emails demanding cash (in real life and in-game currency), otherwise an &quot;DDoS&quot; attack would be launched. Sometimes this was bluff other times &amp;nbsp;these attacks did commence and took the server down for a bit. &lt;i&gt;Surprisingly&lt;/i&gt;, the SlaveHack server has &lt;b&gt;never &lt;/b&gt;been &lt;b&gt;hacked&lt;/b&gt;! In 2010 SlaveHack has been mentioned in &lt;b&gt;court &lt;/b&gt;and therefore in Australian newspapers and was even shown on the national television. Some hacker was busted who claimed to be playing SlaveHack and other online games for 15 hours a day. Luckily this was/is the only case I know of.&lt;br /&gt;
&lt;br /&gt;
My interests have moved to Unity based games the last few years. As I&#39;m trying to build up the M2H game company plus finishing my Masters I could no longer support SlaveHack. Brian already ran SH for me, having him take over completely made much sense. Selling a&amp;nbsp;browser based&amp;nbsp;game like SlaveHack does not even seem to be an option, as I&#39;ve explored this possibility as well.&lt;br /&gt;
&lt;br /&gt;
Over 175 000 players have registered for Slave Hack and I hope Brian will be able to, say, double that in the future :).&lt;br /&gt;
&lt;br /&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://www.slavehack.com/&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;240&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEid-O5BMr62cFllqrENtjRMHygyI2KEvct3m6Qm2cXm-PeZTfV2fenXgIEsRsFCl3FhN_yRap8O7uuvUxGQzzu0Brv1ttl9kNTv-ZT2B1F41wAvWGpW1g5X7Q4stGlJLXiC-ajdEyQUOLnf/s320/Slave+Hack_9.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://slavehack.com/&quot;&gt;SlaveHack.com&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.m2h.nl/feeds/5329835937652770175/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.m2h.nl/2011/03/running-game-full-of-hackers.html#comment-form' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/544804370897859364/posts/default/5329835937652770175'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/544804370897859364/posts/default/5329835937652770175'/><link rel='alternate' type='text/html' href='http://blog.m2h.nl/2011/03/running-game-full-of-hackers.html' title='Running a game full of hackers'/><author><name>Mike Hergaarden</name><uri>http://www.blogger.com/profile/04313722531741801493</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgf2VysfeWK-BXlhCp7o21IZ9HsQUtSWdX4LcpaeDOegC1ujmUlbFB1gWtHPRV4JVUs457OsVoILXuRiZWtAl0mvLGd5AbdzGmbxnCoZHePLg-6aPyrvpZ5mcSHeXpV9Q/s113/Mike_2018_1jpeg90_1280x1920.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhjTxNUfpTy0bfvE2ejFWZtf1OZ_GrlE9aS5WQNpaQAQA2MhoDq12f9IB7eBxhKjVAslTTCxmQlaKLjEYBmUZCAF_EF0GuKO8IWXGeZxEgrqAu1nfWN4eDDDGBDMgpio82JQYDZd_r2bpIk/s72-c/Slave+Hack_small.png" height="72" width="72"/><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-544804370897859364.post-3261155935237360691</id><published>2011-03-03T14:58:00.003+01:00</published><updated>2011-03-03T15:10:52.675+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="appup"/><category scheme="http://www.blogger.com/atom/ns#" term="msi"/><category scheme="http://www.blogger.com/atom/ns#" term="Unity"/><category scheme="http://www.blogger.com/atom/ns#" term="Unity3D"/><title type='text'>Creating a .msi installer for Unity games (e.g. for Intel AppUp)</title><content type='html'>Last week I&#39;ve struggled with a AppUp submission deadline. It was a frustrating, but rewarding experience. I hope to save you a lot of time by showing you how to create an MSI installer for Unity games, which are required for Intel AppUp submission. Don&#39;t be afraid by this posts length, after having submitted an AppUp game once you&#39;ll be able to do it within 15 minutes.&lt;br /&gt;
&lt;br /&gt;
Firstly, AppUp specific: You need to connect your game to the AppUp API. Bakno has a plugin available on the Unity asset store. Their API works great, even though I personally didn&#39;t like the code they provided, I completely rewrote the (small) Unity part (Go C# and use a static class plx :)). Furthermore their bundled instructions to create an MSI using WinInstall were outdated: WinInstall (and other MSI creating tools) do not pass the AppUp validation. So, the only&amp;nbsp;useful&amp;nbsp;part of the Bakno plugin is that it&#39;s saving you the time to create some AppUp API hooks to use in Unity (even though this might be very easy to do yourself).&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Step 1: Build the game&lt;/b&gt;&lt;br /&gt;
Create a build in Unity. If you use the Unity player log option make sure that you run your game once so that the output_log.txt is in the Data folder. If you&#39;re using this logfile you better include it in the installer so that it knows it should also delete this file when uninstalling. The same counts for any other files your game might create, but per default it&#39;s just &quot;GAMENAME_Data/output_log.txt&quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Step2: Open Visual Studio&lt;/b&gt;&lt;br /&gt;
I&#39;m using visual studio 2008, but 2010 should work just as well.&lt;br /&gt;
&lt;br /&gt;
Intel has an AppUp specific guide to create the MSI:&amp;nbsp;&lt;a href=&quot;http://appdeveloper.intel.com/en-us/video/video-creating-msi-installer-using-visual-studio-2008&quot;&gt;Video&lt;/a&gt;, &lt;a href=&quot;http://appdeveloper.intel.com/en-us/article/how-creating-your-msi-installer-using-visual-studio-2008&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: xx-small;&quot;&gt;Text&lt;/span&gt;&lt;/a&gt;. I&#39;ll guide you trough all steps and note the Unity specific needs below. Note that the text guide shows you how to create an MSI for an existing VS project, however for our built Unity game it&#39;s even easier; simply drag&amp;amp;drop your files to the &quot;Application folder&quot; (the fourth step here). So we&#39;ll have to stick to the video and this blogpost only.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgEXkvNewcFScQCgBKcirBKFjT_Zdt3JxqnQhRq8Sx-TF_VlvZK5RRBxARfBSjWBSOvEKfXA2N6JlLnDXDYqqlc1x_erUg08ofloAdbdUOIvsS6QDn5YzpQPrgnkZAVaQksnOApCd44WUeQ/s1600/vs1.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;220&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgEXkvNewcFScQCgBKcirBKFjT_Zdt3JxqnQhRq8Sx-TF_VlvZK5RRBxARfBSjWBSOvEKfXA2N6JlLnDXDYqqlc1x_erUg08ofloAdbdUOIvsS6QDn5YzpQPrgnkZAVaQksnOApCd44WUeQ/s400/vs1.PNG&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;2.1 &amp;nbsp;Choose &quot;File -&amp;gt; New -&amp;gt; Project&quot;&lt;/li&gt;
&lt;li&gt;2.2 &amp;nbsp;In the new project window: &quot;Other project types -&amp;gt; Setup project&quot;.&amp;nbsp;Enter a name, e.g. &quot;Crashdrive3D&quot; and press &quot;OK&quot;&lt;/li&gt;
&lt;/ul&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQbA0yDg7kqRkDPtjoiBcmDRHRcYWMGYKZsb7KTbZVWwxiFvjGJZP0olVTjQPetwOJO0BpKU-_LhX0riFYuZRx-2BLeD7NRkv1dCQU1q2SsRzdW_KL2Sla4kW2Yx0YeiQYf5cTrXdvPEO4/s1600/proper.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;215&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQbA0yDg7kqRkDPtjoiBcmDRHRcYWMGYKZsb7KTbZVWwxiFvjGJZP0olVTjQPetwOJO0BpKU-_LhX0riFYuZRx-2BLeD7NRkv1dCQU1q2SsRzdW_KL2Sla4kW2Yx0YeiQYf5cTrXdvPEO4/s400/proper.PNG&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;ul&gt;&lt;li&gt;2.3 &amp;nbsp;In the solution explorer, right mouse click on your project and select &lt;b&gt;properties&lt;/b&gt;. You&#39;ll need to change the Author and Publisher name to your own company name.&lt;/li&gt;
&lt;li&gt;2.4 &amp;nbsp;Drag&amp;amp;Drop your Unity build folder to the &lt;i&gt;Application folder&lt;/i&gt;, which is in the &lt;i&gt;File System&lt;/i&gt; tab.&lt;/li&gt;
&lt;/ul&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiaNe-zAk8D4R8pk6zcRZHnfW778QaJJdApKwKLuKzMaDt37fVW4ADTAr_Jt80pRE71Ia7gPW921KNCQ38Ju6apoTCzLJxB17gf0lj3giJq_unsr_y0TgIZnmo7DV7RUL5spTZSz417rTgt/s1600/22.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;126&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiaNe-zAk8D4R8pk6zcRZHnfW778QaJJdApKwKLuKzMaDt37fVW4ADTAr_Jt80pRE71Ia7gPW921KNCQ38Ju6apoTCzLJxB17gf0lj3giJq_unsr_y0TgIZnmo7DV7RUL5spTZSz417rTgt/s400/22.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;ul&gt;&lt;li&gt;2.5 &amp;nbsp;AppUp requires at least one &lt;b&gt;shortcut&lt;/b&gt;: Add one to the &quot;User&#39;s Desktop&quot; and one to the &quot;User&#39;s Program Menu&quot;.&lt;/li&gt;
&lt;ul&gt;&lt;li&gt;Via the property panel you should specify the &lt;b&gt;target &lt;/b&gt;of the shortcut, this needs to point to your main .exe (Crashdrive3D.exe)&lt;/li&gt;
&lt;li&gt;Also create an .ico file of your application and drag&amp;amp;drop it to the application folder. I placed it in the Crashdrive3D_Data folder. You can convert images to .ico online &lt;a href=&quot;http://iconverticons.com/&quot;&gt;here&lt;/a&gt;. Then, for both shortcuts specify the&lt;b&gt; ico file&lt;/b&gt; via the propery window again.&lt;/li&gt;
&lt;/ul&gt;&lt;/ul&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEidYP6W6IW73A9CLyRt2rUGZY7_ZyDvD5ih7YAJ45zeMPnnynR6YdKgWbZ4anNtmM7Z35mldYh6kqrztMMCcT5asG_emGBD-QV37RbeD2UcqRsQOJkep7H3Svikq7G0cA3tyv_UnDUcHK32/s1600/333.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;210&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEidYP6W6IW73A9CLyRt2rUGZY7_ZyDvD5ih7YAJ45zeMPnnynR6YdKgWbZ4anNtmM7Z35mldYh6kqrztMMCcT5asG_emGBD-QV37RbeD2UcqRsQOJkep7H3Svikq7G0cA3tyv_UnDUcHK32/s400/333.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;ul&gt;&lt;li&gt;2.6 &amp;nbsp;One more AppUp specific requirement: They prefer/require a clean install (double click the MSI and the game installs without any prompt). To do so you can remove all GUI for the user installation&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;&lt;div&gt;Now, normally you would now be ready to build the installer. However, Unity has some exceptions.&amp;nbsp;Firstly I&#39;d&amp;nbsp;switch&amp;nbsp;the target from the default Debug mode to Release mode. The Unity related problem is that VS adds dependencies automatically. If you try to build right now it&#39;ll refuse to do so because mscorlib.tlb has been added:&lt;/div&gt;&lt;blockquote&gt;&lt;blockquote&gt;Error&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;1&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&#39;mscorlib.tlb&#39; should be excluded because its source file &#39;C:\Windows\Microsoft.NET\Framework\v2.0.50727\mscorlib.tlb&#39; is under Windows System File Protection.&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;C:\Users\Leepo\Documents\Visual Studio 2008\Projects\Setup1\Setup1\Setup1.vdproj&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;Setup1&lt;/blockquote&gt;&lt;/blockquote&gt;&lt;br /&gt;
The solution is to simply EXCLUDE this file from the build (right mouse button -&amp;gt; Exclude). Building will now work. However do note that VS also added a lot of double files, From &lt;i&gt;Assembly-CSharp-firstpass.DLL&lt;/i&gt; to &lt;span style=&quot;font-style: italic;&quot;&gt;System.DLL&lt;/span&gt;, all double files seem to be marked with uppercase DLL. These files will generate warnings in the build console, and when verifying the .MSI with ORCA you&#39;ll see similar warnings. Furthermore it could be very nasty if VS decided to add different versions of these .NET files, luckily that doesn&#39;t seem to be the case. Anyway, I suggest you to exclude all files under detected&amp;nbsp;dependencies&amp;nbsp;and delete the System.DLL (since we already have System.dll)&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtAgmraogQUlwAL0V-FepDSXYmiFNm_qku4v8ArBgkoL8Zx1dj8p6wVVfQGIItzqUXX2kPr-pHNfbRFVJhG-7Dj0-szMIK9VfzANR6KIq_fujtseLtPm-4IeEcpWO80FG2yxYxJplNHcYU/s1600/msiv.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;290&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtAgmraogQUlwAL0V-FepDSXYmiFNm_qku4v8ArBgkoL8Zx1dj8p6wVVfQGIItzqUXX2kPr-pHNfbRFVJhG-7Dj0-szMIK9VfzANR6KIq_fujtseLtPm-4IeEcpWO80FG2yxYxJplNHcYU/s320/msiv.PNG&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
You should now have a clean .MSI. To verify MSI files you can use the free tool ORCA,&amp;nbsp;I believe I downloaded ORCA&amp;nbsp;&lt;a href=&quot;http://www.technipages.com/download-orca-msi-editor.html&quot;&gt;here&lt;/a&gt;.&amp;nbsp;The .MSI you made for AppUp will have some errors in ORCA because the user GUI has been removed though, but our installer(s) have been accepted, e.g. &quot;Stacking Island&quot;.&lt;br /&gt;
If you want an MSI for other purposes than AppUp, simply customize the shortcuts and installer to your liking!&lt;br /&gt;
&lt;br /&gt;
A proper .msi and shortcut really make the games look more professional on my desktop, haha!&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjuXXF_1-cxki0vGacEfa2Qsrrw-UwE3yGsWiAPVR11Dft3Vx_8AVC_yWOwJKKlWsjMgBbbEno-PSi74WgIZ6NWixC1cvCwJQQnjTwHFh50jVbW8gDFVWyhLPgkTmEUmT1RyZhlA6tKL9DJ/s1600/short.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;356&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjuXXF_1-cxki0vGacEfa2Qsrrw-UwE3yGsWiAPVR11Dft3Vx_8AVC_yWOwJKKlWsjMgBbbEno-PSi74WgIZ6NWixC1cvCwJQQnjTwHFh50jVbW8gDFVWyhLPgkTmEUmT1RyZhlA6tKL9DJ/s640/short.PNG&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.m2h.nl/feeds/3261155935237360691/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.m2h.nl/2011/03/creating-msi-installer-for-unity-games.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/544804370897859364/posts/default/3261155935237360691'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/544804370897859364/posts/default/3261155935237360691'/><link rel='alternate' type='text/html' href='http://blog.m2h.nl/2011/03/creating-msi-installer-for-unity-games.html' title='Creating a .msi installer for Unity games (e.g. for Intel AppUp)'/><author><name>Mike Hergaarden</name><uri>http://www.blogger.com/profile/04313722531741801493</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgf2VysfeWK-BXlhCp7o21IZ9HsQUtSWdX4LcpaeDOegC1ujmUlbFB1gWtHPRV4JVUs457OsVoILXuRiZWtAl0mvLGd5AbdzGmbxnCoZHePLg-6aPyrvpZ5mcSHeXpV9Q/s113/Mike_2018_1jpeg90_1280x1920.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgEXkvNewcFScQCgBKcirBKFjT_Zdt3JxqnQhRq8Sx-TF_VlvZK5RRBxARfBSjWBSOvEKfXA2N6JlLnDXDYqqlc1x_erUg08ofloAdbdUOIvsS6QDn5YzpQPrgnkZAVaQksnOApCd44WUeQ/s72-c/vs1.PNG" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-544804370897859364.post-739485775764531345</id><published>2011-03-02T14:44:00.001+01:00</published><updated>2011-03-02T14:46:09.496+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="appup"/><category scheme="http://www.blogger.com/atom/ns#" term="bomb factory"/><category scheme="http://www.blogger.com/atom/ns#" term="crashdrive"/><category scheme="http://www.blogger.com/atom/ns#" term="mac"/><category scheme="http://www.blogger.com/atom/ns#" term="stacking island"/><category scheme="http://www.blogger.com/atom/ns#" term="store"/><title type='text'>Random ramblings: Unity Newsletter, Mac Store, AppUp</title><content type='html'>I was very&amp;nbsp;honored&amp;nbsp;and surprised to discover my UnityCollab master project has been mentioned in the official Unity newsletter! If you got here for UnityCollab, &lt;a href=&quot;http://blog.m2h.nl/2011/02/unitycollab-multiplayer-unity-editor.html&quot;&gt;here&#39;s&lt;/a&gt;&amp;nbsp;the post that was mentioned.&lt;br /&gt;
&lt;br /&gt;
In some spare time we&#39;ve been adding some of our games to AppUp and the Mac store. Hereby our experiences.&lt;br /&gt;
&lt;br /&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://www.zdnet.nl/zd_images/2011/01/mac_app_store.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;171&quot; src=&quot;http://www.zdnet.nl/zd_images/2011/01/mac_app_store.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Feature meh!&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;b&gt;Mac store&lt;/b&gt;&lt;br /&gt;
First of all, submitting games is&amp;nbsp;remarkably&amp;nbsp;easy.&amp;nbsp;Seons&amp;nbsp;(Sector3) validation plugin also saved lots of time. But we&#39;ll see how the Mac Store sales/marketing side is. Once again, simply getting featured there is a BIG plus.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://bit.ly/dJ0wcx&quot;&gt;Bomb factory&lt;/a&gt; has launched on the Mac store. We had to wait 14 days to receive a &quot;random rejection&quot; stating the game file was corrupted. Surprisingly, the resubmittion was accepted within 24 hours! Sadly, bomb factory was not highlighted and can only be found when searching, or when specifically looking at the Games -&amp;gt; Puzzle category. I doubt it fits that category though.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://crashdrive.m2h.nl/&quot;&gt;Crashdrive 3D&lt;/a&gt;&lt;b&gt;[first promo page!]&lt;/b&gt; has been submitted to the Mac store and should launch 8 - 14 march somewhere(?). An iOS version will be submitted shortly as well. I do sure hope at least Mac version will be highlighted in the Mac store..&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://www.appup.com/applications/en_US/Assets/Image/marquee/logo-appup-main.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://www.appup.com/applications/en_US/Assets/Image/marquee/logo-appup-main.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;b&gt;AppUp&lt;/b&gt;&lt;br /&gt;
It was because of AppUp&#39;s sponsorship of the GGJ that I discovered about this new app store. It&#39;s still fairly new and there&#39;s not a lot of sales. But after having finally figured out how to submit &lt;a href=&quot;http://m2h.nl/tmp/StackingIsland.jpg&quot;&gt;Stacking Island&lt;/a&gt; to the store, submitting Bomb Factory and Crashdrive was very easy.&lt;br /&gt;
Stacking Island is live and I just noticed it had it&#39;s first sale. I don&#39;t expect anything from AppUp but we&#39;ll see how AppUp moves.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;About UnityCollab&lt;/b&gt;&lt;br /&gt;
I need to do some theory work now. While the practical side is very exciting, the theory/paper is very important for the University.</content><link rel='replies' type='application/atom+xml' href='http://blog.m2h.nl/feeds/739485775764531345/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.m2h.nl/2011/03/random-ramblings-unity-newsletter-mac.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/544804370897859364/posts/default/739485775764531345'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/544804370897859364/posts/default/739485775764531345'/><link rel='alternate' type='text/html' href='http://blog.m2h.nl/2011/03/random-ramblings-unity-newsletter-mac.html' title='Random ramblings: Unity Newsletter, Mac Store, AppUp'/><author><name>Mike Hergaarden</name><uri>http://www.blogger.com/profile/04313722531741801493</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgf2VysfeWK-BXlhCp7o21IZ9HsQUtSWdX4LcpaeDOegC1ujmUlbFB1gWtHPRV4JVUs457OsVoILXuRiZWtAl0mvLGd5AbdzGmbxnCoZHePLg-6aPyrvpZ5mcSHeXpV9Q/s113/Mike_2018_1jpeg90_1280x1920.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-544804370897859364.post-8072769948881766906</id><published>2011-02-16T17:56:00.003+01:00</published><updated>2011-02-17T10:37:03.120+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="multiplayer"/><category scheme="http://www.blogger.com/atom/ns#" term="Unity"/><category scheme="http://www.blogger.com/atom/ns#" term="Unity3D"/><category scheme="http://www.blogger.com/atom/ns#" term="UnityCollab"/><title type='text'>UnityCollab: Multiplayer Unity editor</title><content type='html'>Whew! As I have set myself some deadlines for the master thesis I had to catch up on Mondays deadline. The target was to get basic photon connections working inside the Unity editor. I&#39;ve achieved that and more.&lt;br /&gt;
&lt;br /&gt;
Photon has been fully integrated in the Unity editor, developers that are working on the same project and&amp;nbsp;exactly&amp;nbsp;the same scene share a multiplayer &#39;room&#39;: They can see each other and chat. When the editor switches to play mode UnityCollab is switched off, it&#39;ll continue running when you return to edit mode. You are also free to turn off&amp;nbsp;synchronization. As I was very curious where I could take this I quickly hardcoded synchronization for one object; it&#39;s position, scale and rotation are synched in real time!&lt;br /&gt;
&lt;br /&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQrFwh9pHFh5I3y1YarRdk4wwK7CIkOTQJNFu7Bf8IVV0kp73N4BGCIaI8dED-zQW6xvpZJE5vE1__CarwZL1arzUE3yKi7CgPqmmrZiPAeJdmdd1jilIKsdF9c58yqrL-eoRdVBERI53a/s1600/UnityCollab.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;256&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQrFwh9pHFh5I3y1YarRdk4wwK7CIkOTQJNFu7Bf8IVV0kp73N4BGCIaI8dED-zQW6xvpZJE5vE1__CarwZL1arzUE3yKi7CgPqmmrZiPAeJdmdd1jilIKsdF9c58yqrL-eoRdVBERI53a/s400/UnityCollab.PNG&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;The UnityCollab window (bottom right) allows chatting with those who are working on the same scene&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;
Hereby a short recording of me moving, scaling and rotating a scene character on windows. This is synchronized with a Mac editor running the same scene. Both run&amp;nbsp;&lt;u&gt;edit&lt;/u&gt; mode.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;iframe allowfullscreen=&#39;allowfullscreen&#39; webkitallowfullscreen=&#39;webkitallowfullscreen&#39; mozallowfullscreen=&#39;mozallowfullscreen&#39; width=&#39;320&#39; height=&#39;266&#39; src=&#39;https://www.blogger.com/video.g?token=AD6v5dyHJHMYb8-ygr_p7BAG4MpCSFUSLr5lj62EDkO7stSr55Br5GYs2HiwHcLQuJZnEmSmvIxSdCOtangZbexGPQ&#39; class=&#39;b-hbp-video b-uploaded&#39; frameborder=&#39;0&#39;&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;br /&gt;
Now that the photon implementation has been covered I need to look into Serialization in Unity. If anyone has any tips; do share! There was an interesting Serialization talk at Unite 2010, but I believe the video never made it online, ugh.&lt;br /&gt;
&lt;br /&gt;
See&amp;nbsp;&lt;a href=&quot;http://m2h.nl/unity/cgd.php&quot;&gt;http://m2h.nl/unity/cgd.php&lt;/a&gt;&amp;nbsp;for more info about this project.&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;PS: thanks to Tobias (ExitGames) for hints&amp;amp;pointers about photon :).&lt;/i&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.m2h.nl/feeds/8072769948881766906/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.m2h.nl/2011/02/unitycollab-multiplayer-unity-editor.html#comment-form' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/544804370897859364/posts/default/8072769948881766906'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/544804370897859364/posts/default/8072769948881766906'/><link rel='alternate' type='text/html' href='http://blog.m2h.nl/2011/02/unitycollab-multiplayer-unity-editor.html' title='UnityCollab: Multiplayer Unity editor'/><author><name>Mike Hergaarden</name><uri>http://www.blogger.com/profile/04313722531741801493</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgf2VysfeWK-BXlhCp7o21IZ9HsQUtSWdX4LcpaeDOegC1ujmUlbFB1gWtHPRV4JVUs457OsVoILXuRiZWtAl0mvLGd5AbdzGmbxnCoZHePLg-6aPyrvpZ5mcSHeXpV9Q/s113/Mike_2018_1jpeg90_1280x1920.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQrFwh9pHFh5I3y1YarRdk4wwK7CIkOTQJNFu7Bf8IVV0kp73N4BGCIaI8dED-zQW6xvpZJE5vE1__CarwZL1arzUE3yKi7CgPqmmrZiPAeJdmdd1jilIKsdF9c58yqrL-eoRdVBERI53a/s72-c/UnityCollab.PNG" height="72" width="72"/><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-544804370897859364.post-5483759873506421788</id><published>2011-02-12T15:26:00.002+01:00</published><updated>2011-02-12T16:58:41.146+01:00</updated><title type='text'>Casual connect 2011 @ Hamburg</title><content type='html'>I&#39;ve finally recovered from the casual connect Hamburg. Next to Unite (last November) this was my second big game conference. Who knew the game industry conferences are all about listening to lectures while recovering from your hangover? Hereby a recap of the best points for those who are considering visiting the CC next year.&lt;br /&gt;
&lt;br /&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjoEJS61pLVSBTK31jURkvDw9vbvU8LNXxnPseKI8ZFZepwv5uTeENR_qNwY2FNke2NNyWFHPC6sQDWw2z_LPjcbiVIO1ZZkNkWlCG_vjYGQ4xnkvpLWKm5BHIIWbixGu_oeXsDGdo8T9UI/s1600/IMG_0519.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjoEJS61pLVSBTK31jURkvDw9vbvU8LNXxnPseKI8ZFZepwv5uTeENR_qNwY2FNke2NNyWFHPC6sQDWw2z_LPjcbiVIO1ZZkNkWlCG_vjYGQ4xnkvpLWKm5BHIIWbixGu_oeXsDGdo8T9UI/s320/IMG_0519.PNG&quot; width=&quot;213&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;While there was only little time for tourism, I&#39;ve had a look around Hamburg.&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;b&gt;Party&lt;/b&gt;&lt;br /&gt;
First, the important stuff. At both Unite and CC there are&amp;nbsp;&lt;b&gt;party&#39;s&amp;nbsp;every night&lt;/b&gt; except the last day of the conference. There is an &quot;&lt;b&gt;open bar&lt;/b&gt;&quot;: All kinds of drinks you&#39;d possibly want are totally free. Thanks to this I only had to spend a few euros in Hamburg, just transportation and dinner.&lt;br /&gt;
&lt;br /&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhlONjXwpR5kf9P5awMHI_9d02E2oCXjntxwFvna57CJkQcer_3r09HXRuJHkFMlcYnn0Qxxk31iTASWk9CD4nZaP5RbVaAvUgQkP4tPcyydXZvogLuk80u9CPYqdI4F8fjxJ1TNkgkPx8A/s1600/IMG_0496.JPG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;239&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhlONjXwpR5kf9P5awMHI_9d02E2oCXjntxwFvna57CJkQcer_3r09HXRuJHkFMlcYnn0Qxxk31iTASWk9CD4nZaP5RbVaAvUgQkP4tPcyydXZvogLuk80u9CPYqdI4F8fjxJ1TNkgkPx8A/s320/IMG_0496.JPG&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Angry birds&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;b&gt;Lectures&lt;/b&gt;&lt;br /&gt;
The lectures in general were &#39;ok&#39;. I&#39;m not into the social gaming stuff too much and while I enjoyed lectures such as AngryBirds&#39; they are &lt;b&gt;not fully applicable&lt;/b&gt; to me: I do not yet care about setting up&amp;nbsp;merchandising&amp;nbsp;for my games, I need to achieve the same&amp;nbsp;success&amp;nbsp;first. However do not misunderstand me: The lectures were good and even at the boring lectures you &lt;b&gt;filter out things yourself&lt;/b&gt; and &lt;b&gt;new ideas&lt;/b&gt; begin to shape in your mind. The keynote session by Bigpoint was actually most inspiring to me as it recapped the game industry for 2010 and used that to make predictions for 2011. It was an &lt;b&gt;eye opener&lt;/b&gt; to get back to the broad picture of gaming and not just the platforms/areas I focus on.&lt;br /&gt;
&lt;br /&gt;
The four most important notes I made at the lectures&lt;br /&gt;
&lt;blockquote&gt;gameforge talk: after BINC?(BrazilIndiaChina...?) there&#39;s now CEVAC(?? Egypt and some others) - I was too hangover here plus there were too many numbers&lt;br /&gt;
bigpoint keynote: gaming 2.0: freetoplay&lt;br /&gt;
bigpoint keynote: gaming 3.0: cloud,mobile, play whenever you want, multi platform&lt;br /&gt;
angrybirds: created around characters&lt;/blockquote&gt;&lt;b&gt;Networking&lt;/b&gt;&lt;br /&gt;
This is the most important part of the whole conference: Networking from beginning till the end. Start preparing early and also keep in touch after the conference. I met some great people, some of which I&#39;d like to do business with right away, other I&#39;d like to do business with in the future. It&#39;s so much fun and inspiring to meet all the people in real life, plus it&#39;s already starting to pay off for me.&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;Other&lt;/b&gt;&lt;br /&gt;
I left Hamburg the last day of the conference since I learned at Unite that it&#39;s common to leave right after the conference. It&#39;s no use to reserve some days&amp;nbsp;&amp;nbsp;for meeting&amp;nbsp;afterwards unless you set them up beforehand.&lt;br /&gt;
&lt;br /&gt;
Now with this experience behind me, I&#39;m back to work on all the stuff I&#39;ve got running. Several mac store launches, Crashdrive iOS launch, Cubelands needs some work, Wooglie needs to get a big update, Verdun beta needs to launch and there&#39;s also still Syrnia, Stacking Island and Slavehack.&lt;br /&gt;
Enough to do! I&#39;m seriously looking into hiring staff/freelancers/internships.</content><link rel='replies' type='application/atom+xml' href='http://blog.m2h.nl/feeds/5483759873506421788/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.m2h.nl/2011/02/casual-connect-2011-hamburg.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/544804370897859364/posts/default/5483759873506421788'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/544804370897859364/posts/default/5483759873506421788'/><link rel='alternate' type='text/html' href='http://blog.m2h.nl/2011/02/casual-connect-2011-hamburg.html' title='Casual connect 2011 @ Hamburg'/><author><name>Mike Hergaarden</name><uri>http://www.blogger.com/profile/04313722531741801493</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgf2VysfeWK-BXlhCp7o21IZ9HsQUtSWdX4LcpaeDOegC1ujmUlbFB1gWtHPRV4JVUs457OsVoILXuRiZWtAl0mvLGd5AbdzGmbxnCoZHePLg-6aPyrvpZ5mcSHeXpV9Q/s113/Mike_2018_1jpeg90_1280x1920.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjoEJS61pLVSBTK31jURkvDw9vbvU8LNXxnPseKI8ZFZepwv5uTeENR_qNwY2FNke2NNyWFHPC6sQDWw2z_LPjcbiVIO1ZZkNkWlCG_vjYGQ4xnkvpLWKm5BHIIWbixGu_oeXsDGdo8T9UI/s72-c/IMG_0519.PNG" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-544804370897859364.post-7698874357924270616</id><published>2011-02-04T16:26:00.002+01:00</published><updated>2011-02-16T18:03:18.928+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Unity"/><category scheme="http://www.blogger.com/atom/ns#" term="Unity3D"/><category scheme="http://www.blogger.com/atom/ns#" term="UnityCollab"/><title type='text'>Master Thesis: Collaborative game development</title><content type='html'>Simply put, my master thesis is about bringing google docs-alike synchronization to the Unity editor. The goal is to allow multiple people to edit the same Unity scene at the same time. I&#39;m working on this thesis from Jan - June 2011. I do not expectto realize a perfect synchronization, but it would already be awesome to have the tool synchronize transforms(position,rotation,scale) and predefined prefabs.&lt;br /&gt;
&lt;br /&gt;
Ideally&amp;nbsp;artists would add objects to a scene, coders add scripts to them, and together they make the world come alive real-time.&amp;nbsp;Multiple level editors will be able to work on your game scene real-time, conflicts and&amp;nbsp;synchronization&amp;nbsp;is handled automatically. This could greatly change game development, or at least level&amp;nbsp;editing.&lt;br /&gt;
&lt;br /&gt;
Since this is quite a big project, I have divided into several sub-goals. It would be great if I can at least achieve the first few sub-goals. The outcome of the project does not affect my master thesis itself as the thesis is more concerned about research/theory. A failed project would make great food for&amp;nbsp;research! (I am very optimistic about achieving something cool though)&lt;br /&gt;
&lt;br /&gt;
For detailed information see my master thesis page:&amp;nbsp;&lt;a href=&quot;http://m2h.nl/unity/cgd.php&quot;&gt;http://m2h.nl/unity/cgd.php&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg8hIbJx0PuksMlu8uykndq3e9sdFxz3iGXarVfNLKqaBVsMeeSEbIayHV4kMRsHfBXGTCKHDBDOBLAonWWShkKjTMRBB15mmuAvFn7EYOWkwjonIDGNuXSr-1jPE3F3nR0tH-VHuo2nqQE/s1600/collab1.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;184&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg8hIbJx0PuksMlu8uykndq3e9sdFxz3iGXarVfNLKqaBVsMeeSEbIayHV4kMRsHfBXGTCKHDBDOBLAonWWShkKjTMRBB15mmuAvFn7EYOWkwjonIDGNuXSr-1jPE3F3nR0tH-VHuo2nqQE/s320/collab1.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;b&gt;Current status&lt;/b&gt;&lt;br /&gt;
I&#39;m exploring how to add a multiplayer library &lt;i&gt;inside&lt;/i&gt;&amp;nbsp;the editor. Because of this Unity networking is a no go and I&#39;ve decided to check out &lt;b&gt;Photon&lt;/b&gt;. While I&#39;m sure Photon is great, it&#39;s not that easy to get in to. I might make a Photon tutorial similar to my &lt;a href=&quot;http://forum.unity3d.com/threads/75385-Ultimate-Unity-Networking-project-Add-multiplayer-to-your-game-today!&quot;&gt;Ultimate Unity networking project&lt;/a&gt;. Photon really needs a simple foundation for Unity, it&#39;s too sourcecode-y to my taste. During the process of exploring photon I&#39;m already making notes to make a Photon tutorial + &quot;EasyUnityAPI&quot; possible.&lt;br /&gt;
&lt;br /&gt;
Now, I need to&lt;b&gt; run an application inside the UnityEditor&lt;/b&gt;. There are various options to extend the Editor, but only a few are usefull in this case.&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;EditorWindow &amp;nbsp;- is only run when GUI changes are done (mouseover etc.)&lt;/li&gt;
&lt;li&gt;OnSceneGUI, ExecuteInEditMode(), .. &amp;nbsp;- only works for custom inspectors&lt;/li&gt;
&lt;/ul&gt;&lt;div&gt;So, my final solution (and last option) is using a combination of:&lt;/div&gt;&lt;ul&gt;&lt;li&gt;EditorApplication.playmodeStateChanged&lt;/li&gt;
&lt;li&gt;EditorApplication.update&lt;/li&gt;
&lt;/ul&gt;&lt;div&gt;I have an EditorWindow that is used to start running the UnityCollab class, it sets delegates to this class for update and playModeStateChanged. This works perfectly, except that there&#39;s one unity bug(?) here: the playModeStateChanged delegate is only called the first time when starting the game, but not on any later changes. I have even tried re-registering the delegate after that first delegate call, but I found no workaround. Let&#39;s hope Unity fixes this soon. Otherwise people will need to manually restart the UnityCollab tool after every play session, ugh.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.m2h.nl/feeds/7698874357924270616/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.m2h.nl/2011/02/master-thesis-collaborative-game.html#comment-form' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/544804370897859364/posts/default/7698874357924270616'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/544804370897859364/posts/default/7698874357924270616'/><link rel='alternate' type='text/html' href='http://blog.m2h.nl/2011/02/master-thesis-collaborative-game.html' title='Master Thesis: Collaborative game development'/><author><name>Mike Hergaarden</name><uri>http://www.blogger.com/profile/04313722531741801493</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgf2VysfeWK-BXlhCp7o21IZ9HsQUtSWdX4LcpaeDOegC1ujmUlbFB1gWtHPRV4JVUs457OsVoILXuRiZWtAl0mvLGd5AbdzGmbxnCoZHePLg-6aPyrvpZ5mcSHeXpV9Q/s113/Mike_2018_1jpeg90_1280x1920.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg8hIbJx0PuksMlu8uykndq3e9sdFxz3iGXarVfNLKqaBVsMeeSEbIayHV4kMRsHfBXGTCKHDBDOBLAonWWShkKjTMRBB15mmuAvFn7EYOWkwjonIDGNuXSr-1jPE3F3nR0tH-VHuo2nqQE/s72-c/collab1.png" height="72" width="72"/><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-544804370897859364.post-6522425152244032174</id><published>2011-02-04T16:01:00.000+01:00</published><updated>2011-02-04T16:01:52.037+01:00</updated><title type='text'>M2H Blog</title><content type='html'>I need a first post here to be able to link this blog to Facwbook, Twitter etc. So here it is.&lt;br /&gt;
&lt;br /&gt;
Why this blog?&lt;br /&gt;
I&#39;m in the last year of my Multimedia master, my master thesis is about a Unity application, codename &lt;i&gt;UnityCollab &lt;/i&gt;for now.&amp;nbsp;Various people asked me whether I would blog about my master thesis.&amp;nbsp;Furthermore a blog could be usefull for M2H news/developments in general. Back in 2009 we decided to stick to twitter only for a while as an empty news section on the site is quite lame. However, we&#39;ve got quite a lot going on nowadays; enough for a blogpost now and then ;).</content><link rel='replies' type='application/atom+xml' href='http://blog.m2h.nl/feeds/6522425152244032174/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.m2h.nl/2011/02/m2h-blog.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/544804370897859364/posts/default/6522425152244032174'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/544804370897859364/posts/default/6522425152244032174'/><link rel='alternate' type='text/html' href='http://blog.m2h.nl/2011/02/m2h-blog.html' title='M2H Blog'/><author><name>Mike Hergaarden</name><uri>http://www.blogger.com/profile/04313722531741801493</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgf2VysfeWK-BXlhCp7o21IZ9HsQUtSWdX4LcpaeDOegC1ujmUlbFB1gWtHPRV4JVUs457OsVoILXuRiZWtAl0mvLGd5AbdzGmbxnCoZHePLg-6aPyrvpZ5mcSHeXpV9Q/s113/Mike_2018_1jpeg90_1280x1920.jpg'/></author><thr:total>0</thr:total></entry></feed>